From: Markus N. <ne...@it...> - 2005-08-04 13:17:31
|
Dear list, sorry to ask again... do you have any suggestion to get mdb-export running on a 64bit box? Thanks Markus On Fri, Jul 15, 2005 at 05:04:23PM +0200, Markus Neteler wrote: > Hi, >=20 > I have compiled the today's CVS version of the mdbtools > on a 64bit Linux machine. Unfortunately the following > command crashes: >=20 > mdb-export -I StazioniAutomatiche.mdb Misure =20 > Segmentation fault >=20 > while it works well on a 32bit Linux machine. Both distros > are Redhat Enterprise 4 (RHEL4). >=20 > A bit of debugging (I cannot sent the file since it is 1.4GB): >=20 > strace mdb-export -I StazioniAutomatiche.mdb Misure > ... > read(3, "\1\1\326\16\0\0\0\0\0\0\0\0\4\0\273\17v\0171\17\354\16"..., 40= 96) =3D 4096 > mmap(NULL, 200704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,= 0) =3D 0x2a95699000 > mmap(NULL, 200704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,= 0) =3D 0x2a956ca000 > mmap(NULL, 200704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,= 0) =3D 0x2a956fb000 > fstat(3, {st_mode=3DS_IFREG|0644, st_size=3D1479475200, ...}) =3D 0 > lseek(3, 73728, SEEK_SET) =3D 73728 > read(3, "\1\1V\6\20\0\0\0\0\0\0\0,\0\313\17\241\17e\0175\17\376"..., 40= 96) =3D 4096 > --- SIGSEGV (Segmentation fault) @ 0 (0) --- > +++ killed by SIGSEGV +++ >=20 >=20 > gdb `which mdb-export` > r -I StazioniAutomatiche.mdb Misure > Program received signal SIGSEGV, Segmentation fault. > 0x000000345dc227cc in __gconv_transform_ucs2_internal () from /lib64/tl= s/libc.so.6 > bt > #0 0x000000345dc227cc in __gconv_transform_ucs2_internal () from /lib6= 4/tls/libc.so.6 > #1 0x000000345dc1d538 in __gconv () from /lib64/tls/libc.so.6 > #2 0x000000345dc1cb9b in iconv () from /lib64/tls/libc.so.6 > #3 0x0000002a955663dc in mdb_unicode2ascii (mdb=3D0x502600, src=3D0x50= 3607 "=B0", slen=3D0, > dest=3D0x5199d0 "Temperatura aria Istantanea 60 min", dlen=3D16384)= at iconv.c:73 > #4 0x0000002a9555ff47 in mdb_col_to_string (mdb=3D0x502600, buf=3D0x50= 2614, start=3D4047, datatype=3D10, > size=3D36) at data.c:848 > #5 0x0000002a9555e83b in mdb_xfer_bound_data (mdb=3D0x502600, start=3D= 4047, col=3D0x515690, len=3D36) > at data.c:222 > #6 0x0000002a9555eadd in _mdb_attempt_bind (mdb=3D0x502600, col=3D0x51= 5690, isnull=3D0 '\0', > offset=3D4047, len=3D36) at data.c:306 > #7 0x0000002a9555ea2f in mdb_read_row (table=3D0x515210, row=3D0) at d= ata.c:284 > #8 0x0000002a9555ee6e in mdb_fetch_row (table=3D0x515210) at data.c:40= 2 > #9 0x000000000040121f in main (argc=3D4, argv=3D0x7fbffff808) at mdb-e= xport.c:157 >=20 > (gdb) bt full > ... > is_fixed =3D 53 '5', colnum =3D 0, offset =3D 4196064}, {value =3D = 0x515610, siz =3D 1569807600, > start =3D 52, is_null =3D 48 '0', is_fixed =3D 246 '=F6', colnum =3D= 127, offset =3D -1073744400}, { > value =3D 0x93635d7, siz =3D 4196064, start =3D 0, is_null =3D 0 '\= 0', is_fixed =3D 0 '\0', colnum =3D 0, > offset =3D 1568700462}, {value =3D 0x0, siz =3D 1, start =3D 0, is_= null =3D 0 '\0', is_fixed =3D 0 '\0', > colnum =3D 0, offset =3D -1789540033}, {value =3D 0x1000, siz =3D 7= 3728, start =3D 0, > is_null =3D 2 '\002', is_fixed =3D 9 '\t', colnum =3D 0, offset =3D= 13795360}, {value =3D 0x1, > siz =3D 33188, start =3D 1338, is_null =3D 204 '=CC', is_fixed =3D = 0 '\0', colnum =3D 0, offset =3D 0}, { > value =3D 0x582f0000, siz =3D 4096, start =3D 0, is_null =3D 144 '\= 220', is_fixed =3D 34 '"', > colnum =3D 0, offset =3D 1121438862}, {value =3D 0x325bbbe9, siz =3D= 1111569942, start =3D 0, > is_null =3D 0 '\0', is_fixed =3D 0 '\0', colnum =3D 0, offset =3D 1= 121152771}, {value =3D 0x0, siz =3D 0, > start =3D 0, is_null =3D 0 '\0', is_fixed =3D 0 '\0', colnum =3D 0,= offset =3D 0}, {value =3D 0x1000, > siz =3D 18, start =3D 0, is_null =3D 20 '\024', is_fixed =3D 38 '&'= , colnum =3D 0, offset =3D 5252608}, { > value =3D 0x7fbffff630, siz =3D -1789540359, start =3D 42, is_null = =3D 0 '\0', is_fixed =3D 16 '\020', > colnum =3D 0, offset =3D 4096}} > num_fields =3D 3 > #8 0x0000002a9555ee6e in mdb_fetch_row (table=3D0x515210) at data.c:40= 2 > mdb =3D (MdbHandle *) 0x502600 > fmt =3D (MdbFormatConstants *) 0x2a9566a780 > rows =3D 44 > rc =3D 5329424 > pg =3D 0 > #9 0x000000000040121f in main (argc=3D4, argv=3D0x7fbffff808) at mdb-e= xport.c:157 > j =3D 3 > mdb =3D (MdbHandle *) 0x502600 > table =3D (MdbTableDef *) 0x515210 > col =3D (MdbColumn *) 0x0 > bound_values =3D (char **) 0x517290 > bound_lens =3D (int *) 0x5159b0 > delimiter =3D 0x502010 "," > row_delimiter =3D 0x502030 "\n" > header_row =3D 0 '\0' > quote_text =3D 1 '\001' > insert_statements =3D 1 '\001' > sanitize =3D 0 '\0' > opt =3D -1 >=20 >=20 > Using 'ddd' it dies in > mdb-export.c:157 > while(mdb_fetch_row(table)) { >=20 > Do you have any ideas? I'm not sure how to continue > debugging... The bug seems to be in=20 > mdbtools/src/libmdb/data.c > Maybe related to guint32? (sorry, just guessing). >=20 > Thanks anyway for maintaining the mdbtools! >=20 > Markus >=20 > --=20 > Markus Neteler <neteler itc it> http://mpa.itc.it > ITC-irst - Centro per la Ricerca Scientifica e Tecnologica > MPBA - Predictive Models for Biol. & Environ. Data Analysis > Via Sommarive, 18 - 38050 Povo (Trento), Italy |