"Patrick LeBoutillier" <[EMAIL PROTECTED]> writes: > In theory it should find it and select the right one, even if there > is more than one method. Try turning debugging on (export > PERL_INLINE_JAVA_DEBUG=5) before running your script. It will dump a > whole lot of stuff out. If you can't decipher any of it you can send > it to me (along with the relevant parts of your scripts) and I'll > try to take a look at it.
Hi Patrick, Things have changed a bit since I started using STUDY, but the basic problem is the same. I watched the program more carefully. It is drawing a few hundred lines, and setting their stroke property. It draws many of them, and then suddenly it just craps out and gives a bizarre error: Method setStroke for class edu.umd.cs.piccolo.nodes.PPath with signature (java.awt.Stroke) not found at (eval 9) line 1228 at ./p3.pl line 45 Here is one of the setStroke() calls that succeeds: [perl][5] Dump: $VAR1 = [ bless( {}, 'main::java::awt::BasicStroke' ) ]; [perl][5] Dump: $VAR1 = [ 'java.awt.Stroke' ]; [perl][3] checking if java.awt.BasicStroke is a java.awt.Stroke [perl][3] packet sent is isa java.awt.BasicStroke java.awt.Stroke [java][3] packet recv is isa java.awt.BasicStroke java.awt.Stroke [java][4] checking if java.awt.BasicStroke extends java.awt.Stroke [java][4] parent is java.lang.Object [java][4] checking if java.lang.Object extends java.awt.Stroke [java][4] interface is java.awt.Stroke [java][4] checking if java.awt.Stroke extends java.awt.Stroke [java][4] class java.lang.Integer is primitive numeric [java][3] packet sent is ok scalar:49 [perl][3] packet recv is ok scalar:49 [perl][3] main::java::awt::BasicStroke=HASH(0x10d8bf80) is a java.awt.Stroke [perl][3] match successful: score is 6.99 [perl][3] calling object(134).setStroke(main::java::awt::BasicStroke=HASH(0x10d8bf80)) [perl][3] packet sent is call_method 134 edu.umd.cs.piccolo.nodes.PPath setStroke (java.awt.Stroke) object:java.awt.BasicStroke:11 [java][3] packet recv is call_method 134 edu.umd.cs.piccolo.nodes.PPath setStroke (java.awt.Stroke) object:java.awt.BasicStroke:11 [java][4] class edu.umd.cs.piccolo.nodes.PPath is reference [java][4] class edu.umd.cs.piccolo.nodes.PPath is reference [java][3] found a setStroke method [java][3] (java.awt.Stroke) = (java.awt.Stroke)? [java][3] has matching signature (java.awt.Stroke) [java][4] arg 0 of signature is java.awt.Stroke [java][4] class java.awt.Stroke is reference [java][4] class java.awt.Stroke is reference [java][4] checking if java.awt.BasicStroke extends java.awt.Stroke [java][4] parent is java.lang.Object [java][4] checking if java.lang.Object extends java.awt.Stroke [java][4] interface is java.awt.Stroke [java][4] checking if java.awt.Stroke extends java.awt.Stroke [java][4] java.awt.BasicStroke is a kind of java.awt.Stroke [java][3] packet sent is ok undef: [perl][3] packet recv is ok undef: and here is the chunk that fails: [perl][5] Dump: $VAR1 = [ bless( {}, 'main::java::awt::BasicStroke' ) ]; [perl][5] Dump: $VAR1 = [ 'java.awt.Stroke' ]; [perl][3] checking if java.awt.BasicStroke is a java.awt.Stroke [perl][3] packet sent is isa java.awt.BasicStroke java.awt.Stroke [java][3] packet recv is isa java.awt.BasicStroke java.awt.Stroke [java][4] checking if java.awt.BasicStroke extends java.awt.Stroke [java][4] parent is java.lang.Object [java][4] checking if java.lang.Object extends java.awt.Stroke [java][4] interface is java.awt.Stroke [java][4] checking if java.awt.Stroke extends java.awt.Stroke [java][4] class java.lang.Integer is primitive numeric [java][3] packet sent is ok scalar:49 [perl][3] packet recv is ok scalar:49 [perl][3] main::java::awt::BasicStroke=HASH(0x10d8bf80) is a java.awt.Stroke [perl][3] match successful: score is 6.99 [perl][3] calling object(137).setStroke(main::java::awt::BasicStroke=HASH(0x10d8bf80)) [perl][3] packet sent is call_method 137 edu.umd.cs.piccolo.nodes.PPath setStroke (java.awt.Stroke) object:java.awt.BasicStroke:11 [java][3] packet recv is call_method 137 edu.umd.cs.piccolo.nodes.PPath setStroke (java.awt.Stroke) object:java.awt.BasicStroke:11 [java][4] class edu.umd.cs.piccolo.nodes.PPath is reference [java][4] class edu.umd.cs.piccolo.nodes.PPath is reference [java][3] packet sent is error scalar:77.101.116.104.111.100.32.115.101.116.83.116.114.111.107.101.32.102.111.114.32.99.108.97.115.115.32.101.100.117.46.117.109.100.46.99.115.46.112.105.99.99.111.108.111.46.110.111.100.101.115.46.80.80.97.116.104.32.119.105.116.104.32.115.105.103.110.97.116.117.114.101.32.40.106.97.118.97.46.97.119.116.46.83.116.114.111.107.101.41.32.110.111.116.32.102.111.117.110.100 [perl][3] packet recv is error scalar:77.101.116.104.111.100.32.115.101.116.83.116.114.111.107.101.32.102.111.114.32.99.108.97.115.115.32.101.100.117.46.117.109.100.46.99.115.46.112.105.99.99.111.108.111.46.110.111.100.101.115.46.80.80.97.116.104.32.119.105.116.104.32.115.105.103.110.97.116.117.114.101.32.40.106.97.118.97.46.97.119.116.46.83.116.114.111.107.101.41.32.110.111.116.32.102.111.117.110.100 [perl][3] packet recv error: Method setStroke for class edu.umd.cs.piccolo.nodes.PPath with signature (java.awt.Stroke) not found Method setStroke for class edu.umd.cs.piccolo.nodes.PPath with signature (java.awt.Stroke) not found at (eval 9) line 1228 at ./p3.pl line 45 Everything seems fine, but suddenly java sends back an error packet. I can change other bits of the code and generate similar errors. It seems that something is going wrong deep down. Cheers, jas.