Just an update... I did some work on this again...

and instead of using sonatype, it would be easy enough to use github
maven packaging...


and this is working like a charm actually:

https://github.com/d-leak



I am writing tests that are validating

JVMInterface jvmti = new JVMTIInterface();
Assert.assertEquals(0,
jvmti.getAllObjects("packageName.ServerConnection").length);


If someone ever forget to clear a reference again, this test will catch that...


I hope more someone else will make use of this, because it feels cool :)

On Wed, Nov 9, 2022 at 6:25 PM Arthur Naseef <a...@amlinv.com> wrote:
>
> Yeah, Sontatype OSSRH is a little involved to get going, but not too bad.
> I use it (for example
> https://mvnrepository.com/artifact/com.artnaseef/correlation-id-utils).
>
> On Mon, Nov 7, 2022 at 4:20 AM Robbie Gemmell <robbie.gemm...@gmail.com>
> wrote:
>
> > You can release stuff to Maven Central via Sonatype OSSRH,
> > https://central.sonatype.org/publish/publish-guide/
> >
> > For example by using your GitHub Pages details for the groupid
> > coordinates i.e. io.github.your-id, among other options:
> >
> > https://central.sonatype.org/publish/requirements/coordinates/#supported-code-hosting-services-for-personal-groupid
> >
> > On Sun, 6 Nov 2022 at 10:10, Domenico Francesco Bruscino
> > <bruscin...@gmail.com> wrote:
> > >
> > > JitPack is free for open-source projects and it doesn't require
> > > authentication to download artifacts, see https://jitpack.io/
> > >
> > > Another free alternative for open-source projects is GitHub Packages but
> > it
> > > requires authentication, see
> > >
> > https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry
> > >
> > >
> > > On Sat, 5 Nov 2022 at 17:15, Clebert Suconic <clebert.suco...@gmail.com>
> > > wrote:
> > >
> > > > getAllReachableObjects is somewhat easy to implement in C.
> > > >
> > > > I will try to pursue my own implementation.. and if we fail we have a
> > > > failback on the jetbrains route.
> > > >
> > > >
> > > > there are some reporting things I'm doing to show where are eventual
> > leaks.
> > > >
> > > >
> > > >
> > > > I worked on a test with Justin, and we asserted noObjects in the heap
> > > > and it worked like a charm.
> > > >
> > > >
> > > > I just need to find a way to deploy a maven repo somewhere.
> > > >
> > > > On Sat, Nov 5, 2022 at 11:13 AM Jiri Daněk <jda...@redhat.com> wrote:
> > > > >
> > > > > On Sat, Nov 5, 2022 at 4:00 PM Clebert Suconic <
> > > > clebert.suco...@gmail.com>
> > > > > wrote:
> > > > >
> > > > > > There are of course tools that would been written before. I have
> > not
> > > > > > seen anything that would be as simple as I'm proposing (with the
> > > > > > exception of the .NET where you can get a list of objects).
> > > > > >
> > > > >
> > > > > Yes! It is weird that C#, Python, JavaScript, all have a simple way
> > to
> > > > list
> > > > > heap objects, only in Java it seems soo hard to do.
> > > > >
> > > > >
> > > > > > What I'm doing is based on the JBoss Profiler that I wrote many
> > years
> > > > > > ago (and I left it rotten and dead)... so this would revive the
> > simple
> > > > > > parts just for the JUnit Tests.
> > > > > >
> > > > >
> > > > > Yeah, I linked it in my previous mail. I was thinking that the code
> > looks
> > > > > somewhat similar, except it's in C and not C++...
> > > > >
> > > > >
> > > > > > You just get a simple list of Objects before and later.
> > > > > >
> > > > > >
> > > > > > Regarding the criticism to JMVTI.. I have it already written,
> > besides
> > > > > > any tooling around Java and Debugging will require C dev...
> > > > > >
> > > > > >
> > > > > > the project itself already exists.. and I think it's viable. I am
> > > > > > looking for options to host it, while you seem to be looking for
> > > > > > counter arguments for having it done?
> > > > > >
> > > > >
> > > > > I'm just writing up the results of my explorations. Initially I
> > hoped to
> > > > > learn what is possible. Best case would be I found something that's
> > > > already
> > > > > written and hosted, and that does not include native code (think all
> > > > those
> > > > > possible build/compatibility issues).... that did not really
> > happen...
> > > > >
> > > > > Some tests can be written using the weakref approach, but that has
> > > > limited
> > > > > use for only specific scenarios. The dumping and reading of hprof
> > file
> > > > > might work, but I did not find a good Java implementation (Shark is
> > in
> > > > > Kotlin). The jetbrains JVMTI library looks reasonable, on a first
> > sight,
> > > > > though.
> > > > >
> > > > >
> > > > > > if you give me an alternative in Java where i can do
> > > > > > jvmti.getallObject(clazz); and eventually list the references for
> > it..
> > > > > > perhaps I could just use that option instead. Such thing will be
> > > > > > written in C anyways.
> > > > > >
> > > > >
> > > > > https://github.com/JetBrains/debugger-memory-agent
> > > > >
> > > > > MemoryAgent ma = MemoryAgent.get();
> > > > > if (ma == null) { /* handle failure to load */ }
> > > > > ma.getAllReachableObjects(null, clazz);
> > > > > --
> > > > > Mit freundlichen Grüßen / Kind regards
> > > > > Jiri Daněk
> > > >
> > > >
> > > >
> > > > --
> > > > Clebert Suconic
> > > >
> >



-- 
Clebert Suconic

Reply via email to