After waiting for several minutes I managed to connect with gdb and generate both C and Ruby stack traces. There are two threads, and the Ruby stack trace is the same for both, maybe because I do not know how to get it properly. I succeeded running the tests once. This hanged on the second run. I did:
$ gdb ruby <pid>
(gdb) thread 1
(gdb) bt full
(gdb) p rb_backtrace()
(gdb) thread 2
(gdb) bt full
(gdb) p rb_backtrace()
from /home/porridge/Desktop/coding/puppet-git/spec/../lib/puppet/network/http/webrick.rb:50:in `join'
from /home/porridge/Desktop/coding/puppet-git/spec/../lib/puppet/network/http/webrick.rb:50:in `unlisten'
from /usr/lib/ruby/1.8/thread.rb:135:in `synchronize'
from /home/porridge/Desktop/coding/puppet-git/spec/../lib/puppet/network/http/webrick.rb:47:in `unlisten'
from /home/porridge/Desktop/coding/puppet-git/spec/../lib/puppet/network/server.rb:133:in `unlisten'
from /home/porridge/Desktop/coding/puppet-git/spec/integration/network/server/webrick.rb:57
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec/example/example_methods.rb:55:in `instance_eval'
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec/example/example_methods.rb:55:in `eval_each_fail_slow'
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec/example/example_methods.rb:53:in `each'
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec/example/example_methods.rb:53:in `eval_each_fail_slow'
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec/example/example_group_methods.rb:261:in `run_after_each'
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec/example/example_group_methods.rb:349:in `execute_in_class_hierarchy'
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec/example/example_group_methods.rb:348:in `each'
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec/example/example_group_methods.rb:348:in `execute_in_class_hierarchy'
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec/example/example_group_methods.rb:260:in `run_after_each'
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec/example/example_methods.rb:99:in `after_example'
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec/example/example_methods.rb:24:in `execute'
from /usr/lib/ruby/1.8/timeout.rb:48:in `timeout'
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec/example/example_methods.rb:16:in `execute'
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec/example/example_group_methods.rb:292:in `execute_examples'
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec/example/example_group_methods.rb:291:in `each'
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec/example/example_group_methods.rb:291:in `execute_examples'
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec/example/example_group_methods.rb:121:in `run'
from /home/porridge/Desktop/coding/puppet-git/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:19:in `run'
from /home/porridge/Desktop/coding/puppet-git/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:17:in `each'
from /home/porridge/Desktop/coding/puppet-git/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:17:in `run'
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec/runner/options.rb:90:in `run_examples'
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec.rb:20:in `run'
from /home/porridge/Desktop/coding/puppet-git/lib/../vendor/gems/rspec/lib/spec/runner.rb:192:in `register_at_exit_hook'
from integration/reports.rb:10
#0 0xb7f7c410 in ?? ()
No symbol table info available.
#1 0xb6c1c458 in ?? ()
No symbol table info available.
#2 0xb7f56f70 in ?? () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#3 0xb6c1c43c in ?? ()
No symbol table info available.
#4 0xb7e93016 in __nanosleep_nocancel ()
from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#5 0xb7ebf19d in rb_method_node () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#6 0xb7e8d240 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#7 0xb7dca49e in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#0 0xb7f7c410 in ?? ()
No symbol table info available.
#1 0xbff7f668 in ?? ()
No symbol table info available.
#2 0xbff7f550 in ?? ()
No symbol table info available.
#3 0xbff7f5d0 in ?? ()
No symbol table info available.
#4 0xb7dc3131 in select () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#5 0xb7ec3f91 in rb_thread_schedule () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#6 0xb7ec84c7 in rb_thread_fd_close () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#7 0xb7ec86b6 in rb_thread_fd_close () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#8 0xb7ebe653 in rb_provide () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#9 0xb7ec5dc2 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#10 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#11 0xb7ece86c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#12 0xb7ed15be in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#13 0xb7eceae1 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#14 0xb7ecf78a in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#15 0xb7ec66e1 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#16 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#17 0xb7ece86c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#18 0xb7ecfd0c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#19 0xb7ec66e1 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#20 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#21 0xb7ece86c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#22 0xb7ec66e1 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#23 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#24 0xb7ece86c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#25 0xb7ed15be in rb_apply () from /usr/lib/libruby1.8.so.1.8
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#26 0xb7ed2871 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#27 0xb7ec242c in rb_frozen_class_p () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#28 0xb7ec24a9 in rb_frozen_class_p () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#29 0xb7ebe653 in rb_provide () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#30 0xb7ec5dc2 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#31 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#32 0xb7ece997 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#33 0xb7ed0436 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#34 0xb7ecdd54 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#35 0xb7ecf404 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#36 0xb7ed15be in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#37 0xb7ed2a4f in rb_yield () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#38 0xb7eab7ff in rb_ary_each () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#39 0xb7ebe63e in rb_provide () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#40 0xb7ec5dc2 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#41 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#42 0xb7ece86c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#43 0xb7ecfd0c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#44 0xb7ec66e1 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#45 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#46 0xb7ece86c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#47 0xb7ed15be in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#48 0xb7eceae1 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#49 0xb7ed15be in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#50 0xb7ed2a4f in rb_yield () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#51 0xb7eab7ff in rb_ary_each () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#52 0xb7ebe63e in rb_provide () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#53 0xb7ec5dc2 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#54 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#55 0xb7ece86c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#56 0xb7ecfd0c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#57 0xb7ec66e1 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#58 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#59 0xb7ece997 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#60 0xb7ecfd0c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#61 0xb7ec66e1 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#62 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#63 0xb7ece86c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#64 0xb7ecf78a in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#65 0xb7ec66e1 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#66 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#67 0xb7ece657 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#68 0xb7ecf404 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#69 0xb7ed15be in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#70 0xb7eceae1 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#71 0xb7ecea92 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#72 0xb7ec66e1 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#73 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#74 0xb7ece86c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#75 0xb7ecfd0c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#76 0xb7ec66e1 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#77 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#78 0xb7ece86c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#79 0xb7ece7ee in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#80 0xb7ecd155 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#81 0xb7ed15be in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#82 0xb7ed2a4f in rb_yield () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#83 0xb7eab7ff in rb_ary_each () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#84 0xb7ebe63e in rb_provide () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#85 0xb7ec5dc2 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#86 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#87 0xb7ece86c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#88 0xb7ecfd0c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#89 0xb7ec66e1 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#90 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#91 0xb7ece997 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#92 0xb7ecdcce in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#93 0xb7ecd0ec in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#94 0xb7ec66e1 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#95 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#96 0xb7ece86c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#97 0xb7ece7ee in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#98 0xb7ecd155 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#99 0xb7ed15be in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#100 0xb7ed2a4f in rb_yield () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#101 0xb7eab7ff in rb_ary_each () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#102 0xb7ebe63e in rb_provide () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#103 0xb7ec5dc2 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#104 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#105 0xb7ece86c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#106 0xb7ecfd0c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#107 0xb7ecf78a in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#108 0xb7ec66e1 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#109 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#110 0xb7ece86c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#111 0xb7ecd155 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#112 0xb7ec66e1 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#113 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#114 0xb7ece86c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#115 0xb7ecd155 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#116 0xb7ec66e1 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#117 0xb7ec6b38 in rb_iter_break () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#118 0xb7ece86c in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#119 0xb7ecce0d in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#120 0xb7ed15be in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#121 0xb7ed21a8 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#122 0xb7ed2364 in rb_apply () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#123 0xb7ec8f5f in rb_exec_end_proc () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#124 0xb7ec90c7 in rb_exec_end_proc () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#125 0xb7ec94ed in ruby_cleanup () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#126 0xb7ec968d in ruby_stop () from /usr/lib/libruby1.8.so.1.8
No symbol table info available.
#127 0xb7ed46c1 in ruby_run () from /usr/lib/libruby1.8.so.1.8
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#128 0x08048612 in main ()
No symbol table info available.
(gdb)