I haven't gotten any feedback on this one yet; I've tried a variety of
things and continue to have perl miss the return packet...

Anyone?
----- Original Message -----
From: "Brendan W. McAdams" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, 03 May, 2002 12:29
Subject: Inline::Java problems with hard hang


> About 2, 3 weeks ago I wrote some 'proof of concept' mod_perl to bind some
> of my java based bond calculation routines into mod_perl using
Inline::Java.
>
> They worked like a champ; I have it setup with all the neccessary mod_perl
> items and it had a handler, setup as following:
>
> Inline::Java declared as :
> class MuniCalculator
>
> handler loads a simply calculation worksheet.
>
> Calculations done from within handler by calling another sub in same
> package.
>
>
> These work great - they do the job just fine.
>
> However, I started last nite with abstracting my Calc routines to be
called
> from other modules.  I started hanging on "new
> Apache::MuniCenter::Util::Calc::MCCalculator::MuniCalculator();" (call to
> create the new object).  I went back and ran the default handler, etc for
> the 'test worksheet' I had setup 2 weeks ago in the main calculator and it
> worked fine.
>
> I tried setting up a calculate routine WITHIN the module that needed to do
> calculations.  Same bug as above.
>
> And furthermore, I basically found that if I altered the
> Inline::Java/mod_perl marriage I had created several weeks ago AT ALL, the
> error occurred.  It is rather frustrating.
>
> The Inline Debug output at time of error is:
> perl 11851: portable: EXE_EXTENSION for linux is default ''
> perl 11851: portable: EXE_EXTENSION for linux is default ''
> perl: $VAR1 = [
>           '/usr/local/java/bin'
>         ];
> perl 11851: path element: /usr/local/java/bin
> perl 11851:   candidate: /usr/local/java/bin/java
> perl 11851:   found file java in /usr/local/java/bin
> perl 11851:   candidate: /usr/local/java/bin/javac
> perl 11851:   found file javac in /usr/local/java/bin
> perl 11851: validate done.
> perl 11851: portable: SUB_FIX_CLASSPATH =>
>
/usr/local/tmc/mod_tmc_2/.Inline/lib/auto/Apache/MuniCenter/MarkupMatrix/Ord
> erTicket_46ae for linux is default
>
'/usr/local/tmc/mod_tmc_2/.Inline/lib/auto/Apache/MuniCenter/MarkupMatrix/Or
> derTicket_46ae'
> perl 11851: portable: ENV_VAR_PATH_SEP_CP for linux is default ':'
> perl 11851:   classpath:
>
/usr/local/tmc/j2ee.jar:/usr/local/oracle/816/jdbc/lib/classes12.zip:/usr/lo
>
cal/tmc/MuniCenter/jars/MuniCenter.jar:/usr/local/tmc/MuniCenter/packages/ti
>
ps/tips.jar:/usr/local/tmc/MuniCenter/properties:/usr/local/tmc/MuniCenter/p
>
roperties:/usr/local/tmc/MuniCenter/packages/xerces.jar://usr/local/tmc/Muni
>
Center/packages/aelfred.jar://usr/local/tmc/MuniCenter/packages/sax.jar:/usr
>
/local/tmc/MuniCenter/packages/javamail/mail.jar:/usr/local/tmc/bea/weblogic
>
/lib/weblogic_sp.jar:/usr/local/tmc/bea/weblogic/lib/weblogic.jar:/usr/local
>
/tmc/MuniCenter/packages/softwired/mbus-4-1-1/lib/iBusJMS.jar:/usr/local/tmc
>
/MuniCenter/packages/softwired/mbus-4-1-1/lib/iBusJMSRT.jar:/usr/local/tmc/M
>
uniCenter/packages/softwired/mbus-4-1-1/lib/jndi.jar:/usr/local/tmc/MuniCent
>
er/packages/softwired/mbus-4-1-1/lib:/usr/local/tmc/softwired/msrv411busines
>
s/server/lib:/usr/local/tmc/MuniCenter/packages/softwired/admin411API.jar:/u
>
sr/local/oracle/816/jdbc/lib/classes12.zip:/usr/local/tmc/MuniCenter/package
>
s/junit.jar:/usr/local/tmc/MuniCenter/packages/Tidy.jar:/usr/local/tmc/MuniC
>
enter/packages/:/usr/local/tmc/MuniCenter/packages/JavaScript.jar:/usr/local
>
/tmc/MuniCenter/packages/httpunit.jar:/usr/local/tmc/MuniCenter/jars/MuniCen
>
ter.jar:/usr/local/tmc/MuniCenter/jars/B2BAppServer.jar:/usr/local/tmc/MuniC
>
enter/packages/tips/tips.jar:/usr/local/tmc/MuniCenter/packages/kcServlet2.j
>
ar:.:/usr/local/tmc/MuniCenter/packages/tibco/lib/tibrvj.jar:/usr/local/tmc/
>
MuniCenter/packages/mqm/java/lib/mq.jar:/usr/local/tmc/MuniCenter/packages/m
>
qm/java/lib/com.ibm.mqbind.jar:/usr/local/tmc/MuniCenter/packages/test/jaxp.
>
jar:/usr/local/tmc/MuniCenter/packages/test/xalan.jar:/usr/local/tmc/MuniCen
>
ter/packages/test/crimson.jar:/usr/local/tmc/MuniCenter/packages/test/tibrvj
>
web.jar:/usr/local/tmc/MuniCenter:/usr/local/tmc/MuniCenter/packages/FTPProt
>
ocol.jar:/usr/local/tmc/MuniCenter/packages/jsse/jsse.jar:/usr/local/tmc/Mun
>
iCenter/packages/jsse/jcert.jar:/usr/local/tmc/MuniCenter/packages/jsse/jnet
>
...jar:/usr/local/tmc/softwired/msrv411business/server/lib/gnu-regexp-1.0.8.j
a
>
r:/usr/local/tmc/MuniCenter/packages/sybase/jconn.jar:/usr/local/tmc/MuniCen
>
ter/packages/sybase/jconn2.jar:/usr/local/tmc/MuniCenter/packages/muniblow/m
>
uniBlow.jar:/usr/local/tmc/mod_tmc_2/.Inline/lib/auto/Apache/MuniCenter/Mark
> upMatrix/OrderTicket_46ae:.
> perl 11851: Starting JVM...
> perl 11851:   Client/Server mode
> perl 11851: portable: GOT_ALARM for linux is default 'define'
> perl 11851: portable: EXE_EXTENSION for linux is default ''
> perl 11851: "/usr/local/java/bin/java" InlineJavaServer true 7890 true
> perl 11851: portable: DEV_NULL for linux is default '/dev/null'
> perl 11851: portable: GOT_ALARM for linux is default 'define'
> perl 11851: getting server type
> perl 11851:   packet sent is server_type
> java:   packet recv is server_type
> java:   class java.lang.String is primitive string
> java:   packet sent is ok scalar:115.104.97.114.101.100
> perl 11851:   packet recv is ok scalar:115.104.97.114.101.100
> perl 11851: Destroying Inline::Java::Protocol
> perl 11851:   Perl doesn't know about 'MuniCalculator'
> perl 11851: using jdat cache
> perl 11851: Object created in java
> (Apache::MuniCenter::MarkupMatrix::OrderTicket::MuniCalculator):
> perl: $VAR1 = bless( {},
> 'Apache::MuniCenter::MarkupMatrix::OrderTicket::MuniCalculator' );
> perl: $VAR1 = bless( {
>                  'module' => 'OrderTicket_46ae',
>                  'java_class' => 'MuniCalculator',
>                  'class' =>
> 'Apache::MuniCenter::MarkupMatrix::OrderTicket::MuniCalculator',
>                  'id' => 0,
>                  'proto' => bless( {
>                                      'module' => 'OrderTicket_46ae',
>                                      'obj_priv' => $VAR1
>                                    }, 'Inline::Java::Protocol' )
>                }, 'Inline::Java::Object::Private' );
> java:   packet recv is null
> java:   Lost connection with client in shared JVM mode.
> perl 11851: portable: GOT_ALARM for linux is default 'define'
> [Fri May  3 12:19:00 2002] null: About to enter calculator code...
> [Fri May  3 12:19:00 2002] null: trying to create a calculator
> [Fri May  3 12:19:00 2002] null: Creating a NEW calculator object at
>
/usr/local/tmc/mod_tmc_2/sales_markup_matrixd/lib/mod_perl/Apache/MuniCenter
> /MarkupMatrix/OrderTicket.pm line 354, <_GEN_2> chunk 1.
> perl 11851: Matching arguments to new()
> perl: $VAR1 = [];
> perl: $VAR1 = [];
> perl 11851: Match successful: score is 0
> perl 11851: Perfect match found, aborting search
> perl 11851: creating object new MuniCalculator()
> perl 11851:   packet sent is create_object MuniCalculator ()
> java:   packet recv is create_object MuniCalculator ()
> java:   class MuniCalculator is reference
> java:   class MuniCalculator is reference
> java: found a MuniCalculator constructor
> java: () = ()?
> java:   has matching signature ()
> java:   packet sent is ok object:0:1:MuniCalculator
>
> ..... it just hangs there.  Forever.  No output past that.  It seems like
the
> inline server  Ostensibly, Java seems to be returning the object...perl
just
> never picks it up and keeps going.
>
> On the contrary, in the module that DOES work, the output is along these
> lines:
>
> perl 11853: portable: EXE_EXTENSION for linux is default ''
> perl 11853: portable: EXE_EXTENSION for linux is default ''
> perl: $VAR1 = [
>           '/usr/local/java/bin'
>         ];
> perl 11853: path element: /usr/local/java/bin
> perl 11853:   candidate: /usr/local/java/bin/java
> perl 11853:   found file java in /usr/local/java/bin
> perl 11853:   candidate: /usr/local/java/bin/javac
> perl 11853:   found file javac in /usr/local/java/bin
> perl 11853: validate done.
> perl 11853: portable: SUB_FIX_CLASSPATH =>
>
/usr/local/tmc/mod_tmc_2/.Inline/lib/auto/Apache/MuniCenter/Util/Calc/MCCalc
> ulator for linux is default
>
'/usr/local/tmc/mod_tmc_2/.Inline/lib/auto/Apache/MuniCenter/Util/Calc/MCCal
> culator'
> perl 11853: portable: ENV_VAR_PATH_SEP_CP for linux is default ':'
> perl 11853:   classpath:
>
/usr/local/tmc/j2ee.jar:/usr/local/oracle/816/jdbc/lib/classes12.zip:/usr/lo
>
cal/tmc/MuniCenter/jars/MuniCenter.jar:/usr/local/tmc/MuniCenter/packages/ti
>
ps/tips.jar:/usr/local/tmc/MuniCenter/properties:/usr/local/tmc/MuniCenter/p
>
roperties:/usr/local/tmc/MuniCenter/packages/xerces.jar://usr/local/tmc/Muni
>
Center/packages/aelfred.jar://usr/local/tmc/MuniCenter/packages/sax.jar:/usr
>
/local/tmc/MuniCenter/packages/javamail/mail.jar:/usr/local/tmc/bea/weblogic
>
/lib/weblogic_sp.jar:/usr/local/tmc/bea/weblogic/lib/weblogic.jar:/usr/local
>
/tmc/MuniCenter/packages/softwired/mbus-4-1-1/lib/iBusJMS.jar:/usr/local/tmc
>
/MuniCenter/packages/softwired/mbus-4-1-1/lib/iBusJMSRT.jar:/usr/local/tmc/M
>
uniCenter/packages/softwired/mbus-4-1-1/lib/jndi.jar:/usr/local/tmc/MuniCent
>
er/packages/softwired/mbus-4-1-1/lib:/usr/local/tmc/softwired/msrv411busines
>
s/server/lib:/usr/local/tmc/MuniCenter/packages/softwired/admin411API.jar:/u
>
sr/local/oracle/816/jdbc/lib/classes12.zip:/usr/local/tmc/MuniCenter/package
>
s/junit.jar:/usr/local/tmc/MuniCenter/packages/Tidy.jar:/usr/local/tmc/MuniC
>
enter/packages/:/usr/local/tmc/MuniCenter/packages/JavaScript.jar:/usr/local
>
/tmc/MuniCenter/packages/httpunit.jar:/usr/local/tmc/MuniCenter/jars/MuniCen
>
ter.jar:/usr/local/tmc/MuniCenter/jars/B2BAppServer.jar:/usr/local/tmc/MuniC
>
enter/packages/tips/tips.jar:/usr/local/tmc/MuniCenter/packages/kcServlet2.j
>
ar:.:/usr/local/tmc/MuniCenter/packages/tibco/lib/tibrvj.jar:/usr/local/tmc/
>
MuniCenter/packages/mqm/java/lib/mq.jar:/usr/local/tmc/MuniCenter/packages/m
>
qm/java/lib/com.ibm.mqbind.jar:/usr/local/tmc/MuniCenter/packages/test/jaxp.
>
jar:/usr/local/tmc/MuniCenter/packages/test/xalan.jar:/usr/local/tmc/MuniCen
>
ter/packages/test/crimson.jar:/usr/local/tmc/MuniCenter/packages/test/tibrvj
>
web.jar:/usr/local/tmc/MuniCenter:/usr/local/tmc/MuniCenter/packages/FTPProt
>
ocol.jar:/usr/local/tmc/MuniCenter/packages/jsse/jsse.jar:/usr/local/tmc/Mun
>
iCenter/packages/jsse/jcert.jar:/usr/local/tmc/MuniCenter/packages/jsse/jnet
>
...jar:/usr/local/tmc/softwired/msrv411business/server/lib/gnu-regexp-1.0.8.j
a
>
r:/usr/local/tmc/MuniCenter/packages/sybase/jconn.jar:/usr/local/tmc/MuniCen
>
ter/packages/sybase/jconn2.jar:/usr/local/tmc/MuniCenter/packages/muniblow/m
>
uniBlow.jar:/usr/local/tmc/mod_tmc_2/.Inline/lib/auto/Apache/MuniCenter/Util
> /Calc/MCCalculator:.
> perl 11853: Starting JVM...
> perl 11853:   Client/Server mode
> perl 11853: portable: GOT_ALARM for linux is default 'define'
> perl 11853:   Connected to already running JVM!
> perl 11853: getting server type
> perl 11853:   packet sent is server_type
> java:   packet recv is server_type
> java:   class java.lang.String is primitive string
> java:   packet sent is ok scalar:115.104.97.114.101.100
> perl 11853:   packet recv is ok scalar:115.104.97.114.101.100
> perl 11853: Destroying Inline::Java::Protocol
> perl 11853:   Perl doesn't know about 'MuniCalculator'
> perl 11853: using jdat cache
> perl 11853: Object created in java
> (Apache::MuniCenter::Util::Calc::MCCalculator::MuniCalculator):
> perl: $VAR1 = bless( {},
> 'Apache::MuniCenter::Util::Calc::MCCalculator::MuniCalculator' );
> perl: $VAR1 = bless( {
>                  'module' => 'MCCalculator',
>                  'java_class' => 'MuniCalculator',
>                  'class' =>
> 'Apache::MuniCenter::Util::Calc::MCCalculator::MuniCalculator',
>                  'id' => 0,
>                  'proto' => bless( {
>                                      'module' => 'MCCalculator',
>                                      'obj_priv' => $VAR1
>                                    }, 'Inline::Java::Protocol' )
>                }, 'Inline::Java::Object::Private' );
> java:   packet recv is null
> java:   Lost connection with client in shared JVM mode.
> perl 11853: portable: GOT_ALARM for linux is default 'define'
> [Fri May  3 12:20:27 2002] null: About to enter calculator code...
> [Fri May  3 12:20:27 2002] null: trying to create a calculator
> [Fri May  3 12:20:27 2002] null: Creating a NEW calculator object at
>
/usr/local/tmc/mod_tmc_2/sales_markup_matrixd/lib/mod_perl/Apache/MuniCenter
> /Util/Calc/MCCalculator.pm line 227.
> perl 11853: Matching arguments to new()
> perl: $VAR1 = [];
> perl: $VAR1 = [];
> perl 11853: Match successful: score is 0
> perl 11853: Perfect match found, aborting search
> perl 11853: creating object new MuniCalculator()
> perl 11853:   packet sent is create_object MuniCalculator ()
> java:   packet recv is create_object MuniCalculator ()
> java:   class MuniCalculator is reference
> java:   class MuniCalculator is reference
> java: found a MuniCalculator constructor
> java: () = ()?
> java:   has matching signature ()
> java:   packet sent is ok object:0:2:MuniCalculator
> perl 11853:   packet recv is ok object:0:2:MuniCalculator
> perl: $VAR1 = bless( {},
> 'Apache::MuniCenter::Util::Calc::MCCalculator::MuniCalculator' );
> perl: $VAR1 = bless( {
>                  'module' => 'MCCalculator',
>                  'java_class' => 'MuniCalculator',
>                  'class' =>
> 'Apache::MuniCenter::Util::Calc::MCCalculator::MuniCalculator',
>                  'id' => '2',
>                  'proto' => bless( {
>                                      'module' => 'MCCalculator',
>                                      'obj_priv' => $VAR1
>                                    }, 'Inline::Java::Protocol' )
>                }, 'Inline::Java::Object::Private' );
> [Fri May  3 12:20:27 2002] null: running calcYield: 24918YAC0, 04/11/02,
> 5.25, 100 ...
> perl 11853: Matching arguments to calcYield(java.lang.String,
> java.lang.String, double, int)
> perl: $VAR1 = [
>           '24918YAC0',
>           '04/11/02',
>           '5.25',
>           '100'
>         ];
> perl: $VAR1 = [
>           'java.lang.String',
>           'java.lang.String',
>           'double',
>           'int'
>         ];
> perl 11853: min = -3.4028235e+38, max = 3.4028235e+38, val = 5.25
> perl 11853: min = -2147483648, max = 2147483647, val = 100
> perl 11853: Match successful: score is 15
> perl 11853: calling object(2).calcYield(24918YAC0, 04/11/02, 5.25, 100)
> perl 11853:   packet sent is call_method 2 MuniCalculator calcYield
> (java.lang.String,java.lang.String,double,int)
> scalar:50.52.57.49.56.89.65.67.48 scalar:48.52.47.49.49.47.48.50
> scalar:53.46.50.53 scalar:49.48.48
> java:   packet recv is call_method 2 MuniCalculator calcYield
> (java.lang.String,java.lang.String,double,int)
> scalar:50.52.57.49.56.89.65.67.48 scalar:48.52.47.49.49.47.48.50
> scalar:53.46.50.53 scalar:49.48.48
> java:   class MuniCalculator is reference
> java:   class MuniCalculator is reference
> java: found a calcYield method
> java: (java.lang.String,java.lang.String,double,int) =
> (java.lang.String,java.lang.String,double,int)?
> java:   has matching signature
> (java.lang.String,java.lang.String,double,int)
> java:     arg 0 of signature is java.lang.String
> java:   class java.lang.String is primitive string
> java:   args is scalar -> forcing to java.lang.String
> java:     result is 24918YAC0
> java:     arg 1 of signature is java.lang.String
> java:   class java.lang.String is primitive string
> java:   args is scalar -> forcing to java.lang.String
> java:     result is 04/11/02
> java:     arg 2 of signature is double
> java:   class double is primitive numeric
> java:   args is scalar -> forcing to double
> java:     result is 5.25
> java:     arg 3 of signature is int
> java:   class int is primitive numeric
> java:   args is scalar -> forcing to int
> java:     result is 100
> java:   packet sent is ok undef:
> perl 11853:   packet recv is ok undef:
> perl 11853: fetching member variable 'Yield'
> perl 11853: getting object(2)->{Yield}
> perl 11853:   packet sent is get_member 2 MuniCalculator Yield double
undef:
> java:   packet recv is get_member 2 MuniCalculator Yield double undef:
> java:   class MuniCalculator is reference
> java:   class MuniCalculator is reference
> java: found a Yield member
> java:   has matching type double
> java:   class double is primitive numeric
> java:   args is undef -> forcing to double 0
> java:     result is 0.0
> java:   class java.lang.Double is primitive numeric
> java:   packet sent is ok scalar:48.46.48
> perl 11853:   packet recv is ok scalar:48.46.48
> perl 11853: returning member (0.0)
> perl 11853: fetching member variable 'AccruedInterest'
> perl 11853: getting object(2)->{AccruedInterest}
> perl 11853:   packet sent is get_member 2 MuniCalculator AccruedInterest
> double undef:
> java:   packet recv is get_member 2 MuniCalculator AccruedInterest double
> undef:
> java:   class MuniCalculator is reference
> java:   class MuniCalculator is reference
> java: found a AccruedInterest member
> java:   has matching type double
> java:   class double is primitive numeric
> java:   args is undef -> forcing to double 0
> java:     result is 0.0
> java:   class java.lang.Double is primitive numeric
> java:   packet sent is ok scalar:48.46.48
> perl 11853:   packet recv is ok scalar:48.46.48
> perl 11853: returning member (0.0)
> perl 11853: fetching member variable 'AccrualDays'
> perl 11853: getting object(2)->{AccrualDays}
> perl 11853:   packet sent is get_member 2 MuniCalculator AccrualDays long
> undef:
> java:   packet recv is get_member 2 MuniCalculator AccrualDays long undef:
> java:   class MuniCalculator is reference
> java:   class MuniCalculator is reference
> java: found a AccrualDays member
> java:   has matching type long
> java:   class long is primitive numeric
> java:   args is undef -> forcing to long 0
> java:     result is 0
> java:   class java.lang.Long is primitive numeric
> java:   packet sent is ok scalar:48
> perl 11853:   packet recv is ok scalar:48
> perl 11853: returning member ()
>
>
> Which seems to crank through just fine.
>
> I'm not sure why at this point minute changes are causing this thing to
hang
> but I certainly need resolution ASAP.
>
> If anyone has suggestions please let me know.
>
>
>
>
>
>

Reply via email to