diff options
Diffstat (limited to 'BUGS')
-rw-r--r-- | BUGS | 149 |
1 files changed, 138 insertions, 11 deletions
@@ -1,4 +1,32 @@ ------------------------------------------------------------------------------------- +7 clients on the bus +-> CDS:AIX +-> Rejeu +-> FlightList +-> FDPS +-> FlightDisplay +-> RadarGL:paris:WP1:TC +-> Scheduler +.die Rejeu +Rejeu disconnected +untie attempted while 1 inner references still exist at +/usr/lib/perl5/Tk/Event/IO.pm line 117. +RadarGL:paris:WP1:TC disconnected +FlightDisplay disconnected +Exception in thread "Thread-9" FDPS disconnected +CDS:AIX disconnected +java.lang.ArrayIndexOutOfBoundsException: -1 + at java.util.Hashtable$Enumerator.nextElement() (/usr/lib/libgcj.so.6.0.0) + at fr.dgac.ivy.Ivy.getClientNames(java.util.Hashtable) (Unknown Source) + at fr.dgac.ivy.Ivy.removeClient(fr.dgac.ivy.IvyClient) (Unknown + Source) + at fr.dgac.ivy.IvyClient.run() (Unknown Source) + at java.lang.Thread.run() (/usr/lib/libgcj.so.6.0.0) + Scheduler disconnected + + + +------------------------------------------------------------------------------------- Won't do list: * implement an interface allowing different regexps implementations, since it exists in jdk 1.4.1 !, while keeping in mind the platform compatibility @@ -12,23 +40,76 @@ TODO List: ------------------------------------------------------------------------------------- Known bugs: +réf: [WFC01] yann + is WaitForClient still a bit buggy ? + to reproduce the bug, run test/WFC.java + it can stay hung for a while ( debian sid, gcj, kaffe or debian sid+ + jdk1.5). I guess it has to do with the bus stop in WFCClient *before* the + hanshake is finished in other Clients, so that the die message cannot be + sent. + + launching 3 clients + waiting for them + sending them' a die message (3 clients) + leaving the bus + ... stuck + sending a SIGQUIT to the JAVA VM shows a couple of threads hung: + Full thread dump Java HotSpot(TM) Server VM (1.5.0-beta2-b51 mixed mode): + "DestroyJavaVM" prio=1 tid=0x8e300b10 nid=0x24cd waiting on condition [0x00000000..0xbfffc840] + "Thread-25" prio=1 tid=0x8e15ecc0 nid=0x24f4 runnable [0x8d034000..0x8d0346c0] + at java.net.SocketInputStream.socketRead0(Native Method) + at java.net.SocketInputStream.read(SocketInputStream.java:129) + at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411) + at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453) + at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183) + - locked <0xaef40bd8> (a java.io.InputStreamReader) + at java.io.InputStreamReader.read(InputStreamReader.java:167) + at java.io.BufferedReader.fill(BufferedReader.java:136) + at java.io.BufferedReader.readLine(BufferedReader.java:299) + - locked <0xaef40bd8> (a java.io.InputStreamReader) + at java.io.BufferedReader.readLine(BufferedReader.java:362) + at fr.dgac.ivy.IvyClient.run(IvyClient.java:328) + at java.lang.Thread.run(Thread.java:595) + "Thread-24" prio=1 tid=0x08257840 nid=0x24f3 runnable [0x8d635000..0x8d635840] + at java.net.SocketInputStream.socketRead0(Native Method) + at java.net.SocketInputStream.read(SocketInputStream.java:129) + at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411) + at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453) + at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183) + - locked <0xaef72008> (a java.io.InputStreamReader) + at java.io.InputStreamReader.read(InputStreamReader.java:167) + at java.io.BufferedReader.fill(BufferedReader.java:136) + at java.io.BufferedReader.readLine(BufferedReader.java:299) + - locked <0xaef72008> (a java.io.InputStreamReader) + at java.io.BufferedReader.readLine(BufferedReader.java:362) + at fr.dgac.ivy.IvyClient.run(IvyClient.java:328) + at java.lang.Thread.run(Thread.java:595) + looks like [KAFFCLOSE05], with a lock on socket reading + see: http://javafaq.nu/java/archive_newsletters-2/33.shtml + the idea is to have the close performed by another thread, or to to use a time out + + réf: [KAFFCLOSE05] yann make nl compiled with gcj, ran with Kaffe, hangs on app.close() in Ivy.java... at bus.stop() . Kernel 2.6.10, sid glibc bleeding edge... I should investigate further for compatibility's sake - it's not possible to run Bus.stop() on a SMP machine ? - -réf: [WFC01] yann - - for (int i=0;i<NBCOMP;i++) new Computer(domain); - for (int i=0;i<NBCOMP;i++) bus.waitForClient("Computer"+i,0); - ça peut rester hung pendant un moment ( sid, gcj, kaffe ) - dans le répertoire test, WFC.java pour reproduire le bug + trying Newline on 100000 tests + sending 100000 protected newlines + received 100000 [ + ] + sending 100000 unprotected newlines + received 100000 [ ] + with protection 3526ms, without 2632ms + Dumping live threads: + `Thread-1' tid 0x848100c, status SUSPENDED flags ALARM BLOCKEDEXTERNAL blocked: reading from fd 7 + `Thread-2' tid 0x869c00c, status SUSPENDED flags ALARM BLOCKEDEXTERNAL INTERRUPTED blocked: reading from fd 6 + `gc' tid 0x83df00c, status SUSPENDED flags DONTSTOP BLOCKEDEXTERNAL blocked + `finaliser' tid 0x839e00c, status SUSPENDED flags DONTSTOP BLOCKEDEXTERNAL blocked + `main' tid 0x811a018, status SUSPENDED flags NOSTACKALLOC DONTSTOP BLOCKEDEXTERNAL blocked réf: [BUGYANN] - perte des arguments ... jdk 1.4.2_04 sous OSX peut amener à [1:40:51 PM] 3/5 packets received (3) @@ -36,13 +117,11 @@ réf: [BUGYANN] -->IvyClient[0] MSreceive (remote MSsend)<-- string array 0 elements: -->IvyClient[0] MSreceive (remote MSsend)<-- string array 2 elements: (5) (aaaaaaaaaa) et du coup un ArrayOutOfBoundsException dans le receive - c'est le cas en async sur le test Async uniquement, depuis les jakarta regexp... réf: [BUGXZ] - on debian woody, using Kaffe, one cannot build the jar file ( problem in manifest ? ) beware, when building java for woody, to use the regexp.jar and getopt.jar built for your version of java ( Major/Minor version mismatch ... ) @@ -91,6 +170,54 @@ Fixed: 1.2.8 +réf: [YJnul05] +$ java -classpath classes:../lib/ivy-java.jar Request -b 228.1.2.3:4567 +launching 5 Computers +waiting for them +going to sleep 2 seconds +Computer1 sending result, id: ID<RequestTest0:1120682288045:-1458125806>, a:3, +b:4 +Computer4 sending result, id: ID<RequestTest0:1120682288045:-1458125806>, a:3, +b:4 +going to sleep 2 seconds +result received: 7 +Computer3 sending result, id: ID<RequestTest0:1120682288045:-1458125806>, a:3, +b:4 +Computer2 sending result, id: ID<RequestTest0:1120682288045:-1458125806>, a:3, +b:4 +Computer0 sending result, id: ID<RequestTest0:1120682288045:-1458125806>, a:3, +b:4 +Exception in thread "Thread-18" java.lang.NullPointerException + at fr.dgac.ivy.Ivy.sendMsg(Ivy.java:326) + at Request$Computer.receive(Request.java:63) + at fr.dgac.ivy.SelfIvyClient.callCallback(SelfIvyClient.java:115) + at fr.dgac.ivy.IvyClient.newParseMsg(IvyClient.java:520) + at fr.dgac.ivy.IvyClient.run(IvyClient.java:328) + at java.lang.Thread.run(Thread.java:595) +awaking and leaving the bus + +Le même ... +Computer3 sending result, id: ID<RequestTest0:1120683401604:-934870068>, a:3, +b:4 +Exception in thread "Thread-22" java.lang.NullPointerException + at fr.dgac.ivy.Ivy.removeClient(Ivy.java:654) + at fr.dgac.ivy.Ivy.stop(Ivy.java:273) + at Request$Computer.receive(Request.java:65) + at fr.dgac.ivy.SelfIvyClient.callCallback(SelfIvyClient.java:115) + at fr.dgac.ivy.IvyClient.newParseMsg(IvyClient.java:520) + at fr.dgac.ivy.IvyClient.run(IvyClient.java:328) + at java.lang.Thread.run(Thread.java:595) +Exception in thread "Thread-31" java.lang.NullPointerException + at fr.dgac.ivy.Ivy.removeClient(Ivy.java:654) + at fr.dgac.ivy.Ivy.stop(Ivy.java:273) + at Request$Computer.receive(Request.java:65) + at fr.dgac.ivy.SelfIvyClient.callCallback(SelfIvyClient.java:115) + at fr.dgac.ivy.IvyClient.newParseMsg(IvyClient.java:520) + at fr.dgac.ivy.IvyClient.run(IvyClient.java:328) + at java.lang.Thread.run(Thread.java:595) +awaking and leaving the bus + + réf: [bugFJ], start(), stop(), start() failed, added a new test StopStart in réf: [none] |