[jira] [Commented] (DIRAPI-366) NPE for reading Root DSE with Oracle Unified Directory
[ https://issues.apache.org/jira/browse/DIRAPI-366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17312171#comment-17312171 ] Stefan Seelmann commented on DIRAPI-366: Yes, I'm just testing the integration into Studio... > 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 >Assignee: Emmanuel Lécharny >Priority: Major > Fix For: 2.0.2 > > > 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
[jira] [Commented] (DIRAPI-366) NPE for reading Root DSE with Oracle Unified Directory
[ https://issues.apache.org/jira/browse/DIRAPI-366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17311460#comment-17311460 ] Emmanuel Lécharny commented on DIRAPI-366: -- It probably worths a release... > 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 >Assignee: Emmanuel Lécharny >Priority: Major > Fix For: 2.0.2 > > > 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
[jira] [Commented] (DIRAPI-366) NPE for reading Root DSE with Oracle Unified Directory
[ https://issues.apache.org/jira/browse/DIRAPI-366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17311274#comment-17311274 ] Stefan Seelmann commented on DIRAPI-366: Fixed in https://github.com/apache/directory-ldap-api/commit/dcb5ab04a8415434102c0f7f2ecb411763f0f61a > 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 >Assignee: Emmanuel Lécharny >Priority: Major > > 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 Direc
[jira] [Commented] (DIRAPI-366) NPE for reading Root DSE with Oracle Unified Directory
[ https://issues.apache.org/jira/browse/DIRAPI-366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17287114#comment-17287114 ] Emmanuel Lécharny commented on DIRAPI-366: -- It's a 2 step process: * first you have to build the API: ** $ git clone [https://gitbox.apache.org/repos/asf/directory-ldap-api.git] ** $ cd directory-ldap-api ** $ mvn versions:set -DnewVersion=2.0.2 ** (this is necessary because studio does not like snapshot dependencies) ** $ mvn clean install ** that should build a 2.0.2 version libraries * then go for Studio : ** first be sure to have Java 11 (studio latest version won't build with Java 8) ** $ git clone [https://gitbox.apache.org/repos/asf/directory-studio.git] ** $ cd directory-studio ** modify the pom.xml to refer to newly build LDAP API: {code} ... 2.0.1 2.0.1 ... {code} should now be {code} ... 2.0.2 2.0.2 ... {code} ** Last, not least : ** on linux/mac *** ./build.sh ** on windows *** ./build.bat You should be done. > 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 >Assignee: Emmanuel Lécharny >Priority: Major > > 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) >
[jira] [Commented] (DIRAPI-366) NPE for reading Root DSE with Oracle Unified Directory
[ https://issues.apache.org/jira/browse/DIRAPI-366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17287002#comment-17287002 ] Thomas Kriener commented on DIRAPI-366: --- OK, I was a little bit quick. A colleague was already building a version. I can confirm, that the fix works. with a build from master of Directory Studio and the API. Many Thanks > 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 >Assignee: Emmanuel Lécharny >Priority: Major > > 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 evalua
[jira] [Commented] (DIRAPI-366) NPE for reading Root DSE with Oracle Unified Directory
[ https://issues.apache.org/jira/browse/DIRAPI-366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17286982#comment-17286982 ] Thomas Kriener commented on DIRAPI-366: --- Wow, that was quick. It is a pitty, that we did not manage to raise the issue earlier. Do you have a pointer or short hint, how we would be able to build a Studio with this change in the library? We are using maven regularly for our internal projects, but the pom-structure is not really straight forward in this case. We already managed to build M16 on our own, so the basics shall be available. > 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 >Assignee: Emmanuel Lécharny >Priority: Major > > 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 debugge
[jira] [Commented] (DIRAPI-366) NPE for reading Root DSE with Oracle Unified Directory
[ https://issues.apache.org/jira/browse/DIRAPI-366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17286798#comment-17286798 ] Emmanuel Lécharny commented on DIRAPI-366: -- Ok, just committed a patch. Sadly, a new Studio release is *just* being voted and won't include it... > 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 >Priority: Major > > 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 m
[jira] [Commented] (DIRAPI-366) NPE for reading Root DSE with Oracle Unified Directory
[ https://issues.apache.org/jira/browse/DIRAPI-366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17286785#comment-17286785 ] Emmanuel Lécharny commented on DIRAPI-366: -- Clearly, we don't support the control. The side effect is that we store a null value for the factory, which leads to this exception. A better choice would have been to keep the value opaque instead of trying to construct an instance of a control we don't know about. The {{StoreControlValue.action()}} method should rather contain : {code:java} if ( tlv.getLength() >= 0 ) { ControlFactory factory = container.getControlFactory(); if ( factory == null ) { // We don't know about this control, so it's an opaque control ( ( OpaqueControl ) control ).setEncodedValue( value.getData() ); } else { factory.decodeValue( control, value.getData() ); } } {code} > 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 >Priority: Major > > 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.director