Re: PATCH: pgagent fix for 'Caught unhandled unknown exception; terminating' bug in SQL steps - Mailing list pgadmin-hackers

From Dave Page
Subject Re: PATCH: pgagent fix for 'Caught unhandled unknown exception; terminating' bug in SQL steps
Date
Msg-id CA+OCxozp+B6X58hX9U-WyWnTJnAYLm9QY-AUxj42y_MyfoL=WQ@mail.gmail.com
Whole thread Raw
In response to PATCH: pgagent fix for 'Caught unhandled unknown exception; terminating' bug in SQL steps  (Thomas Krennwallner <tk+pgsql@postsubmeta.net>)
List pgadmin-hackers
Ashesh, can you do the honours with this please? Thanks!

On Thu, Mar 26, 2015 at 12:49 PM, Thomas Krennwallner
<tk+pgsql@postsubmeta.net> wrote:
> Hi!
>
> Running pgagent 3.4.0 on Debian jessie with an SQL jobstep crashes the
> worker thread with the error message
>
> Caught unhandled unknown exception; terminating
>
> Both job and jobstep status then remain as 'r' (running) until the
> pgagent process quits. After restarting pgagent, which cleans up the
> job status and sets it to 'd' (aborted), the job containing the SQL
> jobstep is free to run again, but the next run will end up in the same
> deadlock situation.
>
> I have tracked down the problem to DBconn::GetLastError(), which gets
> called after each SQL jobstep execution in Job::Execute(): there,
> DBconn::GetLastError() throws an exception whenever the last error
> message is empty.
>
> The attached patch fixes this problem by adding missing bounds checks
> to DBconn::GetLastError().
>
> Here is a log of pgagent with an SQL jobstep:
>
> $ pgagent -l 2 -f hostaddr=127.0.0.1 port=5432 dbname=pgdb user=pgdb
> DEBUG: Creating primary connection
> DEBUG: Connection Information:
> DEBUG:      user         : pgdb
> DEBUG:      port         : 5432
> DEBUG:      host         : 127.0.0.1
> DEBUG:      dbname       : pgdb
> DEBUG:      password     :
> DEBUG:      conn timeout : 0
> DEBUG: Connection Information:
> DEBUG:      user         : pgdb
> DEBUG:      port         : 5432
> DEBUG:      host         : 127.0.0.1
> DEBUG:      dbname       : pgdb
> DEBUG:      password     :
> DEBUG:      conn timeout : 0
> DEBUG: Creating DB connection: user=pgdb port=5432 hostaddr=127.0.0.1 dbname=pgdb
> DEBUG: Database sanity check
> DEBUG: Clearing zombies
> DEBUG: Checking for jobs to run
> DEBUG: Sleeping...
> DEBUG: Clearing inactive connections
> DEBUG: Connection stats: total - 1, free - 0, deleted - 0
> DEBUG: Checking for jobs to run
> DEBUG: Sleeping...
> [...]
> DEBUG: Clearing inactive connections
> DEBUG: Connection stats: total - 1, free - 0, deleted - 0
> DEBUG: Checking for jobs to run
> DEBUG: Sleeping...
> DEBUG: Connection stats: total - 1, free - 0, deleted - 0
> DEBUG: Checking for jobs to run
> DEBUG: Creating job thread for job 5
> DEBUG: Creating DB connection: user=pgdb port=5432 hostaddr=127.0.0.1 dbname=pgdb
> DEBUG: Allocating new connection to database pgdb
> DEBUG: Starting job: 5
> DEBUG: Sleeping...
> DEBUG: Creating DB connection: user=pgdb port=5432 hostaddr=127.0.0.1 dbname=pgdb dbname=pgdb
> DEBUG: Allocating new connection to database pgdb
> DEBUG: Executing SQL step 40 (part of job 5)
> *** Caught unhandled unknown exception; terminating
> DEBUG: Destroying job thread for job 5
> DEBUG: Checking for jobs to run
> DEBUG: Sleeping...
> DEBUG: Clearing inactive connections
> DEBUG: Connection stats: total - 3, free - 0, deleted - 0
> DEBUG: Checking for jobs to run
> DEBUG: Sleeping...
> DEBUG: Clearing inactive connections
> DEBUG: Connection stats: total - 3, free - 0, deleted - 0
> DEBUG: Checking for jobs to run
> DEBUG: Sleeping...
> [...]
>
>
> --
> Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgadmin-hackers
>



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgadmin-hackers by date:

Previous
From: Thomas Krennwallner
Date:
Subject: PATCH: pgagent fix for 'Caught unhandled unknown exception; terminating' bug in SQL steps
Next
From: Ashesh Vashi
Date:
Subject: Re: PATCH: pgagent fix for 'Caught unhandled unknown exception; terminating' bug in SQL steps