agora inbox for pljava-dev@postgresql.org  
help / color / mirror / Atom feed
Subject: [Pljava-dev] JVM crash in latest cvs on 7.4.7 implementating ResultSetProvider
Date: Thu, 10 Mar 2005 18:54:35 -0600
Message-ID: <3f71fdf1050310165416b04fd6@mail.gmail.com> (raw)
In-Reply-To: <3f71fdf1050310134768d22fab@mail.gmail.com>
References: <3f71fdf10503100050360ea179@mail.gmail.com>
	<42303A12.6030201@mailblocks.com>
	<3f71fdf1050310134768d22fab@mail.gmail.com>

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




view thread (4+ messages)

Message-ID: <3f71fdf1050310165416b04fd6@mail.gmail.com>
Permalink:  ../3f71fdf1050310165416b04fd6@mail.gmail.com/
Also on:    postgresql.org/message-id/3f71fdf1050310165416b04fd6@mail.gmail.com

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pljava-dev@postgresql.org
  Subject: Re: [Pljava-dev] JVM crash in latest cvs on 7.4.7 implementating ResultSetProvider
  In-Reply-To: <3f71fdf1050310165416b04fd6@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox