Bug 975930 - Build & Deploy causes Business Central to hang.
Build & Deploy causes Business Central to hang.
Status: CLOSED CURRENTRELEASE
Product: JBoss BPMS Platform 6
Classification: JBoss
Component: Business Central (Show other bugs)
6.0.0
Unspecified Mac OS
unspecified Severity unspecified
: ---
: 6.0.0
Assigned To: manstis
Marek Baluch
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-06-19 11:40 EDT by Jeff DeLong
Modified: 2014-08-06 16:11 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-08-06 16:11:42 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Jeff DeLong 2013-06-19 11:40:54 EDT
Description of problem:

"Build and Deploy" causes Business Central to hang.

Version-Release number of selected component (if applicable):

DR5

How reproducible:

Very

Steps to Reproduce:
1.Use Data Modeler to create a fact or two 
2.Create a rule using GRE
3.Save rule
4.Select Build & Deploy from the Menu Bar

Actual results:

Hangs

Expected results:

Not hang

Additional info:
Comment 1 Marek Baluch 2013-06-19 15:11:48 EDT
Hi Jeff,

this may be because of a missing library. Do you see org.jboss.netty.channel.SimpleChannelUpstreamHandler ClassNotFoundException in the log?
Comment 2 Jeff DeLong 2013-06-19 15:27:16 EDT
Yes, I would see that exception on the log

16:47:29,078 WARN  [org.jboss.modules] (pool-15-thread-1) Failed to define class com.ning.http.client.providers.netty.NettyAsyncHttpProvider in Module "deployment.business-central.war:main" from Service Module Loader: java.lang.LinkageError: Failed to link com/ning/http/client/providers/netty/NettyAsyncHttpProvider (Module "deployment.business-central.war:main" from Service Module Loader)
	at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:427) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:260) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:75) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.Module.loadModuleClass(Module.java:526) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:188) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:444) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:432) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:374) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:119) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.sonatype.maven.wagon.AhcWagon.openConnectionInternal(AhcWagon.java:150) [wagon-ahc-1.2.1.jar:]
	at org.apache.maven.wagon.AbstractWagon.openConnection(AbstractWagon.java:105) [wagon-provider-api-1.0-beta-7.jar:1.0-beta-7]
	at org.apache.maven.wagon.AbstractWagon.connect(AbstractWagon.java:207) [wagon-provider-api-1.0-beta-7.jar:1.0-beta-7]
	at org.sonatype.aether.connector.wagon.WagonRepositoryConnector.connectWagon(WagonRepositoryConnector.java:345) [aether-connector-wagon-1.13.1.jar:]
	at org.sonatype.aether.connector.wagon.WagonRepositoryConnector.pollWagon(WagonRepositoryConnector.java:385) [aether-connector-wagon-1.13.1.jar:]
	at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.run(WagonRepositoryConnector.java:571) [aether-connector-wagon-1.13.1.jar:]
	at org.sonatype.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:60) [aether-util-1.13.1.jar:]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_21]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_21]
	at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_21]
Caused by: java.lang.NoClassDefFoundError: org/jboss/netty/channel/SimpleChannelUpstreamHandler
	at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.7.0_21]
	at java.lang.ClassLoader.defineClass(ClassLoader.java:791) [rt.jar:1.7.0_21]
	at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:344) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:422) [jboss-modules.jar:1.2.0.Final-redhat-1]
	... 18 more
Caused by: java.lang.ClassNotFoundException: org.jboss.netty.channel.SimpleChannelUpstreamHandler from [Module "deployment.business-central.war:main" from Service Module Loader]
	at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:196) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:444) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:432) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:374) [jboss-modules.jar:1.2.0.Final-redhat-1]
	at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:119) [jboss-modules.jar:1.2.0.Final-redhat-1]
	... 22 more
Comment 3 Marek Baluch 2013-06-19 15:34:54 EDT
Argh! Looks like someone from my team forgot to log this issue! I found it myself a few minutes ago while checking out a problem.
Comment 4 Jeff DeLong 2013-06-19 15:39:55 EDT
If you can attach the missing jar to this bug report I will drop it in the modules directory and test it out.
Comment 5 Marek Baluch 2013-06-19 15:44:36 EDT
you should be able to find this file:  ${jboss_eap_home}/bin/client/jboss-client.jar. create a copy in the {jboss_eap_home}/standalone/deployments/business-central.war/WEB-INF/lib directory
Comment 7 Jeff DeLong 2013-06-19 16:00:32 EDT
That seems to have cleared up that problem. Thanks.
Comment 9 Kris Verlaenen 2013-06-19 21:05:31 EDT
I've been able to reproduce this:
 - open up business-central
 - go to jbpm-playground HR project and click build and deploy (successful)
 - open project editor and update version to 1.1 and save changes
 - click build and deploy again: failure with given stack trace

I've also verified that this issue does not seem to occur on the community Beta3 kie-wb war on EAP 6.1.  So this needs further investigation to see what the cause might be.
Comment 10 Ryan Zhang 2013-06-19 23:36:41 EDT
The evil here is the netty-$version.jar.

Both in kie-web-jbossas7.war community and product version, the netty was ripped because it is already provided by EAP6 as a module. However the jboss modules won't be loaded correctly if it is not configured correctly as a dependency.
I have submited a pull request for fixing this:
https://github.com/droolsjbpm/kie-wb-distributions/pull/3

Please also note that:
This gives us warning that all the ripped jars which overlap with EAP might suffer the same issue. Please add them as dependencies in the war.

Kirs, the kie-wb.war you were testing could be the full version of the war instead of jbossas7 one, and it contains the netty.jar.
Comment 11 Kris Verlaenen 2013-06-20 00:04:25 EDT
As far as I know, I have been testing the Beta3-jboss-as7.0 war though, and looking at that war it does not contain the netty 3.2.0 jar (only a netty 4.* jar which contains io.netty instead of org.jboss.netty, the same as the product it seems).
Comment 12 Ryan Zhang 2013-06-20 02:18:25 EDT
Yes, you are right.
The Beta3-jboss-as7.0 is valid in this case.
I stripped the META-INF/*  during integration. 
There is one line defined in META-INF/MANIFEST which enable the netty dependency
Dependencies: org.jboss.netty

This serves the same purpose as defined the module deps in jboss-deployment-structure.xml

This issue can be fixed by either approach.
1) I put back the META_INF/* during productization.
2) Upstream use jboss-deployment-structure.xml

The potential problem of 1) is that I am not quiet sure at the moment that whether the META-INF/MANIFEST will be override or changed during productization(MEAD build, java signature matters). I would update if I found out more.
But if upstream pick up 2), then it seems ideal to me.
What do you think, Kris?

The warning still renames that
Other dependencies ripped for avoiding overlapping EAP jars still might need to
add into the dependencies in case further bugs reports, I think.

(In reply to Kris Verlaenen from comment #11)
> As far as I know, I have been testing the Beta3-jboss-as7.0 war though, and
> looking at that war it does not contain the netty 3.2.0 jar (only a netty
> 4.* jar which contains io.netty instead of org.jboss.netty, the same as the
> product it seems).
Comment 14 Marek Baluch 2013-06-20 08:21:16 EDT
Verified on the new 6.0.0.DR5 build.

No more ClassNotFoundException when "Build & Deploy" is executed.
Comment 15 Marek Baluch 2013-06-20 08:22:32 EDT
adc082fc4c92aff6cb4e4bf01af0d7e0  bpms-6.0.0.Alpha-redhat-1-bpms-eap6.zip
Comment 19 Lukáš Petrovický 2014-02-07 11:14:53 EST
This BZ has been part of the 6.0.0 stream.

Note You need to log in before you can comment on or make changes to this bug.