Re: [Pharo-dev] [GSoC ideas] Pharo - Derreferencer
On Sat, 15 Feb 2014, Alejandro Infante wrote: Well, I tried today using that to release some memory used by Roassal. Let's say all the instances of ROElement. So I executed the following code: ROElement allInstances do: [:el | el becomeForward: nil ]. The next second the image crashed. Then I thought that was because the visualization was open. So I did another little experiment, closed the visualization, and then run the following code: ROElement allInstances do: [:el | el becomeForward: nil ]. Everithing ok for now Smalltalk garbageCollect. Again, same result, the image crashed. Also instead of doing garbage collect, I tried open the browser, but the image crashed just few seconds later. It's a sign of a bug either in the VM, or the finalization mechanism (if these objects are subject to finalization), or Roassal itself. You better examine the crash dumps. At least (in my opinion), building a reliable tool that can crash your image easily is not 1 hour work, nor 1 week work. Not crashing the VM is not part of the GSoC project description, and there's a good reason for that. No tool can save you from a VM crash. You can avoid some cases, but not all. Using a dereferencer means taking the easy but risky way of getting rid of unnecessary objects. Levente Cheers, Alejandro 2014-02-15 16:34 GMT-08:00 Levente Uzonyi le...@elte.hu: On Sat, 15 Feb 2014, Andres Valloud wrote: FYI writing any decent production quality tool takes way more than 1 hour. IME writing *two* reference finders, it takes a bunch of effort to make them work correctly, reliably, quickly, and in a useful way. I would agree with you if the building blocks weren't already in the image. Q: Which objects point to myObject? A: myObject inboundPointers Q: How can I dereference myObject? A: myObject becomeForward: nil Do you think it takes a summer to combine and extend these two lines into a tool? Levente On 2/15/14 6:31 , Alexandre Bergel wrote: Well... I do no think so. There is a fair amount of work regarding memory profiling. Dereferencing is probably only a small piece off. Anyway, we will have time to refine the project description Alexandre Le 14-02-2014 à 18:17, Levente Uzonyi le...@elte.hu a écrit : On Fri, 14 Feb 2014, Alexandre Bergel wrote: Hi Paolo, I can mentor the project below: Project idea Name: Instance Derreferencer for Pharo Skill level: Intermediate Possible Mentors: Name of the Student: Alejandro Infante Description: A problem with image based environment is, when you detect a memory leak is removing those objects from the system. This tool would provide a handy UI to inspect the current instances of the classes that we think they have a memory leak and, in case there are objects that are not being garbage collected, offer to the user a Derreference button. This is going to iterate over all the objects that have a reference to my object and remove that reference, finally enabling the Garbage Collector to get rid of the leak. It shouldn't take more than an hour to implement such tool. Levente Cheers, Alexandre 2014-02-14 5:08 GMT-08:00 Nicolas Petton petton.nico...@gmail.com: Paolo Bonzini writes: Il 11/02/2014 10:42, Damien Cassou ha scritto: Hi fellow Pharo hackers, ESUG, the European Smalltalk User Group, is applying for this year's Google Summer of Code. As you probably know, the Summer of Code provides the opportunity to fund students to work during the summer on Pharo. Please reply to this email (be sure to use Reply to all) if you have ideas you would like to propose. Please include a summary of the project and
Re: [Pharo-dev] [GSoC ideas] Pharo - Derreferencer
On 2/16/14 3:38 , Levente Uzonyi wrote: On Sat, 15 Feb 2014, Alejandro Infante wrote: Well, I tried today using that to release some memory used by Roassal. Let's say all the instances of ROElement. So I executed the following code: ROElement allInstances do: [:el | el becomeForward: nil ]. The next second the image crashed. Then I thought that was because the visualization was open. So I did another little experiment, closed the visualization, and then run the following code: ROElement allInstances do: [:el | el becomeForward: nil ]. Everithing ok for now Smalltalk garbageCollect. Again, same result, the image crashed. Also instead of doing garbage collect, I tried open the browser, but the image crashed just few seconds later. It's a sign of a bug either in the VM, or the finalization mechanism (if these objects are subject to finalization), or Roassal itself. You better examine the crash dumps. Yeah, who knows... maybe ROElement is dealing with FFI... It's way better to figure out why you have objects that won't go away, then you fix the real problem. Hopefully the scope for this GSoC project will be amended with those kinds of considerations in mind. Andres.
Re: [Pharo-dev] [GSoC ideas] Pharo - Derreferencer
Well... I do no think so. There is a fair amount of work regarding memory profiling. Dereferencing is probably only a small piece off. Anyway, we will have time to refine the project description Alexandre Le 14-02-2014 à 18:17, Levente Uzonyi le...@elte.hu a écrit : On Fri, 14 Feb 2014, Alexandre Bergel wrote: Hi Paolo, I can mentor the project below: Project idea Name: Instance Derreferencer for Pharo Skill level: Intermediate Possible Mentors: Name of the Student: Alejandro Infante Description: A problem with image based environment is, when you detect a memory leak is removing those objects from the system. This tool would provide a handy UI to inspect the current instances of the classes that we think they have a memory leak and, in case there are objects that are not being garbage collected, offer to the user a Derreference button. This is going to iterate over all the objects that have a reference to my object and remove that reference, finally enabling the Garbage Collector to get rid of the leak. It shouldn't take more than an hour to implement such tool. Levente Cheers, Alexandre 2014-02-14 5:08 GMT-08:00 Nicolas Petton petton.nico...@gmail.com: Paolo Bonzini writes: Il 11/02/2014 10:42, Damien Cassou ha scritto: Hi fellow Pharo hackers, ESUG, the European Smalltalk User Group, is applying for this year's Google Summer of Code. As you probably know, the Summer of Code provides the opportunity to fund students to work during the summer on Pharo. Please reply to this email (be sure to use Reply to all) if you have ideas you would like to propose. Please include a summary of the project and links to web pages that can help prospective students to write their application. Please also include the following information: - if applicable, other dialects that you would be willing to mentor this project for - the skill level - name of the mentor(s), email addresses, and possibly any IRC network/channel/nickname where they can be found. Thanks for contributing to ESUG's Summer of Code application! Just a note that I haven't yet processed this thread, but our ideas page is already looking pretty well (and Pharo section is big) so I'll probably do it in the weekend or next Monday. I can do it if you want. Cheers, Nico -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] [GSoC ideas] Pharo - Derreferencer
FYI writing any decent production quality tool takes way more than 1 hour. IME writing *two* reference finders, it takes a bunch of effort to make them work correctly, reliably, quickly, and in a useful way. On 2/15/14 6:31 , Alexandre Bergel wrote: Well... I do no think so. There is a fair amount of work regarding memory profiling. Dereferencing is probably only a small piece off. Anyway, we will have time to refine the project description Alexandre Le 14-02-2014 à 18:17, Levente Uzonyi le...@elte.hu a écrit : On Fri, 14 Feb 2014, Alexandre Bergel wrote: Hi Paolo, I can mentor the project below: Project idea Name: Instance Derreferencer for Pharo Skill level: Intermediate Possible Mentors: Name of the Student: Alejandro Infante Description: A problem with image based environment is, when you detect a memory leak is removing those objects from the system. This tool would provide a handy UI to inspect the current instances of the classes that we think they have a memory leak and, in case there are objects that are not being garbage collected, offer to the user a Derreference button. This is going to iterate over all the objects that have a reference to my object and remove that reference, finally enabling the Garbage Collector to get rid of the leak. It shouldn't take more than an hour to implement such tool. Levente Cheers, Alexandre 2014-02-14 5:08 GMT-08:00 Nicolas Petton petton.nico...@gmail.com: Paolo Bonzini writes: Il 11/02/2014 10:42, Damien Cassou ha scritto: Hi fellow Pharo hackers, ESUG, the European Smalltalk User Group, is applying for this year's Google Summer of Code. As you probably know, the Summer of Code provides the opportunity to fund students to work during the summer on Pharo. Please reply to this email (be sure to use Reply to all) if you have ideas you would like to propose. Please include a summary of the project and links to web pages that can help prospective students to write their application. Please also include the following information: - if applicable, other dialects that you would be willing to mentor this project for - the skill level - name of the mentor(s), email addresses, and possibly any IRC network/channel/nickname where they can be found. Thanks for contributing to ESUG's Summer of Code application! Just a note that I haven't yet processed this thread, but our ideas page is already looking pretty well (and Pharo section is big) so I'll probably do it in the weekend or next Monday. I can do it if you want. Cheers, Nico -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] [GSoC ideas] Pharo - Derreferencer
On Sat, 15 Feb 2014, Andres Valloud wrote: FYI writing any decent production quality tool takes way more than 1 hour. IME writing *two* reference finders, it takes a bunch of effort to make them work correctly, reliably, quickly, and in a useful way. I would agree with you if the building blocks weren't already in the image. Q: Which objects point to myObject? A: myObject inboundPointers Q: How can I dereference myObject? A: myObject becomeForward: nil Do you think it takes a summer to combine and extend these two lines into a tool? Levente On 2/15/14 6:31 , Alexandre Bergel wrote: Well... I do no think so. There is a fair amount of work regarding memory profiling. Dereferencing is probably only a small piece off. Anyway, we will have time to refine the project description Alexandre Le 14-02-2014 à 18:17, Levente Uzonyi le...@elte.hu a écrit : On Fri, 14 Feb 2014, Alexandre Bergel wrote: Hi Paolo, I can mentor the project below: Project idea Name: Instance Derreferencer for Pharo Skill level: Intermediate Possible Mentors: Name of the Student: Alejandro Infante Description: A problem with image based environment is, when you detect a memory leak is removing those objects from the system. This tool would provide a handy UI to inspect the current instances of the classes that we think they have a memory leak and, in case there are objects that are not being garbage collected, offer to the user a Derreference button. This is going to iterate over all the objects that have a reference to my object and remove that reference, finally enabling the Garbage Collector to get rid of the leak. It shouldn't take more than an hour to implement such tool. Levente Cheers, Alexandre 2014-02-14 5:08 GMT-08:00 Nicolas Petton petton.nico...@gmail.com: Paolo Bonzini writes: Il 11/02/2014 10:42, Damien Cassou ha scritto: Hi fellow Pharo hackers, ESUG, the European Smalltalk User Group, is applying for this year's Google Summer of Code. As you probably know, the Summer of Code provides the opportunity to fund students to work during the summer on Pharo. Please reply to this email (be sure to use Reply to all) if you have ideas you would like to propose. Please include a summary of the project and links to web pages that can help prospective students to write their application. Please also include the following information: - if applicable, other dialects that you would be willing to mentor this project for - the skill level - name of the mentor(s), email addresses, and possibly any IRC network/channel/nickname where they can be found. Thanks for contributing to ESUG's Summer of Code application! Just a note that I haven't yet processed this thread, but our ideas page is already looking pretty well (and Pharo section is big) so I'll probably do it in the weekend or next Monday. I can do it if you want. Cheers, Nico -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] [GSoC ideas] Pharo - Derreferencer
Well, I tried today using that to release some memory used by Roassal. Let's say all the instances of ROElement. So I executed the following code: ROElement allInstances do: [:el | el becomeForward: nil ]. The next second the image crashed. Then I thought that was because the visualization was open. So I did another little experiment, closed the visualization, and then run the following code: ROElement allInstances do: [:el | el becomeForward: nil ]. Everithing ok for now Smalltalk garbageCollect. Again, same result, the image crashed. Also instead of doing garbage collect, I tried open the browser, but the image crashed just few seconds later. At least (in my opinion), building a reliable tool that can crash your image easily is not 1 hour work, nor 1 week work. Cheers, Alejandro 2014-02-15 16:34 GMT-08:00 Levente Uzonyi le...@elte.hu: On Sat, 15 Feb 2014, Andres Valloud wrote: FYI writing any decent production quality tool takes way more than 1 hour. IME writing *two* reference finders, it takes a bunch of effort to make them work correctly, reliably, quickly, and in a useful way. I would agree with you if the building blocks weren't already in the image. Q: Which objects point to myObject? A: myObject inboundPointers Q: How can I dereference myObject? A: myObject becomeForward: nil Do you think it takes a summer to combine and extend these two lines into a tool? Levente On 2/15/14 6:31 , Alexandre Bergel wrote: Well... I do no think so. There is a fair amount of work regarding memory profiling. Dereferencing is probably only a small piece off. Anyway, we will have time to refine the project description Alexandre Le 14-02-2014 à 18:17, Levente Uzonyi le...@elte.hu a écrit : On Fri, 14 Feb 2014, Alexandre Bergel wrote: Hi Paolo, I can mentor the project below: Project idea Name: Instance Derreferencer for Pharo Skill level: Intermediate Possible Mentors: Name of the Student: Alejandro Infante Description: A problem with image based environment is, when you detect a memory leak is removing those objects from the system. This tool would provide a handy UI to inspect the current instances of the classes that we think they have a memory leak and, in case there are objects that are not being garbage collected, offer to the user a Derreference button. This is going to iterate over all the objects that have a reference to my object and remove that reference, finally enabling the Garbage Collector to get rid of the leak. It shouldn't take more than an hour to implement such tool. Levente Cheers, Alexandre 2014-02-14 5:08 GMT-08:00 Nicolas Petton petton.nico...@gmail.com: Paolo Bonzini writes: Il 11/02/2014 10:42, Damien Cassou ha scritto: Hi fellow Pharo hackers, ESUG, the European Smalltalk User Group, is applying for this year's Google Summer of Code. As you probably know, the Summer of Code provides the opportunity to fund students to work during the summer on Pharo. Please reply to this email (be sure to use Reply to all) if you have ideas you would like to propose. Please include a summary of the project and links to web pages that can help prospective students to write their application. Please also include the following information: - if applicable, other dialects that you would be willing to mentor this project for - the skill level - name of the mentor(s), email addresses, and possibly any IRC network/channel/nickname where they can be found. Thanks for contributing to ESUG's Summer of Code application! Just a note that I haven't yet processed this thread, but our ideas page is already looking pretty well (and Pharo section is big) so I'll probably do it in the weekend or next Monday. I can do it if you want. Cheers, Nico -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] [GSoC ideas] Pharo - Derreferencer
All that I said was it takes way more than 1 hour. The useful part comes in when e.g. inboundPointers reveals stuff that should also be gone. So now you need a full blown reference finder, and getting one of those to work quickly and correctly is not trivial. Also with some objects you can't really do becomeForward: (or it won't help), e.g. with a class (this would fall under the reliably category). We are all capable of writing random workspace code, I don't think this is the idea for these projects. On 2/15/14 16:34 , Levente Uzonyi wrote: On Sat, 15 Feb 2014, Andres Valloud wrote: FYI writing any decent production quality tool takes way more than 1 hour. IME writing *two* reference finders, it takes a bunch of effort to make them work correctly, reliably, quickly, and in a useful way. I would agree with you if the building blocks weren't already in the image. Q: Which objects point to myObject? A: myObject inboundPointers Q: How can I dereference myObject? A: myObject becomeForward: nil Do you think it takes a summer to combine and extend these two lines into a tool? Levente On 2/15/14 6:31 , Alexandre Bergel wrote: Well... I do no think so. There is a fair amount of work regarding memory profiling. Dereferencing is probably only a small piece off. Anyway, we will have time to refine the project description Alexandre Le 14-02-2014 à 18:17, Levente Uzonyi le...@elte.hu a écrit : On Fri, 14 Feb 2014, Alexandre Bergel wrote: Hi Paolo, I can mentor the project below: Project idea Name: Instance Derreferencer for Pharo Skill level: Intermediate Possible Mentors: Name of the Student: Alejandro Infante Description: A problem with image based environment is, when you detect a memory leak is removing those objects from the system. This tool would provide a handy UI to inspect the current instances of the classes that we think they have a memory leak and, in case there are objects that are not being garbage collected, offer to the user a Derreference button. This is going to iterate over all the objects that have a reference to my object and remove that reference, finally enabling the Garbage Collector to get rid of the leak. It shouldn't take more than an hour to implement such tool. Levente Cheers, Alexandre 2014-02-14 5:08 GMT-08:00 Nicolas Petton petton.nico...@gmail.com: Paolo Bonzini writes: Il 11/02/2014 10:42, Damien Cassou ha scritto: Hi fellow Pharo hackers, ESUG, the European Smalltalk User Group, is applying for this year's Google Summer of Code. As you probably know, the Summer of Code provides the opportunity to fund students to work during the summer on Pharo. Please reply to this email (be sure to use Reply to all) if you have ideas you would like to propose. Please include a summary of the project and links to web pages that can help prospective students to write their application. Please also include the following information: - if applicable, other dialects that you would be willing to mentor this project for - the skill level - name of the mentor(s), email addresses, and possibly any IRC network/channel/nickname where they can be found. Thanks for contributing to ESUG's Summer of Code application! Just a note that I haven't yet processed this thread, but our ideas page is already looking pretty well (and Pharo section is big) so I'll probably do it in the weekend or next Monday. I can do it if you want. Cheers, Nico -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] [GSoC ideas] Pharo - Derreferencer
On Fri, 14 Feb 2014, Alexandre Bergel wrote: Hi Paolo, I can mentor the project below: Project idea Name: Instance Derreferencer for Pharo Skill level: Intermediate Possible Mentors: Name of the Student: Alejandro Infante Description: A problem with image based environment is, when you detect a memory leak is removing those objects from the system. This tool would provide a handy UI to inspect the current instances of the classes that we think they have a memory leak and, in case there are objects that are not being garbage collected, offer to the user a Derreference button. This is going to iterate over all the objects that have a reference to my object and remove that reference, finally enabling the Garbage Collector to get rid of the leak. It shouldn't take more than an hour to implement such tool. Levente Cheers, Alexandre 2014-02-14 5:08 GMT-08:00 Nicolas Petton petton.nico...@gmail.com: Paolo Bonzini writes: Il 11/02/2014 10:42, Damien Cassou ha scritto: Hi fellow Pharo hackers, ESUG, the European Smalltalk User Group, is applying for this year's Google Summer of Code. As you probably know, the Summer of Code provides the opportunity to fund students to work during the summer on Pharo. Please reply to this email (be sure to use Reply to all) if you have ideas you would like to propose. Please include a summary of the project and links to web pages that can help prospective students to write their application. Please also include the following information: - if applicable, other dialects that you would be willing to mentor this project for - the skill level - name of the mentor(s), email addresses, and possibly any IRC network/channel/nickname where they can be found. Thanks for contributing to ESUG's Summer of Code application! Just a note that I haven't yet processed this thread, but our ideas page is already looking pretty well (and Pharo section is big) so I'll probably do it in the weekend or next Monday. I can do it if you want. Cheers, Nico -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] [GSoC ideas] Pharo
Ok, let's do this :) Hola Pharoers, ESUG, the European Smalltalk User Group, is applying for this year's Google Summer of Code. As you probably know, the Summer of Code provides the opportunity to fund students to work during the summer on Smalltalk, and Pharo. Please reply to this email (be sure to use Reply to all) if you have ideas you would like to propose. Please include a summary of the project and links to web pages that can help prospective students to write their application. Please also include the following information: - if applicable, other dialects that you would be willing to mentor this project for - the skill level - name of the mentor(s), email addresses, and possibly any IRC network/channel/nickname where they can be found. Thanks for contributing to ESUG's Summer of Code application! Guille