IntelliJ Platform hangs on splash screen

I've created my own *ApplicationInfo.xml and my own *Plugin.xml mimicking PyCharm as an example.

I've currently disabled my plugin with the majority of my functionality and just trying to get a bare-bones IDE. I was able to do that in PyCharm by commenting out the python-core.xml include in the PyCharmCorePlugin.xml (2nd line). However, when I try this same thing the progress bar freezes about a quarter of the way across the splash screen.

It hangs there in definitely. I've taken a Thread Dump and it seems like something is locked...but I can't figure out where or how to fix it. I'd like to provide the thread dump but I don't see a way to extract it.

"Lock thread@1317" prio=1 tid=0x14 nid=NA runnable
  java.lang.Thread.State: RUNNABLE
   at java.net.PlainSocketImpl.socketAccept(PlainSocketImpl.java:-1)
   at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
   - locked <0x9e1> (a java.net.SocksSocketImpl)
   at java.net.ServerSocket.implAccept(ServerSocket.java:462)
   at java.net.ServerSocket.accept(ServerSocket.java:430)
   at com.intellij.idea.SocketLock$MyRunnable.run(SocketLock.java:224)
   at java.lang.Thread.run(Thread.java:662)


"Periodic tasks thread@2071" daemon prio=5 tid=0x1a nid=NA waiting
  java.lang.Thread.State: WAITING
   at sun.misc.Unsafe.park(Unsafe.java:-1)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)
   at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:957)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:917)
   at java.lang.Thread.run(Thread.java:662)


"AWT-EventQueue-1@2149" prio=6 tid=0x1b nid=NA waiting
  java.lang.Thread.State: WAITING
   at java.lang.Object.wait(Object.java:-1)
   at java.lang.Object.wait(Object.java:485)
   at java.awt.EventQueue.getNextEvent(EventQueue.java:515)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:236)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)


5 comments

Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.45-b01 mixed mode):


"AWT-EventQueue-1" prio=6 tid=0x000000000600c000 nid=0x33e8 in Object.wait() [0x000000000ba8f000]
   java.lang.Thread.State: WAITING (on object monitor)
 at java.lang.Object.wait(Native Method)
 - waiting on <0x00000000fe5a08e0> (a com.intellij.ide.IdeEventQueue)
 at java.lang.Object.wait(Object.java:485)
 at java.awt.EventQueue.getNextEvent(EventQueue.java:515)
 - locked <0x00000000fe5a08e0> (a com.intellij.ide.IdeEventQueue)
 at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:236)
 at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)


"Periodic tasks thread" daemon prio=6 tid=0x0000000006008800 nid=0x36a0 waiting on condition [0x000000000acbf000]
   java.lang.Thread.State: TIMED_WAITING (parking)
 at sun.misc.Unsafe.park(Native Method)
 - parking to wait for  <0x00000000fe5b0598> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
 at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)
 at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609)
 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602)
 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:957)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:917)
 at java.lang.Thread.run(Thread.java:662)


"AWT-Shutdown" prio=6 tid=0x000000000600b000 nid=0x300c in Object.wait() [0x000000000b54f000]
   java.lang.Thread.State: WAITING (on object monitor)
 at java.lang.Object.wait(Native Method)
 - waiting on <0x00000000fe649b38> (a java.lang.Object)
 at java.lang.Object.wait(Object.java:485)
 at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:265)
 - locked <0x00000000fe649b38> (a java.lang.Object)
 at java.lang.Thread.run(Thread.java:662)


"Lock thread" prio=2 tid=0x000000000600a000 nid=0x319c runnable [0x000000000adbf000]
   java.lang.Thread.State: RUNNABLE
 at java.net.PlainSocketImpl.socketAccept(Native Method)
 at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
 - locked <0x00000000fe64a088> (a java.net.SocksSocketImpl)
 at java.net.ServerSocket.implAccept(ServerSocket.java:462)
 at java.net.ServerSocket.accept(ServerSocket.java:430)
 at com.intellij.idea.SocketLock$MyRunnable.run(SocketLock.java:224)
 at java.lang.Thread.run(Thread.java:662)


"DestroyJavaVM" prio=6 tid=0x0000000006009800 nid=0x1374 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE


"AWT-Windows" daemon prio=6 tid=0x0000000006008000 nid=0x36e0 runnable [0x000000000985f000]
   java.lang.Thread.State: RUNNABLE
 at sun.awt.windows.WToolkit.eventLoop(Native Method)
 at sun.awt.windows.WToolkit.run(WToolkit.java:293)
 at java.lang.Thread.run(Thread.java:662)


"Java2D Disposer" daemon prio=10 tid=0x0000000006006800 nid=0x23d0 in Object.wait() [0x000000000965f000]
   java.lang.Thread.State: WAITING (on object monitor)
 at java.lang.Object.wait(Native Method)
 - waiting on <0x00000000fe5ebf18> (a java.lang.ref.ReferenceQueue$Lock)
 at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
 - locked <0x00000000fe5ebf18> (a java.lang.ref.ReferenceQueue$Lock)
 at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
 at sun.java2d.Disposer.run(Disposer.java:127)
 at java.lang.Thread.run(Thread.java:662)


"timed reference disposer" daemon prio=2 tid=0x0000000006005800 nid=0x35c4 waiting on condition [0x000000000836f000]
   java.lang.Thread.State: TIMED_WAITING (parking)
 at sun.misc.Unsafe.park(Native Method)
 - parking to wait for  <0x00000000fe64a658> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
 at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)
 at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609)
 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602)
 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:957)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:917)
 at java.lang.Thread.run(Thread.java:662)


"Monitor Ctrl-Break" daemon prio=6 tid=0x0000000006005000 nid=0x2418 runnable [0x00000000080ff000]
   java.lang.Thread.State: RUNNABLE
 at java.net.SocketInputStream.socketRead0(Native Method)
 at java.net.SocketInputStream.read(SocketInputStream.java:129)
 at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
 at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
 at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
 - locked <0x00000000fc9f31f8> (a java.io.InputStreamReader)
 at java.io.InputStreamReader.read(InputStreamReader.java:167)
 at java.io.BufferedReader.fill(BufferedReader.java:136)
 at java.io.BufferedReader.readLine(BufferedReader.java:299)
 - locked <0x00000000fc9f31f8> (a java.io.InputStreamReader)
 at java.io.BufferedReader.readLine(BufferedReader.java:362)
 at com.intellij.rt.execution.application.AppMain$1.run(AppMain.java:88)
 at java.lang.Thread.run(Thread.java:662)


"Low Memory Detector" daemon prio=6 tid=0x0000000006004800 nid=0x3590 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE


"C2 CompilerThread1" daemon prio=10 tid=0x000000000601a800 nid=0x1240 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE


"C2 CompilerThread0" daemon prio=10 tid=0x0000000006013800 nid=0x3178 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE


"Attach Listener" daemon prio=10 tid=0x0000000006003800 nid=0x374 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE


"Signal Dispatcher" daemon prio=10 tid=0x0000000006003000 nid=0x32f4 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE


"Finalizer" daemon prio=8 tid=0x0000000005fb2000 nid=0x1d04 in Object.wait() [0x0000000006cef000]
   java.lang.Thread.State: WAITING (on object monitor)
 at java.lang.Object.wait(Native Method)
 - waiting on <0x00000000fe59a290> (a java.lang.ref.ReferenceQueue$Lock)
 at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
 - locked <0x00000000fe59a290> (a java.lang.ref.ReferenceQueue$Lock)
 at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
 at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:171)


"Reference Handler" daemon prio=10 tid=0x000000000052f800 nid=0x2bf0 in Object.wait() [0x0000000006bef000]
   java.lang.Thread.State: WAITING (on object monitor)
 at java.lang.Object.wait(Native Method)
 - waiting on <0x00000000fe59a228> (a java.lang.ref.Reference$Lock)
 at java.lang.Object.wait(Object.java:485)
 at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
 - locked <0x00000000fe59a228> (a java.lang.ref.Reference$Lock)


"VM Thread" prio=10 tid=0x000000000052c000 nid=0x34fc runnable


"GC task thread#0 (ParallelGC)" prio=6 tid=0x00000000004b0800 nid=0x2f90 runnable


"GC task thread#1 (ParallelGC)" prio=6 tid=0x00000000004b2800 nid=0x3028 runnable


"GC task thread#2 (ParallelGC)" prio=6 tid=0x00000000004b4800 nid=0x35c8 runnable


"GC task thread#3 (ParallelGC)" prio=6 tid=0x00000000004b6000 nid=0x4e8 runnable


"GC task thread#4 (ParallelGC)" prio=6 tid=0x00000000004b9800 nid=0x3798 runnable


"GC task thread#5 (ParallelGC)" prio=6 tid=0x00000000004bb000 nid=0x3688 runnable


"GC task thread#6 (ParallelGC)" prio=6 tid=0x00000000004bc000 nid=0xe94 runnable


"GC task thread#7 (ParallelGC)" prio=6 tid=0x00000000004bd800 nid=0x3370 runnable


"VM Periodic Task Thread" prio=10 tid=0x0000000006071000 nid=0x220c waiting on condition


JNI global references: 1935


Heap
PSYoungGen      total 38080K, used 15667K [0x00000000fc000000, 0x00000000fea70000, 0x0000000100000000)
  eden space 32704K, 32% used [0x00000000fc000000,0x00000000fca46800,0x00000000fdff0000)
  from space 5376K, 95% used [0x00000000fe530000,0x00000000fea366c0,0x00000000fea70000)
  to   space 5376K, 0% used [0x00000000fdff0000,0x00000000fdff0000,0x00000000fe530000)
PSOldGen        total 86976K, used 9289K [0x00000000f4000000, 0x00000000f94f0000, 0x00000000fc000000)
  object space 86976K, 10% used [0x00000000f4000000,0x00000000f4912628,0x00000000f94f0000)
PSPermGen       total 21824K, used 21735K [0x00000000eaa00000, 0x00000000ebf50000, 0x00000000f4000000)
  object space 21824K, 99% used [0x00000000eaa00000,0x00000000ebf39d78,0x00000000ebf50000)

0

Are there any exceptions in idea.log?

--
Nikolay Chashnikov
JetBrains
http://www.jetbrains.com
"Develop with pleasure!"

0

No exceptions, no errors. Nothing in the console and nothing in the log.


I ended up taking an afternoon to debug it step by step and found that it was dying on an assert. The assert wasn't being properly reported up therefore the system just hung as described.

0

If this assert is in IDEA code could you please tell where it is located?

--
Nikolay Chashnikov
JetBrains
http://www.jetbrains.com
"Develop with pleasure!"

0

com.intellij.util.xmlb.JDOMXIncluder:280

0

Please sign in to leave a comment.