Can't exit RubyMine - got to kill the process.

The problem appeared with the firsrt release candidate.

My system details:
Ubuntu 10.10, 2.6.36-020636rc7-generic #201010070908

rm_info.png

Would you please help me with that?

TIA,
Anatoly Kotlyar

5 comments
Comment actions Permalink

Hello Anatoly,

Could you please attach thread dump as described here: http://devnet.jetbrains.net/docs/DOC-1144 ?

Regards,
Oleg

0
Comment actions Permalink

Hi Oleg,

It looks like I figured out the cause of the issue. RM can't exit because it waits for the server process to detach. The reason for such a behavior is still a mystery for me, but I'll be running RM with '-agentlib:yjpagent' flag enabled and post some more information if I find something.

Thanks for your help,
- Anatoly

0
Comment actions Permalink

Looking forward for more information.

Thanks in advance,
Oleg

0
Comment actions Permalink

Did you ever find what was causing this? I'm suffering from the same problem currently. After closing the (last) main window, minimizing and maximizing, the window remains gray: no redraws.
The application fully utilizes one core, but doesn't seem to do anything otherwise. There are not ThreadDumps in the approriate directory.

The last lines in idea.log are

2011-03-22 16:08:07,462 [16076950]   INFO - home.idea.vim.undo.UndoManager - editorClosed
2011-03-22 16:08:10,811 [16080299]   INFO - j.util.indexing.FileBasedIndex - START INDEX SHUTDOWN
2011-03-22 16:08:10,854 [16080342]   INFO - j.util.indexing.FileBasedIndex - END INDEX SHUTDOWN
2011-03-22 16:08:10,855 [16080343]   INFO - .history.utils.LocalHistoryLog - Purging local history...


jconsole shows the AWT-eventqueue thread is busy with the stacktrace below (when you poll the thread a number of times, this is the trace you see the vast majority of times. Of course, the line numbers of the last few lines aren't constant)

Name: AWT-EventQueue-1 3.1#RM-103.105, eap:false
State: RUNNABLE
Total blocked: 1,258,579  Total waited: 1,380,274

Stack trace:
com.intellij.util.io.RandomAccessDataFile.get(RandomAccessDataFile.java:93)
com.intellij.util.io.RandomAccessDataFile.getInt(RandomAccessDataFile.java:110)
com.intellij.history.core.LocalHistoryRecordsTable.getPrevRecord(LocalHistoryRecordsTable.java:104)
com.intellij.history.core.LocalHistoryStorage.getPrevRecord(LocalHistoryStorage.java:72)
   - locked java.lang.Object@4c053407
com.intellij.history.core.ChangeListStorageImpl.a(ChangeListStorageImpl.java:179)
com.intellij.history.core.ChangeListStorageImpl.purge(ChangeListStorageImpl.java:147)
   - locked com.intellij.history.core.ChangeListStorageImpl@699ade8e
com.intellij.history.core.ChangeList.purgeObsolete(ChangeList.java:170)
   - locked com.intellij.history.core.ChangeList@368972cc
com.intellij.history.integration.LocalHistoryImpl.disposeComponent(LocalHistoryImpl.java:129)
com.intellij.openapi.components.impl.ComponentManagerImpl.disposeComponents(ComponentManagerImpl.java:161)
com.intellij.openapi.application.impl.ApplicationImpl.dispose(ApplicationImpl.java:505)
com.intellij.openapi.util.Disposer$1.execute(Disposer.java:37)
com.intellij.openapi.util.Disposer$1.execute(Disposer.java:35)
com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:124)
com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:106)
com.intellij.openapi.util.objectTree.ObjectTree.executeActionWithRecursiveGuard(ObjectTree.java:151)
com.intellij.openapi.util.objectTree.ObjectNode.execute(ObjectNode.java:106)
com.intellij.openapi.util.objectTree.ObjectTree.executeAll(ObjectTree.java:133)
com.intellij.openapi.util.Disposer.dispose(Disposer.java:95)
com.intellij.openapi.util.Disposer.dispose(Disposer.java:91)
com.intellij.openapi.application.impl.ApplicationImpl.d(ApplicationImpl.java:291)
com.intellij.openapi.application.impl.ApplicationImpl.access$100(ApplicationImpl.java:81)
com.intellij.openapi.application.impl.ApplicationImpl$9.run(ApplicationImpl.java:702)
com.intellij.openapi.application.impl.ApplicationImpl.exit(ApplicationImpl.java:716)
com.intellij.openapi.application.impl.ApplicationImpl.exit(ApplicationImpl.java:673)
com.intellij.ide.actions.ExitAction.actionPerformed(ExitAction.java:31)
com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter$1.run(ActionMenuItem.java:242)
com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:645)
com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:228)
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:92)
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
javax.swing.AbstractButton.doClick(AbstractButton.java:374)
javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:829)
javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:873)
java.awt.Component.processMouseEvent(Component.java:6203)
javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
java.awt.Component.processEvent(Component.java:5968)
java.awt.Container.processEvent(Container.java:2105)
java.awt.Component.dispatchEventImpl(Component.java:4564)
java.awt.Container.dispatchEventImpl(Container.java:2163)
java.awt.Component.dispatchEvent(Component.java:4390)
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
java.awt.Container.dispatchEventImpl(Container.java:2149)
java.awt.Window.dispatchEventImpl(Window.java:2478)
java.awt.Component.dispatchEvent(Component.java:4390)
java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)
java.awt.EventQueue.access$000(EventQueue.java:96)
java.awt.EventQueue$1.run(EventQueue.java:608)
java.awt.EventQueue$1.run(EventQueue.java:606)
java.security.AccessController.doPrivileged(Native Method)
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
java.awt.EventQueue$2.run(EventQueue.java:622)
java.awt.EventQueue$2.run(EventQueue.java:620)
java.security.AccessController.doPrivileged(Native Method)
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
java.awt.EventQueue.dispatchEvent(EventQueue.java:619)
com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:652)
com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:501)
com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:404)
com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:368)
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

0
Comment actions Permalink

Hello Ivo,

Could you please create an issue at http://youtrack.jetbrains.net/issues/RUBY and attach full threaddump there?

Regards,
Oleg

0

Please sign in to leave a comment.