mdb-schema segmentation fault under Cygwin

Help
John Nagle
2012-03-12
2013-05-01
  • John Nagle
    John Nagle
    2012-03-12

    Successfully built latest MDBtools under Cygwin on Windows 7 (64-bit) and they almost work.  mdb-schema, given an MDB file, displays the schema, but then prints "relationships are not supported for access"  several times and gets a segmentation fault. Re-ran under GDB, and the output with backtrace is below.

    It's also possible to crash mdb-schema just by typing "mdb-schema -v". "v" is an illegal option, and that produces an immediate segfault.

    mdb-export seems to be working. On the same database, it doesn't crash, and exports reasonable records.

    ===

    $ gdb mdb-schema
    GNU gdb (GDB) 7.3.50.20111026-cvs (cygwin-special)
    Copyright (C) 2011 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 "i686-cygwin".
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>…
    Reading symbols from /usr/local/bin/mdb-schema…done.
    (gdb) run *.mdb
    Starting program: /usr/local/bin/mdb-schema *.mdb

    DROP TABLE dbo_comps;
    CREATE TABLE dbo_comps
    (
            id                      Long Integer (4),
            title                   Memo/Hyperlink,
            email                   Text (400),
            url                     Memo/Hyperlink,
            parent                  Long Integer (4),
            Note                    Memo/Hyperlink,
            fax                     Text (100),
            city                    Text (100),
            phone                   Text (100),
            zip                     Text (100),
            addr                    Text (400),
            state                   Text (100),
            town                    Text (100),
            region                  Text (100),
            country                 Text (100),
            apath                   Text (400),
            cpath                   Text (400),
            attn                    Text (200)

    );
    - CREATE ANY INDEXES …

    DROP TABLE dbo_dirs;
    CREATE TABLE dbo_dirs
    (
            parent                  Long Integer (4),
            id                      Long Integer (4),
            title                   Text (400)

    );
    - CREATE ANY INDEXES …

    DROP TABLE dbo_links;
    CREATE TABLE dbo_links
    (
            parent                  Long Integer (4),
            id                      Long Integer (4)

    );
    - CREATE ANY INDEXES …

    DROP TABLE dbo_paths;
    CREATE TABLE dbo_paths
    (
            id                      Long Integer (4),
            path                    Memo/Hyperlink,
            title                   Text (400),
            subs                    Long Integer (4),
            tot                     Long Integer (4),
            sumtot                  Long Integer (4),
            note                    Memo/Hyperlink,
            parent                  Long Integer (4)

    );
    - CREATE ANY INDEXES …

    DROP TABLE defs;
    CREATE TABLE defs
    (
            tag                     Text (100),
            val                     Text (500)

    );
    - CREATE ANY INDEXES …

    DROP TABLE collections;
    CREATE TABLE collections
    (
            colname                 Text (100),
            Id                      Long Integer (4),
            isCat                   Boolean,
            caption                 Text (400)

    );
    - CREATE ANY INDEXES …

    DROP TABLE fielddefs;
    CREATE TABLE fielddefs
    (
            field                   Text (100),
            caption                 Text (100),
            width                   Long Integer (4),
            visible                 Boolean,
            onlist                  Boolean,
            taborder                        Long Integer (4),
            note                    Text (400),
            style                   Text (100),
            canexport                       Boolean

    );
    - CREATE ANY INDEXES …

    • CREATE ANY Relationships …

    relationships are not supported for access
    relationships are not supported for access
    relationships are not supported for access
    relationships are not supported for access
    relationships are not supported for access

    Program received signal SIGSEGV, Segmentation fault.
    0x00000000 in ?? ()
    (gdb) bt
    #0  0x00000000 in ?? ()
    Backtrace stopped: Not enough registers or memory available to unwind further
    (gdb) info threads
      Id   Target Id         Frame
      2    Thread 2532.0xd94 0x7793f8e5 in ntdll!RtlUpdateClonedSRWLock () from /cygdrive/c/Windows/system32/ntdll.dll
    * 1    Thread 2532.0xf64 0x00000000 in ?? ()
    (gdb) thread 2

    #0  0x7793f8e5 in ntdll!RtlUpdateClonedSRWLock () from /cygdrive/c/Windows/system32/ntdll.dll
    (gdb) bt
    #0  0x7793f8e5 in ntdll!RtlUpdateClonedSRWLock () from /cygdrive/c/Windows/system32/ntdll.dll
    #1  0x7793f8e5 in ntdll!RtlUpdateClonedSRWLock () from /cygdrive/c/Windows/system32/ntdll.dll
    #2  0x774dd348 in ReadFile () from /cygdrive/c/Windows/syswow64/KERNELBASE.dll
    #3  0x00000098 in ?? ()
    #4  0x00000000 in ?? ()
    (gdb)