Uploaded image for project: 'Directory Client API'
  1. Directory Client API
  2. DIRAPI-366

NPE for reading Root DSE with Oracle Unified Directory

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.1
    • Fix Version/s: 2.0.2
    • Labels:
      None

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                elecharny Emmanuel L├ęcharny
                Reporter:
                tkriener Thomas Kriener
              • Votes:
                1 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: