Bug 779781 (SOA-2143)

Summary: Active JMX connection causes deadlock/race in jbrules.esb startup
Product: [JBoss] JBoss Enterprise SOA Platform 5 Reporter: Jan Ypma <jypma>
Component: JBoss Rules, Monitoring and ManagementAssignee: Default User <jbpapp-maint>
Status: CLOSED NOTABUG QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 5.0.0 GA   
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/SOA-2143
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Fedora 13 x86_64, OpenJDK 1.6.0_18
Last Closed: 2010-07-05 12:00:28 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
JBossEAPTimeout.java none

Description Jan Ypma 2010-07-05 08:39:16 UTC
Steps to Reproduce: - Install clean deployment of JBoss SOA-P 5.0.1
- Disable JMX authentication [1]
- Run the attached unit test.

[1] http://www.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/5.0.1/html/Installation_Guide/Disabling_Authentication.html
project_key: SOA

Originally found that maven-jboss-plugin doesn't detect JBoss SOA-P startup correctly. I created a unit test that reproduces the behaviour. Basically, the plugin starts JBoss, creates JMX connection, and polls "jboss.system:type=Server" for the "Started" attribute to become true.

When launching JBoss this way, it'll start deploying services fine until (just before or after) jbrules.esb. Just before logging deployment start of jbrules.esb, the JBoss process halts (pauses) completely. After the unit test times out, and the JMX connection is broken, JBoss resumes startup, and finishes startup correctly. Forcibly terminating the unit test earlier has JBoss resume earlier as well. The JMX poll calls themselves are not blocking in the unit test. So it's the active JMX connection itself that causes JBoss SOA-P to hang around somewhere near deployment of jbrules.esb.

Comment 1 Jan Ypma 2010-07-05 08:40:04 UTC
Test case that reproduces the defect

Comment 2 Jan Ypma 2010-07-05 08:40:04 UTC
Attachment: Added: JBossEAPTimeout.java


Comment 3 Jan Ypma 2010-07-05 12:00:28 UTC
Not defect in jboss, but in maven-jboss-plugin. Consule buffer isn't periodically flushed on linux, causing jboss to halt after a certain amount of output is generated and a buffer is full (probably ??kbytes).