sigsegv on aix with gcc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I maintain an application (rather large) for AIX (among others). When
compiled with any level of optimization, it always crashes, always in
the same place. What's funny, the same thing happens when I compile on
AIX 4.3 with g++ 3.3.2 and on AIX 5.2 with g++ 4.5.3. Here are stack
traces, both from our AIX 5.3 machine:

Binary created with g++ 4.5.3:
#0  0x1006bb58 in std::locale::operator= (this=<error reading
variable>, __other=<error reading variable>) at  _start_ :178
#1  0x10072110 in std::ios_base::_M_init (this=0x215a3bdc)
    at /jd/gccbuild/aix-4.5.2/gcc-4.5.2/libstdc++-v3/src/ios_locale.cc:44
#2  0x10072014 in std::basic_ios<char, std::char_traits<char> >::init
(this=<error reading variable>,
    __sb=<error reading variable>)
#3  0x10219db0 in CCertificateFile::GetValue (UID=..., section=..., key=...)
    at /opt/freeware/era-gcc-4.5.2/lib/gcc/powerpc-ibm-aix5.3.0.0/4.5.2/include/c++/istream:584
#4  0x1021ac08 in CCertificateFile::GivePrivateKey (ID=...) at
Shared/FileIO/CertificateFile.cpp:290
#5  0x102d47a8 in CSslSocket::send_messages_to_server (ssl_sock=0x217ad428)
    at Shared/NetworkIO/SslSockets/SslSockets.cpp:3047
#6  0x102d83e0 in CSslSocket::perform_protocol_as_client (ssl_sock=0x217ad428)
    at Shared/NetworkIO/SslSockets/SslSockets.cpp:632
#7  0x102da514 in CSslSocket::ssl_connect (ssl_sock=0x217ad428,
sServer=..., nPort=9035)
    at Shared/NetworkIO/SslSockets/SslSockets.cpp:736
#8  0x1016312c in CESSocket::Connect (this=0x2157f3c8, szIP=0x2157d024
<error reading variable>, nPort=9035)
    at Shared/NetworkIO/ESSockets/ESSocket.cpp:42
#9  0x10422224 in CPoolableSocket::Connect (this=0x2157f3c8,
szIP=0x2157d024 <error reading variable>, nPort=9035)
    at Shared/NetworkIO/ESSockets/PoolableSocket.cpp:68
#10 0x10132330 in CConnectionManager::AcquireParentConnection ()
    at Shared/NetworkIO/ConnectionManager/ConnectionManager.cpp:925
#11 0x1000349c in CServiceModule::StartStopThread
(pEracentServiceControl=0x20549128) at
Shared/Service/UnixService.cpp:260
#12 0xd010d644 in ?? ()
#13 0x00000000 in ?? ()

Binary created with g++ 3.3.2:
#0  0xd03e2f88 in ?? ()
#1  0x100174b8 in std::locale::operator= (this=<error reading
variable>, __other=<error reading variable>) at  _start_ :360
#2  0x10038878 in std::ios_base::_M_init (this=<error reading
variable>) at  _start_ :299
#3  0x10038770 in std::basic_ios<char, std::char_traits<char> >::init
(this=<error reading variable>,
    __sb=<error reading variable>) at  _start_ :150
#4  0x10160a0c in CCertificateFile::GetValue (UID=..., section=...,
key=...) at /opt/freeware/include/c++/3.3.2/istream:106
Backtrace stopped: frame did not save the PC

Executable file is statically linked with libstdc++.

GCC 3.3.2:
Reading specs from /opt/freeware/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/3.3.2/specs
Configured with: ../gcc-3.3.2/configure --with-as=/usr/bin/as
--with-ld=/usr/bin/ld --disable-nls --enable-languages=c,c++
--prefix=/opt/freeware --enable-threads --disable-shared
Thread model: aix
gcc version 3.3.2

GCC 4.5.2:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/freeware/era-gcc-4.5.2/libexec/gcc/powerpc-ibm-aix5.3.0.0/4.5.2/lto-wrapper
Target: powerpc-ibm-aix5.3.0.0
Configured with: /jd/gccbuild/aix-4.5.2/gcc-4.5.2/configure
--with-as=/usr/bin/as --with-ld=/usr/bin/ld --enable-languages=c,c++
--prefix=/opt/freeware/era-gcc-4.5.2/ --enable-threads
--enable-version-specific-runtime-libs --disable-shared
--program-suffix=-4.5.2 --disable-nls
Thread model: aix
gcc version 4.5.2 (GCC)

If memory serves me well, 3.3.2 is taken from bullfreeware.com and
4.5.2 is compiled by me.

Juding by results (same compiler, same place) an error must be quite
obvious and in my code, but I have no idea what I should check. I
tried increasing stack size, adding -fno-strict-aliasing and few more,
but to no avail.

Can you give me ANY pointers regarding further steps? Thanks in advance.
-- 
JÄdrzej Dudkiewicz

I really hate this damn machine, I wish that they would sell it.
It never does just what I want, but only what I tell it.



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux