ECPG still having thread problems on Linux
От | Philip Yarra |
---|---|
Тема | ECPG still having thread problems on Linux |
Дата | |
Msg-id | 200306241825.32527.philip@utiba.com обсуждение исходный текст |
Ответы |
ECPG still having thread problems on Linux
|
Список | pgsql-interfaces |
Hi all, it looks like Lee's ECPG (and libpq) thread-safety patches have been applied, and configure --with-threads is also added. I have been doing some testing. On FreeBSD 4.8, the attached sample app runs without a problem. However, I still encounter a threading problem on Linux (RedHat 7.3). I have done the following: 1) cvs update 2) ./configure --with-threads && make && su -c "make install" 3) compiled cn.pgc as follows: a) ecpg -t cn.pgc b) gcc -I/usr/local/pgsql/include -L/usr/local/pgsql/lib \ -lecpg -lpgtypes -pthread cn.c 4) ./a.out - one thread runs to completion (inserts 5 records), the other hangs (manages one insert, then blocks forever) Using gdb, I attached to the thread that has locked up, and the backtrace looks like this: (gdb) backtrace #0 0x420e0187 in poll () from /lib/i686/libc.so.6 #1 0x4007d8cc in pqSocketPoll () from /usr/local/pgsql/lib/libpq.so.3 #2 0x4007d7ed in pqSocketCheck () from /usr/local/pgsql/lib/libpq.so.3 #3 0x4007d71f in pqWaitTimed () from /usr/local/pgsql/lib/libpq.so.3 #4 0x4007d6f5 in pqWait () from /usr/local/pgsql/lib/libpq.so.3 #5 0x4007bb53 in PQgetResult () from /usr/local/pgsql/lib/libpq.so.3 #6 0x4007bcbb in PQexec () from /usr/local/pgsql/lib/libpq.so.3 #7 0x40026d81 in ECPGexecute () from /usr/local/pgsql/lib/libecpg.so.4 #8 0x4002724c in ECPGdo () from /usr/local/pgsql/lib/libecpg.so.4 #9 0x08048927 in ins2 () #10 0x40043faf in pthread_start_thread () from /lib/i686/libpthread.so.0 Can anyone shed some light on why the behaviour differs between these two platforms? Also, perhaps someone other there with access to a different Linux setup (maybe a more recent build than RedHat 7.3, or a different distro) could try this app themselves to help verify if this is something that's stuffed on that release. I think I can rule out this problem being a quirk of my particular setup, as 3 different machines (all running RH7.3) give identical results. Build env: Linux 2.4.18-3 gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-113) Regards, Philip Yarra.
В списке pgsql-interfaces по дате отправления: