This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
See thread dump. Seems to have been a random deadlock in commit validation. Looks to me like TopLogging.LookupDel should not be calling Lookup.lookupAll synchronously from logging methods; logging is too low-level (can be called from any System.err.println) and lookup is too risky (can acquire locks and wait for foreign threads, as here). Suggest that LookupDel listen to a Lookup.Result and asynchronously update a cached field, as is done e.g. for InstalledFileLocator.getInstances or URLMapper.getInstances. BTW I am guessing that the actual stack trace it was trying to print when it deadlocked was ClassNotFoundException: org.netbeans.libs.jsch.ClasspathProviderImpl Seems you forgot to delete libs/jsch/src/META-INF/services/org.apache.tools.ant.module.spi.AutomaticExtraClasspathProvider so I just did that.
I see. Thanks for the metainf fix. I'll fix the LookupDel soon.
Created attachment 31519 [details] I guess this deserves a little review especially because I had to patch MockServices and Lookup
"#78865: Solving a deadlock while logging, plus making MockServices.setServices fire changes to clients listening on Looukup.getDefault().lookupResults" xtest/nbjunit/apichanges.xml xtest/nbjunit/manifest.mf Checking in xtest/nbjunit/apichanges.xml; /shared/data/ccvs/repository/xtest/nbjunit/apichanges.xml,v <-- apichanges.xml new revision: 1.4; previous revision: 1.3 done Checking in xtest/nbjunit/manifest.mf; /shared/data/ccvs/repository/xtest/nbjunit/manifest.mf,v <-- manifest.mf new revision: 1.15; previous revision: 1.14 done Checking in core/startup/src/org/netbeans/core/startup/TopLogging.java; /shared/data/ccvs/repository/core/startup/src/org/netbeans/core/startup/TopLogging.java,v <-- TopLogging.java new revision: 1.16; previous revision: 1.15 done Checking in core/startup/test/unit/src/org/netbeans/core/startup/TopLoggingLookupTest.java; /shared/data/ccvs/repository/core/startup/test/unit/src/org/netbeans/core/startup/TopLoggingLookupTest.java,v <-- TopLoggingLookupTest.java new revision: 1.3; previous revision: 1.2 done Checking in openide/util/arch.xml; /shared/data/ccvs/repository/openide/util/arch.xml,v <-- arch.xml new revision: 1.7; previous revision: 1.6 done Checking in openide/util/src/org/openide/util/Lookup.java; /shared/data/ccvs/repository/openide/util/src/org/openide/util/Lookup.java,v <-- Lookup.java new revision: 1.9; previous revision: 1.8 done Checking in xtest/nbjunit/src/org/netbeans/junit/MockServices.java; /shared/data/ccvs/repository/xtest/nbjunit/src/org/netbeans/junit/MockServices.java,v <-- MockServices.java new revision: 1.5; previous revision: 1.4 done Checking in xtest/nbjunit/test/unit/src/org/netbeans/junit/MockServicesTest.java; /shared/data/ccvs/repository/xtest/nbjunit/test/unit/src/org/netbeans/junit/MockServicesTest.java,v <-- MockServicesTest.java new revision: 1.4; previous revision: 1.3
+import com.sun.org.apache.bcel.internal.generic.LOOKUPSWITCH; ?!