namgk / ambienttalk

Automatically exported from code.google.com/p/ambienttalk
0 stars 0 forks source link

Exceptions leak references to live objects on the runtime stack #58

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
AmbientTalk InterpreterExceptions encapsulate an InvocationStack, which is 
serializable and may contain live references to ATObjects. This entire 
InvocationStack gets serialized together with the exception. That's really bad, 
because this may unintentionally leak references to objects via a thrown 
exception that ruins a remote future.

We should either make sure that the InvocationStack does not get serialized at 
all, or we should make sure that the InvocationStack is only serialized as a 
string, or as a datastructure without live references to objects.

Original issue reported on code.google.com by tvcut...@gmail.com on 22 Mar 2012 at 1:08

GoogleCodeExporter commented 8 years ago
Fixed in r3058 by serializing the invocation stack as a string, so that it can 
still be read remotely, but no longer holds live references.

Original comment by tvcut...@gmail.com on 22 Mar 2012 at 3:10

GoogleCodeExporter commented 8 years ago
See also the unit test added to the bugfixtests in r3059

Original comment by tvcut...@gmail.com on 22 Mar 2012 at 3:12