py - Pierre Yves Ricau

Results 91 issues of py - Pierre Yves Ricau

In Android VMs, AFAIK there is only ever one instance of each class. However, classes can become unloaded and loaded again later, if there are no side effects. That's totally...

pr: wip

HprofPrimitiveArrayStripper clears all primitive arrays, erasing any and all PII. However strings can be super useful to analyze leak traces (e.g. thread name, scope name, etc). We could keep track...

type: enhancement

At Square we built an internal tool called ClassShot that dumps the heap to find the list of annotated classes and also reads the APK to find the full list...

type: enhancement

When a java local is a gc root then it can be hard to understand the leak as we don't know what the stack looks like (android dumps don't include...

type: enhancement

Android can unload and reload classes. Currently the LeakCanary heap dump parser assumes there's only one class object for each class. Unfortunately we've found cases where there are two objects...

type: bug

Threads don't have a clear lifecycle, so there's no easy way to know when a thread should be GCed, unless they get exited but that's usually not causing leaks. One...

type: enhancement

Example trace: ``` ┬─── │ GC Root: Java local variable │ ├─ android.os.HandlerThread thread │ Leaking: UNKNOWN │ Retaining 3.8 MB in 42126 objects │ Thread name: 'Sq-LCR' │ ↓...

type: bug

This is inspired by the [BLeak](http://plasma-umass.org/BLeak/) paper from @jvilk High level, this requires looping on a scenario, and comparing the state of the heap between each run, looking for paths...

type: enhancement

This is inspired by the [BLeak](http://plasma-umass.org/BLeak/) paper from @jvilk We currently report retained size, which is computed on dominators. Retained size only considers objects uniquely owned by dominators. The "leaktrace"...

type: enhancement

This is an idea from the paper [LeakChaser: helping programmers narrow down causes of memory leaks ](https://dl.acm.org/doi/10.1145/1993498.1993530) `ReachabilityWatcher.expectWeaklyReachable(object)` is somewhat equivalent to `assert-dead(object)` in [GC Assertions: Using the Garbage Collector...

type: enhancement