Bruce Momjian wrote: > 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
OK, turns out I did break threading by not defining ENABLE_THREAD_SAFETY in configure. I have applied a patch to CVS to fix this. However, the larger question is how did I crash a backend by not defining this? I guess it is possible for a client to crash the server by having a misconfigured client --- I wasn't aware of that. -- Bruce Momjian <br...@momjian.us> 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 (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers