newspeaklanguage / newspeak

Newspeak is a live object-capability language in the Smalltalk tradition
https://newspeaklanguage.org/
Other
132 stars 11 forks source link

Deployment via the IDE creates excessively large vfuel files #78

Closed gbracha closed 8 months ago

gbracha commented 3 years ago

There seems to be a leak somewhere. The size of the deployed vfuel varies depending on how large the IDE memory footprint is somehow. The time to deploy will likewise vary.

gbracha commented 8 months ago

Latest analysis indicates weak arrays are the problem (or at least, a problem). A weak array may hold references that are live in the system, but not part of the serialized data. These should not be serialized. Specifically, mixins contain weak arrays listing their applications. When an app is serialized, the mixins of its classes may list invocations that are live in the system, but not intended to be serialized. These mixin invocations may in turn reference all kinds of data that should not be serialized, leading to large data leaks.

gbracha commented 8 months ago

So, we (Haley and I) found two more problems that were both bugs in the DeploymentManager. Taken together, the problem is fixed.