Hi
Now I’m
building and testing Firebird-2.5.1.26351 (got from http://www.firebirdsql.org/)
on HP-UX 11i v3 (HP Integrity server rx2800 i2 with Intel® Itanium®
processors) using aCC (HP C++ compiler).
I've met the following issue:
Despite aCC
supports __thread keyword it is set not to use it in src/jrd/common.h, so
workaround
TlsValue class is used. But when firebird programs are run Firebird::TlsValue
contextPool is not initialized and this cause the programs to get caught in an
endless loop (see create_db runtime stack contents below).
I managed
to build Firebird enabling __thread keyword use and will be testing it.
Could
the issue with TlsValue class be investigated and fixed?
Thanks a lot in advance.
Best
regard,
Elena.
create_db runtime stack contents (#0-#7 are endlessly repealed during
execution):
#0 gds__log
(text=0x400000000029e220 "Assertion (%s) failure: %s %ld\n") at
src/jrd/gds.cpp:1185
#1
0x40000000004f80e0:2 in inline Firebird::TlsValue::get()
(this=0x60000000000d6ba8) at src/include/../common/classes/fb_tls.h:129
#2
0x40000000004f8080:0 in Firebird::MemoryPool::getContextPool () at
src/common/classes/alloc.cpp:300
#3
0x4000000000505f40:0 in Firebird::AutoStorage::getAutoMemoryPool () at
src/common/classes/alloc.cpp:2031
#4
0x4000000000534390:2 in inline Firebird::AutoStorage::AutoStorage() () at
src/include/../common/classes/alloc.h:588
#5
0x4000000000534380:1 in inline Firebird::AbstractString::AbstractString() () at
src/common/../common/../common/classes/fb_string.h:159
#6
0x4000000000534370:1 in
Firebird::StringBase::StringBase
(this=0x9fffffffffffc7e0) at
src/common/../common/../common/classes/fb_string.h:609
#7
0x4000000000539520:0 in fb_utils::getPrefix
(No.Identifier_5=0x9fffffffffffcd10, prefType=fb_utils::FB_DIR_LOG,
name=0x40000000002b5af0 "firebird.log") at src/common/utils.cpp:926
#8
0x4000000000572ab0:0 in gds__log (text=0x400000000029e220 "Assertion (%s)
failure: %s %ld\n") at src/jrd/gds.cpp:1185
#9
0x40000000004f80e0:2 in inline
Firebird::TlsValue::get()
(this=0x60000000000d6ba8) at src/include/../common/classes/fb_tls.h:129
#10
0x40000000004f8080:0 in Firebird::MemoryPool::getContextPool () at
src/common/classes/alloc.cpp:300
#11
0x4000000000505f40:0 in Firebird::AutoStorage::getAutoMemoryPool () at
src/common/classes/alloc.cpp:2031
#12
0x4000000000534390:2 in inline Firebird::AutoStorage::AutoStorage() () at
src/include/../common/classes/alloc.h:588
#13
0x4000000000534380:1 in inline Firebird::AbstractString::AbstractString() () at
src/common/../common/../common/classes/fb_string.h:159
#14
0x4000000000534370:1 in
Firebird::StringBase::StringBase
(this=0x9fffffffffffd1a0) at
src/common/../common/../common/classes/fb_string.h:609
#15
0x4000000000539520:0 in fb_utils::getPrefix
(No.Identifier_5=0x9fffffffffffd6d0, prefType=fb_utils::FB_DIR_LOG,
name=0x40000000002b5af0 "firebird.log") at src/common/utils.cpp:926
#16
0x4000000000572ab0:0 in gds__log (text=0x400000000029e220 "Assertion (%s)
failure: %s %ld\n") at src/jrd/gds.cpp:1185
#17
0x40000000004f80e0:2 in inline
Firebird::TlsValue::get()
(this=0x60000000000d6ba8) at src/include/../common/classes/fb_tls.h:129
#18 0x40000000004f8080:0
in Firebird::MemoryPool::getContextPool () at src/common/classes/alloc.cpp:300
#19
0x4000000000505f40:0 in Firebird::AutoStorage::getAutoMemoryPool () at
src/common/classes/alloc.cpp:2031
#20
0x400000000114f050:2 in inline Firebird::AutoStorage::AutoStorage() () at
src/include/../common/classes/alloc.h:588
#21
0x400000000114f050:0 in inline Firebird::InlineStorage::InlineStorage() () at
src/jrd/../jrd/../common/classes/array.h:42
#22
0x400000000114f050:0 in inline Firebird::Array::Array() () at
src/jrd/../jrd/../common/classes/array.h:83
#23
0x400000000114f040:0 in inline Firebird::HalfStaticArray::HalfStaticArray()
(this=0x9fffffffffffdb60) at
src/jrd/../jrd/../common/classes/array.h:466
#24
0x400000000114f030:2 in inline Firebird::Aligner::Aligner(unsigned
char const*,unsigned int) (this=0x9fffffffffffdb60, len=2,
buf=0x400000000047a732 "") at src/jrd/../common/classes/Aligner.h:95
#25
0x400000000114f020:0 in Firebird::IntlUtil::cvtUtf16ToUtf8
(obj=0x60000000001092c0, nSrc=2, ppSrc=0x400000000047a732 "",
nDest=4, pDest=0x60000000001091d8 "юн«нюн«нюн«нюн«н",
err_code=0x9fffffffffffdd90, err_position=0x9fffffffffffdd94) at
src/jrd/IntlUtil.cpp:385
#26
0x40000000008336a0:0 in Jrd::CsConvert::convert (this=0x9fffffffffffe100,
srcLen=2, src=0x400000000047a732 "", dstLen=4, dst=0x60000000001091d8
"юн«нюн«нюн«нюн«н", badInputPos=0x0, ignoreTrailingSpaces=false) at
src/jrd/../jrd/../jrd/CsConvert.h:199
#27
0x4000000001022f10:2 in inline Jrd::CsConvert::convert(unsigned int,unsigned
short const*,unsigned int,unsigned char*,unsigned int*,bool) () at
src/jrd/../jrd/../jrd/CsConvert.h:89
#28
0x4000000001022dc0:1 in inline Jrd::CharSet::CharSet(unsigned short,charset*)
() at src/jrd/../jrd/../jrd/CharSet.h:58
#29
0x4000000001022d70:0 in inline MultiByteCharSet::MultiByteCharSet(unsigned
short,charset*) (this=0x60000000001091c0, _id=4, _cs=0x6000000000109208) at
src/jrd/CharSet.cpp:118
#30
0x4000000001022cb0:0 in Jrd::CharSet::createInstance (pool=@0x60000000000fb8d0,
XSSCleaned=4, cs=0x6000000000109208) at src/jrd/CharSet.cpp:246
#31
0x4000000001159120:0 in Firebird::IntlUtil::Utf8CharSet::Utf8CharSet
(this=0x6000000000109208, pool=@0x60000000000fb8d0) at src/jrd/IntlUtil.cpp:82
#32
0x40000000011597b0:2 in inline
Firebird::GlobalPtr::GlobalPtr() () at
src/jrd/../jrd/../common/classes/init.h:127
#33
0x40000000011596b0:2 in __sinit_IntlUtil_cpp_+0x112 () at
src/jrd/IntlUtil.cpp:77
#34
0x9fffffffebf7b660:0 in EM_mark_BOS+0x50 () from /usr/lib/hpux64/dld.so
------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here
http://p.sf.net/sfu/sfd2d-msazure
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel