agora inbox for pljava-dev@postgresql.org
help / color / mirror / Atom feed[Pljava-dev] JVM crash in latest cvs on 7.4.7 implementating ResultSetProvider
4+ messages / 0 participants
[nested] [flat]
* [Pljava-dev] JVM crash in latest cvs on 7.4.7 implementating ResultSetProvider
@ 2005-03-10 08:50
0 siblings, 1 reply; 4+ messages in thread
From: @ 2005-03-10 08:50 UTC (permalink / raw)
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?
Thanks,
Stephen
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# SIGSEGV (0xb) at pc=0x081f7dac, pid=29055, tid=1077993600
#
# Java VM: Java HotSpot(TM) Server VM (1.5.0_01-b08 mixed mode)
# Problematic frame:
# C [postgres: crow elab [local] SELECT+0x1afdac] pfree+0xc
#
# An error report file with more information is saved as hs_err_pid29055.log
#
Log attached.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hs_err_pid29055.log
Type: application/octet-stream
Size: 13638 bytes
Desc: not available
URL: <http://lists.pgfoundry.org/pipermail/pljava-dev/attachments/20050310/bec767e7/attachment.obj;
^ permalink raw reply [nested|flat] 4+ messages in thread
* [Pljava-dev] JVM crash in latest cvs on 7.4.7 implementating ResultSetProvider
@ 2005-03-10 12:14
parent:
0 siblings, 1 reply; 4+ messages in thread
From: @ 2005-03-10 12:14 UTC (permalink / raw)
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
^ permalink raw reply [nested|flat] 4+ messages in thread
* [Pljava-dev] JVM crash in latest cvs on 7.4.7 implementating ResultSetProvider
@ 2005-03-10 21:47
parent:
0 siblings, 1 reply; 4+ messages in thread
From: @ 2005-03-10 21:47 UTC (permalink / raw)
Go it. I'll see if I can track down what's happening.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1077993600 (LWP 1501)]
0x081f7dac in pfree ()
(gdb) bt
#0 0x081f7dac in pfree ()
#1 0x4169c0bb in Function_invoke (self=0x6b02fa18, env=0x8319cec,
fcinfo=0xbfffe790)
at /home/crow/cvs/org.postgresql.pljava/src/C/pljava/Function.c:605
#2 0x41699b2e in internalCallHandler (trusted=1 '\001', fcinfo=0xbfffe790)
at /home/crow/cvs/org.postgresql.pljava/src/C/pljava/Backend.c:909
#3 0x41699989 in java_call_handler (fcinfo=0xbfffe790) at
/home/crow/cvs/org.postgresql.pljava/src/C/pljava/Backend.c:860
#4 0x0810c1d8 in ExecMakeFunctionResult ()
#5 0x0810df1a in ExecEvalExpr ()
#6 0x0810ec64 in ExecCleanTargetListLength ()
#7 0x0810eeca in ExecProject ()
#8 0x08116d65 in ExecResult ()
#9 0x0810add5 in ExecProcNode ()
#10 0x0810975c in ExecEndPlan ()
#11 0x08108b38 in ExecutorRun ()
#12 0x08180553 in PortalRun ()
#13 0x0818030f in PortalRun ()
#14 0x0817cb54 in pg_plan_queries ()
#15 0x0817f0c0 in PostgresMain ()
#16 0x08158c5b in ClosePostmasterPorts ()
#17 0x08158643 in ClosePostmasterPorts ()
#18 0x08156b48 in PostmasterMain ()
#19 0x081561d9 in PostmasterMain ()
#20 0x08126176 in main ()
On Thu, 10 Mar 2005 13:14:10 +0100, Thomas Hallgren
<thhal at mailblocks.com> wrote:
> 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
>
>
^ permalink raw reply [nested|flat] 4+ messages in thread
* [Pljava-dev] JVM crash in latest cvs on 7.4.7 implementating ResultSetProvider
@ 2005-03-11 00:54
parent:
0 siblings, 0 replies; 4+ messages in thread
From: @ 2005-03-11 00:54 UTC (permalink / raw)
I 'fixed' the bug by commenting out the pfree(args) call in Function.c line 605.
Is this call supposed to be here? I'm not sure if I am leaking memory
now or not.
--Stephen
On Thu, 10 Mar 2005 15:47:15 -0600, Stephen Crowley
<stephen.crowley at gmail.com> wrote:
> Go it. I'll see if I can track down what's happening.
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 1077993600 (LWP 1501)]
> 0x081f7dac in pfree ()
> (gdb) bt
> #0 0x081f7dac in pfree ()
> #1 0x4169c0bb in Function_invoke (self=0x6b02fa18, env=0x8319cec,
> fcinfo=0xbfffe790)
> at /home/crow/cvs/org.postgresql.pljava/src/C/pljava/Function.c:605
> #2 0x41699b2e in internalCallHandler (trusted=1 '\001', fcinfo=0xbfffe790)
> at /home/crow/cvs/org.postgresql.pljava/src/C/pljava/Backend.c:909
> #3 0x41699989 in java_call_handler (fcinfo=0xbfffe790) at
> /home/crow/cvs/org.postgresql.pljava/src/C/pljava/Backend.c:860
> #4 0x0810c1d8 in ExecMakeFunctionResult ()
> #5 0x0810df1a in ExecEvalExpr ()
> #6 0x0810ec64 in ExecCleanTargetListLength ()
> #7 0x0810eeca in ExecProject ()
> #8 0x08116d65 in ExecResult ()
> #9 0x0810add5 in ExecProcNode ()
> #10 0x0810975c in ExecEndPlan ()
> #11 0x08108b38 in ExecutorRun ()
> #12 0x08180553 in PortalRun ()
> #13 0x0818030f in PortalRun ()
> #14 0x0817cb54 in pg_plan_queries ()
> #15 0x0817f0c0 in PostgresMain ()
> #16 0x08158c5b in ClosePostmasterPorts ()
> #17 0x08158643 in ClosePostmasterPorts ()
> #18 0x08156b48 in PostmasterMain ()
> #19 0x081561d9 in PostmasterMain ()
> #20 0x08126176 in main ()
>
>
> On Thu, 10 Mar 2005 13:14:10 +0100, Thomas Hallgren
> <thhal at mailblocks.com> wrote:
> > 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
> >
> >
>
^ permalink raw reply [nested|flat] 4+ messages in thread
end of thread, other threads:[~2005-03-11 00:54 UTC | newest]
Thread overview: 4+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2005-03-10 08:50 [Pljava-dev] JVM crash in latest cvs on 7.4.7 implementating ResultSetProvider
2005-03-10 12:14 `
2005-03-10 21:47 `
2005-03-11 00:54 `
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox