Issue Details (XML | Word | Printable)

Key: DIRSERVER-607
Type: Bug Bug
Status: Closed Closed
Resolution: Invalid
Priority: Major Major
Assignee: Emmanuel Lecharny
Reporter: Alexei Zakharov
Votes: 0
Watchers: 1
Operations

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

Geronimo unit test hangs while running Apache DS on BEA VM

Created: 11/Apr/06 11:19 PM   Updated: 09/Sep/08 07:26 AM
Component/s: None
Affects Version/s: 1.0-RC1, pre-1.0
Fix Version/s: 1.0-RC1, pre-1.0

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works bea142.log 2006-04-12 05:03 PM Alexei Zakharov 51 kB
Text File Licensed for inclusion in ASF works bea142_08.log 2006-04-17 11:00 PM Alexei Zakharov 51 kB
Text File Licensed for inclusion in ASF works bea15.log 2006-04-12 05:05 PM Alexei Zakharov 51 kB
Java Source File Licensed for inclusion in ASF works MyApacheDS10Test.java 2006-04-11 11:21 PM Alexei Zakharov 4 kB
Java Source File Licensed for inclusion in ASF works MyApacheDSTest.java 2006-04-11 11:21 PM Alexei Zakharov 3 kB
Environment: CPU 3Ghz Pentium 4, 2 GB RAM, Win XP professional SP 2

Resolution Date: 21/Apr/06 11:45 PM


 Description  « Hide
This bug is the result of the investigation performed on Geronimo unit test failure on BEA VMs. Geronimo uses Apache DS for its internal needs. And one of the unit tests on Geronimo's "directory" module hangs on BEA VM due the strange behaviour of ApacheDS on BEA VMs. See the attached testcases. To simplify things all Geronimo stuff was removed from the code.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Alexei Zakharov added a comment - 11/Apr/06 11:21 PM
Running MyApacheDSTest on ApacheDS 0.9.3 and different VMs.

SUN 1.4.2 & SUN 1.5 & BEA 1.5
=============================

Everything is OK. The output is:

Starting LDAP Directory service
[18:44:58] WARN [org.apache.ldap.server.DefaultDirectoryService] - You didn't ch
ange the admin password of directory service instance 'default'. Please update
the admin password as soon as possible to prevent a possible security breach.
[18:44:58] INFO [org.apache.ldap.server.jndi.ServerContextFactory] - LDIF load d
irectory not specified. No LDIF files will be loaded.
[18:44:58] INFO [org.apache.ldap.server.jndi.ServerContextFactory] - Successful
bind of LDAP Service completed: (SOCKET, ldap, 0.0.0.0/0.0.0.0:9389)
LDAP Directory service started.
in testMe()
exiting testMe
Test PASSED
[18:45:00] INFO [org.apache.ldap.server.jndi.ServerContextFactory] - Unbind of L
DAP Service complete: (SOCKET, ldap, 0.0.0.0/0.0.0.0:9389)



BEA 1.4.2
=========

Hangs with the following stack:

[18:02:45] WARN [org.apache.ldap.server.DefaultDirectoryService] - You didn't ch
ange the admin password of directory service instance 'default'. Please update
the admin password as soon as possible to prevent a possible security breach.
[18:02:45] INFO [org.apache.ldap.server.jndi.ServerContextFactory] - LDIF load d
irectory not specified. No LDIF files will be loaded.
[18:02:45] INFO [org.apache.ldap.server.jndi.ServerContextFactory] - Successful
bind of LDAP Service completed: (SOCKET, ldap, 0.0.0.0/0.0.0.0:9389)
LDAP Directory service started.
in testMe()
java.lang.IllegalArgumentException: cannot match with empty pattern
        at org.apache.commons.lang.Validate.isTrue(ZLjava.lang.String;)V(Validat
e.java:191)
        at org.apache.asn1.ber.digester.TagTree.getNormalNode(Lorg.apache.common
s.collections.primitives.IntStack;)Lorg.apache.asn1.ber.digester.TagNode;(TagTre
e.java:448)
        at org.apache.asn1.ber.digester.TagTree.getNode(Lorg.apache.commons.coll
ections.primitives.IntStack;)Lorg.apache.asn1.ber.digester.TagNode;(TagTree.java
:405)
        at org.apache.asn1.ber.digester.TagTree.match(Lorg.apache.commons.collec
tions.primitives.IntStack;)Ljava.util.List;(TagTree.java:392)
        at org.apache.asn1.ber.digester.RulesBase.match(Lorg.apache.commons.coll
ections.primitives.IntStack;)Ljava.util.List;(RulesBase.java:105)
        at org.apache.asn1.ber.digester.BERDigester$DigesterCallback.decodeOccur
red(Lorg.apache.asn1.codec.stateful.StatefulDecoder;Ljava.lang.Object;)V(BERDige
ster.java:199)
        at org.apache.asn1.ber.BERDecoder.fireDecodeOccurred(Lorg.apache.asn1.be
r.Tuple;)V(BERDecoder.java:399)
        at org.apache.asn1.ber.BERDecoder.decodeValue(Ljava.nio.ByteBuffer;)V(BE
RDecoder.java:226)
        at org.apache.asn1.ber.BERDecoder.decode(Ljava.lang.Object;)V(BERDecoder
.java:159)
        at org.apache.asn1.ber.digester.BERDigester.decode(Ljava.lang.Object;)V(
BERDigester.java:145)
        at org.apache.ldap.common.berlib.asn1.SnickersDecoder.decode(Ljava.lang.
Object;)V(SnickersDecoder.java:98)
        at org.apache.ldap.common.message.MessageDecoder.decode(Ljava.lang.Objec
t;)V(MessageDecoder.java:141)
        at org.apache.asn1.codec.mina.Asn1CodecDecoder.decode(Lorg.apache.mina.p
rotocol.ProtocolSession;Lorg.apache.mina.common.ByteBuffer;Lorg.apache.mina.prot
ocol.ProtocolDecoderOutput;)V(Asn1CodecDecoder.java:41)
        at org.apache.mina.protocol.io.IoAdapter$SessionHandlerAdapter.dataRead(
Lorg.apache.mina.io.IoSession;Lorg.apache.mina.common.ByteBuffer;)V(IoAdapter.ja
va:136)
$
io.IoFilter$NextFilter;Lorg.apache.mina.io.IoSession;Lorg.apache.mina.common.Byt
eBuffer;)V(AbstractIoFilterChain.java:152)
        at org.apache.mina.io.AbstractIoFilterChain.callNextDataRead(Lorg.apache
.mina.io.AbstractIoFilterChain$Entry;Lorg.apache.mina.io.IoSession;Lorg.apache.m
ina.common.ByteBuffer;)V(AbstractIoFilterChain.java:372)
        at org.apache.mina.io.AbstractIoFilterChain.access$1000(Lorg.apache.mina
.io.AbstractIoFilterChain;Lorg.apache.mina.io.AbstractIoFilterChain$Entry;Lorg.a
pache.mina.io.IoSession;Lorg.apache.mina.common.ByteBuffer;)V(AbstractIoFilterCh
ain.java:51)
        at org.apache.mina.io.AbstractIoFilterChain$Entry$1.dataRead(Lorg.apache
.mina.io.IoSession;Lorg.apache.mina.common.ByteBuffer;)V(AbstractIoFilterChain.j
ava:531)
        at org.apache.mina.io.AbstractIoFilterChain$1.dataRead(Lorg.apache.mina.
io.IoFilter$NextFilter;Lorg.apache.mina.io.IoSession;Lorg.apache.mina.common.Byt
eBuffer;)V(AbstractIoFilterChain.java:100)
        at org.apache.mina.io.AbstractIoFilterChain.callNextDataRead(Lorg.apache
.mina.io.AbstractIoFilterChain$Entry;Lorg.apache.mina.io.IoSession;Lorg.apache.m
ina.common.ByteBuffer;)V(AbstractIoFilterChain.java:372)
        at org.apache.mina.io.AbstractIoFilterChain.dataRead(Lorg.apache.mina.io
.IoSession;Lorg.apache.mina.common.ByteBuffer;)V(AbstractIoFilterChain.java:363)

        at org.apache.mina.io.IoSessionManagerFilterChain$1.dataRead(Lorg.apache
.mina.io.IoFilter$NextFilter;Lorg.apache.mina.io.IoSession;Lorg.apache.mina.comm
on.ByteBuffer;)V(IoSessionManagerFilterChain.java:77)
        at org.apache.mina.io.AbstractIoFilterChain.callNextDataRead(Lorg.apache
.mina.io.AbstractIoFilterChain$Entry;Lorg.apache.mina.io.IoSession;Lorg.apache.m
ina.common.ByteBuffer;)V(AbstractIoFilterChain.java:372)
        at org.apache.mina.io.AbstractIoFilterChain.access$1000(Lorg.apache.mina
.io.AbstractIoFilterChain;Lorg.apache.mina.io.AbstractIoFilterChain$Entry;Lorg.a
pache.mina.io.IoSession;Lorg.apache.mina.common.ByteBuffer;)V(AbstractIoFilterCh
ain.java:51)
        at org.apache.mina.io.AbstractIoFilterChain$Entry$1.dataRead(Lorg.apache
.mina.io.IoSession;Lorg.apache.mina.common.ByteBuffer;)V(AbstractIoFilterChain.j
ava:531)
        at org.apache.mina.io.filter.IoThreadPoolFilter.processEvent(Ljava.lang.
Object;Lorg.apache.mina.common.Session;Lorg.apache.mina.util.EventType;Ljava.lan
g.Object;)V(IoThreadPoolFilter.java:107)
        at org.apache.mina.util.BaseThreadPool$Worker.processEvents(Lorg.apache.
mina.util.BaseThreadPool$SessionBuffer;)V(BaseThreadPool.java:410)
        at org.apache.mina.util.BaseThreadPool$Worker.run()V(BaseThreadPool.java
:355)
        at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Sourc
e)




Alexei Zakharov added a comment - 11/Apr/06 11:21 PM
Running MyApacheDS10Test on ApacheDS RC 1.0 & different VMs.


SUN 1.4.2 & SUN 1.5
===================

OK


Starting LDAP Directory service
log4j:WARN No appenders could be found for logger (org.apache.directory.shared.l
dap.name.DnParser).
log4j:WARN Please initialize the log4j system properly.
LDAP Directory service started.
in testMe()
exiting testMe
Test PASSED


BEA 1.4.2
=========

Test hangs with the following output:

Starting LDAP Directory service
log4j:WARN No appenders could be found for logger (org.apache.directory.shared.l
dap.name.DnParser).
log4j:WARN Please initialize the log4j system properly.
LDAP Directory service started.
in testMe()
javax.naming.CommunicationException: Request: 1 cancelled
        at com.sun.jndi.ldap.LdapRequest.getReplyBer()Lcom.sun.jndi.ldap.BerDeco
der;(LdapRequest.java:60)
        at com.sun.jndi.ldap.Connection.readReply(Lcom.sun.jndi.ldap.LdapRequest
;)Lcom.sun.jndi.ldap.BerDecoder;(Connection.java:405)
        at com.sun.jndi.ldap.LdapClient.ldapBind(Ljava.lang.String;[B[Ljavax.nam
ing.ldap.Control;Ljava.lang.String;Z)Lcom.sun.jndi.ldap.LdapResult;(LdapClient.j
ava:340)
        at com.sun.jndi.ldap.LdapClient.authenticate(ZLjava.lang.String;Ljava.la
ng.Object;ILjava.lang.String;[Ljavax.naming.ldap.Control;Ljava.util.Hashtable;)L
com.sun.jndi.ldap.LdapResult;(LdapClient.java:193)
        at com.sun.jndi.ldap.LdapCtx.connect(Z)V(LdapCtx.java:2640)
        at com.sun.jndi.ldap.LdapCtx.<init>(Ljava.lang.String;Ljava.lang.String;
ILjava.util.Hashtable;Z)V(LdapCtx.java:290)
        at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(Ljava.lang.String;Ljava.
util.Hashtable;)Ljavax.naming.directory.DirContext;(LdapCtxFactory.java:175)
        at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs([Ljava.lang.String;Ljav
a.util.Hashtable;)Ljavax.naming.directory.DirContext;(LdapCtxFactory.java:193)
        at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(Ljava.lang.Object
;Ljava.util.Hashtable;)Ljavax.naming.directory.DirContext;(LdapCtxFactory.java:1
36)
        at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(Ljava.util.Hashtab
le;)Ljavax.naming.Context;(LdapCtxFactory.java:66)
        at javax.naming.spi.NamingManager.getInitialContext(Ljava.util.Hashtable
;)Ljavax.naming.Context;(NamingManager.java:662)
        at javax.naming.InitialContext.getDefaultInitCtx()Ljavax.naming.Context;
(InitialContext.java:243)
        at javax.naming.InitialContext.init(Ljava.util.Hashtable;)V(InitialConte
xt.java:219)
        at javax.naming.InitialContext.<init>(Ljava.util.Hashtable;)V(InitialCon
text.java:195)
        at javax.naming.directory.InitialDirContext.<init>(Ljava.util.Hashtable;
)V(InitialDirContext.java:80)
        at MyApacheDS10Test.testMe()V(MyApacheDS10Test.java:84)
        at MyApacheDS10Test.main([Ljava.lang.String;)V(MyApacheDS10Test.java:103
)



BEA 1.5
=======

Hangs with the message:

Starting LDAP Directory service
log4j:WARN No appenders could be found for logger (org.apache.directory.shared.l
dap.name.DnParser).
log4j:WARN Please initialize the log4j system properly.
LDAP Directory service started.
in testMe()
javax.naming.CommunicationException: Request: 1 cancelled
        at com.sun.jndi.ldap.LdapRequest.getReplyBer(LdapRequest.java:60)
        at com.sun.jndi.ldap.Connection.readReply(Connection.java:405)
        at com.sun.jndi.ldap.LdapClient.ldapBind(LdapClient.java:340)
        at com.sun.jndi.ldap.LdapClient.authenticate(LdapClient.java:192)
        at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2637)
        at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:283)
        at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:175)

        at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:193
)
        at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.ja
va:136)
        at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.jav
a:66)
        at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:6
67)
        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.jav
a:82)
        at MyApacheDS10Test.testMe(MyApacheDS10Test.java:84)
        at MyApacheDS10Test.main(MyApacheDS10Test.java:103)

Emmanuel Lecharny added a comment - 12/Apr/06 02:11 AM
Seems pretty strange...

0.9.3 is badly outdated, as 1.0-RC1 is out and I'm not certain we will maintain it. (as far as I know ...)

1.0-RC1 problems you have seem more or less related to JVM classes : when you look at the stacktraces, we are not even dealing with any Apache Directory class or method. It could be interesting that you switch ApacheDS to debug mode to get more informations about what's going on.

The problem is that log4j initialisation is failing :) Did you tried to add a -Dlog4j.configuration=<a log4j config file> to the java CL ?

I would be very please to have this server side log. Or I will have to download those two JVMs ;-)

Another question is : are they JRockit JVM ? Which specific version ?


Emmanuel Lecharny added a comment - 12/Apr/06 05:34 AM
Ok, I've downloaded both JRockit JVM :
jrockit-j2re1.4.2_08 and jrockit-R26.3.0-jre1.5.0_06 for Linux (I don't do W$)

I've tested 1.0-RC1 built with these JVM with the MyApacheDS10Test.java. Here is what I get :

 jrockit-R26.3.0-jre1.5.0_06 :
---------------------------------------
Starting LDAP Directory service
LDAP Directory service started.
in testMe()
exiting testMe
Test PASSED

jrockit-j2re1.4.2_08 :
----------------------------
Not tested yet, because it means recompiling Mina and all other jars using this library.

I definitively don't get the error you have with 1.5 JDK, so I bet it has to be tested on Windows. I don't do Windows, sorry... Any kindfull people to test it and possibly bring some more logs on Windows with both JDK ?

Alexei Zakharov added a comment - 12/Apr/06 05:04 PM
Emmanuel,

Please the attached logs. I use following BEA VMs:
1.
java version "1.4.2_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05)
BEA WebLogic JRockit(TM) 1.4.2_04 JVM (build ari-31788-20040616-1132-win-ia32, Native Threads, GC strategy: parallel)
2.
 java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized over throughput (initial strategy singleparpar))

Alexei

Emmanuel Lecharny added a comment - 13/Apr/06 06:11 AM
Thanks Alexei.

What we have is something related to a socket being brutally closed :

org.apache.mina.common.RuntimeIOException: java.net.SocketException: java.net.SocketException: Connection aborted by peer

I don't know if you can reproduce this "behavior" with the latest version of JRockit JVM (rockit-j2re1.4.2_08 and jrockit-R26.3.0-jre1.5.0_06). I don't think that we can tell that ApacheDS or Mina are guilty if the socket is being closed while it's trying to send data. May be you can post something to BEA dev2dev mailing list about your issue?

I keep the JIRA open right now, as some people can add some information.

It could also be ggod to post the issue to the MINA JIRA, as it may be related to mina more that ADS, even if I don't think that MINA is the cause of your problem.

I'm trully sorry not to have a straight response, but this is quite a complicated issue and it may occurs on some very specific configuration (Windows XP with some old Jrockit JVM), configuration I can't install (I only have one computer and it's running Linux)

From now on, could you just try the latest JRokit versions and send us a feendback if it's not working well ?

Thanks a lot !

Alexei Zakharov added a comment - 17/Apr/06 11:00 PM
Hi Emmanuel,

I have tried most recent win32 versions of JRockit available at bea.com. Here are test results:

jrockit-R26.3.0-jre1.5.0_06:
1. MyApacheDSTest (ApacheDS 0.9.2) hangs with 30% probability (20:6)
2. MyApacheDSTest (ApacheDS 0.9.3) works well
3. MyApacheDS10Test (ApacheDS 1.0 RC1) works well

jrockit-j2re1.4.2_08:
4. MyApacheDSTest (ApacheDS 0.9.2) hangs on jrockit-j2re1.4.2_08 with 30% probability (20:6)
5. MyApacheDSTest (ApacheDS 0.9.3) works well
6. MyApacheDS10Test (ApacheDS 1.0 RC1) hangs with the following stack (the same as with my old version of JRockit 1.4.2):
Starting LDAP Directory service
LDAP Directory service started.
in testMe()
javax.naming.CommunicationException: Request: 1 cancelled
        at com.sun.jndi.ldap.LdapRequest.getReplyBer()Lcom/sun/jndi/ldap/BerDeco
der;(LdapRequest.java:60)
        at com.sun.jndi.ldap.Connection.readReply(Lcom/sun/jndi/ldap/LdapRequest
;)Lcom/sun/jndi/ldap/BerDecoder;(Connection.java:405)
        at com.sun.jndi.ldap.LdapClient.ldapBind(Ljava/lang/String;[B[Ljavax/nam
ing/ldap/Control;Ljava/lang/String;Z)Lcom/sun/jndi/ldap/LdapResult;(LdapClient.j
ava:340)
        at com.sun.jndi.ldap.LdapClient.authenticate(ZLjava/lang/String;Ljava/la
ng/Object;ILjava/lang/String;[Ljavax/naming/ldap/Control;Ljava/util/Hashtable;)L
com/sun/jndi/ldap/LdapResult;(LdapClient.java:193)
        at com.sun.jndi.ldap.LdapCtx.connect(Z)V(LdapCtx.java:2640)
        at com.sun.jndi.ldap.LdapCtx.<init>(Ljava/lang/String;Ljava/lang/String;
ILjava/util/Hashtable;Z)V(LdapCtx.java:290)
        at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(Ljava/lang/String;Ljava/
util/Hashtable;)Ljavax/naming/directory/DirContext;(LdapCtxFactory.java:175)
        at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs([Ljava/lang/String;Ljav
a/util/Hashtable;)Ljavax/naming/directory/DirContext;(LdapCtxFactory.java:193)
        at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(Ljava/lang/Object
;Ljava/util/Hashtable;)Ljavax/naming/directory/DirContext;(LdapCtxFactory.java:1
36)
        at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(Ljava/util/Hashtab
le;)Ljavax/naming/Context;(LdapCtxFactory.java:66)
        at javax.naming.spi.NamingManager.getInitialContext(Ljava/util/Hashtable
;)Ljavax/naming/Context;(NamingManager.java:662)
        at javax.naming.InitialContext.getDefaultInitCtx()Ljavax/naming/Context;
(InitialContext.java:243)
        at javax.naming.InitialContext.init(Ljava/util/Hashtable;)V(InitialConte
xt.java:219)
        at javax.naming.InitialContext.<init>(Ljava/util/Hashtable;)V(InitialCon
text.java:195)
        at javax.naming.directory.InitialDirContext.<init>(Ljava/util/Hashtable;
)V(InitialDirContext.java:80)
        at MyApacheDS10Test.testMe()V(MyApacheDS10Test.java:84)
        at MyApacheDS10Test.main([Ljava/lang/String;)V(MyApacheDS10Test.java:103
)
See the log attached. This log seems to be identical with the log from my previous version of JRockit.

So since ApacheDS 0.9.2 is not going to be supported anymore we have only one open issue - ApacheDS 1.0 RC1 on jrockit-j2re1.4.2_08@win32. However, version 0.9.3 works well.

Alexei

Emmanuel Lecharny added a comment - 19/Apr/06 06:17 AM
I'm afraid there is nothing we can do with your problem... It seems to be a JVM bug, in 1.5.

As it has been shown by the tests you did on 1.4 JVM, changing the version solved the problem. And 1.5 JVM (JRockit) works well for me on Linux.

The stack trace is pretty explicit :
Caused by: java.net.SocketException: java.net.SocketException: Connection aborted by peer
at jrockit.net.SocketOpts.setOption(ILjava.lang.Object;Ljava.io.FileDescriptor;Ljrockit.net.SocketNativeIO;)V(Unknown Source)
at jrockit.nio.ch.SocketChannelImpl$SocketAdaptor.setTrafficClass(I)V(Unknown Source)
at org.apache.mina.transport.socket.nio.support.SocketSessionImpl$SocketSessionConfigImpl.setTrafficClass(SocketSessionImpl.java:342)
... 3 more

the call that produced the error was in a jrockit class.

wdyt ? Any other opinion out there ?

Alexei Zakharov added a comment - 19/Apr/06 11:59 PM
Emmanuel,

I have good news: I realize that I have mistakenly downloaded incorrect VM version last time - jrockit-j2re1.4.2_08 is not the most recent one. The most recent is jrockit-R26.3.0-jdk1.4.2_10. Below is the result for this VM:

jrockit-R26.3.0-jdk1.4.2_10
1. MyApacheDSTest (ApacheDS 0.9.2) hangs with 16% probability (37:7)
2. MyApacheDSTest (ApacheDS 0.9.3) works well
3. MyApacheDS10Test (ApacheDS 1.0 RC1) works well (!)

So BEA guys have done all work for us :)
However, I still need a solution to fix (1) since Geronimo unit test still hangs with some probability. Emmanuel, how big is the difference between ApacheDS 0.9.2 API and ADS 0.9.3 API, and between ADS 0.9.2 and ADS 1.0 RC 1? It can probably be some sense to made an intermediate step and initially port Geronimo to 0.9.3 and then (when ADS 1.0 release is ready) finally to ADS 1.0.
Can you recommend something?
Thanks!

Emmanuel Lecharny added a comment - 20/Apr/06 12:18 AM
That's good news !

Regarding 0.9.2 problems, we do'nt have any solution but a migration to 1.0-RC1.

0.9.x are supposed to be dead branches. We *won't * fix them, because 0.9.3 contains many fixes to 0.9.2, and 1.0-RC1 contains many fixes to 0.9.3. 1.0-RCx are supposed to be bug fixes, and as soon as we haven't reached a stable build (i.e., 1.0), the last version is *always* the best version.

As soon as 1.0 is released, then we will be able to maintain it. However, it will always be the same story : 1.0.1 will be a bug fix, and it will be the version to use if you were using 1.0.

So, the best advise I can give is to switch urgently to 1.0-RC1, and stop testing 0.9.x versions, which are severly bugged :)

FYI, 1.0-RC2 is on its way, and will be available soon (2 weeks ?)

Alexei Zakharov added a comment - 21/Apr/06 10:14 PM
Ok, I think we can close this issue now.

Emmanuel Lecharny added a comment - 21/Apr/06 11:45 PM
Thanks Alexei !

I changed the status to "Invalid" just because it seems to be a JVM issue, not an ApacheDS issue (there is no "closed" choice ...).

Btw, we would be very interested by having a feedback from Geronimo team about the way you are using APacheDS and how it behaves.

Emmanuel.

Alexei Zakharov added a comment - 03/May/06 05:38 PM
Hi Emmanuel & directory team,

Can someone from the Directory team upload the most recent ApacheDS jars to the central maven repository? Currently I am working on porting Geronimo to ApacheDS 1.0 RC1. So I need these jars to be located at http://www.ibiblio.org/maven/ in order to be able to build Geronimo with new ApacheDS version. Initially I can suggest the following grouping for these jars (for RC1):
groupId=directory-apacheds
apacheds-core-1.0-RC1.jar
apacheds-core-shared-1.0-RC1.jar
apacheds-kerberos-shared-1.0-RC1.jar
apacheds-protocol-changepw-1.0-RC1.jar
apacheds-protocol-kerberos-1.0-RC1.jar
apacheds-protocol-ldap-1.0-RC1.jar
apacheds-protocol-ntp-1.0-RC1.jar
apacheds-protocol-shared-1.0-RC1.jar
apacheds-server-jndi-1.0-RC1.jar
apacheds-server-main-1.0-RC1.jar
apacheds-server-ssl-1.0-RC1.jar

groupId=directory-network
mina-core-0.9.2.jar
mina-filter-codec-asn1-0.9.2.jar
mina-filter-ssl-0.9.2.jar

groupId=directory-shared
shared-asn1-0.9.5.jar
shared-ldap-0.9.5.jar

P.S. Does ApacheDS really require such a fresh version of bouncycastle: lcrypto-jdk14-131.jar ? We need to update maven's repo with the latest bouncycastle if so.