Hide Forgot
If 2 users concurrently build different packages in Guvnor GUI. Both building fail and get Exceptions as follows: ===== 17:46:02,312 ERROR [RepositoryServiceServlet] Service method 'public abstract org.drools.guvnor.client.rpc.BuilderResult org.drools.guvnor.client.rpc.PackageService.buildPackage(java.lang.String,boolean,java.lang.String,java.lang.String,java.lang.String,boolean,java.lang.String,java.lang.String,boolean,java.lang.String) throws com.google.gwt.user.client.rpc.SerializationException' threw an unexpected exception: java.lang.ArrayIndexOutOfBoundsException: -1 java.lang.ArrayIndexOutOfBoundsException: -1 at org.mvel2.asm.Frame.merge(Frame.java:1373) at org.mvel2.asm.Frame.merge(Frame.java:1350) at org.mvel2.asm.MethodWriter.visitMaxs(MethodWriter.java:1282) at org.drools.rule.builder.dialect.asm.ClassGenerator$MethodDescr.write(ClassGenerator.java:493) at org.drools.rule.builder.dialect.asm.ClassGenerator.generateBytecode(ClassGenerator.java:50) at org.drools.rule.builder.dialect.asm.ASMConsequenceBuilder.createConsequenceBytecode(ASMConsequenceBuilder.java:115) at org.drools.rule.builder.dialect.asm.AbstractASMConsequenceBuilder.build(AbstractASMConsequenceBuilder.java:21) at org.drools.rule.builder.RuleBuilder.build(RuleBuilder.java:99) at org.drools.compiler.PackageBuilder.addRule(PackageBuilder.java:2576) at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:970) at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:405) at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:380) at org.drools.guvnor.server.contenthandler.DecisionTableXLSHandler.compile(DecisionTableXLSHandler.java:71) at org.drools.guvnor.server.builder.PackageAssemblerBase.compile(PackageAssemblerBase.java:76) at org.drools.guvnor.server.builder.PackageAssemblerBase.buildAsset(PackageAssemblerBase.java:59) at org.drools.guvnor.server.builder.PackageAssembler.addAsset(PackageAssembler.java:99) at org.drools.guvnor.server.builder.PackageAssembler.loadAllButDRLAssets(PackageAssembler.java:83) at org.drools.guvnor.server.builder.PackageAssembler.loadAssets(PackageAssembler.java:73) at org.drools.guvnor.server.builder.PackageAssembler.buildPackage(PackageAssembler.java:65) at org.drools.guvnor.server.builder.PackageAssembler.compile(PackageAssembler.java:55) at org.drools.guvnor.server.RepositoryPackageOperations.buildPackage(RepositoryPackageOperations.java:577) at org.drools.guvnor.server.RepositoryPackageOperations.buildPackage(RepositoryPackageOperations.java:548) at org.drools.guvnor.server.RepositoryPackageService.buildPackage(RepositoryPackageService.java:343) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.security.SecurityInterceptor.aroundInvoke(SecurityInterceptor.java:163) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185) at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103) at org.drools.guvnor.server.RepositoryPackageService_$$_javassist_seam_4.buildPackage(RepositoryPackageService_$$_javassist_seam_4.java) at org.drools.guvnor.server.RepositoryServiceServlet.buildPackage(RepositoryServiceServlet.java:302) ... 17:47:13,247 ERROR [RepositoryServiceServlet] Service method 'public abstract org.drools.guvnor.client.rpc.BuilderResult org.drools.guvnor.client.rpc.PackageService.buildPackage(java.lang.String,boolean,java.lang.String,java.lang.String,java.lang.String,boolean,java.lang.String,java.lang.String,boolean,java.lang.String) throws com.google.gwt.user.client.rpc.SerializationException' threw an unexpected exception: java.lang.reflect.InvocationTargetException java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.security.SecurityInterceptor.aroundInvoke(SecurityInterceptor.java:163) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185) at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103) at org.drools.guvnor.server.RepositoryPackageService_$$_javassist_seam_4.buildPackage(RepositoryPackageService_$$_javassist_seam_4.java) at org.drools.guvnor.server.RepositoryServiceServlet.buildPackage(RepositoryServiceServlet.java:302) .... Caused by: java.lang.VerifyError: (class: com/sample2/Rule_HelloWorld_12_9634995d544640c29bf1d38567e11f2eDefaultConsequenceInvoker, method: equals signature: (Ljava/lang/Object;)Z) Expecting to find integer on stack at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2532) at java.lang.Class.getConstructor0(Class.java:2842) at java.lang.Class.newInstance(Class.java:345) at org.drools.rule.JavaDialectRuntimeData.wire(JavaDialectRuntimeData.java:413) at org.drools.rule.JavaDialectRuntimeData.wire(JavaDialectRuntimeData.java:400) at org.drools.rule.JavaDialectRuntimeData.onBeforeExecute(JavaDialectRuntimeData.java:241) at org.drools.rule.DialectRuntimeRegistry.onBeforeExecute(DialectRuntimeRegistry.java:134) at org.drools.compiler.PackageBuilder.reloadAll(PackageBuilder.java:1025) at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:976) at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:405) at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:380) at org.drools.guvnor.server.contenthandler.DecisionTableXLSHandler.compile(DecisionTableXLSHandler.java:71) at org.drools.guvnor.server.builder.PackageAssemblerBase.compile(PackageAssemblerBase.java:76) at org.drools.guvnor.server.builder.PackageAssemblerBase.buildAsset(PackageAssemblerBase.java:59) at org.drools.guvnor.server.builder.PackageAssembler.addAsset(PackageAssembler.java:99) at org.drools.guvnor.server.builder.PackageAssembler.loadAllButDRLAssets(PackageAssembler.java:83) at org.drools.guvnor.server.builder.PackageAssembler.loadAssets(PackageAssembler.java:73) at org.drools.guvnor.server.builder.PackageAssembler.buildPackage(PackageAssembler.java:65) at org.drools.guvnor.server.builder.PackageAssembler.compile(PackageAssembler.java:55) at org.drools.guvnor.server.RepositoryPackageOperations.buildPackage(RepositoryPackageOperations.java:577) at org.drools.guvnor.server.RepositoryPackageOperations.buildPackage(RepositoryPackageOperations.java:548) at org.drools.guvnor.server.RepositoryPackageService.buildPackage(RepositoryPackageService.java:343) ... 57 more ===== How reproducible: If the packages are large, easy to reproduce. Steps to Reproduce: 1. Download https://mocha.nrt.redhat.com/dav-readonly/temp/tkobayas/share/repository_export_2packages.zip 2. Start BRMS 5.3.1 3. Login as admin with 2 browsers 4. In Browser A, Import repository_export_2packages.zip 5. In Browser A, build 'com.sample1' 6. In Browser B, build 'com.sample2' Actual results: Both building fail and get Exceptions like: ArrayIndexOutOfBoundsException and VerifyError Expected results: Both build the packages successfully