aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BUGS149
-rw-r--r--Changelog5
-rw-r--r--java.mk46
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;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]
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