Skip to content

Non-blind debugging of reference count problems. #90

Description

@Alberth289346

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:

  1. Due to lack of documentation, I have guessed the reference count semantics. Maybe I guessed wrong.
  2. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions