Thomas Kriener created DIRAPI-366:
-------------------------------------

             Summary: NPE for reading Root DSE with Oracle Unified Directory
                 Key: DIRAPI-366
                 URL: https://issues.apache.org/jira/browse/DIRAPI-366
             Project: Directory Client API
          Issue Type: Bug
    Affects Versions: 2.0.1
            Reporter: Thomas Kriener


Hello,

when we try to read the Root DSE of an Oracle Unified Directory Server (OUD) we 
get the following stack trace:

{{
org.apache.mina.filter.codec.ProtocolDecoderException: 
java.lang.NullPointerException (Hexdump: 30 82 01 17 02 01 08 65 07 0A 01 00 04 
00 04 00 A0 82 01 07 30 82 01 03 04 17 31 2E 33 2E 36 2E 31 2E 34 2E 31 2E 32 
36 30 32 37 2E 31 2E 35 2E 34 01 01 FF 04 81 E4 30 81 E1 04 81 DE 64 63 3D 76 
66 64 32 2C 64 63 3D 64 65 3A 30 30 30 30 30 31 37 37 61 64 38 32 32 35 36 32 
35 65 39 35 30 30 30 30 30 32 61 39 20 30 30 30 30 30 31 37 37 62 35 37 30 63 
63 66 36 30 66 39 62 30 30 30 30 30 35 66 63 3B 6F 3D 74 72 61 6E 73 66 65 72 
3A 30 30 30 30 30 31 37 37 62 30 34 61 37 62 37 64 31 34 65 31 30 30 30 30 32 
65 65 61 20 30 30 30 30 30 31 37 37 62 35 37 30 64 37 62 38 34 63 36 39 30 30 
30 30 30 31 33 65 3B 6F 75 3D 6E 6D 73 2C 64 63 3D 61 72 63 6F 72 2C 64 63 3D 
6E 65 74 3A 30 30 30 30 30 31 37 36 36 62 39 34 62 65 62 62 37 33 32 34 30 30 
30 30 33 62 64 61 20 30 30 30 30 30 31 37 36 36 61 66 66 39 35 30 34 32 63 34 
65 30 30 30 30 34 34 30 62 3B)
 at 
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:263)
 at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650)
 at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49)
 at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128)
 at 
org.apache.mina.filter.ssl.SslHandler.flushMessageReceived(SslHandler.java:330)
 at org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:552)
 at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650)
 at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49)
 at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128)
 at 
org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:122)
 at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650)
 at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:643)
 at 
org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:539)
 at 
org.apache.mina.core.polling.AbstractPollingIoProcessor.access$1200(AbstractPollingIoProcessor.java:68)
 at 
org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.process(AbstractPollingIoProcessor.java:1222)
 at 
org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.process(AbstractPollingIoProcessor.java:1211)
 at 
org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:683)
 at 
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
 at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 at java.base/java.lang.Thread.run(Thread.java:834)
 Caused by: java.lang.NullPointerException
 at 
org.apache.directory.api.ldap.codec.actions.controls.StoreControlValue.action(StoreControlValue.java:81)
 at 
org.apache.directory.api.ldap.codec.actions.controls.StoreControlValue.action(StoreControlValue.java:49)
 at 
org.apache.directory.api.asn1.ber.grammar.AbstractGrammar.executeAction(AbstractGrammar.java:136)
 at 
org.apache.directory.api.asn1.ber.Asn1Decoder.treatTLVDoneState(Asn1Decoder.java:604)
 at org.apache.directory.api.asn1.ber.Asn1Decoder.decode(Asn1Decoder.java:740)
 }}

Using a debugger, we end up in the code of StoreControlValue Line 80:
 {{ControlFactory<?> factory = container.getControlFactory();
 factory.decodeValue( control, value.getData() );}}

Here factory is null.

The OID which is evaluated is 1.3.6.1.4.1.26027.1.5.4.

The bug was introduced between Apache Directory Studio M14 and M15.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to