From e66920646a471f94cd7a5af774eb0685b488ca0e Mon Sep 17 00:00:00 2001 From: jestin Date: Tue, 22 Nov 2005 12:15:38 +0000 Subject: *** empty log message *** --- BUGS | 149 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- Changelog | 5 ++- java.mk | 46 +++---------------- 3 files changed, 147 insertions(+), 53 deletions(-) diff --git a/BUGS b/BUGS index 1c0fcdd..0e2dd33 100644 --- a/BUGS +++ b/BUGS @@ -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;iIvyClient[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, a:3, +b:4 +Computer4 sending result, id: ID, a:3, +b:4 +going to sleep 2 seconds +result received: 7 +Computer3 sending result, id: ID, a:3, +b:4 +Computer2 sending result, id: ID, a:3, +b:4 +Computer0 sending result, id: ID, 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, 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] diff --git a/Changelog b/Changelog index fac0a5b..4c06d73 100644 --- a/Changelog +++ b/Changelog @@ -9,11 +9,12 @@ - added description of new functions bugfixes - - fixed the "start stop start stop" bug reported by Francis Jambon + - fixed the "start stop start stop" bug reported by Francis Jambon ( + thanks alot, Francis ! ) test suite - added the test directory, in addition to the examples - - now runs with kaffe + - now runs with kaffe ( not sure of Why ... ) - it compiles and runs fine with gcj on Mandrake 10.1, but the tests fails new features diff --git a/java.mk b/java.mk index 718b64e..284f3b7 100644 --- a/java.mk +++ b/java.mk @@ -8,43 +8,9 @@ # 1.2.8 first # -####################################### -# generic setup -####################################### -# JAVAC = javac -#JAVACOPTS = -deprecation - -####################################### -# gcj setup -####################################### - JAVA = kaffe - JAVA = java - JAVAC = gcj -C - JAVACOPTS = --encoding=8859_1 -Wall - -####################################### -# jikes setup on my box -####################################### -# RTPATH = /usr/local/jdk1.5.0/jre/lib/rt.jar -#JAVACOPTS = -deprecation -# JAVAC = jikes - -####################################### -# blackdown jdk118 setup -####################################### -# JAVAC = /usr/local/jdk118_v3/bin/javac -#JAVACOPTS = - -###################################### -# local Blackdown linux 1.2.2 -###################################### -# JAVAC = /usr/local/jdk1.2.2/bin/javac -#JAVACOPTS = -deprecation - -###################################### -# local Blackdown linux 1.3.1 -###################################### -# JAVAC = /usr/local/j2sdk1.3.1/bin/javac -#JAVACOPTS = -deprecation - - +#JAVA = kaffe +JAVA = java +#JAVA = gij +#JAVAC = gcj -C +JAVAC = javac +#JAVACOPTS = --encoding=8859_1 -Wall -g -- cgit v1.1