Hi, I recently pulled down the current m5-stable repository to do some testing, and I patched it with my changes from our group's older repository (versions below). When I try to run some of our tests, I get a segmentation fault. I have traced it back to our modification the the bus in ./src/mem/bus.cc. We had modified calcPacketTiming so that we could simulate a zero-latency/no-contention bus in detailed simulation (recvTiming). I am not sure where to start debugging this problem. I have attached the gdb output. Is there, perhaps, a better way to simulate a bus with no contention in detailed simulation?
Thanks, Joel Revisions: Old: changeset: 5589:733318abb7b1 Current: changeset: 6283:94c016415053 -- Joel Hestness PhD Student, Computer Architecture Dept. of Computer Science, University of Texas - Austin http://www.cs.utexas.edu/~hestness
gdb --args ./build/ALPHA_FS/m5.debug --trace-flags=Bus --trace-start=1828760000000 --trace-file=tracelog.txt ./configs/example/fs.py --script=../m5-parsec/bash-m5/test.rcS --detailed --caches --l2cache --fast-forward=100000000000000 j...@capillary:~/research/m5-stable$ gdb --args ./build/ALPHA_FS/m5.debug --trace-flags=Bus --trace-start=1828760000000 --trace-file=tracelog.txt ./configs/example/fs.py --script=../m5-parsec/bash-m5/test.rcS --detailed --caches --l2cache --fast-forward=1000000000000 GNU gdb 6.8-debian Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i486-linux-gnu"... (gdb) run Starting program: /home/joel/research/m5-stable/build/ALPHA_FS/m5.debug --trace-flags=Bus --trace-start=1828760000000 --trace-file=tracelog.txt ./configs/example/fs.py --script=../m5-parsec/bash-m5/test.rcS --detailed --caches --l2cache --fast-forward=1000000000000 [Thread debugging using libthread_db enabled] [New Thread 0xb7a9d8e0 (LWP 3241)] M5 Simulator System Copyright (c) 2001-2008 The Regents of The University of Michigan All Rights Reserved M5 compiled Nov 27 2009 01:36:44 M5 revision 94c016415053+ 6283+ default tip M5 started Nov 27 2009 01:40:21 M5 executing on capillary command line: /home/joel/research/m5-stable/build/ALPHA_FS/m5.debug --trace-flags=Bus --trace-start=1828760000000 --trace-file=tracelog.txt ./configs/example/fs.py --script=../m5-parsec/bash-m5/test.rcS --detailed --caches --l2cache --fast-forward=1000000000000 Global frequency set at 1000000000000 ticks per second info: kernel located at: /home/joel/research/m5-parsec/binaries/vmlinux Listening for system connection on port 3456 0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000 Switch at instruction count:1000000000000 info: Entering event queue @ 0. Starting simulation... hack: be nice to actually delete the event here Switched CPUS @ cycle = 1828747071000 Changing memory mode to timing switching cpus **** REAL SIMULATION **** info: Entering event queue @ 1828747071000. Starting simulation... Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb7a9d8e0 (LWP 3241)] 0x080befe0 in std::list<Packet*, std::allocator<Packet*> >::empty (this=0x4) at /usr/include/c++/4.3/bits/stl_list.h:759 759 { return this->_M_impl._M_node._M_next == &this->_M_impl._M_node; } (gdb) info stack #0 0x080befe0 in std::list<Packet*, std::allocator<Packet*> >::empty (this=0x4) at /usr/include/c++/4.3/bits/stl_list.h:759 #1 0x080b8f03 in BasePrefetcher::getPacket (this=0x0) at build/ALPHA_FS/mem/cache/prefetch/base.cc:134 #2 0x08112493 in Cache<LRU>::getNextMSHR (this=0x9d655a0) at build/ALPHA_FS/mem/cache/cache_impl.hh:1307 #3 0x08112532 in Cache<LRU>::getTimingPacket (this=0x9d655a0) at build/ALPHA_FS/mem/cache/cache_impl.hh:1325 #4 0x08112744 in Cache<LRU>::MemSidePort::sendPacket (this=0x9d93790) at build/ALPHA_FS/mem/cache/cache_impl.hh:1518 #5 0x0811364e in Cache<LRU>::MemSidePort::processSendEvent (this=0x9d93790) at build/ALPHA_FS/mem/cache/cache_impl.hh:1575 #6 0x0810a41c in EventWrapper<Cache<LRU>::MemSidePort, &(Cache<LRU>::MemSidePort::processSendEvent())>::process (this=0x9456df0) at build/ALPHA_FS/sim/eventq.hh:468 #7 0x082233de in EventQueue::serviceOne (this=0x884eeb8) at build/ALPHA_FS/sim/eventq.cc:202 #8 0x08587dcc in simulate (num_cycles=9223372036854775807) at build/ALPHA_FS/sim/simulate.cc:73 #9 0x085fa28d in _wrap_simulate__SWIG_0 (args=0x9435acc) at build/ALPHA_FS/python/swig/event_wrap.cc:4156 #10 0x085fa395 in _wrap_simulate (self=0x0, args=0x9435acc) at build/ALPHA_FS/python/swig/event_wrap.cc:4206 #11 0xb7dadaed in PyCFunction_Call () from /usr/lib/libpython2.6.so.1.0 #12 0xb7d6798c in PyObject_Call () from /usr/lib/libpython2.6.so.1.0 #13 0xb7e0d0b5 in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0 #14 0xb7e11910 in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0 #15 0xb7e10030 in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0 #16 0xb7e10b4f in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0 #17 0xb7e11910 in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0 #18 0xb7e11a73 in PyEval_EvalCode () from /usr/lib/libpython2.6.so.1.0 #19 0xb7e0f781 in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0 #20 0xb7e11910 in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0 #21 0xb7e10030 in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0 #22 0xb7e11910 in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0 #23 0xb7e11a73 in PyEval_EvalCode () from /usr/lib/libpython2.6.so.1.0 #24 0xb7e2ffdd in PyRun_StringFlags () from /usr/lib/libpython2.6.so.1.0 #25 0x0833c5fa in m5Main (argc=10, argv=0xbfb392c4) at build/ALPHA_FS/sim/init.cc:194 #26 0x0804f0f7 in main (argc=10, argv=0xbfb392c4) at build/ALPHA_FS/sim/main.cc:57 (gdb) quit
_______________________________________________ m5-users mailing list m5-users@m5sim.org http://m5sim.org/cgi-bin/mailman/listinfo/m5-users