Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 316405

Summary: Thread deadlock between KernelBundleClassLoader and ChainedClassloader during classloading
Product: [RT] Virgo Reporter: blahb Mising name <dyfxos8d>
Component: unknownAssignee: Project Inbox <virgo-inbox>
Status: CLOSED FIXED QA Contact:
Severity: critical    
Priority: P3 CC: dyfxos8d, glyn.normington
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
Stack trace dump. dyfxos8d: review?

Description blahb Mising name CLA 2010-06-09 22:01:57 EDT
Build Identifier: 2.0.2.RELEASE

Within 10-15 minutes of running our webapp bundle under significant load, we experience a thread deadlock which makes the process unresponsive to any HTTP requests or JMX connections. The deadlock seems to be in platform classloading code before our bundle code has been placed on the stack for responding to the HTTP request.

This is repeatable under SpringSource DM Server 2.0.2.RELEASE, and I've logged it there, but it appears that this issue tracker may be replacing that one; I'm not sure where to log it.  Sorry.

Attached is the thread deadlock information from the automatically generated dumps.

Reproducible: Always

Steps to Reproduce:
1. Deploy webapp bundle.
2. Load it heavily with traffic.
3. Wait for thread deadlock in classloaders.
Comment 1 blahb Mising name CLA 2010-06-09 22:05:01 EDT
Created attachment 171600 [details]
Stack trace dump.
Comment 2 blahb Mising name CLA 2010-06-09 22:19:11 EDT
Cross-reference to bug in SpringSource issue tracker:
https://issuetracker.springsource.com/browse/DMS-2651
Comment 3 Glyn Normington CLA 2010-06-10 10:31:48 EDT
The deadlock is caused by an alien call in ChainedClassLoader. The fix is to remove synchronisation from this class. The class is immutable and therefore thread safe without synchronisation.

This fix should be included in 2.1.0.M1.