Bugzilla – Bug 1624
glibc-2.15/2.16 on 32bit oses broke dce-iperf
Last modified: 2013-04-17 23:34:14 EDT
changeset: 450:18d4f4c450fa % ./waf --run dce-iperf assert failed. cond="tAbsolute.IsPositive ()", file=../src/core/model/default-simulator-impl.cc, line=226 terminate called without an active exception this is due to atof() called inside iperf returns invalid value, while strtod() gives okay. this is not happened in 64bit version. I guess this is related to gcc attribute '__pure__', but not sure and will investigate it. (gdb) l 380 exit(1); 381 break; 382 383 case 'i': // specify interval between periodic bw reports 384 mExtSettings->mInterval = atof( optarg ); 385 if ( mExtSettings->mInterval < 0.5 ) { 386 fprintf (stderr, report_interval_small, mExtSettings->mInterval); 387 mExtSettings->mInterval = 0.5; 388 } 389 break; (gdb) p mExtSettings->mInterval $3 = -nan(0x8000000000000) (gdb) p atof(optarg) $4 = 1 (gdb) bt #0 Settings_Interpret (option=105 'i', optarg=0x80cdb28 "1", mExtSettings=0xb5b7000c) at Settings.cpp:385 #1 0xb5ea8b2c in Settings_ParseCommandLine (argc=7, argv=0x80cdea0, mSettings=0xb5b7000c) at Settings.cpp:299 #2 0xb5eabb45 in main (argc=7, argv=0x80cdea0) at main.cpp:167 #3 0xb7e684e6 in ns3::DceManager::DoStartProcess (context=0x80ce490) at ../model/dce-manager.cc:281 #4 0xb7ef0165 in ns3::TaskManager::Trampoline (context=0x80ce350) at ../model/task-manager.cc:274 #5 0xb7ee97d1 in ns3::UcontextFiberManager::Trampoline (a0=-1, a1=-1209073370, a2=0, a3=135062352) at ../model/ucontext-fiber-manager.cc:199 #6 0xb61ad6eb in makecontext () at ../sysdeps/unix/sysv/linux/i386/makecontext.S:87 #7 0xffffffff in ?? () #8 0xb7ef0126 in ?? () at ../model/task-manager.cc:265 from /var/lib/jenkins/workspace/daily-dce/label/Fedora18-32/bake/source/ns-3-dce/build/lib/libns3-dce.so #9 0xb7eefddd in ns3::TaskManager::Start (this=0x80af9dc, fn=0x80ce190, context=0x80cdee8, stackSize=1048576) at ../model/task-manager.cc:242 #10 0xb7ef3a27 in std::list<ns3::Task*, std::allocator<ns3::Task*> >::pop_front (this=0x80af9dc) at /usr/lib/gcc/i686-redhat-linux/4.7.2/../../../../include/c++/4.7.2/bits/stl_list.h:983 #11 0xb7ef5af7 in ns3::RrTaskScheduler::DequeueNext (this=0x80af848) at ../model/rr-task-scheduler.cc:58 #12 0xb7ef22cc in ns3::TaskManager::Schedule (this=0x80af7c8) at ../model/task-manager.cc:436 #13 0xb7ef333f in ns3::EventMemberImpl0::Notify (this=0x80cdec8) at /var/lib/jenkins/workspace/daily-dce/label/Fedora18-32/bake/build/include/ns3-dev/ns3/make-event.h:94 #14 0xb7c06451 in ns3::EventImpl::Invoke (this=0x80cdec8) at ../src/core/model/event-impl.cc:45 #15 0xb7c0b0ce in ns3::DefaultSimulatorImpl::ProcessOneEvent (this=0x80ac3c8) at ../src/core/model/default-simulator-impl.cc:140 #16 0xb7c0b477 in ns3::DefaultSimulatorImpl::Run (this=0x80ac3c8) at ../src/core/model/default-simulator-impl.cc:193 #17 0xb7c071f3 in ns3::Simulator::Run () at ../src/core/model/simulator.cc:160 #18 0x08054a9c in main (argc=1, argv=0xbffff294) at ../example/dce-iperf.cc:130
tested under ubuntu1004-64, 1204-32/64, 1210-64, 1304-beta-64, f18-32.