Greg Smith wrote:
> Bruce Momjian wrote:
> > Peter Eisentraut wrote:
> >
> >>> if i remove the -j option then it runs without a problem
> >>>
> >> Possibly related to the incomplete removal of the enable-thread-safety
> >> option that I just posted about.
> >>
> >
> > I thought about that but I can't figure out how that would affect
> > pgbench.
> >
> The "-j" option is the recent addition to pgbench that causes it to
> launch multiple client threads when enabled, each handling a subset of
> the transactions. There's blocks of codes in pgbench.c now that depend
> on having sane values for thread safety in libpq. That it may be
> detecting the wrong thing and operating in an unsafe way after the
> recent change is what Peter's suggesting. This is good, actually,
> because I don't think we had many client-side thread-safety tests
> floating around to catch problems in this area before.
I can reproduce the crash here so I can see if I can find the cause.
However, the failure is happening in the _server_. Threading is
unrelated to the server itself, only the client. I suppose the first
test for me will be to test CVS before the thread change was made.
The failure is in heap_fill_tuple(), and I am unclear how that assert
could be getting triggered:
CONTEXT: automatic analyze of table "test.public.pgbench_accounts"
TRAP: FailedAssertion("!((data - start) == data_size)", File:
"heaptuple.c", Line: 255)
TRAP: FailedAssertion("!((data - start) == data_size)", File:
"heaptuple.c", Line: 255)
TRAP: FailedAssertion("!((data - start) == data_size)", File:
"heaptuple.c", Line: 255)
LOG: server process (PID 6076) was terminated by signal 6: Abort trap
LOG: terminating any other active server processes
--
Bruce Momjian <[email protected]> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers