IDEA 2239 on Solaris hangs when loading any project

I've been trying to install IDEA 2239 on a Solaris machine. I've
downloaded the archive, unpacked it, and created a JRE directory
according to the instructions. Everything seems to work fine up to the
point where I want to load a project. I get the "Loading Project"
dialog and a few status messages, and then IDEA hangs.

I've tried creating a completely new empty project. This works fine
until IDEA wants to load the project. Then it hangs again.

I've tried running IDEA under 1.4.2_01 and 1.4.2_05. No difference.

Am I making some obvious mistake or is this a bug?

From what I can see in this stack trace, the event thread has locked
0xeba26b40 and is now waiting for something, and "Process with Progress"
is waiting to lock 0xeba26b40. I don't know what the event thread is
waiting for.



^\Full thread dump Java HotSpot(TM) Client VM (1.4.2_01-b06 mixed mode):

"Process with Progress" prio=6 tid=0x00430330 nid=0x27 waiting for
monitor entry
at
com.intellij.openapi.ui.DialogWrapper.(DialogWrapper.java:97) - waiting to lock <0xeba26b40> (a java.lang.Object) at com.intellij.openapi.ui.Messages$MessageDialog.(Messages.java:311) at com.intellij.openapi.ui.Messages.showDialog(Messages.java:62) at com.intellij.openapi.ui.Messages.showMessageDialog(Messages.java:89) at com.intellij.psi.f.e.a.k.a(k.java:28) at com.intellij.psi.f.e.a.k.a(k.java:80) at com.intellij.psi.f.e.a.b.f.(f.java:161) at com.intellij.psi.f.e.a.c.a(c.java:185) at com.intellij.psi.f.e.a.c.b(c.java:90) at com.intellij.psi.f.e.a.c.d(c.java:52) - locked <0xebc37658>]]> (a com.intellij.psi.f.e.a.c)
at com.intellij.psi.f.s.c(s.java:140)
at com.intellij.psi.f.s$0.run(s$0.java)
at com.intellij.ide.b.a.a.a(a.java:48)
at com.intellij.ide.b.a.a.access$100(a.java:49)
at com.intellij.ide.b.a.a$0.run(a$0.java:3)
at com.intellij.openapi.e.b.c.runReadAction(c.java:4)
at com.intellij.ide.b.a.a.e(a.java:50)
at com.intellij.openapi.h.a.b$2.run(b$2.java:2)
at com.intellij.openapi.progress.a.a.runProcess(a.java:13)
at com.intellij.openapi.e.b.c$1a_.run(c$1a_.java:3)

"AWT-EventQueue-1" prio=6 tid=0x008038e8 nid=0x21 in Object.wait()

at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:429)
at java.awt.EventQueue.getNextEvent(EventQueue.java:339)
- locked (a com.intellij.ide.t) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:162) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:141) at java.awt.Dialog$1.run(Dialog.java:540) at java.awt.Dialog.show(Dialog.java:561) at com.intellij.openapi.a.b.a$d_.show(a$d_.java:4) at com.intellij.openapi.a.b.a.show(a.java:49) at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:711) - locked <0xeba26b40> (a java.lang.Object) at com.intellij.openapi.progress.util.e.c(e.java:5) at com.intellij.openapi.progress.util.e.access$100(e.java:49) at com.intellij.openapi.progress.util.e$0.run(e$0.java:1) at com.intellij.openapi.e.b.d$b_.run(d$b_.java:3) - locked <0xeb757230> (a java.lang.Object) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178) at java.awt.EventQueue.dispatchEvent(EventQueue.java:454) at com.intellij.ide.t.b(t.java:111) at com.intellij.ide.t.a(t.java:7) at com.intellij.ide.t.dispatchEvent(t.java:134) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:141) at java.awt.Dialog$1.run(Dialog.java:540) at java.awt.Dialog.show(Dialog.java:561) at com.intellij.openapi.a.b.a$d_.show(a$d_.java:4) at com.intellij.openapi.a.b.a.show(a.java:49) at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:711) - locked <0xeba26b40> (a java.lang.Object) at com.intellij.openapi.progress.util.g.c(g.java:43) at com.intellij.openapi.progress.util.g.b(g.java:45) at com.intellij.openapi.e.b.c.a(c.java:101) at com.intellij.openapi.e.b.c.runProcessWithProgressSynchronously(c.java:214) at com.intellij.openapi.h.a.b.a(b.java:23) at com.intellij.ide.h.f.a(f.java:43) at com.intellij.ide.actions.cd.actionPerformed(cd.java:1) at com.intellij.idea.e.e(e.java:37) at com.intellij.idea.e.access$200(e.java:17) at com.intellij.idea.e$0.run(e$0.java:2) at com.intellij.openapi.e.b.d$b_.run(d$b_.java:3) - locked <0xeb757230>]]> (a java.lang.Object)
at
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
at com.intellij.ide.t.b(t.java:111)
at com.intellij.ide.t.a(t.java:7)
at com.intellij.ide.t.dispatchEvent(t.java:134)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

"Thread-1" prio=6 tid=0x00a19ec8 nid=0x20 waiting on condition

at java.lang.Thread.sleep(Native Method)
at com.intellij.openapi.progress.a.a$1.run(a$1.java:2)

"TimerQueue" daemon prio=5 tid=0x007ec1a8 nid=0x1c in Object.wait()

at java.lang.Object.wait(Native Method)
- waiting on (a javax.swing.TimerQueue) at javax.swing.TimerQueue.run(TimerQueue.java:231) - locked <0xeb6fbd18>]]> (a javax.swing.TimerQueue)
at java.lang.Thread.run(Thread.java:534)

"AlarmThread" prio=6 tid=0x0028f9e0 nid=0x1b in Object.wait()

at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.Object) at java.lang.Object.wait(Object.java:429) at com.intellij.util.Alarm$MyThread.run(Alarm.java:221) - locked <0xeb5b8c10>]]> (a java.lang.Object)

"AlarmThread" prio=6 tid=0x00292618 nid=0x1a in Object.wait()

at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.Object) at com.intellij.util.Alarm$MyThread.run(Alarm.java:276) - locked <0xeb5b8c80>]]> (a java.lang.Object)

"Java2D Disposer" daemon prio=10 tid=0x003e2c20 nid=0x16 in
Object.wait()
at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <0xeb50d618>]]> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
at sun.java2d.Disposer.run(Disposer.java:100)
at java.lang.Thread.run(Thread.java:534)

"AWT-Shutdown" prio=6 tid=0x002d3598 nid=0x15 in Object.wait()

at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.Object) at java.lang.Object.wait(Object.java:429) at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259) - locked <0xeb4721b0>]]> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:534)

"Thread-0" daemon prio=5 tid=0x0021b0a8 nid=0x13 in Object.wait()

at java.lang.Object.wait(Native Method)
- waiting on (a java.util.TaskQueue) at java.util.TimerThread.mainLoop(Timer.java:429) - locked <0xeb50d6d8>]]> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:382)

"SocketListenerThread" prio=5 tid=0x0038b008 nid=0x12 runnable

at java.net.PlainDatagramSocketImpl.receive(Native Method)
- waiting to lock (a java.net.PlainDatagramSocketImpl) at java.net.DatagramSocket.receive(DatagramSocket.java:711) - locked <0xea15a4b8> (a java.net.DatagramPacket) - locked <0xeb50fee8>]]> (a java.net.MulticastSocket)
at com.intellij.licensecommon.d.a.e.b(e.java:33)
at com.intellij.licensecommon.d.a.f.run(f.java:16)

"SocketListenerThread" prio=5 tid=0x00390500 nid=0x11 runnable

at java.net.PlainDatagramSocketImpl.receive(Native Method)
- waiting to lock (a java.net.PlainDatagramSocketImpl) at java.net.DatagramSocket.receive(DatagramSocket.java:711) - locked <0xeb5126e0> (a java.net.DatagramPacket) - locked <0xeb512700>]]> (a java.net.DatagramSocket)
at com.intellij.licensecommon.d.a.e.b(e.java:33)
at com.intellij.licensecommon.d.a.f.run(f.java:16)

"MessageDeliveryThread" prio=5 tid=0x003914e8 nid=0x10 in Object.wait()

at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.Object) at java.lang.Object.wait(Object.java:429) at com.intellij.licensecommon.d.r.run(r.java:25) - locked <0xeb512790>]]> (a java.lang.Object)

"AWT-Motif" daemon prio=6 tid=0x0033e808 nid=0xe runnable

at sun.awt.motif.MToolkit.run(Native Method)
at java.lang.Thread.run(Thread.java:534)

"Lock thread" prio=5 tid=0x001b30f0 nid=0xc runnable
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353)
- locked ]]> (a java.net.PlainSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:448)
at java.net.ServerSocket.accept(ServerSocket.java:419)
at com.intellij.idea.g$b_.run(g$b_.java:4)
at java.lang.Thread.run(Thread.java:534)

"DestroyJavaVM" prio=5 tid=0x0002cdb0 nid=0x1 waiting on condition


"Signal Dispatcher" daemon prio=10 tid=0x000c3420 nid=0x8 waiting on
condition

"Finalizer" daemon prio=8 tid=0x000bea10 nid=0x6 in Object.wait()

at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <0xeb420008>]]> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x000bdf90 nid=0x5 in
Object.wait()
at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:429) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115) - locked <0xeb41fe78>]]> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=5 tid=0x000bd0f8 nid=0x4 runnable

"VM Periodic Task Thread" prio=10 tid=0x000c5a78 nid=0xa waiting on
condition
"Suspend Checker Thread" prio=10 tid=0x000c2ab8 nid=0x7 runnable

2 comments

Though this definetely a deadlock bug (thanks!) there's a workaround.
IDEA seems to be willing to show a error dialog like this: "Cannot
create folder XXX to save caches" meaning you probably do not have
enough access rights to the IDEA system directory. Please refer to the
correct path via -Didea.system.path in idea.sh.

--
Maxim Shafirov
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"

0

Maxim Shafirov (JetBrains) wrote:

Though this definetely a deadlock bug (thanks!) there's a workaround.
IDEA seems to be willing to show a error dialog like this: "Cannot
create folder XXX to save caches" meaning you probably do not have
enough access rights to the IDEA system directory.


Thank you! It seems there was a faulty symlink involved, pointing to a
directory that did not exist. Everything seems to work fine now.

0

Please sign in to leave a comment.