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

From: stephen(dot)crowley at gmail(dot)com (Stephen Crowley)
To:
Subject: [Pljava-dev] JVM crash in latest cvs on 7.4.7 implementating ResultSetProvider
Date: 2005-03-11 00:54:35
Message-ID: 3f71fdf1050310165416b04fd6@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pljava-dev

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

In response to

Browse pljava-dev by date

  From Date Subject
Next Message Mohammed Mudassir 2005-03-11 07:37:57 [Pljava-dev] RE: Loading of native libraries in PLJAVA
Previous Message Stephen Crowley 2005-03-10 21:47:15 [Pljava-dev] JVM crash in latest cvs on 7.4.7 implementating ResultSetProvider