Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- gauss:rubinius brian$ gdb --args vm/vm -Xint --melbourne mspec/bin/mspec-ci --ast -B full
- GNU gdb 6.3.50-20050815 (Apple version gdb-966) (Tue Mar 10 02:43:13 UTC 2009)
- Copyright 2004 Free Software Foundation, Inc.
- GDB is free software, covered by the GNU General Public License, and you are
- welcome to change it and/or distribute copies of it under certain conditions.
- Type "show copying" to see the conditions.
- There is absolutely no warranty for GDB. Type "show warranty" for details.
- This GDB was configured as "i386-apple-darwin"...Reading symbols for shared libraries ..... done
- (gdb) r
- Starting program: /Users/brian/devel/rubinius/vm/vm -Xint --melbourne mspec/bin/mspec-ci --ast -B full
- Reading symbols for shared libraries ++++. done
- Reading symbols for shared libraries . done
- ...................................................................................................................................................................................................................
- Program received signal EXC_BAD_ACCESS, Could not access memory.
- Reason: KERN_INVALID_ADDRESS at address: 0x2f737568
- 0x00050727 in rubinius::ObjectHeader::forwarded_p (this=0x13984d8) at oop.hpp:365
- 365 return flags().Forwarded == 1;
- (gdb) in thr
- Ambiguous command "in thr": info, inspect, internals, interpreter-exec, interrupt.
- (gdb) info thr
- Ambiguous info command "thr": thread, threads.
- (gdb) info thread
- Thread 0x813 (local 0x2e03) has current state "WAITING"
- Thread 0x813 has a suspend count of 0.
- (gdb) info threads
- 3 process 23116 thread 0x1003 0x955ce46e in __semwait_signal ()
- 2 process 23116 thread 0x313 0x955ce46e in __semwait_signal ()
- * 1 process 23116 local thread 0x2e03 0x00050727 in rubinius::ObjectHeader::forwarded_p (this=0x13984d8) at oop.hpp:365
- (gdb) info thread 2
- Thread 0x313 (local 0x3503) has current state "WAITING"
- Thread 0x313 has a suspend count of 0.
- (gdb) info thread 3
- Thread 0x1003 (local 0x3603) has current state "WAITING"
- Thread 0x1003 has a suspend count of 0.
- (gdb) bt 5
- #0 0x00050727 in rubinius::ObjectHeader::forwarded_p (this=0x13984d8) at oop.hpp:365
- #1 0x00154aee in rubinius::BakerGC::find_lost_souls (this=0x1110b70) at vm/gc/baker.cpp:298
- #2 0x001552ff in rubinius::BakerGC::collect (this=0x1110b70, data=@0xbfff02dc, stats=0xbfff02c4) at vm/gc/baker.cpp:209
- #3 0x00067d50 in rubinius::ObjectMemory::collect_young (this=0x1110a60, data=@0xbfff02dc, stats=0xbfff02c4) at vm/objectmemory.cpp:131
- #4 0x000fa8e8 in rubinius::VM::collect_maybe (this=0x1100e80, call_frame=0xbfff0aa0) at vm/vm.cpp:276
- (More stack frames follow...)
- (gdb) l
- 365 return flags().Forwarded == 1;
- 366 }
- 367
- 368 void clear_forwarded() {
- 369 flags().Forwarded = 0;
- 370 }
- 371
- 372 Object* forward() {
- 373 return ivars_;
- 374 }
- (gdb) fr 1
- #1 0x00154aee in rubinius::BakerGC::find_lost_souls (this=0x1110b70) at vm/gc/baker.cpp:298
- 298 if(!obj->forwarded_p()) {
- (gdb) l
- 293 obj = next_object(obj);
- 294 }
- 295
- 296 obj = eden.first_object();
- 297 while(obj < eden.current()) {
- 298 if(!obj->forwarded_p()) {
- 299 #ifdef RBX_GC_STATS
- 300 stats::GCStats::get()->lifetimes[obj->age()]++;
- 301 #endif
- 302 }
- (gdb) p obj
- $1 = (class rubinius::Object *) 0x13984d8
- (gdb) p eden
- $2 = {
- start_ = 0x1300000,
- current_ = 0x15ffa18,
- last_ = 0x15fffff,
- scan_ = 0x1300000,
- limit_ = 0x15ff3b6,
- size_ = 3145728
- }
- (gdb) p eden.first_object()
- $3 = (class rubinius::Object *) 0x1300000
- (gdb) p eden.current() - eden.last_object()
- Couldn't find method rubinius::Heap::last_object
- (gdb) p 0x15ffa18 - 0x15fffff
- $4 = -1511
- (gdb) p 0x15ffa18 - 0x13984d8
- $5 = 2520384
- (gdb) p *obj
- $6 = {
- <rubinius::ObjectHeader> = {
- header = {
- f = {
- inflated = 1,
- obj_type = 180,
- zone = rubinius::MatureObjectZone,
- age = 14,
- Forwarded = 0,
- Remember = 1,
- Marked = 1,
- RequiresCleanup = 0,
- InImmix = 1,
- Pinned = 1
- },
- all_flags = 0x2f737569
- },
- klass_ = 0x63657073,
- ivars_ = 0x6f72662f,
- __body__ = 0x13984e4
- },
- members of rubinius::Object:
- static type = <optimized out>
- }
Add Comment
Please, Sign In to add comment