Subject Firebird 2.5 built from source code on AIX 6.1 - core dump
Author
Hi All,

I asked this question already in Support group.



I'm trying to built  FB from the source code v. 2.5.2.26540-0 on AIX 6.1 (PPC). I've made some minor changes in the build script to let it create ./configure script, also a couple of source code files slightly changed (mostly to avoid conflicts).
But now I'm facing a problem - attempt to create/access to DB file causes core dump in Jrd::LockManager::attach_shared_file() function.
Actually, it happens during the build when empty.fdb and other DB files are created. Manually retrying create_db I can get all all .fdb files created (files are created in spite of  core dump).

AIX 6.1 PPC, IBM XL C/C++ for AIX, V12.1

My settings:

export CC=xlc_r
export CXX=xlC_r
export CFLAGS="-q64 -gxlc -D_REENTRANT"
export CXXFLAGS="-q64 -gxlC D_REENTRANT"


./autogen.sh --enable-debug=yes 


this is the core stack of create_db:

(gdb) where
#0  0x000000010037945c in Jrd::LockManager::attach_shared_file( (long *)) (this=0x700000000006fa0,
    status=0xfffffffffffe660) at ../src/lock/lock.cpp:344
#1  0x000000010038aa9c in __ct__Q2_3Jrd11LockManagerFRCQ2_8Firebird10StringBaseXTQ2_8Firebird16StringComparator_ (
    this=0x700000000006fa0, id=@0xfffffffffffef50: ???) at ../src/lock/lock.cpp:232
#2  0x000000010038ae98 in create__Q2_3Jrd11LockManagerFRCQ2_8Firebird10StringBaseXTQ2_8Firebird16StringComparator_ (
    id=@0xfffffffffffef50: ???) at ../src/lock/lock.cpp:182
#3  0x000000010026d6a8 in jrd8_attach_database (user_status=0xffffffffffff6d0,
    filename=0x700000000008c60 <error: Cannot access memory at address 0x700000000008c60>, handle=0xffffffffffff318,
    dpb_length=17, dpb=0xffffffffffff4c8 "\001M") at ../src/jrd/jrd.cpp:1039
#4  0x00000001000a64e8 in isc_attach_database (user_status=0xffffffffffff6d0, file_length=0,
    file_name=0xffffffffffffa55 "empty.fdb", public_handle=0xffffffffffff770, dpb_length=4,
    dpb=0xffffffffffff7b8 "\001@\001\001П") at ../src/jrd/why.cpp:1493
#5  0x0000000100001338 in main (argc=2, argv=0xffffffffffff910) at ../src/utilities/create_db.cpp:49


Any ideas what should I do to make it working would be appreciated.


Thanks.