HI, thanks for response.

By the "build tasks" I meant invocations of plugin:goal. In our case we narrowed the issue down to the single phase and single plugin, so during parallel build Maven just runs the same plugin:goal (svn-revision-number-maven-plugin:revision) for different modules. The instance of the plugin mojo is, of course, different for each invocation, but at some point there appears one more classloader, the plugin mojo class and library classes that it uses are initialized for the second time, and after that some build tasks use the "old" plugin.class hierarchy, and some build tasks use the "new" plugin.class hierarchy.

For example, the log contains the following log messages produced by the plugin: [INFO] [pool-1-thread-1] identities: thread=0x4FC90D2C, this=0x67CC4E4D, this.class=0x64375C2A, this.class.loader=0x3BAF655E, SqlJetFileLockManager.class=0x58D3E2 Plugin logs these identities each time it is invoked, so there are o lot of such messages with different "thread" and "this", but the same "this.class", "this.class.loader" and "SqlJetFileLockManager.class".

And then the following log messages start to show:
[INFO] [pool-1-thread-14] identities: thread=0x7429D88, this=0x3345FC7A, this.class=0x12329908, this.class.loader=0x5742691B, SqlJetFileLockManager.class=0x3EE53DAE


Regards,
Oleg

-----Исходное сообщение----- From: Olivier Lamy
Sent: Thursday, July 12, 2012 2:49 AM
To: Maven Users List
Subject: Re: problem: Maven creates the second plugin classloader during parallel build and uses two classloader hierachies simultaneously

Hi,

2012/7/11 Oleg Estekhin <oleg.estek...@gmail.com>:
Hi,

I am trying to solve the mystery behind
http://code.google.com/p/maven-svn-revision-number-plugin/issues/detail?id=16
with the help of the reporter of the original issue and the developer of
SqlJet library.

So far we have found that at some point there appears second classloader,
which initializes some singleton classes second time, and after that the
parallel build continues with two separate singletons. One set of build
tasks still uses the first singleton, other set of build tasks uses the
second singleton, and that, just as expected, causes a lot of pain later.
What do you mean with "build tasks" ? A maven plugin ?
If yes that's normal each plugin have his own classloader.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to