[egenix-users] Glibc Memory corruption issues with Python 2.7

B.Nanda Kishore madhav.bnk at gmail.com
Tue Jul 23 18:34:44 CEST 2013


Hi, I am using egenix-mx-base==*3.2.1*, egenix-mxodbc==*3.1.1.*
Also it turned out that, its not specific to Python 2.7. Its happening
w.r.to 2.6 also

Python 2.6.6 (r266:84292, Mar 22 2013, 17:29:23)
[GCC 4.4.4 20100726 (Red Hat 4.4.4-13)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from sqlalchemy.orm import sessionmaker
>>> from sqlalchemy import create_engine
>>>
>>> Session = sessionmaker()
>>> engine = create_engine('mssql+mxodbc://my_user:my_pwd@my_dsn')
>>> conn = engine.connect()
*** glibc detected *** /my_instance/bin/python: malloc(): memory
corruption: 0x09410260 ***
*** glibc detected *** /my_instance/bin/python: malloc(): memory
corruption: 0x09410260 ***

Regards,
Nanda


On Tue, Jul 23, 2013 at 5:31 PM, M.-A. Lemburg <mal at egenix.com> wrote:

> Hello,
>
> which ODBC driver and unixODBC manager version are you using ?
>
> The stack trace shows that the double free happens in the
> unixODBC driver. It could be related to a bug we fixed in
> 3.1.2. Perhaps you could try with that version and see whether
> it fixes your problem:
>
> http://www.egenix.com/products/python/mxODBC/3.1.2/changelog.html
>
> On 23.07.2013 13:52, B.Nanda Kishore wrote:
> > Hi Everybody,
> >
> > I am running into glibc memory corruption issues when I try to access
> mssql
> > db using mxodbc,
> > using SQLAlchemy ORM with Python 2.7 alone(everything works fine with
> > Python 2.6).
> > Given below is the stack trace. Can someone let me know what I am
> missing ?
> > Currently I have 2.12 version of glibc.
> >
> > ---------- Stack Trace ---------------
> >
> > Python 2.7.3 (default, Apr 10 2013, 05:46:21)
> > [GCC 4.6.3] on linux2
> > Type "help", "copyright", "credits" or "license" for more information.
> >>>> from sqlalchemy.orm import sessionmaker
> >>>> from sqlalchemy import create_engine
> >>>>
> >>>> Session = sessionmaker()
> >>>> engine = create_engine('mssql+mxodbc://my_user:my_pwd@my_dsn')
> >>>> conn = engine.connect()
> > *** glibc detected *** /usr/bin/python: double free or corruption
> (!prev):
> > 0x09eecf48 ***
> > ======= Backtrace: =========
> > /lib/i386-linux-gnu/libc.so.6(+0x75ee2)[0xb7437ee2]
> >
> /my_instance/parts/unixODBC/lib/libodbc.so.1(SQLExecDirectW+0x567)[0xb6d29427]
> >
> /my_instance/eggs/egenix_mxodbc-3.1.1-py2.7-linux-i686.egg/mx/ODBC/unixODBC/mxODBC.so(+0x12b97)[0xb6d7ab97]
> >
> /my_instance/eggs/egenix_mxodbc-3.1.1-py2.7-linux-i686.egg/mx/ODBC/unixODBC/mxODBC.so(+0x1441b)[0xb6d7c41b]
> > /usr/bin/python(PyEval_EvalFrameEx+0x5a07)[0x81a2d47]
> > ======= Memory map: ========
> > 08048000-0829e000 r-xp 00000000 fc:01 11141548   /usr/bin/python2.7
> > 0829e000-0829f000 r--p 00255000 fc:01 11141548   /usr/bin/python2.7
> > 0829f000-082f4000 rw-p 00256000 fc:01 11141548   /usr/bin/python2.7
> > 082f4000-08300000 rw-p 00000000 00:00 0
> > 099a3000-09f66000 rw-p 00000000 00:00 0          [heap]
> > b6c85000-b6c86000 rw-p 00000000 00:00 0
> > b6c86000-b6c88000 r-xp 00000000 fc:01 11143751
> > /usr/lib/i386-linux-gnu/gconv/CP1252.so
> > b6c88000-b6c89000 r--p 00001000 fc:01 11143751
> > /usr/lib/i386-linux-gnu/gconv/CP1252.so
> > b6c89000-b6c8a000 rw-p 00002000 fc:01 11143751
> > /usr/lib/i386-linux-gnu/gconv/CP1252.so
> > b6c8a000-b6c9f000 r-xp 00000000 00:13 264309
> > /my_instance/parts/unixODBC/lib/libodbcinst.so.1.0.0
> > b6c9f000-b6ca0000 r--p 00014000 00:13 264309
> > /my_instance/parts/unixODBC/lib/libodbcinst.so.1.0.0
> > b6ca0000-b6ca1000 rw-p 00015000 00:13 264309
> > /my_instance/parts/unixODBC/lib/libodbcinst.so.1.0.0
> > b6ca1000-b6cf2000 r-xp 00000000 00:13 264437
> > /my_instance/parts/FreeTDS/lib/libtdsodbc.so.0.0.0
> > b6cf2000-b6cf4000 r--p 00050000 00:13 264437
> > /my_instance/parts/FreeTDS/lib/libtdsodbc.so.0.0.0
> > b6cf4000-b6cf5000 rw-p 00052000 00:13 264437
> > /my_instance/parts/FreeTDS/lib/libtdsodbc.so.0.0.0
> > b6cf5000-b6d62000 r-xp 00000000 00:13 264314
> > /my_instance/parts/unixODBC/lib/libodbc.so.1.0.0
> > b6d62000-b6d63000 r--p 0006c000 00:13 264314
> > /my_instance/parts/unixODBC/lib/libodbc.so.1.0.0
> > b6d63000-b6d67000 rw-p 0006d000 00:13 264314
> > /my_instance/parts/unixODBC/lib/libodbc.so.1.0.0
> > b6d67000-b6d68000 rw-p 00000000 00:00 0
> > b6d68000-b6d8c000 r-xp 00000000 00:13 133343
> >
> /my_instance/eggs/egenix_mxodbc-3.1.1-py2.7-linux-i686.egg/mx/ODBC/unixODBC/mxODBC.so
> > b6d8c000-b6d90000 r--p 00023000 00:13 133343
> >
> /my_instance/eggs/egenix_mxodbc-3.1.1-py2.7-linux-i686.egg/mx/ODBC/unixODBC/mxODBC.so
> > b6d90000-b6d91000 rw-p 00027000 00:13 133343
> >
> /my_instance/eggs/egenix_mxodbc-3.1.1-py2.7-linux-i686.egg/mx/ODBC/unixODBC/mxODBC.so
> > b6d91000-b6d98000 r-xp 00000000 fc:01 10485788   /lib/i386-linux-gnu/
> > librt-2.15.so
> > b6d98000-b6d99000 r--p 00006000 fc:01 10485788   /lib/i386-linux-gnu/
> > librt-2.15.so
> > b6d99000-b6d9a000 rw-p 00007000 fc:01 10485788   /lib/i386-linux-gnu/
> > librt-2.15.so
> > b6d9d000-b6da8000 r-xp 00000000 fc:01 10485785   /lib/i386-linux-gnu/
> > libnss_files-2.15.so
> > b6da8000-b6da9000 r--p 0000a000 fc:01 10485785   /lib/i386-linux-gnu/
> > libnss_files-2.15.so
> > b6da9000-b6daa000 rw-p 0000b000 fc:01 10485785   /lib/i386-linux-gnu/
> > libnss_files-2.15.so
> > b6daa000-b6db8000 r-xp 00000000 00:13 133439
> >
> /my_instance/eggs/egenix_mx_base-3.2.1-py2.7-linux-i686.egg/mx/DateTime/mxDateTime/mxDateTime.so
> > b6db8000-b6db9000 r--p 0000d000 00:13 133439
> >
> /my_instance/eggs/egenix_mx_base-3.2.1-py2.7-linux-i686.egg/mx/DateTime/mxDateTime/mxDateTime.so
> > b6db9000-b6dba000 rw-p 0000e000 00:13 133439
> >
> /my_instance/eggs/egenix_mx_base-3.2.1-py2.7-linux-i686.egg/mx/DateTime/mxDateTime/mxDateTime.so
> > b6dbb000-b6dbe000 r-xp 00000000 00:13 264723
> >
> /my_instance/eggs/SQLAlchemy-0.8.2-py2.7-linux-i686.egg/sqlalchemy/cresultproxy.so
> > b6dbe000-b6dbf000 r--p 00002000 00:13 264723
> >
> /my_instance/eggs/SQLAlchemy-0.8.2-py2.7-linux-i686.egg/sqlalchemy/cresultproxy.so
> > b6dbf000-b6dc0000 rw-p 00003000 00:13 264723
> >
> /my_instance/eggs/SQLAlchemy-0.8.2-py2.7-linux-i686.egg/sqlalchemy/cresultproxy.so
> > b6dc0000-b6dc1000 r-xp 00000000 00:13 264722
> >
> /my_instance/eggs/SQLAlchemy-0.8.2-py2.7-linux-i686.egg/sqlalchemy/cutils.so
> > b6dc1000-b6dc2000 r--p 00000000 00:13 264722
> >
> /my_instance/eggs/SQLAlchemy-0.8.2-py2.7-linux-i686.egg/sqlalchemy/cutils.so
> > b6dc2000-b6dc3000 rw-p 00001000 00:13 264722
> >
> /my_instance/eggs/SQLAlchemy-0.8.2-py2.7-linux-i686.egg/sqlalchemy/cutils.so
> > b6dc3000-b6ea6000 rw-p 00000000 00:00 0
> > b6ea7000-b6ea9000 r-xp 00000000 00:13 264717
> >
> /my_instance/eggs/SQLAlchemy-0.8.2-py2.7-linux-i686.egg/sqlalchemy/cprocessors.so
> > b6ea9000-b6eaa000 r--p 00001000 00:13 264717
> >
> /my_instance/eggs/SQLAlchemy-0.8.2-py2.7-linux-i686.egg/sqlalchemy/cprocessors.so
> > b6eaa000-b6eab000 rw-p 00002000 00:13 264717
> >
> /my_instance/eggs/SQLAlchemy-0.8.2-py2.7-linux-i686.egg/sqlalchemy/cprocessors.so
> > b6eab000-b6eec000 rw-p 00000000 00:00 0
> > b6eed000-b6f00000 r-xp 00000000 fc:01 11147242
> > /usr/lib/python2.7/lib-dynload/datetime.so
> > b6f00000-b6f01000 r--p 00012000 fc:01 11147242
> > /usr/lib/python2.7/lib-dynload/datetime.so
> > b6f01000-b6f04000 rw-p 00013000 fc:01 11147242
> > /usr/lib/python2.7/lib-dynload/datetime.so
> > b6f04000-b6fc7000 rw-p 00000000 00:00 0
> > b6fd1000-b6fdb000 r-xp 00000000 fc:01 10485789   /lib/i386-linux-gnu/
> > libnss_nis-2.15.so
> > b6fdb000-b6fdc000 r--p 00009000 fc:01 10485789   /lib/i386-linux-gnu/
> > libnss_nis-2.15.so
> > b6fdc000-b6fdd000 rw-p 0000a000 fc:01 10485789   /lib/i386-linux-gnu/
> > libnss_nis-2.15.so
> > b6fdd000-b6ff3000 r-xp 00000000 fc:01 10485801   /lib/i386-linux-gnu/
> > libnsl-2.15.so
> > b6ff3000-b6ff4000 r--p 00015000 fc:01 10485801   /lib/i386-linux-gnu/
> > libnsl-2.15.so
> > b6ff4000-b6ff5000 rw-p 00016000 fc:01 10485801   /lib/i386-linux-gnu/
> > libnsl-2.15.so
> > b6ff5000-b6ff7000 rw-p 00000000 00:00 0
> > b7003000-b7005000 r-xp 00000000 fc:01 11144103
> > /usr/lib/i386-linux-gnu/gconv/ISO8859-1.so
> > b7005000-b7006000 r--p 00001000 fc:01 11144103
> > /usr/lib/i386-linux-gnu/gconv/ISO8859-1.so
> > b7006000-b7007000 rw-p 00002000 fc:01 11144103
> > /usr/lib/i386-linux-gnu/gconv/ISO8859-1.so
> > b7007000-b7048000 rw-p 00000000 00:00 0
> > b7048000-b7064000 r-xp 00000000 fc:01 10485829
> > /lib/i386-linux-gnu/libtinfo.so.5.9
> > b7064000-b7066000 r--p 0001b000 fc:01 10485829
> > /lib/i386-linux-gnu/libtinfo.so.5.9
> > b7066000-b7067000 rw-p 0001d000 fc:01 10485829
> > /lib/i386-linux-gnu/libtinfo.so.5.9
> > b7067000-b709c000 r-xp 00000000 fc:01 10486005
> > /lib/i386-linux-gnu/libreadline.so.6.2
> > b709c000-b709d000 r--p 00035000 fc:01 10486005
> > /lib/i386-linux-gnu/libreadline.so.6.2
> > b709d000-b70a0000 rw-p 00036000 fc:01 10486005
> > /lib/i386-linux-gnu/libreadline.so.6.2
> > b70a0000-b70a1000 rw-p 00000000 00:00 0
> > b70a2000-b70a9000 r-xp 00000000 fc:01 10485779   /lib/i386-linux-gnu/
> > libnss_compat-2.15.so
> > b70a9000-b70aa000 r--p 00006000 fc:01 10485779   /lib/i386-linux-gnu/
> > libnss_compat-2.15.so
> > b70aa000-b70ab000 rw-p 00007000 fc:01 10485779   /lib/i386-linux-gnu/
> > libnss_compat-2.15.so
> > b70ab000-b70ae000 r-xp 00000000 fc:01 11147246
> > /usr/lib/python2.7/lib-dynload/_heapq.so
> > b70ae000-b70af000 r--p 00002000 fc:01 11147246
> > /usr/lib/python2.7/lib-dynload/_heapq.so
> > b70af000-b70b1000 rw-p 00003000 fc:01 11147246
> > /usr/lib/python2.7/lib-dynload/_heapq.so
> > b70b1000-b72b1000 r--p 00000000 fc:01 11147310
> > /usr/lib/locale/locale-archive
> > b72b1000-b72f2000 rw-p 00000000 00:00 0
> > b72f3000-b7377000 rw-p 00000000 00:00 0
> > b7377000-b73a1000 r-xp 00000000 fc:01 10485792   /lib/i386-linux-gnu/
> > libm-2.15.so
> > b73a1000-b73a2000 r--p 00029000 fc:01 10485792   /lib/i386-linux-gnu/
> > libm-2.15.so
> > b73a2000-b73a3000 rw-p 0002a000 fc:01 10485792   /lib/i386-linux-gnu/
> > libm-2.15.so
> > b73a3000-b73bf000 r-xp 00000000 fc:01 10485804
> > /lib/i386-linux-gnu/libgcc_s.so.1
> > b73bf000-b73c0000 r--p 0001b000 fc:01 10485804
> > /lib/i386-linux-gnu/libgcc_s.so.1
> > b73c0000-b73c1000 rw-p 0001c000 fc:01 10485804
> > /lib/i386-linux-gnu/libgcc_s.so.1
> > b73c1000-b73c2000 rw-p 00000000 00:00 0
> > b73c2000-b7565000 r-xp 00000000 fc:01 10485777   /lib/i386-linux-gnu/
> > libc-2.15.so
> > b7565000-b7566000 ---p 001a3000 fc:01 10485777   /lib/i386-linux-gnu/
> > libc-2.15.so
> > b7566000-b7568000 r--p 001a3000 fc:01 10485777   /lib/i386-linux-gnu/
> > libc-2.15.so
> > b7568000-b7569000 rw-p 001a5000 fc:01 10485777   /lib/i386-linux-gnu/
> > libc-2.15.so
> > b7569000-b756c000 rw-p 00000000 00:00 0
> > b756c000-b7580000 r-xp 00000000 fc:01 10485988
> > /lib/i386-linux-gnu/libz.so.1.2.3.4
> > b7580000-b7581000 r--p 00013000 fc:01 10485988
> > /lib/i386-linux-gnu/libz.so.1.2.3.4
> > b7581000-b7582000 rw-p 00014000 fc:01 10485988
> > /lib/i386-linux-gnu/libz.so.1.2.3.4
> > b7582000-b7714000 r-xp 00000000 fc:01 10489622
> > /lib/i386-linux-gnu/libcrypto.so.1.0.0
> > b7714000-b7723000 r--p 00192000 fc:01 10489622
> > /lib/i386-linux-gnu/libcrypto.so.1.0.0
> > b7723000-b772a000 rw-p 001a1000 fc:01 10489622
> > /lib/i386-linux-gnu/libcrypto.so.1.0.0
> > b772a000-b772d000 rw-p 00000000 00:00 0
> > b772d000-b777e000 r-xp 00000000 fc:01 10489621
> > /lib/i386-linux-gnu/libssl.so.1.0.0
> > b777e000-b7780000 r--p 00050000 fc:01 10489621
> > /lib/i386-linux-gnu/libssl.so.1.0.0
> > b7780000-b7784000 rw-p 00052000 fc:01 10489621
> > /lib/i386-linux-gnu/libssl.so.1.0.0
> > b7784000-b7786000 r-xp 00000000 fc:01 10485776   /lib/i386-linux-gnu/
> > libutil-2.15.so
> > b7786000-b7787000 r--p 00001000 fc:01 10485776   /lib/i386-linux-gnu/
> > libutil-2.15.so
> > b7787000-b7788000 rw-p 00002000 fc:01 10485776   /lib/i386-linux-gnu/
> > libutil-2.15.so
> > b7788000-b7789000 rw-p 00000000 00:00 0
> > b7789000-b778c000 r-xp 00000000 fc:01 10485796   /lib/i386-linux-gnu/
> > libdl-2.15.so
> > b778c000-b778d000 r--p 00002000 fc:01 10485796   /lib/i386-linux-gnu/
> > libdl-2.15.so
> > b778d000-b778e000 rw-p 00003000 fc:01 10485796   /lib/i386-linux-gnu/
> > libdl-2.15.so
> > b778e000-b77a5000 r-xp 00000000 fc:01 10485790   /lib/i386-linux-gnu/
> > libpthread-2.15.so
> > b77a5000-b77a6000 r--p 00016000 fc:01 10485790   /lib/i386-linux-gnu/
> > libpthread-2.15.so
> > b77a6000-b77a7000 rw-p 00017000 fc:01 10485790   /lib/i386-linux-gnu/
> > libpthread-2.15.so
> > b77a7000-b77a9000 rw-p 00000000 00:00 0
> > b77aa000-b77ab000 rw-s 00000000 00:04 65538      /SYSV791309fc (deleted)
> > b77ab000-b77ac000 rw-p 00000000 00:00 0
> > b77ac000-b77b3000 r--s 00000000 fc:01 11144061
> > /usr/lib/i386-linux-gnu/gconv/gconv-modules.cache
> > b77b3000-b77b7000 r-xp 00000000 fc:01 11147190
> > /usr/lib/python2.7/lib-dynload/readline.so
> > b77b7000-b77b8000 r--p 00003000 fc:01 11147190
> > /usr/lib/python2.7/lib-dynload/readline.so
> > b77b8000-b77b9000 rw-p 00004000 fc:01 11147190
> > /usr/lib/python2.7/lib-dynload/readline.so
> > b77b9000-b77bb000 rw-p 00000000 00:00 0
> > b77bb000-b77bc000 r-xp 00000000 00:00 0          [vdso]
> > b77bc000-b77dc000 r-xp 00000000 fc:01 10485793   /lib/i386-linux-gnu/
> > ld-2.15.so
> > b77dc000-b77dd000 r--p 0001f000 fc:01 10485793   /lib/i386-linux-gnu/
> > ld-2.15.so
> > b77dd000-b77de000 rw-p 00020000 fc:01 10485793   /lib/i386-linux-gnu/
> > ld-2.15.so
> > bfaa5000-bfac6000 rw-p 00000000 00:00 0          [stack]
> > Aborted (core dumped)
> >
> > Regards,
> > Nanda
> >
> >
> >
> >
> > _______________________________________________________________________
> > eGenix.com User Mailing List                     http://www.egenix.com/
> > https://www.egenix.com/mailman/listinfo/egenix-users
> >
>
> --
> Marc-Andre Lemburg
> eGenix.com
>
> Professional Python Services directly from the Source  (#1, Jul 23 2013)
> >>> Python Projects, Consulting and Support ...   http://www.egenix.com/
> >>> mxODBC.Zope/Plone.Database.Adapter ...       http://zope.egenix.com/
> >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
> ________________________________________________________________________
>
> ::::: Try our mxODBC.Connect Python Database Interface for free ! ::::::
>
>    eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
>     D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
>            Registered at Amtsgericht Duesseldorf: HRB 46611
>                http://www.egenix.com/company/contact/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /mailman-archives/egenix-users/attachments/20130723/c762a94a/attachment.htm


More information about the egenix-users mailing list