[ 
https://issues.apache.org/jira/browse/MNG-6474?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16611144#comment-16611144
 ] 

Michael Osipov edited comment on MNG-6474 at 9/11/18 7:41 PM:
--------------------------------------------------------------

Please reformat the strace as it is outputted by Java. It is very hard to read.

A quick look says me that this is incomplete. There is a Resolver thread 
waiting for something, likely an HTTP reponse. I miss what 
{{0x000000006038e000}} and {{0x00000000814b9900}} are. Can you provide more 
details? Attach to the VM with VisualVM and check for this ref? Can you also 
please provide a debug log from Maven 3.5.4 where this hang happens?


was (Author: michael-o):
Please reformat the strace as it is outputted by Java. It is very hard to read.

A quick look says me that this is incomplete. There is a Resolver thread 
waiting for something, likely an HTTP reponse. I miss what 
{{0x000000006038e000}} and {{0x00000000814b9900}} are. Can you provide more 
details? Attach to the VM with VisualVM and check for this ref?

> Maven intermittently hanging at end of multithreaded build
> ----------------------------------------------------------
>
>                 Key: MNG-6474
>                 URL: https://issues.apache.org/jira/browse/MNG-6474
>             Project: Maven
>          Issue Type: Bug
>    Affects Versions: 3.5.2
>            Reporter: Beirtí Ó'Nunáin
>            Priority: Major
>
> I can't reproduce this with a small skeleton project. It has only started 
> happening since we upgraded from 3.3 to 3.5.
>  
> I have a multithreaded multi-module build which builds a number of large 
> (300mb+) artifacts upon SVN commits. I'm running the following goals:
>  
> mvn clean deploy -T 1C
>  
> Reasonably often, perhaps 1 in 10 builds, the build hangs just before where 
> I'd expect the build to have finished. I'm guessing that maven is attempting 
> to install an artifact to the local repository (looking at the stack trace) 
> while the build is about to complete as when I compare the build log from the 
> hung build to a successful build, the following line is the "Reactor Summary"
> This issue happens both on my local machine  and on our TeamCity server (Both 
> multi-processor, multi-core 14 vs 32 cores)
> The Thread dump isn't indicating any kind of DeadLock. Our sysadmins have 
> checked the box for any antivirus scanning which may be impacting the file 
> copy indicated in the log but can't see anything going on at that time.
> Here's the thread dump from TeamCity when it times out:
>  
> {quote}
> Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.121-b13 mixed mode): 
> "resolver-5" #63 daemon prio=5 os_prio=0 tid=0x00000000596ff800 nid=0x1e98 
> waiting on condition [0x000000006038e000] java.lang.Thread.State: WAITING 
> (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for 
> <0x00000000814b9900> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>  at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
> at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  at java.lang.Thread.run(Thread.java:745) "resolver-4" #62 daemon prio=5 
> os_prio=0 tid=0x00000000596fe800 nid=0x134c waiting on condition 
> [0x000000005f42e000] java.lang.Thread.State: WAITING (parking) at 
> sun.misc.Unsafe.park(Native Method) - parking to wait for 
> <0x00000000814b9900> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>  at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
> at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  at java.lang.Thread.run(Thread.java:745) "resolver-3" #61 daemon prio=5 
> os_prio=0 tid=0x00000000596fe000 nid=0x17c0 waiting on condition 
> [0x000000005fa4e000] java.lang.Thread.State: WAITING (parking) at 
> sun.misc.Unsafe.park(Native Method) - parking to wait for 
> <0x00000000814b9900> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>  at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
> at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  at java.lang.Thread.run(Thread.java:745) "resolver-2" #60 daemon prio=5 
> os_prio=0 tid=0x00000000596fc800 nid=0x135c waiting on condition 
> [0x000000005ff2f000] java.lang.Thread.State: WAITING (parking) at 
> sun.misc.Unsafe.park(Native Method) - parking to wait for 
> <0x00000000814b9900> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>  at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
> at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  at java.lang.Thread.run(Thread.java:745) "resolver-1" #59 daemon prio=5 
> os_prio=0 tid=0x00000000596fb800 nid=0x1538 waiting on condition 
> [0x000000005fd9f000] java.lang.Thread.State: WAITING (parking) at 
> sun.misc.Unsafe.park(Native Method) - parking to wait for 
> <0x00000000814b9900> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>  at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
> at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  at java.lang.Thread.run(Thread.java:745) "BuilderThread 5" #22 prio=5 
> os_prio=0 tid=0x000000005ca94800 nid=0x11b4 waiting on condition 
> [0x000000005f54f000] java.lang.Thread.State: WAITING (parking) at 
> sun.misc.Unsafe.park(Native Method) - parking to wait for 
> <0x0000000082020030> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>  at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
> at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  at java.lang.Thread.run(Thread.java:745) "BuilderThread 4" #21 prio=5 
> os_prio=0 tid=0x000000005cb4f800 nid=0x1278 waiting on condition 
> [0x000000005f26f000] java.lang.Thread.State: WAITING (parking) at 
> sun.misc.Unsafe.park(Native Method) - parking to wait for 
> <0x0000000082020030> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>  at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
> at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  at java.lang.Thread.run(Thread.java:745) "BuilderThread 3" #20 prio=5 
> os_prio=0 tid=0x000000005c83f800 nid=0xfc4 waiting on condition 
> [0x000000005dddf000] java.lang.Thread.State: WAITING (parking) at 
> sun.misc.Unsafe.park(Native Method) - parking to wait for 
> <0x0000000082020030> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>  at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
> at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  at java.lang.Thread.run(Thread.java:745) "BuilderThread 2" #19 prio=5 
> os_prio=0 tid=0x000000005d059800 nid=0x1c08 waiting on condition 
> [0x000000005dfdf000] java.lang.Thread.State: WAITING (parking) at 
> sun.misc.Unsafe.park(Native Method) - parking to wait for 
> <0x0000000082020030> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>  at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
> at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  at java.lang.Thread.run(Thread.java:745) "BuilderThread 1" #18 prio=5 
> os_prio=0 tid=0x000000005d458800 nid=0x1e7c runnable [0x00000000599ae000] 
> java.lang.Thread.State: RUNNABLE at java.io.FileOutputStream.open0(Native 
> Method) at java.io.FileOutputStream.open(FileOutputStream.java:270) at 
> java.io.FileOutputStream.<init>(FileOutputStream.java:213) at 
> java.io.FileOutputStream.<init>(FileOutputStream.java:162) at 
> org.eclipse.aether.internal.impl.DefaultFileProcessor.copy(DefaultFileProcessor.java:166)
>  at 
> org.eclipse.aether.internal.impl.DefaultFileProcessor.copy(DefaultFileProcessor.java:150)
>  at 
> org.eclipse.aether.internal.impl.DefaultInstaller.install(DefaultInstaller.java:267)
>  at 
> org.eclipse.aether.internal.impl.DefaultInstaller.install(DefaultInstaller.java:195)
>  at 
> org.eclipse.aether.internal.impl.DefaultInstaller.install(DefaultInstaller.java:152)
>  at 
> org.eclipse.aether.internal.impl.DefaultRepositorySystem.install(DefaultRepositorySystem.java:377)
>  at 
> org.apache.maven.artifact.installer.DefaultArtifactInstaller.install(DefaultArtifactInstaller.java:107)
>  at org.apache.maven.plugin.install.InstallMojo.execute(InstallMojo.java:115) 
> at 
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
>  at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
>  at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
>  at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
>  at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
>  at 
> org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:200)
>  at 
> org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:196)
>  at java.util.concurrent.FutureTask.run(FutureTask.java:266) at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at 
> java.util.concurrent.FutureTask.run(FutureTask.java:266) at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  at java.lang.Thread.run(Thread.java:745) "BuilderThread 0" #11 prio=5 
> os_prio=0 tid=0x0000000059f2f000 nid=0x1fac waiting on condition 
> [0x000000005c27e000] java.lang.Thread.State: WAITING (parking) at 
> sun.misc.Unsafe.park(Native Method) - parking to wait for 
> <0x0000000082020030> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>  at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
> at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  at java.lang.Thread.run(Thread.java:745) "Service Thread" #9 daemon prio=9 
> os_prio=0 tid=0x00000000575b9800 nid=0x1ca4 runnable [0x0000000000000000] 
> java.lang.Thread.State: RUNNABLE "C1 CompilerThread2" #8 daemon prio=9 
> os_prio=2 tid=0x000000005752b000 nid=0x1128 waiting on condition 
> [0x0000000000000000] java.lang.Thread.State: RUNNABLE "C2 CompilerThread1" #7 
> daemon prio=9 os_prio=2 tid=0x0000000057524800 nid=0x1918 waiting on 
> condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "C2 
> CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x00000000565dd000 nid=0x1c94 
> waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE 
> "Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x00000000565dc000 
> nid=0x199c waiting on condition [0x0000000000000000] java.lang.Thread.State: 
> RUNNABLE "Signal Dispatcher" #4 daemon prio=9 os_prio=2 
> tid=0x00000000565db000 nid=0x16bc runnable [0x0000000000000000] 
> java.lang.Thread.State: RUNNABLE "Finalizer" #3 daemon prio=8 os_prio=1 
> tid=0x0000000000f5d800 nid=0x1f34 in Object.wait() [0x000000005817f000] 
> java.lang.Thread.State: WAITING (on object monitor) at 
> java.lang.Object.wait(Native Method) - waiting on <0x000000008176afe0> (a 
> java.lang.ref.ReferenceQueue$Lock) at 
> java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) - locked 
> <0x000000008176afe0> (a java.lang.ref.ReferenceQueue$Lock) at 
> java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164) at 
> java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209) "Reference 
> Handler" #2 daemon prio=10 os_prio=2 tid=0x0000000000f55000 nid=0xf40 in 
> Object.wait() [0x000000005846f000] java.lang.Thread.State: WAITING (on object 
> monitor) at java.lang.Object.wait(Native Method) - waiting on 
> <0x0000000081aa4ce0> (a java.lang.ref.Reference$Lock) at 
> java.lang.Object.wait(Object.java:502) at 
> java.lang.ref.Reference.tryHandlePending(Reference.java:191) - locked 
> <0x0000000081aa4ce0> (a java.lang.ref.Reference$Lock) at 
> java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153) "main" #1 
> prio=5 os_prio=0 tid=0x0000000000eb7800 nid=0x958 waiting on condition 
> [0x000000000116e000] java.lang.Thread.State: WAITING (parking) at 
> sun.misc.Unsafe.park(Native Method) - parking to wait for 
> <0x0000000081d86ec8> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>  at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
> at 
> java.util.concurrent.ExecutorCompletionService.take(ExecutorCompletionService.java:193)
>  at 
> org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder.multiThreadedProjectTaskSegmentBuild(MultiThreadedBuilder.java:140)
>  at 
> org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder.build(MultiThreadedBuilder.java:101)
>  at 
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
>  at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309) at 
> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194) at 
> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107) at 
> org.apache.maven.cli.MavenCli.execute(MavenCli.java:955) at 
> org.apache.maven.cli.MavenCli.doMain(MavenCli.java:290) at 
> org.apache.maven.cli.MavenCli.main(MavenCli.java:194) at 
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at java.lang.reflect.Method.invoke(Method.java:498) at 
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
>  at 
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 
> at 
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
>  at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 
> "VM Thread" os_prio=2 tid=0x00000000574e1800 nid=0x18e4 runnable "GC task 
> thread#0 (ParallelGC)" os_prio=0 tid=0x0000000000ece000 nid=0x8e8 runnable 
> "GC task thread#1 (ParallelGC)" os_prio=0 tid=0x0000000000ecf800 nid=0x155c 
> runnable "GC task thread#2 (ParallelGC)" os_prio=0 tid=0x0000000000ed1000 
> nid=0x1e90 runnable "GC task thread#3 (ParallelGC)" os_prio=0 
> tid=0x0000000000ed4800 nid=0x1afc runnable "GC task thread#4 (ParallelGC)" 
> os_prio=0 tid=0x0000000000ed5800 nid=0x44c runnable "GC task thread#5 
> (ParallelGC)" os_prio=0 tid=0x0000000000ed8000 nid=0x1e14 runnable "VM 
> Periodic Task Thread" os_prio=2 tid=0x00000000575c1800 nid=0x1d68 waiting on 
> condition JNI global references: 231_
> {quote}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to