Archived
This forum has been archived. Please start a new discussion on GitHub.
Compiling Ice 3.3.0 with Optimize=yes get runtime error
in Bug Reports
Hi,
i'm compiling Ice 3.3.0 on an Ubuntu 8.04 Intel Xeon Quad Core 64bit machine.
With OPTIMIZE flag disabled (as default) all test are passed, if I enable OPTIMIZE,
./cpp/allTests.py fails:
*** running tests 10/61 in /usr/src/Ice-3.3.0/cpp/test/Ice/operations
*** configuration: Default
*** test started: 05/22/08 16:52:52
tests with regular server.
starting server... ok
starting client... ok
testing twoway operations... Bus error
*** glibc detected *** /usr/src/Ice-3.3.0/cpp/test/Ice/operations/client: malloc(): memory corruption (fast): 0x00000000006c1250 ***
======= Backtrace: =========
/lib/libc.so.6[0x7fa0c3bc93b2]
/lib/libc.so.6(__libc_malloc+0x90)[0x7fa0c3bca360]
/usr/lib/libstdc++.so.6(_Znwm+0x1d)[0x7fa0c44095ed]
/usr/src/Ice-3.3.0/cpp/lib/libIce.so.33(_ZNK3Ice23ConnectionLostException9ice_cloneEv+0x13)[0x7fa0c4dffa03]
/usr/src/Ice-3.3.0/cpp/lib/libIce.so.33(_ZN3Ice11ConnectionI8setStateENS0_5StateERKNS_14LocalExceptionE+0x7e)[0x7fa0c4db2dee]
/usr/src/Ice-3.3.0/cpp/lib/libIce.so.33(_ZN3Ice11ConnectionI9exceptionERKNS_14LocalExceptionE+0xc2)[0x7fa0c4db4592]
/usr/src/Ice-3.3.0/cpp/lib/libIce.so.33(_ZN11IceInternal10ThreadPool3runEv+0x1d20)[0x7fa0c4ed0060]
/usr/src/Ice-3.3.0/cpp/lib/libIce.so.33(_ZN11IceInternal10ThreadPool18EventHandlerThread3runEv+0x52)[0x7fa0c4ed01e2]
/usr/src/Ice-3.3.0/cpp/lib/libIceUtil.so.33[0x7fa0c4aa2722]
/lib/libpthread.so.0[0x7fa0c485f3f7]
/lib/libc.so.6(clone+0x6d)[0x7fa0c3c2bb2d]
======= Memory map: ========
00400000-0049f000 r-xp 00000000 09:01 118850 /usr/src/Ice-3.3.0/cpp/test/Ice/operations/client
0069e000-006b9000 rw-p 0009e000 09:01 118850 /usr/src/Ice-3.3.0/cpp/test/Ice/operations/client
006b9000-006da000 rw-p 006b9000 00:00 0 [heap]
41f33000-41f34000 ---p 41f33000 00:00 0
41f34000-42734000 rw-p 41f34000 00:00 0
42734000-42735000 ---p 42734000 00:00 0
42735000-42f35000 rw-p 42735000 00:00 0
42f35000-42f36000 ---p 42f35000 00:00 0
42f36000-43736000 rw-p 42f36000 00:00 0
43736000-43737000 ---p 43736000 00:00 0
43737000-43f37000 rw-p 43737000 00:00 0
43f37000-43f38000 ---p 43f37000 00:00 0
43f38000-44738000 rw-p 43f38000 00:00 0
7fa0bc000000-7fa0bc021000 rw-p 7fa0bc000000 00:00 0
7fa0bc021000-7fa0c0000000 ---p 7fa0bc021000 00:00 0
7fa0c3740000-7fa0c3742000 r-xp 00000000 09:01 33896 /lib/libdl-2.7.so
7fa0c3742000-7fa0c3942000 ---p 00002000 09:01 33896 /lib/libdl-2.7.so
7fa0c3942000-7fa0c3944000 rw-p 00002000 09:01 33896 /lib/libdl-2.7.so
7fa0c3944000-7fa0c3953000 r-xp 00000000 09:01 4182 /lib/libbz2.so.1.0.4
7fa0c3953000-7fa0c3b52000 ---p 0000f000 09:01 4182 /lib/libbz2.so.1.0.4
7fa0c3b52000-7fa0c3b54000 rw-p 0000e000 09:01 4182 /lib/libbz2.so.1.0.4
7fa0c3b54000-7fa0c3cac000 r-xp 00000000 09:01 33892 /lib/libc-2.7.so
7fa0c3cac000-7fa0c3eac000 ---p 00158000 09:01 33892 /lib/libc-2.7.so
7fa0c3eac000-7fa0c3eaf000 r--p 00158000 09:01 33892 /lib/libc-2.7.so
7fa0c3eaf000-7fa0c3eb1000 rw-p 0015b000 09:01 33892 /lib/libc-2.7.so
7fa0c3eb1000-7fa0c3eb6000 rw-p 7fa0c3eb1000 00:00 0
7fa0c3eb6000-7fa0c3ec3000 r-xp 00000000 09:01 33202 /lib/libgcc_s.so.1
7fa0c3ec3000-7fa0c40c3000 ---p 0000d000 09:01 33202 /lib/libgcc_s.so.1
7fa0c40c3000-7fa0c40c4000 rw-p 0000d000 09:01 33202 /lib/libgcc_s.so.1
7fa0c40c4000-7fa0c4144000 r-xp 00000000 09:01 33897 /lib/libm-2.7.so
7fa0c4144000-7fa0c4343000 ---p 00080000 09:01 33897 /lib/libm-2.7.so
7fa0c4343000-7fa0c4345000 rw-p 0007f000 09:01 33897 /lib/libm-2.7.so
7fa0c4345000-7fa0c4434000 r-xp 00000000 09:01 33211 /usr/lib/libstdc++.so.6.0.9
7fa0c4434000-7fa0c4634000 ---p 000ef000 09:01 33211 /usr/lib/libstdc++.so.6.0.9
7fa0c4634000-7fa0c463a000 r--p 000ef000 09:01 33211 /usr/lib/libstdc++.so.6.0.9
7fa0c463a000-7fa0c463d000 rw-p 000f5000 09:01 33211 /usr/lib/libstdc++.so.6.0.9
7fa0c463d000-7fa0c4650000 rw-p 7fa0c463d000 00:00 0
7fa0c4650000-7fa0c4658000 r-xp 00000000 09:01 33910 /lib/librt-2.7.so
7fa0c4658000-7fa0c4857000 ---p 00008000 09:01 33910 /lib/librt-2.7.so
7fa0c4857000-7fa0c4859000 rw-p 00007000 09:01 33910 /lib/librt-2.7.so
7fa0c4859000-7fa0c486f000 r-xp 00000000 09:01 33908 /lib/libpthread-2.7.so
7fa0c486f000-7fa0c4a6f000 ---p 00016000 09:01 33908 /lib/libpthread-2.7.so
7fa0c4a6f000-7fa0c4a71000 rw-p 00016000 09:01 33908 /lib/libpthread-2.7.so
7fa0c4a71000-7fa0c4a75000 rw-p 7fa0c4a71000 00:00 0
7fa0c4a75000-7fa0c4ab1000 r-xp 00000000 09:01 66411 /usr/src/Ice-3.3.0/cpp/lib/libIceUtil.so.3.3.0
7fa0c4ab1000-7fa0c4cb1000 ---p 0003c000 09:01 66411 /usr/src/Ice-3.3.0/cpp/lib/libIceUtil.so.3.3.0
7fa0c4cb1000-7fa0c4cb3000 rw-p 0003c000 09:01 66411 /usr/src/Ice-3.3.0/cpp/lib/libIceUtil.so.3.3.0
7fa0c4cb3000-7fa0c4f48000 r-xp 00000000 09:01 118475 /usr/src/Ice-3.3.0/cpp/lib/libIce.so.3.3.0
7fa0c4f48000-7fa0c5147000 ---p 00295000 09:01 118475 /usr/src/Ice-3.3.0/cpp/lib/libIce.so.3.3.0
7fa0c5147000-7fa0c516b000 rw-p 00294000 09:01 118475 /usr/src/Ice-3.3.0/cpp/lib/libIce.so.3.3.0
7fa0c516b000-7fa0c516f000 rw-p 7fa0c516b000 00:00 0
7fa0c516f000-7fa0c518c000 r-xp 00000000 09:01 33889 /lib/ld-2.7.so
7fa0c537a000-7fa0c537f000 rw-p 7fa0c537a000 00:00 0
7fa0c5388000-7fa0c538c000 rw-p 7fa0c5388000 00:00 0
7fa0c538c000-7fa0c538e000 rw-p 0001d000 09:01 33889 /lib/ld-2.7.so
7fffcd379000-7fffcd38e000 rw-p 7ffffffea000 00:00 0 [stack]
7fffcd3fe000-7fffcd400000 r-xp 7fffcd3fe000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Aborted
('test in /usr/src/Ice-3.3.0/cpp/test/Ice/operations failed with exit status', 256)
I'm using mcpp 2.7 patched as suggested
i'm compiling Ice 3.3.0 on an Ubuntu 8.04 Intel Xeon Quad Core 64bit machine.
With OPTIMIZE flag disabled (as default) all test are passed, if I enable OPTIMIZE,
./cpp/allTests.py fails:
*** running tests 10/61 in /usr/src/Ice-3.3.0/cpp/test/Ice/operations
*** configuration: Default
*** test started: 05/22/08 16:52:52
tests with regular server.
starting server... ok
starting client... ok
testing twoway operations... Bus error
*** glibc detected *** /usr/src/Ice-3.3.0/cpp/test/Ice/operations/client: malloc(): memory corruption (fast): 0x00000000006c1250 ***
======= Backtrace: =========
/lib/libc.so.6[0x7fa0c3bc93b2]
/lib/libc.so.6(__libc_malloc+0x90)[0x7fa0c3bca360]
/usr/lib/libstdc++.so.6(_Znwm+0x1d)[0x7fa0c44095ed]
/usr/src/Ice-3.3.0/cpp/lib/libIce.so.33(_ZNK3Ice23ConnectionLostException9ice_cloneEv+0x13)[0x7fa0c4dffa03]
/usr/src/Ice-3.3.0/cpp/lib/libIce.so.33(_ZN3Ice11ConnectionI8setStateENS0_5StateERKNS_14LocalExceptionE+0x7e)[0x7fa0c4db2dee]
/usr/src/Ice-3.3.0/cpp/lib/libIce.so.33(_ZN3Ice11ConnectionI9exceptionERKNS_14LocalExceptionE+0xc2)[0x7fa0c4db4592]
/usr/src/Ice-3.3.0/cpp/lib/libIce.so.33(_ZN11IceInternal10ThreadPool3runEv+0x1d20)[0x7fa0c4ed0060]
/usr/src/Ice-3.3.0/cpp/lib/libIce.so.33(_ZN11IceInternal10ThreadPool18EventHandlerThread3runEv+0x52)[0x7fa0c4ed01e2]
/usr/src/Ice-3.3.0/cpp/lib/libIceUtil.so.33[0x7fa0c4aa2722]
/lib/libpthread.so.0[0x7fa0c485f3f7]
/lib/libc.so.6(clone+0x6d)[0x7fa0c3c2bb2d]
======= Memory map: ========
00400000-0049f000 r-xp 00000000 09:01 118850 /usr/src/Ice-3.3.0/cpp/test/Ice/operations/client
0069e000-006b9000 rw-p 0009e000 09:01 118850 /usr/src/Ice-3.3.0/cpp/test/Ice/operations/client
006b9000-006da000 rw-p 006b9000 00:00 0 [heap]
41f33000-41f34000 ---p 41f33000 00:00 0
41f34000-42734000 rw-p 41f34000 00:00 0
42734000-42735000 ---p 42734000 00:00 0
42735000-42f35000 rw-p 42735000 00:00 0
42f35000-42f36000 ---p 42f35000 00:00 0
42f36000-43736000 rw-p 42f36000 00:00 0
43736000-43737000 ---p 43736000 00:00 0
43737000-43f37000 rw-p 43737000 00:00 0
43f37000-43f38000 ---p 43f37000 00:00 0
43f38000-44738000 rw-p 43f38000 00:00 0
7fa0bc000000-7fa0bc021000 rw-p 7fa0bc000000 00:00 0
7fa0bc021000-7fa0c0000000 ---p 7fa0bc021000 00:00 0
7fa0c3740000-7fa0c3742000 r-xp 00000000 09:01 33896 /lib/libdl-2.7.so
7fa0c3742000-7fa0c3942000 ---p 00002000 09:01 33896 /lib/libdl-2.7.so
7fa0c3942000-7fa0c3944000 rw-p 00002000 09:01 33896 /lib/libdl-2.7.so
7fa0c3944000-7fa0c3953000 r-xp 00000000 09:01 4182 /lib/libbz2.so.1.0.4
7fa0c3953000-7fa0c3b52000 ---p 0000f000 09:01 4182 /lib/libbz2.so.1.0.4
7fa0c3b52000-7fa0c3b54000 rw-p 0000e000 09:01 4182 /lib/libbz2.so.1.0.4
7fa0c3b54000-7fa0c3cac000 r-xp 00000000 09:01 33892 /lib/libc-2.7.so
7fa0c3cac000-7fa0c3eac000 ---p 00158000 09:01 33892 /lib/libc-2.7.so
7fa0c3eac000-7fa0c3eaf000 r--p 00158000 09:01 33892 /lib/libc-2.7.so
7fa0c3eaf000-7fa0c3eb1000 rw-p 0015b000 09:01 33892 /lib/libc-2.7.so
7fa0c3eb1000-7fa0c3eb6000 rw-p 7fa0c3eb1000 00:00 0
7fa0c3eb6000-7fa0c3ec3000 r-xp 00000000 09:01 33202 /lib/libgcc_s.so.1
7fa0c3ec3000-7fa0c40c3000 ---p 0000d000 09:01 33202 /lib/libgcc_s.so.1
7fa0c40c3000-7fa0c40c4000 rw-p 0000d000 09:01 33202 /lib/libgcc_s.so.1
7fa0c40c4000-7fa0c4144000 r-xp 00000000 09:01 33897 /lib/libm-2.7.so
7fa0c4144000-7fa0c4343000 ---p 00080000 09:01 33897 /lib/libm-2.7.so
7fa0c4343000-7fa0c4345000 rw-p 0007f000 09:01 33897 /lib/libm-2.7.so
7fa0c4345000-7fa0c4434000 r-xp 00000000 09:01 33211 /usr/lib/libstdc++.so.6.0.9
7fa0c4434000-7fa0c4634000 ---p 000ef000 09:01 33211 /usr/lib/libstdc++.so.6.0.9
7fa0c4634000-7fa0c463a000 r--p 000ef000 09:01 33211 /usr/lib/libstdc++.so.6.0.9
7fa0c463a000-7fa0c463d000 rw-p 000f5000 09:01 33211 /usr/lib/libstdc++.so.6.0.9
7fa0c463d000-7fa0c4650000 rw-p 7fa0c463d000 00:00 0
7fa0c4650000-7fa0c4658000 r-xp 00000000 09:01 33910 /lib/librt-2.7.so
7fa0c4658000-7fa0c4857000 ---p 00008000 09:01 33910 /lib/librt-2.7.so
7fa0c4857000-7fa0c4859000 rw-p 00007000 09:01 33910 /lib/librt-2.7.so
7fa0c4859000-7fa0c486f000 r-xp 00000000 09:01 33908 /lib/libpthread-2.7.so
7fa0c486f000-7fa0c4a6f000 ---p 00016000 09:01 33908 /lib/libpthread-2.7.so
7fa0c4a6f000-7fa0c4a71000 rw-p 00016000 09:01 33908 /lib/libpthread-2.7.so
7fa0c4a71000-7fa0c4a75000 rw-p 7fa0c4a71000 00:00 0
7fa0c4a75000-7fa0c4ab1000 r-xp 00000000 09:01 66411 /usr/src/Ice-3.3.0/cpp/lib/libIceUtil.so.3.3.0
7fa0c4ab1000-7fa0c4cb1000 ---p 0003c000 09:01 66411 /usr/src/Ice-3.3.0/cpp/lib/libIceUtil.so.3.3.0
7fa0c4cb1000-7fa0c4cb3000 rw-p 0003c000 09:01 66411 /usr/src/Ice-3.3.0/cpp/lib/libIceUtil.so.3.3.0
7fa0c4cb3000-7fa0c4f48000 r-xp 00000000 09:01 118475 /usr/src/Ice-3.3.0/cpp/lib/libIce.so.3.3.0
7fa0c4f48000-7fa0c5147000 ---p 00295000 09:01 118475 /usr/src/Ice-3.3.0/cpp/lib/libIce.so.3.3.0
7fa0c5147000-7fa0c516b000 rw-p 00294000 09:01 118475 /usr/src/Ice-3.3.0/cpp/lib/libIce.so.3.3.0
7fa0c516b000-7fa0c516f000 rw-p 7fa0c516b000 00:00 0
7fa0c516f000-7fa0c518c000 r-xp 00000000 09:01 33889 /lib/ld-2.7.so
7fa0c537a000-7fa0c537f000 rw-p 7fa0c537a000 00:00 0
7fa0c5388000-7fa0c538c000 rw-p 7fa0c5388000 00:00 0
7fa0c538c000-7fa0c538e000 rw-p 0001d000 09:01 33889 /lib/ld-2.7.so
7fffcd379000-7fffcd38e000 rw-p 7ffffffea000 00:00 0 [stack]
7fffcd3fe000-7fffcd400000 r-xp 7fffcd3fe000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Aborted
('test in /usr/src/Ice-3.3.0/cpp/test/Ice/operations failed with exit status', 256)
I'm using mcpp 2.7 patched as suggested
0
Comments
-
What version of gcc are you using? It certainly works with optimization on our officially supported versions of Linux (for example, gcc 4.1.2 on SLES 10 x64).0
-
gcc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)0
-
Ok, its sounds like later versions of gcc have something broken in their optimizer! We'll take a look.0
-
After running allTests.py, it seems test 10 is passed in my environment, but test 45 faild:(
[root@localhost cpp]# gcc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.3.0/configure --prefix=/opt --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-languages=c,c++
Thread model: posix
gcc version 4.3.0 (GCC)
starting icestorm replicas... 0 1 2 ok
creating topic... ok
running subscriber... ok
running publisher... ok
stopping replica 2 (0, 1 running)... ok
starting 2, stopping 0 (1, 2 running)... ok
starting 0, stopping 1 (0, 2 running)... ok
starting 1 (all running)... ok
stopping replica 2 (0, 1 running)... ok
starting 2, stopping 0 (1, 2 running)... ok
starting 0, stopping 1 (0, 2 running)... ok
starting 1 (all running)... ok
stopping replica 2 (0, 1 running)... ok
starting 2, stopping 0 (1, 2 running)... ok
starting 0, stopping 1 (0, 2 running)... ok
starting 1 (all running)... ok
stopping publisher... ok
stopping replicas... ok
stopping subscriber... ok
publisher published 3814 events, subscriber received 3814 events
*** running tests 45/61 in /root/Ice-3.3.0/cpp/test/FreezeScript/dbmap
*** configuration: Default
*** test started: 06/04/08 18:23:50
testing error detection... failed! (1)
('test in /root/Ice-3.3.0/cpp/test/FreezeScript/dbmap failed with exit status', 256)0 -
Do the other tests all work? You can skip that test with
./allTests.py --start=46
What version of BerkeleyDB are you using?0 -
./allTests.py --start=46 finished normally:)
and the Berkeley version is as the followings;
[root@localhost ~]# rpm -qi db4
Name : db4 Relocations: (not relocatable)
Version : 4.3.29 Vendor: CentOS
Release : 9.fc6 Build Date: Sun Jan 7 17:45:01 2007
Install Date: Tue Jun 5 04:13:50 2007 Build Host: builder1.centos.org
Group : System Environment/Libraries Source RPM: db4-4.3.29-9.fc6.src.rpm
Size : 2123554 License: GPL
Signature : DSA/SHA1, Wed Apr 4 08:20:46 2007, Key ID a8a447dce8562897
URL : berkeley-db.html
Summary : The Berkeley DB database library (version 4) for C.
Description :
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
provides embedded database support for both traditional and
client/server applications. The Berkeley DB includes B+tree, Extended
Linear Hashing, Fixed and Variable-length record access methods,
transactions, locking, logging, shared memory caching, and database
recovery. The Berkeley DB supports C, C++, Java, and Perl APIs. It is
used by many applications, including Python and Perl, so this should
be installed on all systems.0 -
Please try with Berkeley DB 4.6; that's the only Berkeley DB version we support and test with.
You should be able to build the DB 4.6 RPMs for your distribution using the Berkeley DB 4.6.21 source RPM on our download page.
Cheers,
Bernard0 -
Hi,
I have run the complete test suite under ubuntu gcc-4.2.3 and not found any
problems.
Ice-3.3.0 was compiled from sources with OPTIMIZED enabled and all dependencies where compiled from the ZeroC third party packages.
Here is the system configuration i used to run test suite:root@ubuntu:/home/ubuntu/src/Ice-3.3.0/cpp# gcc -v Using built-in specs. Target: i486-linux-gnu Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu Thread model: posix gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7) root@ubuntu:/home/ubuntu/src/Ice-3.3.0/cpp# echo $OPTIMIZE yes root@ubuntu:/home/ubuntu/src/Ice-3.3.0/cpp# echo $LD_LIBRARY_PATH :/opt/db/lib:/opt/mcpp/lib:/opt/bzip2/lib:/opt/expat/lib:/opt/openssl/lib root@ubuntu:/home/ubuntu/src/Ice-3.3.0/cpp# uname -a Linux ubuntu 2.6.24-17-generic #1 SMP Thu May 1 14:31:33 UTC 2008 i686 GNU/Linux root@ubuntu:/home/ubuntu/src/Ice-3.3.0/cpp#
Regards,
José0