Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Java 11 Compatibility check: AspectJ

I plan to fix it up, so yes it is a bug, or rather a need to adapt to a refactoring that has happened in the JDK. We will still need the old behaviour because you might use AspectJ 1.9.2 on older JDKs. Don’t worry about adding a ticket, I’ll create one and fix it under that.  Thanks for testing thoroughly and raising this with me (and confirming the variable helped!).

cheers,
Andy

On Oct 23, 2018, at 11:26 AM, Lubo Pecho <tomorrow10@xxxxxxxxx> wrote:

Hi, the environment variable helped. So my question is, do you consider the behaviour still to be an incident or not. If yes, we will create one.

On Mon, Oct 22, 2018 at 11:30 PM Andrew Clement <andrew.clement@xxxxxxxxx> wrote:
It is true that AspectJ creates a weaver instance per class loader - so if there are more loaders there will be more weavers. I was just experimenting with a spring boot app and saw more loaders created simply by running it on Java 11 vs 8 (various: jdk.internal.reflect.DelegatingClassLoader ). Interestingly we deliberately ignore sun.reflect.DelegatingClassLoader - maybe we need to update that to the apparent new name.We could test this hypothesis, see if it changes things in your environment, when you run it try setting loadersToSkip

 -Daj.weaving.loadersToSkip=jdk.internal.reflect.DelegatingClassLoader

Does that have any effect?

The pre 1.9.x version loads the classes just one at start of the application, whereas the 1.9.2 version loads the classes at start and then everytime some aspect is called.

We can get into that in the bug report. If it isn’t the above, I can’t think what changes would have affected that between 1.9.1 and 1.9.2.

cheers,
Andy

On Oct 22, 2018, at 11:45 AM, Lubo Pecho <tomorrow10@xxxxxxxxx> wrote:

Hi, my collegue investigated a little bit more today, and found out, that the problem is probably somewhere with class loaders. The pre 1.9.x version loads the classes just one at start of the application, whereas the 1.9.2 version loads the classes at start and then everytime some aspect is called. As the loaded classes are being cached for future usages,  the repeating class loads result behaving like memory leak. I will tell him to create incident with detailed description tomorrow.

On Mon, Oct 22, 2018 at 8:26 PM Andrew Clement <andrew.clement@xxxxxxxxx> wrote:
AspectJ doesn’t really get into creating threads but I suppose it may be calling things in the JDK that may give rise to threads. Raise it here:


I would not be surprised if 1.9 is currently using more memory (as the first challenge was just to get the classes loading again once Java repackaged them all in Java9) - and there is room to improve that. But a leak is more serious. I can’t immediately think why that would be, but we can get into exploring.

Cheers,
Andy

On Oct 19, 2018, at 11:47 AM, Lubo Pecho <tomorrow10@xxxxxxxxx> wrote:

Hi, no, we have simultaneously been running the same spring boot application side by side, one on jdk 8 with aspectjweaver 1.8.9 i think(I am not sure, cause I am at home know, but definitely pre 1.9.x), and the other on openjdk 11 with aspectjweaver 1.9.2.rc3 . We've put some loadbalanced traffic on the nodes, and the one on newest java and aspectjweaver had those results from heap dump. The 350MB made about 40% of total used heap memory. Also, during another test, on the problematic node, there were suspiciously too many opened threads, and they were not from the embedded container threadpool, my colleague suspected the threads could have been started by the aspectjweaver. Is it possible? As the test was running while I was leaving work, I have not the exact numbers.

Where can I open the issue?


On Fri, Oct 19, 2018 at 4:56 PM Andy Clement <andrew.clement@xxxxxxxxx> wrote:
There is no report for that, please open one. Is it definitely not behaving the same as earlier versions?

thanks
Andy

On Fri, 19 Oct 2018 at 00:14, Lubo Pecho <tomorrow10@xxxxxxxxx> wrote:
Hello, I am not sure, if it was reported, the new version of aspectjweaver seams to be memoryleaking, is it already reported or not?

<image.png>

On Tue, Oct 16, 2018 at 12:26 AM Andy Clement <andrew.clement@xxxxxxxxx> wrote:
1.9.2.rc3 is now available from the usual maven repo and the download page (direct link: https://www.eclipse.org/downloads/download.php?file=/tools/aspectj/aspectj-1.9.2.RC3.jar ). If no-one raises any issues, final will be in a few days. Thanks to all who have provided feedback so far, very helpful !

cheers,
Andy

On Oct 15, 2018, at 12:28 PM, Andy Clement <andrew.clement@xxxxxxxxx> wrote:

I've been working towards an RC3 - I wanted to get some specific bug fixes in and I was working with someone on getting a pull request into shape that I could accept. That is all in now, just tested the final change I wanted that fixes an AJDT issue related to annotation processing. So I think I'm good to cut this RC3, if that goes ok then final in a few days.

Andy

On Mon, 15 Oct 2018 at 03:47, Lubo Pecho <tomorrow10@xxxxxxxxx> wrote:
Hello, when do you expect to release final version of 1.9.2. Or have I missed something?

On Tue, Oct 2, 2018 at 6:44 AM Andy Clement <andrew.clement@xxxxxxxxx> wrote:
AspectJ 1.9.2.RC2 is now in the usual maven milestone repo where we put the non final releases:
<repository>
<id>maven.springframework.org</id>
<name>SpringSource milestones</name>
<url>http://maven.springframework.org/milestone</url>
</repository>
This RC2 brings things more in line with the very latest JDT Core, which we needed for some fixes related to the new nest based access control attributes in JDK11 ( http://openjdk.java.net/jeps/181 ).

cheers,
Andy

On Oct 1, 2018, at 9:48 AM, Andy Clement <andrew.clement@xxxxxxxxx> wrote:

Hey,

I was tied up at Spring One last week, not to mention my laptop broke. I’m now back in the office and I hope to further polish up 1.9.2 this week. I will get the RC into maven central first so those that want to consume it can kick the tires on it that way. Yes, the ClassNotFoundException you mention is exactly what I’d expect to see using an old AspectJ.

I’d appreciate any/all feedback on this RC so that 1.9.2 can be a decent release. If I get some feedback that it seems to be behaving for folks then that’ll give me confidence to maybe release it at the end of this week.

cheers,
Andy

On Oct 1, 2018, at 6:27 AM, Lubo Pecho <tomorrow10@xxxxxxxxx> wrote:

Thanks, I did not realize all the aspectj libraries would be packed inside the jar. It seems I got past the ClasstNotFoundException. Of course we will need to do full regress tests. Is there any estimate, when the 1.9.2 version could became final?


On Mon, Oct 1, 2018 at 2:30 PM Andrei Ivanov <andrei.ivanov@xxxxxxxxx> wrote:
Hi Lubo,
You can use the RC1 in the link from the mail you've replied to test it, it was created for this purpose :)

On Mon, Oct 1, 2018 at 2:01 PM Lubo Pecho <tomorrow10@xxxxxxxxx> wrote:
We're trying to run our application with LTW on openjdk 11. Is the aspectjweaver ready for java 11? The old aspectjweaver seems not to generate any ajc runtime classes.

It always fails on equivalent excpetion.

Caused by: java.lang.ClassNotFoundException: somepackage.SomeClass$AjcClosure{someNumber}

Would it be possible to build aspectjweaver 1.9.2 release candidate. We need to upgrade to java 11 in november, so we'd like to test it to determine, if we need to find some other solution.

With Regards,
Lubos Pecho
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users


_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users

_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users

_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users

_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users


Back to the top