[Pljava-dev] JVM crash in latest cvs on 7.4.7 implementating ResultSetProvider

Thomas Hallgren thhal at mailblocks.com
Thu Mar 10 12:14:10 UTC 2005


Stephen Crowley wrote:

>I'm getting a JVM crash in the latest cvs.  
>
>My function def:
>
>CREATE FUNCTION elab.getDailyReport(date)
>			RETURNS SETOF island_daily
>			AS 'elab.DailyReport.getDailyReport'
>			LANGUAGE java;
>
>DailyReport implements ResultSetProvider
>
>assignRowValues() isn't doing anything out of the ordinary.
>
>Any ideas?  The crash happens after about 50 rows returned. Any tips
>on debugging? How can I turn these frame pointers into something
>useful?
>  
>
Try a make clean and then recompiling PL/Java with -g option, i.e.

make PGSQLDIR=<...> CFLAGS=-g

or, if you care to debug the binary:

make PGSQLDIR=<...> CPPFLAGS=-DPLJAVA_DEBUG=1 CFLAGS=-g

The result of the latter compilation will be a binary that goes into a 
loop the first time PL/Java is initialized. It prints out the pid of the 
process and asks you to attach a gdb. So you do:

gdb /usr/local/pgsql/bin/postgres <the pid>

Then, inside of gdb you set the breakpoints you need and then issue:

set pljavaDebug=0
continue

this breaks the loop. Hope this helps,

Regards
Thomas Hallgren




More information about the Pljava-dev mailing list