From: Carsten E. <ce...@if...> - 2005-08-04 13:52:41
|
Hi Markus, Somedays ago Brian Bruns wrote: >I'd be interested in fixing the CVS version. I don't have access to a >solaris box though. I could try it on AIX and perhaps find >something...do you have a sample database which demonstrates the >problem? The other possibility is that it is a 32bit/64bit issue. >I'm not sure it is 64bit clean, can you set the compiler flags to ^^^ ^^^^^^^^^^^ >force 32bit mode? (not sure how to do it on sparc, sorry). This maybe also releated to you problem. -- Carsten ---------- 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, > > I have compiled the today's CVS version of the mdbtools > on a 64bit Linux machine. Unfortunately the following > command crashes: > > mdb-export -I StazioniAutomatiche.mdb Misure > Segmentation fault > > while it works well on a 32bit Linux machine. Both distros > are Redhat Enterprise 4 (RHEL4). > > A bit of debugging (I cannot sent the file since it is 1.4GB): > > 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"..., 4096) = 4096 > mmap(NULL, 200704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a95699000 > mmap(NULL, 200704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a956ca000 > mmap(NULL, 200704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a956fb000 > fstat(3, {st_mode=S_IFREG|0644, st_size=1479475200, ...}) = 0 > lseek(3, 73728, SEEK_SET) = 73728 > read(3, "\1\1V\6\20\0\0\0\0\0\0\0,\0\313\17\241\17e\0175\17\376"..., 4096) = 4096 > --- SIGSEGV (Segmentation fault) @ 0 (0) --- > +++ killed by SIGSEGV +++ > > > gdb `which mdb-export` > r -I StazioniAutomatiche.mdb Misure > Program received signal SIGSEGV, Segmentation fault. > 0x000000345dc227cc in __gconv_transform_ucs2_internal () from /lib64/tls/libc.so.6 > bt > #0 0x000000345dc227cc in __gconv_transform_ucs2_internal () from /lib64/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=0x502600, src=0x503607 "°", slen=0, > dest=0x5199d0 "Temperatura aria Istantanea 60 min", dlen=16384) at iconv.c:73 > #4 0x0000002a9555ff47 in mdb_col_to_string (mdb=0x502600, buf=0x502614, start=4047, datatype=10, > size=36) at data.c:848 > #5 0x0000002a9555e83b in mdb_xfer_bound_data (mdb=0x502600, start=4047, col=0x515690, len=36) > at data.c:222 > #6 0x0000002a9555eadd in _mdb_attempt_bind (mdb=0x502600, col=0x515690, isnull=0 '\0', > offset=4047, len=36) at data.c:306 > #7 0x0000002a9555ea2f in mdb_read_row (table=0x515210, row=0) at data.c:284 > #8 0x0000002a9555ee6e in mdb_fetch_row (table=0x515210) at data.c:402 > #9 0x000000000040121f in main (argc=4, argv=0x7fbffff808) at mdb-export.c:157 > > (gdb) bt full > ... > is_fixed = 53 '5', colnum = 0, offset = 4196064}, {value = 0x515610, siz = 1569807600, > start = 52, is_null = 48 '0', is_fixed = 246 'ö', colnum = 127, offset = -1073744400}, { > value = 0x93635d7, siz = 4196064, start = 0, is_null = 0 '\0', is_fixed = 0 '\0', colnum = 0, > offset = 1568700462}, {value = 0x0, siz = 1, start = 0, is_null = 0 '\0', is_fixed = 0 '\0', > colnum = 0, offset = -1789540033}, {value = 0x1000, siz = 73728, start = 0, > is_null = 2 '\002', is_fixed = 9 '\t', colnum = 0, offset = 13795360}, {value = 0x1, > siz = 33188, start = 1338, is_null = 204 'Ì', is_fixed = 0 '\0', colnum = 0, offset = 0}, { > value = 0x582f0000, siz = 4096, start = 0, is_null = 144 '\220', is_fixed = 34 '"', > colnum = 0, offset = 1121438862}, {value = 0x325bbbe9, siz = 1111569942, start = 0, > is_null = 0 '\0', is_fixed = 0 '\0', colnum = 0, offset = 1121152771}, {value = 0x0, siz = 0, > start = 0, is_null = 0 '\0', is_fixed = 0 '\0', colnum = 0, offset = 0}, {value = 0x1000, > siz = 18, start = 0, is_null = 20 '\024', is_fixed = 38 '&', colnum = 0, offset = 5252608}, { > value = 0x7fbffff630, siz = -1789540359, start = 42, is_null = 0 '\0', is_fixed = 16 '\020', > colnum = 0, offset = 4096}} > num_fields = 3 > #8 0x0000002a9555ee6e in mdb_fetch_row (table=0x515210) at data.c:402 > mdb = (MdbHandle *) 0x502600 > fmt = (MdbFormatConstants *) 0x2a9566a780 > rows = 44 > rc = 5329424 > pg = 0 > #9 0x000000000040121f in main (argc=4, argv=0x7fbffff808) at mdb-export.c:157 > j = 3 > mdb = (MdbHandle *) 0x502600 > table = (MdbTableDef *) 0x515210 > col = (MdbColumn *) 0x0 > bound_values = (char **) 0x517290 > bound_lens = (int *) 0x5159b0 > delimiter = 0x502010 "," > row_delimiter = 0x502030 "\n" > header_row = 0 '\0' > quote_text = 1 '\001' > insert_statements = 1 '\001' > sanitize = 0 '\0' > opt = -1 > > > Using 'ddd' it dies in > mdb-export.c:157 > while(mdb_fetch_row(table)) { > > Do you have any ideas? I'm not sure how to continue > debugging... The bug seems to be in > mdbtools/src/libmdb/data.c > Maybe related to guint32? (sorry, just guessing). > > Thanks anyway for maintaining the mdbtools! > > Markus > > -- > 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 ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ mdbtools-dev mailing list mdb...@li... https://lists.sourceforge.net/lists/listinfo/mdbtools-dev |