mdb-sql produces Segmentation fault on AMD Opteron

"Niels Tolstrup" <[email protected]>
Newsgroups gmane.comp.db.mdb-tools.devel
Message-ID <[email protected]>
Dear Sirs,

I would like to use mdb-sql to query an MS Access database, but I get an Segmentation fault.

I am using a 64 bit AMD Opteron with debian sarge and mdbtools_0.5.99.0.6pre1.0.20050409-1_amd64

I seems that my problem is related to running on the Opteron, because I am running the exact same version of mdbtools on the same debian distribution on a 32 bit Intel processor without any problems.

The command looks like this:
nt@betelgeuse:~$ echo 'select "EQ No",Sequence,"Oligo Name" from "Oligo Synthesis"' > my_query
nt@betelgeuse:~$ mdb-sql oligo.mdb < my_query

Segmentation fault

For debugging I tried:

nt@betelgeuse:~$ gdb mdb-sql
GNU gdb 6.3-debian
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-linux"...(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run oligo.mdb < my_query
Starting program: /usr/bin/mdb-sql oligo.mdb < my_query
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)


Program received signal SIGSEGV, Segmentation fault.
0x00002aaaab0bef32 in __gconv_get_alias_db () from /lib/libc.so.6
(gdb) backtrace
#0  0x00002aaaab0bef32 in __gconv_get_alias_db () from /lib/libc.so.6
#1  0x00002aaaab0b9459 in iconv_close () from /lib/libc.so.6
#2  0x00002aaaab0b8a57 in iconv () from /lib/libc.so.6
#3  0x00002aaaaabcdec8 in mdb_unicode2ascii () from /usr/lib/libmdb.so.1
#4  0x00002aaaaabc7b57 in mdb_read_columns () from /usr/lib/libmdb.so.1
#5  0x00002aaaaabc6405 in mdb_read_catalog () from /usr/lib/libmdb.so.1
#6  0x00002aaaaabc7727 in mdb_read_table_by_name () from /usr/lib/libmdb.so.1
#7  0x00002aaaaacd7673 in mdb_sql_select () from /usr/lib/libmdbsql.so.1
#8  0x00002aaaaacd7d84 in yyparse () from /usr/lib/libmdbsql.so.1
#9  0x0000000000401555 in ?? ()
#10 0x00000000004018dd in ?? ()
#11 0x0000000000402292 in ?? ()
#12 0x00002aaaab0b8441 in __libc_start_main () from /lib/libc.so.6


I also tried to run mdb-tables, it runs fine on the Intel, but fails on the Opteron:

nt@betelgeuse:~$ gdb mdb-tables
GNU gdb 6.3-debian
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-linux"...(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run oligo.mdb
Starting program: /usr/bin/mdb-tables oligo.mdb
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)

Program received signal SIGSEGV, Segmentation fault.
0x00002aaaaae7cf32 in __gconv_get_alias_db () from /lib/libc.so.6
(gdb) backtrace
#0  0x00002aaaaae7cf32 in __gconv_get_alias_db () from /lib/libc.so.6
#1  0x00002aaaaae77459 in iconv_close () from /lib/libc.so.6
#2  0x00002aaaaae76a57 in iconv () from /lib/libc.so.6
#3  0x00002aaaaabcdec8 in mdb_unicode2ascii () from /usr/lib/libmdb.so.1
#4  0x00002aaaaabc7b57 in mdb_read_columns () from /usr/lib/libmdb.so.1
#5  0x00002aaaaabc6405 in mdb_read_catalog () from /usr/lib/libmdb.so.1
#6  0x0000000000400e65 in ?? ()
#7  0x00002aaaaae76441 in __libc_start_main () from /lib/libc.so.6
#8  0x0000000000400b6a in ?? ()
#9  0x00007fffff9bca48 in ?? ()



The fact that it runs on the 32 bit machine but not the 64 bit machine, and the failing call to iconv() makes me believe that I have a problem with integer size.

Please help me find out how I, using a linux command line tool in debian on an Opteron, can query a MS Access database.

Sincerely yours

Niels

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

_______________________________________________
mdbtools-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mdbtools-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.