Re: [Pharo-dev] [GSoC ideas] Pharo - Derreferencer

2014-02-16 Thread Levente Uzonyi

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

2014-02-16 Thread Andres Valloud

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

2014-02-15 Thread Alexandre Bergel
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

2014-02-15 Thread Andres Valloud
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

2014-02-15 Thread Levente Uzonyi

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

2014-02-15 Thread Alejandro Infante
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

2014-02-15 Thread Andres Valloud

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

2014-02-14 Thread Levente Uzonyi

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

2014-02-11 Thread Guillermo Polito
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