Skip to content

Instantly share code, notes, and snippets.

@larsbergstrom
Created January 5, 2014 17:41
Show Gist options
  • Save larsbergstrom/8271341 to your computer and use it in GitHub Desktop.
Save larsbergstrom/8271341 to your computer and use it in GitHub Desktop.
selector matching crash in atomics code
(gdb) bt
#0 0x0000000000410456 in sync::atomics::atomic_sub::h815d09af8c559e22a2::v0.0 ()
#1 0x000000000041035e in sync::atomics::AtomicUint::fetch_sub::h9ec7ccbfe1db76b1nGaW::v0.0 ()
#2 0x0000000000412e76 in sync::arc::Drop$UnsafeArc::drop::h082fb8804938a44egta7::v0.0 ()
#3 0x0000000000412e09 in std..sync..arc..UnsafeArc$LT$$UP$$x5bstyle..properties..PropertyDeclaration$x5d$GT$::glue_drop::hf9d899205dbbef9aa6 ()
#4 0x0000000000412dc3 in extra..arc..Arc$LT$$UP$$x5bstyle..properties..PropertyDeclaration$x5d$GT$::glue_drop::h154d2a9dbe41f7eea2 ()
#5 0x00000000004a972d in unboxed_vec$LT$extra..arc..Arc$LT$$UP$$x5bstyle..properties..PropertyDeclaration$x5d$GT$$GT$::glue_drop::h2541e0c90524adf7aK ()
#6 0x00000000004a96aa in _$UP$$x5bextra..arc..Arc$LT$$UP$$x5bstyle..properties..PropertyDeclaration$x5d$GT$$x5d::glue_free::h31e00a2d7c7106d6aG ()
#7 0x00000000004a9643 in _$UP$$x5bextra..arc..Arc$LT$$UP$$x5bstyle..properties..PropertyDeclaration$x5d$GT$$x5d::glue_drop::h31e00a2d7c7106d6aF () at /home/larsberg/servo-jack/src/components/main/layout/wrapper.rs:267
#8 0x00000000004a917b in servo::css::matching::MatchMethods$LayoutNode::match_node (self=0x7f056021cbd8,
stylist=0x7f05686a5b48) at /home/larsberg/servo-jack/src/components/main/css/matching.rs:39
#9 0x00000000004cdedb in fn17768 (stylist=0x7f05686a5b48)
at /home/larsberg/servo-jack/src/components/main/css/matching.rs:81
#10 0x00000000004cdcbd in arc::RWArc::read::anon::expr_fn::oaaAaD ()
at /home/larsberg/servo-jack/src/components/main/css/matching.rs:75
#11 0x00000000004cd852 in sync::RWLock::read::anon::expr_fn::qnaEaq ()
at /home/larsberg/servo-jack/src/components/main/css/matching.rs:75
#12 0x00000000004c03cc in unstable::finally::Finally$$CLOSURE$::finally::h68c0ef0b98421709FpaB::v0.0 ()
at /home/larsberg/servo-jack/src/components/main/css/matching.rs:47
#13 0x00000000004cc616 in sync::RWLock::read::h482ba1d7b081b150qnaE::v0.0 ()
at /home/larsberg/servo-jack/src/components/main/css/matching.rs:75
#14 0x00000000004cc3d3 in arc::RWArc::read::h733101513ada6f4eoaaA::v0.0 ()
at /home/larsberg/servo-jack/src/components/main/css/matching.rs:75
#15 0x00000000004c4727 in fn17693 () at /home/larsberg/servo-jack/src/components/main/css/matching.rs:75
#16 0x00007f05798751b8 in task::__extensions__::build_start_wrapper::anon::anon::expr_fn::a1 ()
from /home/larsberg/servo-jack/build/x86_64-unknown-linux-gnu/src/compiler/rust/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/lib/libgreen-83b1c0e5-0.9.so
#17 0x00007f0579bbb3f8 in rt::task::__extensions__::run::anon::expr_fn::av ()
from /home/larsberg/servo-jack/build/x86_64-unknown-linux-gnu/src/compiler/rust/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/lib/libstd-3e5aeb83-0.9.so
#18 0x00007f0579bc294c in rust_try ()
from /home/larsberg/servo-jack/build/x86_64-unknown-linux-gnu/src/compiler/rust/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/lib/libstd-3e5aeb83-0.9.so
#19 0x00007f0579bbb19d in rt::task::Task::run::hf7663b6e52130dcb3aar::v0.9 ()
from /home/larsberg/servo-jack/build/x86_64-unknown-linux-gnu/src/compiler/rust/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/lib/libstd-3e5aeb83-0.9.so
#20 0x00007f0579874bdc in task::__extensions__::build_start_wrapper::anon::expr_fn::aK ()
from /home/larsberg/servo-jack/build/x86_64-unknown-linux-gnu/src/compiler/rust/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/lib/libgreen-83b1c0e5-0.9.so
#21 0x0000000000000000 in ?? ()
(gdb) disas 0x410456
Dump of assembler code for function _ZN4sync7atomics10atomic_sub19h815d09af8c559e22a24v0.0E:
0x0000000000410370 <+0>: cmp %fs:0x70,%rsp
0x0000000000410379 <+9>: ja 0x410395 <_ZN4sync7atomics10atomic_sub19h815d09af8c559e22a24v0.0E+37>
0x000000000041037b <+11>: movabs $0x48,%r10
0x0000000000410385 <+21>: movabs $0x0,%r11
0x000000000041038f <+31>: callq 0x5f7878 <__morestack>
0x0000000000410394 <+36>: retq
0x0000000000410395 <+37>: push %rbp
0x0000000000410396 <+38>: mov %rsp,%rbp
0x0000000000410399 <+41>: sub $0x40,%rsp
0x000000000041039d <+45>: mov %cl,%al
0x000000000041039f <+47>: mov %rsi,-0x8(%rbp)
0x00000000004103a3 <+51>: mov %rdx,-0x10(%rbp)
0x00000000004103a7 <+55>: mov %al,-0x11(%rbp)
0x00000000004103aa <+58>: mov -0x8(%rbp),%rsi
0x00000000004103ae <+62>: callq 0x410490 <_ZN4cast9transmute19hd02bef5c9e773cf0a34v0.0E>
0x00000000004103b3 <+67>: mov %rax,-0x20(%rbp)
0x00000000004103b7 <+71>: mov -0x10(%rbp),%rsi
0x00000000004103bb <+75>: callq 0x4104d0 <_ZN4cast9transmute19h25764bef9b802235a54v0.0E>
0x00000000004103c0 <+80>: mov %rax,-0x28(%rbp)
0x00000000004103c4 <+84>: movzbl -0x11(%rbp),%ecx
0x00000000004103c8 <+88>: mov %ecx,%eax
0x00000000004103ca <+90>: mov %rax,%rdx
0x00000000004103cd <+93>: sub $0x3,%rdx
0x00000000004103d1 <+97>: mov %rax,-0x38(%rbp)
0x00000000004103d5 <+101>: mov %rdx,-0x40(%rbp)
0x00000000004103d9 <+105>: ja 0x410461 <_ZN4sync7atomics10atomic_sub19h815d09af8c559e22a24v0.0E+241>
0x00000000004103df <+111>: lea 0x96(%rip),%rax # 0x41047c
0x00000000004103e6 <+118>: mov -0x38(%rbp),%rcx
0x00000000004103ea <+122>: movslq (%rax,%rcx,4),%rdx
0x00000000004103ee <+126>: add %rax,%rdx
0x00000000004103f1 <+129>: jmpq *%rdx
0x00000000004103f3 <+131>: mov -0x20(%rbp),%rax
0x00000000004103f7 <+135>: mov -0x28(%rbp),%rcx
0x00000000004103fb <+139>: neg %rcx
0x00000000004103fe <+142>: lock xadd %rcx,(%rax)
0x0000000000410403 <+147>: mov %rcx,-0x30(%rbp)
0x0000000000410407 <+151>: jmp 0x41046b <_ZN4sync7atomics10atomic_sub19h815d09af8c559e22a24v0.0E+251>
0x0000000000410409 <+153>: mov -0x20(%rbp),%rax
0x000000000041040d <+157>: mov -0x28(%rbp),%rcx
0x0000000000410411 <+161>: neg %rcx
0x0000000000410414 <+164>: lock xadd %rcx,(%rax)
0x0000000000410419 <+169>: mov %rcx,-0x30(%rbp)
0x000000000041041d <+173>: jmp 0x41046b <_ZN4sync7atomics10atomic_sub19h815d09af8c559e22a24v0.0E+251>
0x000000000041041f <+175>: mov -0x20(%rbp),%rax
0x0000000000410423 <+179>: mov -0x28(%rbp),%rcx
0x0000000000410427 <+183>: neg %rcx
0x000000000041042a <+186>: lock xadd %rcx,(%rax)
0x000000000041042f <+191>: mov %rcx,-0x30(%rbp)
0x0000000000410433 <+195>: jmp 0x41046b <_ZN4sync7atomics10atomic_sub19h815d09af8c559e22a24v0.0E+251>
0x0000000000410435 <+197>: mov -0x20(%rbp),%rax
0x0000000000410439 <+201>: mov -0x28(%rbp),%rcx
0x000000000041043d <+205>: neg %rcx
0x0000000000410440 <+208>: lock xadd %rcx,(%rax)
0x0000000000410445 <+213>: mov %rcx,-0x30(%rbp)
---Type <return> to continue, or q <return> to quit---
0x0000000000410449 <+217>: jmp 0x41046b <_ZN4sync7atomics10atomic_sub19h815d09af8c559e22a24v0.0E+251>
0x000000000041044b <+219>: mov -0x20(%rbp),%rax
0x000000000041044f <+223>: mov -0x28(%rbp),%rcx
0x0000000000410453 <+227>: neg %rcx
=> 0x0000000000410456 <+230>: lock xadd %rcx,(%rax)
0x000000000041045b <+235>: mov %rcx,-0x30(%rbp)
0x000000000041045f <+239>: jmp 0x41046b <_ZN4sync7atomics10atomic_sub19h815d09af8c559e22a24v0.0E+251>
0x0000000000410461 <+241>: jmp 0x41044b <_ZN4sync7atomics10atomic_sub19h815d09af8c559e22a24v0.0E+219>
0x0000000000410463 <+243>: jmp 0x4103f3 <_ZN4sync7atomics10atomic_sub19h815d09af8c559e22a24v0.0E+131>
0x0000000000410465 <+245>: jmp 0x410409 <_ZN4sync7atomics10atomic_sub19h815d09af8c559e22a24v0.0E+153>
0x0000000000410467 <+247>: jmp 0x41041f <_ZN4sync7atomics10atomic_sub19h815d09af8c559e22a24v0.0E+175>
0x0000000000410469 <+249>: jmp 0x410435 <_ZN4sync7atomics10atomic_sub19h815d09af8c559e22a24v0.0E+197>
0x000000000041046b <+251>: mov -0x30(%rbp),%rsi
0x000000000041046f <+255>: callq 0x40e2c0 <_ZN4cast9transmute19hc2d10f03efbd0d69aA4v0.0E>
0x0000000000410474 <+260>: add $0x40,%rsp
0x0000000000410478 <+264>: pop %rbp
0x0000000000410479 <+265>: retq
End of assembler dump.
(gdb) info registers
rax 0x7f05749b4b91 139661407898513
rbx 0x7f056000e9f0 139661062236656
rcx 0xffffffffffffffff -1
rdx 0x1 1
rsi 0x1 1
rdi 0x1 1
rbp 0x7f056021c8e0 0x7f056021c8e0
rsp 0x7f056021c8a0 0x7f056021c8a0
r8 0x0 0
r9 0x101010101010101 72340172838076673
r10 0x4 4
r11 0x7f0573e748b2 139661396101298
r12 0x7f056868dda0 139661203266976
r13 0x7f056001d1a0 139661062295968
r14 0x7f056021d088 139661064392840
r15 0x7f056868dd78 139661203266936
rip 0x410456 0x410456 <sync::atomics::atomic_sub::h815d09af8c559e22a2::v0.0+230>
eflags 0x10297 [ CF PF AF SF IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
(gdb)
@larsbergstrom
Copy link
Author

(gdb) print /x 0x7f05749b4b91
$1 = 0x7f05749b4b91
(gdb) print /x *0x7f05749b4b91
$2 = 0x8ab74588
(gdb)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment