Subject Re: [Firebird-Architect] Firebird 2.5 built from source code on AIX 6.1 - core dump
Author Alex Peshkoff
On 05/30/14 20:35, vvm101@... [Firebird-Architect] wrote:
> 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.

You are doing debug build, right?
The line which causes problems is:
fb_assert(m_header->lhb_version == LHB_VERSION);

I.e. somewhy wrong version of shared file in the header. No idea why it
happens on your box. You should debug it and check why is version wrong.