I am extending data-based synthesis in the ESCET project.
The application gives a "User called break" exception.
The message is completely meaningless to me, but the code suggests it has to do with lack of a reference. That somewhat makes sense because the problem happens while releasing references.
I can see two likely causes currently:
- Due to lack of documentation, I have guessed the reference count semantics. Maybe I guessed wrong.
- I made a reference counting error somewhere.
The question is, how do I debug this? Clearly my counting abilities are not sufficient. I looked for a way to get the actual reference count, and failed to find that.
Other ways that are helpful are welcome too.
I can likely add a way to get the reference count if the project allows that. That would at least make it possible to write checking code that counts behave as they should across a piece of code.
Somewhat more expensive but much more solid is the option to eliminate the problem entirely by leveraging Java semantics to handle this automagically with a derived WeakReferenceQueue class.
I am extending data-based synthesis in the ESCET project.
The application gives a "User called break" exception.
The message is completely meaningless to me, but the code suggests it has to do with lack of a reference. That somewhat makes sense because the problem happens while releasing references.
I can see two likely causes currently:
The question is, how do I debug this? Clearly my counting abilities are not sufficient. I looked for a way to get the actual reference count, and failed to find that.
Other ways that are helpful are welcome too.
I can likely add a way to get the reference count if the project allows that. That would at least make it possible to write checking code that counts behave as they should across a piece of code.
Somewhat more expensive but much more solid is the option to eliminate the problem entirely by leveraging Java semantics to handle this automagically with a derived
WeakReferenceQueueclass.