"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.