Issue Details (XML | Word | Printable)

Key: DIRSERVER-693
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Alex Karasulu
Reporter: Jörg Henne
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Directory ApacheDS

Can't connect with JXplorer

Created: 02/Aug/06 07:47 AM   Updated: 16/Aug/06 06:34 PM
Return to search
Component/s: core
Affects Version/s: pre-1.0
Fix Version/s: 1.5.0, 1.0-RC4

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works after-fix.log 2006-08-02 07:58 AM Jörg Henne 328 kB
Text File Licensed for inclusion in ASF works connect-via-JXplorer.txt 2006-08-02 07:48 AM Jörg Henne 58 kB
Text File Licensed for inclusion in ASF works fix-for-jxplorer-problem.patch 2006-08-02 12:15 PM Jörg Henne 1 kB
Text File Licensed for inclusion in ASF works fix-toString.patch 2006-08-02 07:59 AM Jörg Henne 1 kB

Resolution Date: 16/Aug/06 06:34 PM


 Description  « Hide
Connecting with JXplorer leads to the NPE in LdapDN as I reported on the list earlier. Please see the complete log.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Jörg Henne added a comment - 02/Aug/06 07:58 AM
After fixing LdapResult, not LdapDN as I erroneously said (please see patch, It'll make the code more robust as StringBuffer.append(Object) can deal with null-references), I get an exception similar to the one I reported yesterday (see attached log).

Jörg Henne added a comment - 02/Aug/06 07:59 AM
Use StringBuffer.append(Object) instead of StringBuffer.append(Object.toString()) to prevent NPEs.

Jörg Henne added a comment - 02/Aug/06 12:15 PM
Ok, so I found some time to look into this problem. It seems like the optimized version did no longer supply the "subschemasubentry" attribute to JXplorer when being asked for it. This was due to the DefaultPartitionNexus only returning results when being asked for "*", "1.1" or "+" but not when being asked for specific attributes.

The attached patch fixes the problem. However, I don't really understand the implications of it. Furthermore, it is likely to cause deoptimization ;-)

Ersin Er added a comment - 02/Aug/06 02:00 PM
We need to investigate the disappearance of subscemaSubentry attribute. Anyone knows why it happened? Was it intended?

Jörg Henne added a comment - 02/Aug/06 03:36 PM
Version #423997 introduced a new way to handle the special attributes "1.1", "*" and "+". With this change, the DefaultPartitionNexus stopped providing client-requested attributes, If neither of the above mentioned special attributes were requested.

Emmanuel Lecharny added a comment - 03/Aug/06 11:19 PM
I have fixed the toString problem (I don't let the default toString to print "(null)", I return an empty String instead)

The second pb is for Alex, I think :)

Emmanuel Lecharny added a comment - 03/Aug/06 11:20 PM
One more for Alex !

Alex Karasulu added a comment - 15/Aug/06 09:45 PM
This still happening ?

Jörg Henne added a comment - 16/Aug/06 09:57 AM
The problems I initially reported should be fixed by the various patches applied within the last days/weeks. However, I can't verify this, since with the current trunk I can't even start ds:

Exception in thread "Main Thread" javax.naming.NamingException: OID for name 'postalAddress' was not found within the OID registry
at org.apache.directory.server.core.schema.bootstrap.BootstrapOidRegistry.getOid(BootstrapOidRegistry.java:99)
at org.apache.directory.server.core.schema.bootstrap.BootstrapAttributeTypeRegistry.lookup(BootstrapAttributeTypeRegistry.java:160)
at org.apache.directory.server.core.schema.bootstrap.AbstractBootstrapProducer$BootstrapAttributeType.getSuperior(AbstractBootstrapProducer.java:245)
at org.apache.directory.server.core.schema.bootstrap.BootstrapAttributeTypeRegistry.registerDescendants(BootstrapAttributeTypeRegistry.java:127)[11:56:01] WARN [org.apache.directory.server.core.schema.OidRegistryMonitorAdapter] - Failed to resolve OID: postalAddress
javax.naming.NamingException: OID for name 'postalAddress' was not found within the OID registry
at org.apache.directory.server.core.schema.bootstrap.BootstrapOidRegistry.getOid(BootstrapOidRegistry.java:99)
at org.apache.directory.server.core.schema.bootstrap.BootstrapAttributeTypeRegistry.lookup(BootstrapAttributeTypeRegistry.java:160)
at org.apache.directory.server.core.schema.bootstrap.AbstractBootstrapProducer$BootstrapAttributeType.getSuperior(AbstractBootstrapProducer.java:245)
at org.apache.directory.server.core.schema.bootstrap.BootstrapAttributeTypeRegistry.registerDescendants(BootstrapAttributeTypeRegistry.java:127)
at org.apache.directory.server.core.schema.bootstrap.BootstrapAttributeTypeRegistry.register(BootstrapAttributeTypeRegistry.java:114)
at org.apache.directory.server.core.schema.bootstrap.BootstrapSchemaLoader.register(BootstrapSchemaLoader.java:268)
at org.apache.directory.server.core.schema.bootstrap.BootstrapSchemaLoader.access$000(BootstrapSchemaLoader.java:67)
at org.apache.directory.server.core.schema.bootstrap.BootstrapSchemaLoader$1.schemaObjectProduced(BootstrapSchemaLoader.java:81)
at org.apache.directory.server.core.schema.bootstrap.CoreAttributeTypeProducer.produce(CoreAttributeTypeProducer.java:176)
at org.apache.directory.server.core.schema.bootstrap.BootstrapSchemaLoader.load(BootstrapSchemaLoader.java:210)
at org.apache.directory.server.core.schema.bootstrap.BootstrapSchemaLoader.loadDepsFirst(BootstrapSchemaLoader.java:187)
at org.apache.directory.server.core.schema.bootstrap.BootstrapSchemaLoader.loadDepsFirst(BootstrapSchemaLoader.java:183)
at org.apache.directory.server.core.schema.bootstrap.BootstrapSchemaLoader.load(BootstrapSchemaLoader.java:129)
at org.apache.directory.server.core.DefaultDirectoryService.initialize(DefaultDirectoryService.java:739)
at org.apache.directory.server.core.DefaultDirectoryService.startup(DefaultDirectoryService.java:226)
at org.apache.directory.server.core.jndi.AbstractContextFactory.getInitialContext(AbstractContextFactory.java:114)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:197)
at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:82)
at org.apache.directory.server.Service.init(Service.java:93)
at org.apache.directory.server.UberjarMain.main(UberjarMain.java:51)

at org.apache.directory.server.core.schema.bootstrap.BootstrapAttributeTypeRegistry.register(BootstrapAttributeTypeRegistry.java:114)
at org.apache.directory.server.core.schema.bootstrap.BootstrapSchemaLoader.register(BootstrapSchemaLoader.java:268)
at org.apache.directory.server.core.schema.bootstrap.BootstrapSchemaLoader.access$000(BootstrapSchemaLoader.java:67)
at org.apache.directory.server.core.schema.bootstrap.BootstrapSchemaLoader$1.schemaObjectProduced(BootstrapSchemaLoader.java:81)
at org.apache.directory.server.core.schema.bootstrap.CoreAttributeTypeProducer.produce(CoreAttributeTypeProducer.java:176)
at org.apache.directory.server.core.schema.bootstrap.BootstrapSchemaLoader.load(BootstrapSchemaLoader.java:210)
at org.apache.directory.server.core.schema.bootstrap.BootstrapSchemaLoader.loadDepsFirst(BootstrapSchemaLoader.java:187)
at org.apache.directory.server.core.schema.bootstrap.BootstrapSchemaLoader.loadDepsFirst(BootstrapSchemaLoader.java:183)
at org.apache.directory.server.core.schema.bootstrap.BootstrapSchemaLoader.load(BootstrapSchemaLoader.java:129)
at org.apache.directory.server.core.DefaultDirectoryService.initialize(DefaultDirectoryService.java:739)
at org.apache.directory.server.core.DefaultDirectoryService.startup(DefaultDirectoryService.java:226)
at org.apache.directory.server.core.jndi.AbstractContextFactory.getInitialContext(AbstractContextFactory.java:114)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:197)
at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:82)
at org.apache.directory.server.Service.init(Service.java:93)
at org.apache.directory.server.UberjarMain.main(UberjarMain.java:51)

Additionally, "mvn -Dintegration -fn test" fails for several sub-projects.

Emmanuel Lecharny added a comment - 16/Aug/06 10:06 AM
Are you using trunks, or branches/apacheds/1.0-trunks?

In any case, do you do a mvn clean before doing a mvn install and a mvn -Dintegration test ?

Jörg Henne added a comment - 16/Aug/06 11:11 AM
*cough*
Sorry, my fault: mvn clean did the trick.
However, connecting using JXplorer still doesn't work, since the schema is not served. Please see the attached fix-for-jxplorer-problem.patch.

Alex Karasulu added a comment - 16/Aug/06 06:34 PM
Applied Jorg's patch to 1.0 in 431981 and to 1.1 in 431983.