Skip to content

Instantly share code, notes, and snippets.

@larsbergstrom
Created January 5, 2014 18:49
Show Gist options
  • Save larsbergstrom/8272223 to your computer and use it in GitHub Desktop.
Save larsbergstrom/8272223 to your computer and use it in GitHub Desktop.
Crash in flow construction
(gdb) bt
#0 0x0000000000540cd3 in _$UP$layout..flow..Flow$LT$no.bounds$GT$::glue_drop::ha207b4efd13a0fdeaK ()
#1 0x0000000000573d44 in layout..construct..ConstructionResult::glue_drop::h67c02fa6f8c47ed3aY ()
at /home/larsberg/servo-jack/src/components/main/layout/construct.rs:271
#2 0x000000000059573d in set_flow_construction_result (self=..., result=..., self=..., result=...)
at /home/larsberg/servo-jack/src/components/main/layout/construct.rs:547
#3 process (self=0x7f14d81ffce0, node=...) at /home/larsberg/servo-jack/src/components/main/layout/construct.rs:494
#4 servo::layout::wrapper::LayoutNode::traverse_postorder_mut<layout::construct::FlowConstructor<>> (self=...,
traversal=0x7f14d81ffce0) at /home/larsberg/servo-jack/src/components/main/layout/wrapper.rs:227
#5 0x0000000000596449 in servo::layout::wrapper::LayoutNode::traverse_postorder_mut<layout::construct::FlowConstructor<>> (self=..., traversal=0x7f14d81ffce0) at /home/larsberg/servo-jack/src/components/main/layout/wrapper.rs:219
#6 0x0000000000596449 in servo::layout::wrapper::LayoutNode::traverse_postorder_mut<layout::construct::FlowConstructor<>> (self=..., traversal=0x7f14d81ffce0) at /home/larsberg/servo-jack/src/components/main/layout/wrapper.rs:219
#7 0x0000000000596449 in servo::layout::wrapper::LayoutNode::traverse_postorder_mut<layout::construct::FlowConstructor<>> (self=..., traversal=0x7f14d81ffce0) at /home/larsberg/servo-jack/src/components/main/layout/wrapper.rs:219
#8 0x0000000000594dca in servo::layout::layout_task::LayoutTask::construct_flow_tree (self=0x7f14d8200e68,
layout_context=0x7f14d82003a0, node=...)
at /home/larsberg/servo-jack/src/components/main/layout/layout_task.rs:356
#9 0x0000000000598a6c in fn24193 () at /home/larsberg/servo-jack/src/components/main/layout/layout_task.rs:450
#10 0x000000000059888e in time::profile::ha1f69d6b81fc28f4al::v0.0 ()
at /home/larsberg/servo-jack/src/components/main/layout/layout_task.rs:448
#11 0x0000000000591bdf in servo::layout::layout_task::LayoutTask::handle_reflow (self=0x7f14d8200e68,
data=0x7f14dc49f560) at /home/larsberg/servo-jack/src/components/main/layout/layout_task.rs:448
#12 0x00000000005913ad in fn24013 () at /home/larsberg/servo-jack/src/components/main/layout/layout_task.rs:280
#13 0x0000000000495924 in time::profile::h512c6173b708ec67a2::v0.0 ()
at /home/larsberg/servo-jack/src/components/main/compositing/compositor.rs:598
#14 0x000000000058df4e in servo::layout::layout_task::LayoutTask::handle_request (self=0x7f14d8200e68)
at /home/larsberg/servo-jack/src/components/main/layout/layout_task.rs:279
#15 0x000000000058c707 in servo::layout::layout_task::LayoutTask::start (self=0x7f14d8200e68)
at /home/larsberg/servo-jack/src/components/main/layout/layout_task.rs:254
#16 0x000000000058a554 in fn23941 () at /home/larsberg/servo-jack/src/components/main/layout/layout_task.rs:218
#17 0x00007f14f03e61b8 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
#18 0x00007f14f072c3f8 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
#19 0x00007f14f073394c 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
#20 0x00007f14f072c19d 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
#21 0x00007f14f03e5bdc 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
#22 0x0000000000000000 in ?? ()
Warning: the current language does not match this frame.
(gdb)
@larsbergstrom
Copy link
Author

(gdb) disas 0x540cd3 Dump of assembler code for function _ZN40_$UP$layout..flow..Flow$LT$no.bounds$GT$9glue_drop19ha207b4efd13a0fdeaKE: 0x0000000000540c70 <+0>: cmp %fs:0x70,%rsp 0x0000000000540c79 <+9>: ja 0x540c95 <_ZN40_$UP$layout..flow..Flow$LT$no.bounds$GT$9glue_drop19ha207b4efd13a0fdeaKE+37> 0x0000000000540c7b <+11>: movabs $0x28,%r10 0x0000000000540c85 <+21>: movabs $0x0,%r11 0x0000000000540c8f <+31>: callq 0x5f02a8 <__morestack> 0x0000000000540c94 <+36>: retq 0x0000000000540c95 <+37>: push %rbp 0x0000000000540c96 <+38>: mov %rsp,%rbp 0x0000000000540c99 <+41>: sub $0x20,%rsp 0x0000000000540c9d <+45>: mov %rsi,%rax 0x0000000000540ca0 <+48>: add $0x8,%rax 0x0000000000540ca6 <+54>: cmpq $0x0,0x8(%rsi) 0x0000000000540cae <+62>: mov %rdi,-0x8(%rbp) 0x0000000000540cb2 <+66>: mov %rsi,-0x10(%rbp) 0x0000000000540cb6 <+70>: mov %rax,-0x18(%rbp) 0x0000000000540cba <+74>: jne 0x540cc2 <_ZN40_$UP$layout..flow..Flow$LT$no.bounds$GT$9glue_drop19ha207b4efd13a0fdeaKE+82> 0x0000000000540cbc <+76>: add $0x20,%rsp 0x0000000000540cc0 <+80>: pop %rbp 0x0000000000540cc1 <+81>: retq 0x0000000000540cc2 <+82>: movabs $0x0,%rdi 0x0000000000540ccc <+92>: mov -0x10(%rbp),%rax 0x0000000000540cd0 <+96>: mov (%rax),%rcx => 0x0000000000540cd3 <+99>: mov (%rcx),%rcx 0x0000000000540cd6 <+102>: mov -0x18(%rbp),%rdx 0x0000000000540cda <+106>: mov %rdx,%rsi 0x0000000000540cdd <+109>: callq *0x20(%rcx) 0x0000000000540ce0 <+112>: jmp 0x540cbc <_ZN40_$UP$layout..flow..Flow$LT$no.bounds$GT$9glue_drop19ha207b4efd13a0fdeaKE+76> End of assembler dump. (gdb)

@larsbergstrom
Copy link
Author

(gdb) info registers
rax            0x7f14dc204050   139727569174608
rbx            0x7f14d8000e70   139727499955824
rcx            0x0      0
rdx            0x0      0
rsi            0x7f14dc204050   139727569174608
rdi            0x0      0
rbp            0x7f14d81fdcb0   0x7f14d81fdcb0
rsp            0x7f14d81fdc90   0x7f14d81fdc90
r8             0x18     24
r9             0x101010101010101        72340172838076673
r10            0x7f14d06067b0   139727372052400
r11            0x7f14ea9e58b2   139727812319410
r12            0x7f14e426ca80   139727703820928
r13            0x7f14d8001230   139727499956784
r14            0x7f14d8201118   139727502053656
r15            0x7f14e426ca58   139727703820888
rip            0x540cd3 0x540cd3 <_$UP$layout..flow..Flow$LT$no.bounds$GT$::glue_drop::ha207b4efd13a0fdeaK+99>
eflags         0x10202  [ IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0
(gdb) 

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