Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1156424

Summary: NPE in Uberfire when deploying business-central.war in the WAS container.
Product: [Retired] JBoss BRMS Platform 6 Reporter: Spolti <fspolti>
Component: Business CentralAssignee: manstis
Status: CLOSED EOL QA Contact: Radovan Synek <rsynek>
Severity: high Docs Contact:
Priority: high    
Version: 6.0.2CC: fspolti, kverlaen, lywang, rsynek
Target Milestone: ER6   
Target Release: 6.1.0   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-27 20:07:19 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:
Embargoed:
Attachments:
Description Flags
WAS_logs
none
server log - 6.1.0.ER5 none

Description Spolti 2014-10-24 12:38:40 UTC
Created attachment 950381 [details]
Customer's log file.

Description of problem:
*Environment:* WAS 8.5.5.1/Java version = 1.6.0, Java Compiler = j9jit26, Java VM name = IBM J9 VM/Linux
*BRMS Version:* 6.0.2, the customer tried the 6.0.3 also, same error.

The Customer is trying to deploy the BRMS 6.0.2 in the WAS container. The error bellow occurs during the deploy, the full stack trace is attached.

The error is:

00000086 ManagedBean   E ManagedBean error An error occurred while executing [@PostConstruct.]
                                  java.lang.NullPointerException
     at org.uberfire.io.impl.AbstractIOService.setAuthenticationManager(AbstractIOService.java:665)
     at org.uberfire.backend.server.io.ConfigIOServiceProducer.setup(ConfigIOServiceProducer.java:96)
     at org.uberfire.backend.server.io.ConfigIOServiceProducer.init(ConfigIOServiceProducer.java:62)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
     at java.lang.reflect.Method.invoke(Method.java:611) 



Version-Release number of selected component (if applicable):
The error occurs in the versions 6.0.2 and 6.0.3.


How reproducible:
The customer is using a shared environment with vanilla.


Steps to Reproduce:
1.
2.
3.

Actual results:
During the deploy of business-central.war ocurrs a NPE in the Uberfire.

Expected results:
The deploy should occur without errors.

Additional info: E-mail response from jboss-support-jbpmdrools:
In short, this looks like a bug. Could you file a bugzilla? The (unofficial) WAS expert among us is at a conference at the moment, but he should be back monday.


This an odd one, since it implies that there's an NPE happening here:
- https://github.com/uberfire/uberfire/blob/0.3.x/uberfire-io/src/main/java/org/uberfire/io/impl/AbstractIOService.java#L665

However, if there's an NPE happening there, that means that this method is returning null:
- https://github.com/uberfire/uberfire/blob/0.3.x/uberfire-nio2-backport/uberfire-nio2-api/src/main/java/org/uberfire/java/nio/file/api/FileSystemProviders.java#L118

which mean that there should be a "Can't initialize FileSystemProviders" error message
- https://github.com/uberfire/uberfire/blob/0.3.x/uberfire-nio2-backport/uberfire-nio2-api/src/main/java/org/uberfire/java/nio/file/api/FileSystemProviders.java#L51

Comment 4 Radovan Synek 2014-11-21 13:40:11 UTC
Returning back to assigned, as there is no modification regarding this issue.

@Spolti - the log is likely SystemOut log, could you please provide also SystemErr log, or trace log ? Could user try to change git & ssh ports as Maciej suggested? This is likely an issue with environment setup.

Comment 9 Spolti 2014-11-26 13:39:16 UTC
Created attachment 961669 [details]
WAS_logs

Comment 13 Radovan Synek 2015-02-18 08:48:36 UTC
Maciej,
using BRMS 6.1.0.ER5 with org.uberfire.nio.git.ssh.port=21, I got NPE from org.uberfire.java.nio.file.api.FileSystemProviders.getProvider(FileSystemProviders.java:114). Can't see any meaningful message about the cause. Please take a look at attached server log.

Comment 14 Radovan Synek 2015-02-18 08:49:14 UTC
Created attachment 993027 [details]
server log - 6.1.0.ER5

Comment 16 Maciej Swiderski 2015-02-19 15:10:19 UTC
Just run the test on WAS instance i have and here is the output (removed some lines to not be too big):
[2/19/15 16:04:18:211 CET] 0000007c FileSystemPro E org.uberfire.java.nio.file.api.FileSystemProviders setup Can't initialize FileSystemProviders
                                 java.util.ServiceConfigurationError: KB005
	at java.util.ServiceLoader$ServiceIterator.next(ServiceLoader.java:222)
	at org.uberfire.java.nio.file.api.FileSystemProviders.buildProviders(FileSystemProviders.java:65)
	at org.uberfire.java.nio.file.api.FileSystemProviders.setup(FileSystemProviders.java:48)
	at org.uberfire.java.nio.file.api.FileSystemProviders.resolveProvider(FileSystemProviders.java:104)
	at org.uberfire.java.nio.file.FileSystems.newFileSystem(FileSystems.java:117)
	at org.uberfire.java.nio.file.FileSystems.newFileSystem(FileSystems.java:83)
	at org.uberfire.io.impl.AbstractIOService.newFileSystem(AbstractIOService.java:221)
	at org.uberfire.backend.server.cdi.SystemConfigProducer$2.create(SystemConfigProducer.java:237)
	at org.uberfire.backend.server.cdi.SystemConfigProducer$2.create(SystemConfigProducer.java:172)
	at org.apache.webbeans.component.third.ThirdpartyBeanImpl.create(ThirdpartyBeanImpl.java:92)
	at org.apache.webbeans.context.creational.BeanInstanceBag.create(BeanInstanceBag.java:80)
	at org.apache.webbeans.context.AbstractContext.getInstance(AbstractContext.java:226)
	at org.apache.webbeans.context.AbstractContext.get(AbstractContext.java:191)
	at org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.getContextualInstance(NormalScopedBeanInterceptorHandler.java:135)
	at org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:95)
	at org.javassist.tmp.java.lang.Object_$$_javassist_100.getRootDirectories(Object_$$_javassist_100.java)
	at org.guvnor.structure.backend.config.ConfigurationServiceImpl.setup(ConfigurationServiceImpl.java:106)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:611)
	at org.apache.webbeans.intercept.InvocationContextImpl.proceedCommonAnnots(InvocationContextImpl.java:410)
	at org.apache.webbeans.intercept.InvocationContextImpl.proceed(InvocationContextImpl.java:202)
	at org.apache.webbeans.component.AbstractInjectionTargetBean.postConstructDefault(AbstractInjectionTargetBean.java:259)
	at org.apache.webbeans.component.AbstractInjectionTargetBean.postConstruct(AbstractInjectionTargetBean.java:237)
	at org.apache.webbeans.portable.creation.InjectionTargetProducer.postConstruct(InjectionTargetProducer.java:124)
	at org.apache.webbeans.component.InjectionTargetWrapper.postConstruct(InjectionTargetWrapper.java:92)
	at org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:176)
	at org.apache.webbeans.context.creational.BeanInstanceBag.create(BeanInstanceBag.java:80)
	at org.apache.webbeans.context.AbstractContext.getInstance(AbstractContext.java:226)
	at org.apache.webbeans.context.AbstractContext.get(AbstractContext.java:191)
	at org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.getContextualInstance(NormalScopedBeanInterceptorHandler.java:135)
	at org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:95)
	at org.guvnor.structure.backend.config.ConfigurationServiceImpl_$$_javassist_95.startBatch(ConfigurationServiceImpl_$$_javassist_95.java)
	at org.kie.workbench.backend.AppSetup.assertPlayground(AppSetup.java:101)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:611)
	at org.apache.webbeans.intercept.InvocationContextImpl.proceedCommonAnnots(InvocationContextImpl.java:410)
	at org.apache.webbeans.intercept.InvocationContextImpl.proceed(InvocationContextImpl.java:202)
	at org.apache.webbeans.component.AbstractInjectionTargetBean.postConstructDefault(AbstractInjectionTargetBean.java:259)
	at org.apache.webbeans.component.AbstractInjectionTargetBean.postConstruct(AbstractInjectionTargetBean.java:237)
	at org.apache.webbeans.portable.creation.InjectionTargetProducer.postConstruct(InjectionTargetProducer.java:124)
	at org.apache.webbeans.component.InjectionTargetWrapper.postConstruct(InjectionTargetWrapper.java:92)
	at org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:176)
	at org.apache.webbeans.context.creational.BeanInstanceBag.create(BeanInstanceBag.java:80)
	at org.apache.webbeans.context.AbstractContext.getInstance(AbstractContext.java:226)
	at org.apache.webbeans.context.AbstractContext.get(AbstractContext.java:191)
	at org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.getContextualInstance(NormalScopedBeanInterceptorHandler.java:135)
	at org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:95)
	at org.kie.workbench.backend.AppSetup_$$_javassist_90.toString(AppSetup_$$_javassist_90.java)
	at org.uberfire.backend.server.cdi.SystemConfigProducer.runPostConstruct(SystemConfigProducer.java:122)
	at org.uberfire.backend.server.cdi.SystemConfigProducer.afterDeploymentValidation(SystemConfigProducer.java:105)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:611)
	at org.apache.webbeans.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:285)
.........
	at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
	at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
	at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1864)
Caused by: java.lang.RuntimeException: Couldn't start SSH daemon at 127.0.0.1:22
	at org.uberfire.java.nio.fs.jgit.daemon.ssh.GitSSHService.start(GitSSHService.java:80)
	at org.uberfire.java.nio.fs.jgit.JGitFileSystemProvider.buildAndStartSSH(JGitFileSystemProvider.java:471)
	at org.uberfire.java.nio.fs.jgit.JGitFileSystemProvider.<init>(JGitFileSystemProvider.java:360)
	at org.uberfire.java.nio.fs.jgit.JGitFileSystemProvider.<init>(JGitFileSystemProvider.java:323)
	at java.lang.J9VMInternals.newInstanceImpl(Native Method)
	at java.lang.Class.newInstance(Class.java:1572)
	at java.util.ServiceLoader$ServiceIterator.next(ServiceLoader.java:216)
	... 171 more
Caused by: java.net.BindException: Address already in use
	at sun.nio.ch.Net.bind(Native Method)
	at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:158)
	at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:71)
	at org.apache.mina.transport.socket.nio.NioSocketAcceptor.open(NioSocketAcceptor.java:198)
	at org.apache.mina.transport.socket.nio.NioSocketAcceptor.open(NioSocketAcceptor.java:51)
	at org.apache.mina.core.polling.AbstractPollingIoAcceptor.registerHandles(AbstractPollingIoAcceptor.java:547)
	at org.apache.mina.core.polling.AbstractPollingIoAcceptor.access$400(AbstractPollingIoAcceptor.java:68)
	at org.apache.mina.core.polling.AbstractPollingIoAcceptor$Acceptor.run(AbstractPollingIoAcceptor.java:422)
	at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:784)

so as you can see there is a clear message saying what was the cause of the error. What might happen is that there is some issue with logging and might be related to this bz https://bugzilla.redhat.com/show_bug.cgi?id=1192842 as I don't see any issue with code that is producing this cause.

Comment 17 Petr Široký 2015-02-20 12:38:51 UTC
I agree that this should be indeed fixed as a result of fixing https://bugzilla.redhat.com/show_bug.cgi?id=1192842 . 

See (6.2.x): https://github.com/droolsjbpm/kie-wb-distributions/commit/6497faf9632a9e41ffcf963bf642da4831aa1c3c


The code in UF: https://github.com/uberfire/uberfire/blob/0.5.x/uberfire-nio2-backport/uberfire-nio2-api/src/main/java/org/uberfire/java/nio/file/api/FileSystemProviders.java#L51 reports the ERROR message and also cause of the error. However, in BRMS Business Central 6.1.0.ER5 and before the logging was broken - no messages were printed into the log and thus only the NPE appeared there. That should be fixed now.

Comment 18 Petr Široký 2015-02-20 12:40:13 UTC
Please note that this issue was only present in BRMS Business Central (kie-drools-wb). BPM Suite Business Central (kie-wb) was logging the errors correctly.

Comment 19 Radovan Synek 2015-03-09 11:24:53 UTC
Verified with BRMS-6.1.0.ER6

After simulating erroneous configuration as described in comment 13, getting reasonable exception:
java.lang.RuntimeException: Couldn't start SSH daemon at 127.0.0.1:21
	at org.uberfire.java.nio.fs.jgit.daemon.ssh.GitSSHService.start(GitSSHService.java:80)

Comment 21 Jeff Fearn 🐞 2026-02-17 23:16:34 UTC
The content of attachment 961669 [details] has been deleted for the following reason:

Requested in SCTASK4531422

Comment 22 Jeff Fearn 🐞 2026-02-17 23:16:44 UTC
The content of attachment 993027 [details] has been deleted for the following reason:

Requested in SCTASK4531422

Comment 23 Jeff Fearn 🐞 2026-02-17 23:16:57 UTC
The content of attachment 950381 [details] has been deleted for the following reason:

Requested in SCTASK4531422