Re: weird buildfarm failures on arm/mipsel and --with-tcl

From: Stefan Kaltenbrunner <stefan(at)kaltenbrunner(dot)cc>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: weird buildfarm failures on arm/mipsel and --with-tcl
Date: 2007-01-29 18:22:39
Message-ID: 45BE3B6F.4080102@kaltenbrunner.cc
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:
> I wrote:
>> One possibility for fixing it is that maybe we should be making an
>> effort to execute Tcl_Finalize() before exiting the backend. If so,
>> having pltcl set up an on_proc_exit callback to do it would be the
>> appropriate thing. This is all speculation though.
>
> Just for grins I tried this, and I can see by strace'ing that it changes
> the process-shutdown-time behavior quite a lot: the secondary thread now
> exits first, apparently after being told to via a message from the
> primary. So I think this might indeed be something good to do. Would
> you try the attached patch and see if it changes the behavior on your
> systems? (This patch is very ugly and will draw compiler warnings, but
> don't worry about that yet.)

this patch definitly changes behaviour but not actually for the better :-(

after running the tcl regression tests and exiting psql I'm left with
two(!) backends(and I'm unable to stop the postmaster short of using -m
immedidate):

UID PID PPID LWP C NLWP STIME TTY TIME CMD
1000 7191 1 7191 0 1 19:02 pts/0 00:00:03
/home/mastermind/pginst/bin/postgres -D /home/mastermind/data
1000 7202 7191 7202 0 1 19:02 ? 00:00:00 postgres:
writer process
1000 7203 7191 7203 0 1 19:02 ? 00:00:00 postgres:
stats collector process
1000 7235 7191 7235 0 1 19:06 ? 00:00:01 postgres:
mastermind pl_regression [local] idle
1000 7267 7235 7267 0 1 19:08 ? 00:00:00 postgres:
mastermind pl_regression [local] idle

tracefile for 7235:

http://www.kaltenbrunner.cc/files/strace2.out

backtrace for 7235:

(gdb) bt
#0 0x41f04d80 in __pthread_sigsuspend () from /lib/libpthread.so.0
#1 0x41f03a7c in __pthread_wait_for_restart_signal () from
/lib/libpthread.so.0
#2 0x41f05d18 in pthread_key_delete () from /lib/libpthread.so.0
#3 0x41edbe1c in TclpFinalizeThreadDataKey () from /usr/lib/libtcl8.4.so.0
#4 0x41ec96dc in TclFinalizeSynchronization () from /usr/lib/libtcl8.4.so.0
#5 0x41e92040 in Tcl_Finalize () from /usr/lib/libtcl8.4.so.0
#6 0x001ab204 in proc_exit (code=0) at ipc.c:109
#7 0x001be3a8 in PostgresMain (argc=1074783216, argv=<value optimized
out>, username=0x0) at postgres.c:3638
#8 0x0018fb98 in ServerLoop () at postmaster.c:2953
#9 0x00190898 in PostmasterMain (argc=3, argv=0x36e5c0) at postmaster.c:963
#10 0x001468b0 in main (argc=3, argv=<value optimized out>) at main.c:188

Stefan

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2007-01-29 18:54:06 Re: weird buildfarm failures on arm/mipsel and --with-tcl
Previous Message korryd 2007-01-29 18:21:26 Re: shared_preload_libraries support on Win32?