Package: python-pyodbc
Version: 3.0.6-2
Severity: normal
Hi.
I'm trying to query a Virtuoso server installed on a different host
(virtuoso-server installed there).
I'm using :
$ cat ~/.odbc.ini
[MyVirtuoso]
Description = Virtuoso
Driver = /usr/lib/x86_64-linux-gnu/odbc/virtodbc_r.so
Address = 172.17.0.2:1111
UserName = dba
User = dba
And :
$ cat test.py
import pyodbc
cnxn = pyodbc.connect('DSN=MyVirtuoso;UID=dba;PWD=dba')
cursor = cnxn.cursor()
This segfaults with :
$ gdb /usr/bin/python2.7
GNU gdb (GDB) 7.6.2 (Debian 7.6.2-1)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/python2.7...Reading symbols from
/usr/lib/debug/usr/bin/python2.7...done.
done.
(gdb) run test.py
Starting program: /usr/bin/python2.7 test.py
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[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.
PyDict_SetItem (op={}, key=<unknown at remote 0x7fff00000000>,
value=<pyodbc.CnxnInfo at remote 0x7ffff7e83990>) at ../Objects/dictobject.c:808
808 ../Objects/dictobject.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0 PyDict_SetItem (op={}, key=<unknown at remote 0x7fff00000000>,
value=<pyodbc.CnxnInfo at remote 0x7ffff7e83990>) at ../Objects/dictobject.c:808
#1 0x00007ffff6ae2571 in GetConnectionInfo(_object*, Connection*) () from
/usr/lib/python2.7/dist-packages/pyodbc.so
#2 0x00007ffff6adc559 in Connection_New(_object*, bool, bool, bool, long,
bool) () from /usr/lib/python2.7/dist-packages/pyodbc.so
#3 0x00007ffff6ae0cbf in ?? () from /usr/lib/python2.7/dist-packages/pyodbc.so
#4 0x000000000050887d in call_function (oparg=<optimized out>,
pp_stack=0x7fffffffdf40) at ../Python/ceval.c:4020
#5 PyEval_EvalFrameEx (f=f@entry=Frame 0x7ffff7fb5c20, for file test.py, line
4, in <module> (), throwflag=throwflag@entry=0) at ../Python/ceval.c:2666
#6 0x0000000000576f9c in PyEval_EvalCodeEx (closure=0x0, defcount=0, defs=0x0,
kwcount=0, kws=0x0, argcount=0, args=0x0, locals=<optimized out>,
globals=<optimized out>,
co=<optimized out>) at ../Python/ceval.c:3252
#7 PyEval_EvalCode (co=0x7ffff7ec6b30, globals=<optimized out>,
locals=<optimized out>) at ../Python/ceval.c:667
#8 0x0000000000469884 in run_mod (mod=<optimized out>, filename=<optimized
out>,
globals={'__builtins__': <module at remote 0x7ffff7f8cb08>, '__file__':
'test.py', '__package__': None, '__name__': '__main__', 'pyodbc': <module at
remote 0x7ffff7e85a60>, '__doc__': None},
locals={'__builtins__': <module at remote 0x7ffff7f8cb08>, '__file__':
'test.py', '__package__': None, '__name__': '__main__', 'pyodbc': <module at
remote 0x7ffff7e85a60>, '__doc__': None}, flags=<optimized out>,
arena=<optimized out>) at ../Python/pythonrun.c:1370
#9 0x0000000000469c04 in PyRun_FileExFlags (fp=fp@entry=0x974cd0,
filename=filename@entry=0x7fffffffe5b0 "test.py", start=start@entry=257,
globals=globals@entry={'__builtins__': <module at remote 0x7ffff7f8cb08>,
'__file__': 'test.py', '__package__': None, '__name__': '__main__', 'pyodbc':
<module at remote 0x7ffff7e85a60>, '__doc__': None},
locals=locals@entry={'__builtins__': <module at remote 0x7ffff7f8cb08>,
'__file__': 'test.py', '__package__': None, '__name__': '__main__', 'pyodbc':
<module at remote 0x7ffff7e85a60>, '__doc__': None}, closeit=closeit@entry=1,
flags=flags@entry=0x7fffffffe110) at ../Python/pythonrun.c:1356
#10 0x000000000046a809 in PyRun_SimpleFileExFlags (fp=fp@entry=0x974cd0,
filename=<optimized out>, filename@entry=0x7fffffffe5b0 "test.py",
closeit=closeit@entry=1,
flags=flags@entry=0x7fffffffe110) at ../Python/pythonrun.c:948
#11 0x000000000046a905 in PyRun_AnyFileExFlags (fp=fp@entry=0x974cd0,
filename=filename@entry=0x7fffffffe5b0 "test.py", closeit=closeit@entry=1,
flags=flags@entry=0x7fffffffe110) at ../Python/pythonrun.c:752
#12 0x000000000046b46e in Py_Main (argc=<optimized out>, argv=0x7fffffffe2c8)
at ../Modules/main.c:640
#13 0x00007ffff6f15b45 in __libc_start_main (main=0x46b52c <main>, argc=2,
argv=0x7fffffffe2c8, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>,
stack_end=0x7fffffffe2b8) at libc-start.c:287
#14 0x0000000000579514 in _start ()
Note that somehow it manages to connect to the server, cause if I don't add the
PWD=dba to the connection string in the Python code, I get :
$ python test.py
Traceback (most recent call last):
File "test.py", line 5, in <module>
cnxn = pyodbc.connect('DSN=MyVirtuoso;UID=dba')
pyodbc.Error: ('28000', '[28000] [unixODBC][OpenLink][Virtuoso iODBC
Driver]CL034: Bad login (-1) (SQLDriverConnect)')
Which is reported on the server side :
14:40:48 Incorrect login for dba from IP [172.17.42.1]
Hope this helps.
Thanks in advance.
Best regards,
-- System Information:
Debian Release: jessie/sid
APT prefers testing
APT policy: (900, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.13-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages python-pyodbc depends on:
ii libc6 2.18-5
ii libgcc1 1:4.9.0-2
ii libodbc1 2.3.1-2
ii libstdc++6 4.9.0-2
ii python 2.7.5-5
ii unixodbc 2.3.1-2
python-pyodbc recommends no packages.
python-pyodbc suggests no packages.
-- debconf-show failed
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]