Bug 267378 - org.netbeans.modules.deadlock.detector.Detector$DeadlockDetectedException: FSSDispatcher
org.netbeans.modules.deadlock.detector.Detector$DeadlockDetectedException: FS...
Status: VERIFIED FIXED
Product: cnd
Classification: Unclassified
Component: execution
8.1
All All
: P3 (vote)
: 8.2
Assigned To: ilia
issues@cnd
EXCEPTIONS_REPORT, 82patch1-verified
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-08-01 11:04 UTC by Exceptions Reporter
Modified: 2016-12-12 09:05 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
:


Attachments
stacktrace (8.97 KB, text/plain)
2016-08-01 11:04 UTC, Exceptions Reporter
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Exceptions Reporter 2016-08-01 11:04:39 UTC
Build: NetBeans IDE 8.1 (Build 201510222201)
VM: Java HotSpot(TM) 64-Bit Server VM, 25.60-b23, Java(TM) SE Runtime Environment, 1.8.0_60-b27
OS: Windows 7

User Comments:
GUEST: I had just reconnected to my workstation remotely via Remote Desktop, and was trying to debug a C++ core file by connectiong to a previously disconnected Remote Host.




Stacktrace: 
org.netbeans.modules.deadlock.detector.Detector$DeadlockDetectedException: FSSDispatcher
   at org.netbeans.modules.nativeexecution.api.util.HostInfoUtils.getHostInfo(HostInfoUtils.java:271)
   at org.netbeans.modules.nativeexecution.api.util.HostInfoUtils.getHostInfo(HostInfoUtils.java:255)
   at org.netbeans.modules.nativeexecution.api.util.MacroExpanderFactory.getExpander(MacroExpanderFactory.java:102)
   at org.netbeans.modules.nativeexecution.api.util.MacroExpanderFactory.getExpander(MacroExpanderFactory.java:70)
   at org.netbeans.modules.remote.impl.fs.server.FSSDispatcher.getOriginalFSServerPath(FSSDispatcher.java:528)
   at org.netbeans.modules.remote.impl.fs.server.FSSDispatcher.checkServerSetup(FSSDispatcher.java:561)
Comment 1 Exceptions Reporter 2016-08-01 11:04:41 UTC
Created attachment 161511 [details]
stacktrace
Comment 2 ilia 2016-08-17 17:25:06 UTC
Investigation:

There are two problems with this issue.
First, we call a heavy operationfrom SubversionVCS.connected:234. Maybe it should be moved to a different thread.
Second, MacroExpanderFactory class caches found expanders. It uses a static synchronized method getExpander and tries to lock HostInfoUtils. This leads to a deadlock if HostInfoUtils is already taken.

Solution:
Make macro expander cache synchronized more "softly", with concurrent map.
Comment 3 Quality Engineering 2016-11-11 02:50:24 UTC
Integrated into 'main-silver', will be available in build *201611110001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/d0ef9090621d
User: Ilia Gromov <ilia@netbeans.org>
Log: fixing #267378 - org.netbeans.modules.deadlock.detector.Detector$DeadlockDetectedException: FSSDispatcher
(transplanted from e2aa85c5a0628d20ebda276f4b7a7783bb0041ae)
Comment 4 Quality Engineering 2016-11-16 02:51:46 UTC
Integrated into 'main-silver', will be available in build *201611160001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/03c6734db3fa
User: Ilia Gromov <ilia@netbeans.org>
Log: Additional fix for #267378 - org.netbeans.modules.deadlock.detector.Detector$DeadlockDetectedException: FSSDispatcher
(transplanted from 4d9d01c80a2b72416b2170d3db539992065de36f)
Comment 5 soldatov 2016-12-12 09:05:34 UTC
I can't reproduce this random exception in internal NetBeans 8,2 patch 1 build.


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2014, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo