Re: [gnome-db] segmentation fault when i open a postgres connection after opened an oracle connection



It looks like the PostgreSQL provider uses the OpenSSL libraries (/usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 and /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0) and these use a symbol of /opt/instantclient_10_2/libnnz10.so which is obviously wrong as they should use a symbol from a library installed with the Debian system and not from Oracle instant client.

Normally symbols which are used by database providers are local to the database provider, and not global to the library, which means the symbols in /opt/instantclient_10_2/libnnz10.so should not be visible by the PostgreSQL provider (or any of the libraries it uses). This is how it is possible to have, in the same process, the same SQLite3 symbols from sqlite, sqlcipher and the BDB Sqlite API.

I don't know how the situation you have can happen, though. Can you send me the result of the "env" command line to see if I can find something in your environment which could help?

Also, could you try with Libgda V5 (if I remember correctly I had improved things with regard to providers loading)?

Vivien


On 29 August 2013 08:42, Andrea Zagli <azagli libero it> wrote:
sorry, i don't know why but my original mail is empty...


OS: gnu linux wheezy
libgda: 4.2.x from git
postgresql client: 9.1
instant client: 10.2.0.5


as the object, i get a segmentation fault if i open a connection to postgresql after just opened a connection to oracle; instead it works changing the order (postgresql before oracle)


under win it works

what could be the problem?

thanks in advance


the backtrace

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff0783086 in ?? () from /opt/instantclient_10_2/libnnz10.so
(gdb) backtr
#0  0x00007ffff0783086 in ?? () from /opt/instantclient_10_2/libnnz10.so
#1  0x00007ffff078273d in ?? () from /opt/instantclient_10_2/libnnz10.so
#2  0x00007fffedec9414 in BN_MONT_CTX_set () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
#3  0x00007fffedec9660 in BN_MONT_CTX_set_locked () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
#4  0x00007fffededdeab in ?? () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
#5  0x00007fffededfe92 in ?? () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
#6  0x00007fffedee0329 in RSA_verify () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
#7  0x00007fffee2098e2 in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
#8  0x00007fffee20cf73 in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
#9  0x00007fffee46a14b in ?? () from /usr/lib/libpq.so.5
#10 0x00007fffee45ac46 in PQconnectPoll () from /usr/lib/libpq.so.5
#11 0x00007fffee45c0de in ?? () from /usr/lib/libpq.so.5
#12 0x00007fffee45ca7f in PQconnectdb () from /usr/lib/libpq.so.5
#13 0x00007fffefbd6367 in gda_postgres_provider_open_connection (provider=<optimized out>, cnc=0x7e5740,
    params=<optimized out>, auth=<optimized out>, task_id=<optimized out>, async_cb=<optimized out>, cb_data=0x0)
    at gda-postgres-provider.c:496
#14 0x00007ffff7845be4 in gda_connection_open (error=0x7fffffffe6b8, cnc=0x7e5740) at gda-connection.c:1549
#15 gda_connection_open (cnc=0x7e5740, error=0x7fffffffe6b8) at gda-connection.c:1449
#16 0x00007ffff7846398 in gda_connection_open_from_string (provider_name=provider_name@entry=0x0,
    cnc_string=cnc_string entry=0x400bb0 "PostgreSQL://user HOST=host;PORT=5432;DB_NAME=db", auth_string=auth_string entry=0x0, options=options entry=GDA_CONNECTION_OPTIONS_NONE,
    error=error entry=0x7fffffffe6b8) at gda-connection.c:1300
#17 0x00007ffff7bc5734 in gdaex_new_from_string (
    cnc_string=0x400bb0 "PostgreSQL://userHOST=host;PORT=5432;DB_NAME=db") at gdaex.c:327
#18 0x00000000004009d0 in main ()


Il giorno mar 27 ago 2013 10:48:02 CEST, Vivien Malerba ha scritto:


Do you have a more precise test case?
Vivien


On 27 August 2013 09:51, Andrea Zagli <azagli libero it> wrote:






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]