Re: [JDBC] Strange server error with current 8.0beta driver

From: "Barry Lind" <blind(at)xythos(dot)com>
To: <pgsql-jdbc(at)postgresql(dot)org>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [JDBC] Strange server error with current 8.0beta driver
Date: 2004-11-23 05:34:48
Message-ID: 03E7D3E231BB7B4A915A6581D4296CC6C08C40@NSNOVPS00411.nacio.xythos.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-jdbc

OK, getting closer. The error happens if in jdbc I reuse
PreparedStatement objects to reexecute the same set of queries multiple
times. Specifically if I do the following set of queries:

Declare cursor
Close cursor
Declare cursor
Close cursor
Declare cursor
Close cursor
Declare cursor
Close cursor
Declare cursor
Close cursor

After the 5th close the server will gpf on windows (if I add fetches
between the declare and close then I don't get a gfp, but instead get
"ERROR: unrecognized node type: 0"

I believe the current jdbc driver begins to use a named portal for reuse
after five executions of the same jdbc PreparedStatement (until then it
uses an unnamed portal), which would seem to jive with the fact that it
errors after the fifth execution. (Oliver please correct me if I am
wrong here).

If you still need a test case, let me know, and I will continue to
package up what I have been working on.

Thanks,
--Barry

-----Original Message-----
From: Barry Lind
Sent: Monday, November 22, 2004 7:48 PM
To: pgsql-jdbc(at)postgresql(dot)org; pgsql-hackers(at)postgresql(dot)org
Subject: FW: [HACKERS] [JDBC] Strange server error with current 8.0beta
driver

I have been unable to come up with a simple test case for this problem
(yet). But here is some additional information.

Today I setup a 7.4.6 and an 8.0.0beta5 on linux (RH9) and could also
reproduce the problem. However there were some new twists.

I now sometimes get the following error on 8.0:

ERROR: cache lookup failed for function 18005

I did as Tom suggested and rebuilt with --enable-cassert and strangely
that made the problem more difficult to reproduce. Once I finally was
able to get the server to start having errors, I got the following
interesting message in the log file:

TRAP: FailedAssertion("!(serializable ? !((MyProc->xmin) !=
((TransactionId) 0)) : ((MyProc->xmin) != ((TransactionId) 0)))", File:
"sinval.c", Line: 767)

I am going to try to continue to see if I can come up with a test case,
but I wanted to pass this information on in case it might mean anything
to anyone.

Thanks,
--Barry

-----Original Message-----
From: Barry Lind
Sent: Friday, November 19, 2004 5:40 PM
To: Kris Jurka
Cc: pgsql-jdbc(at)postgresql(dot)org; pgsql-hackers(at)postgresql(dot)org
Subject: Re: [HACKERS] [JDBC] Strange server error with current 8.0beta
driver

Kris,

Environment #1: WinXP 8.0beta4 server, 8.0jdbc client

I get random failures with the following errors:
$ grep ERROR postgresql-2004-11-19_091524.log
2004-11-19 12:19:06 ERROR: unrecognized node type: 25344832
2004-11-19 12:20:06 ERROR: unrecognized node type: 25344832
2004-11-19 12:21:06 ERROR: unrecognized node type: 0
2004-11-19 12:22:06 ERROR: unrecognized node type: 0
2004-11-19 12:23:06 ERROR: unrecognized node type: 0
2004-11-19 12:24:06 ERROR: unrecognized node type: 0
2004-11-19 12:25:06 ERROR: unrecognized node type: 0
2004-11-19 12:26:06 ERROR: unrecognized node type: 0
2004-11-19 12:27:06 ERROR: unrecognized node type: 0
2004-11-19 12:28:06 ERROR: unrecognized node type: 653
2004-11-19 12:29:06 ERROR: unrecognized node type: 0
2004-11-19 12:30:06 ERROR: unrecognized node type: 0
2004-11-19 12:30:30 ERROR: unrecognized node type: 26
2004-11-19 12:31:06 ERROR: unrecognized node type: 0
2004-11-19 12:32:06 ERROR: unrecognized node type: 0
2004-11-19 12:33:06 ERROR: unrecognized node type: 0
2004-11-19 12:34:06 ERROR: unrecognized node type: 0
2004-11-19 12:35:06 ERROR: unrecognized node type: 0
2004-11-19 12:36:06 ERROR: unrecognized node type: 0
2004-11-19 12:37:06 ERROR: unrecognized node type: 0

Environment #2: Sun Solaris 7.4.3 server, 8.0jdbc client

I get random failures with the following errors:
ERROR: no value found for parameter 1
ERROR: no value found for parameter 1
ERROR: no value found for parameter 1
ERROR: no value found for parameter 1
ERROR: no value found for parameter 1
ERROR: no value found for parameter 1
ERROR: no value found for parameter 1

I am seeing errors in the two different environments where I am testing
the 8.0 driver (which fully uses the V3 protocol), I don't have errors
with the 7.4 driver (which only used basic V3 protocol features). I
will work to try to come up with a smaller reproducable test case and
repro in a linux environment where I can do more.

Thanks,
--Barry

-----Original Message-----
From: Kris Jurka [mailto:books(at)ejurka(dot)com]
Sent: Friday, November 19, 2004 3:57 PM
To: Barry Lind
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: [JDBC] Strange server error with current 8.0beta driver

On Fri, 19 Nov 2004, Barry Lind wrote:

> During my testing with the 8.0 driver, I am occasionally getting
> failures. The strange thing is that a test will only fail 1 out of 10

> times. The error I am getting from the server is:
>
> ERROR: unrecognized node type: 25344832

This type of error points to a bug in the server. It means a query plan
is created that it can't process. A higher level node finds a lower
level node that it doesn't expect. The variability of the test failure
could be due to different plans being generated (note that V2 vs V3 can
generate different plans because of string substitution vs a prepared
query). The fact that the node number varies is a little suspicious,
also because it's a very large value. Does it vary between a couple
values or is it different every time. If it varies wildly then that
could point to a memory overwrite instead of a bad plan being created,
but in any case this problem is on the server side.

Kris Jurka

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Fuhr 2004-11-23 06:56:24 Re: another plperl bug
Previous Message Barry Lind 2004-11-23 03:47:52 FW: [JDBC] Strange server error with current 8.0beta driver

Browse pgsql-jdbc by date

  From Date Subject
Next Message Temp02 2004-11-23 06:03:34 Re: Can't throw the dreaded 'idle in transaction' - need help!
Previous Message Barry Lind 2004-11-23 03:47:52 FW: [JDBC] Strange server error with current 8.0beta driver