Bug #7119

Running wisp causes a segmentation fault

Added by Andrew Grimm over 1 year ago. Updated over 1 year ago.

[ruby-core:47867]
Status:Third Party's Issue
Priority:Normal
Assignee:Yusuke Endoh
Category:-
Target version:-
ruby -v:ruby 2.0.0dev (2012-09-28 trunk 37049) [x86_64-darwin10.8.0] Backport:

Description

=begin
Running Wisp causes a segmentation fault.

Wisp is only version 0.1.0, but its code is too simple for it itself to cause a segmentation fault.

192-168-1-6:Wisp agrimm$ ruby -rwisp examples/loop.rb 
== Sinatra/1.3.2 has taken the stage on 4567 for development with backup from Thin
>> Thin web server (v1.3.1 codename Triple Espresso)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:4567, CTRL+C to stop
/Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/connection.rb:470: [BUG] Segmentation fault
ruby 2.0.0dev (2012-09-28 trunk 37049) [x86_64-darwin10.8.0]

-- Control frame information -----------------------------------------------
c:0015 p:---- s:0068 e:000067 CFUNC  :set_comm_inactivity_timeout
c:0014 p:0028 s:0063 e:000062 METHOD /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/connection.rb:470
c:0013 p:0013 s:0059 e:000058 METHOD /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/connection.rb:460
c:0012 p:0047 s:0055 e:000054 METHOD /Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin/backends/base.rb:130 [FINISH]
c:0011 p:---- s:0051 e:000050 IFUNC 
c:0010 p:---- s:0049 e:000048 CFUNC  :call
c:0009 p:0198 s:0045 e:000044 METHOD /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/eventmachine.rb:1432 [FINISH]
c:0008 p:---- s:0034 e:000033 CFUNC  :run_machine
c:0007 p:0244 s:0031 e:000030 METHOD /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/eventmachine.rb:256
c:0006 p:0066 s:0024 e:000760 METHOD /Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin/backends/base.rb:61
c:0005 p:0143 s:0020 e:000019 METHOD /Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin/server.rb:159
c:0004 p:0081 s:0017 e:000016 METHOD /Users/agrimm/.rvm/gems/ruby-head/gems/rack-1.3.6/lib/rack/handler/thin.rb:13
c:0003 p:0082 s:0011 e:001ca8 METHOD /Users/agrimm/.rvm/gems/ruby-head/gems/sinatra-1.3.2/lib/sinatra/base.rb:1295
c:0002 p:0015 s:0004 e:000003 BLOCK  /Users/agrimm/.rvm/gems/ruby-head/gems/wisp-0.1.0/lib/wisp.rb:87 [FINISH]
c:0001 p:---- s:0002 e:000001 TOP    [FINISH]

/Users/agrimm/.rvm/gems/ruby-head/gems/wisp-0.1.0/lib/wisp.rb:87:in `block in <top (required)>'
/Users/agrimm/.rvm/gems/ruby-head/gems/sinatra-1.3.2/lib/sinatra/base.rb:1295:in `run!'
/Users/agrimm/.rvm/gems/ruby-head/gems/rack-1.3.6/lib/rack/handler/thin.rb:13:in `run'
/Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin/server.rb:159:in `start'
/Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin/backends/base.rb:61:in `start'
/Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
/Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
/Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/eventmachine.rb:1432:in `event_callback'
/Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/eventmachine.rb:1432:in `call'
/Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin/backends/base.rb:130:in `initialize_connection'
/Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/connection.rb:460:in `comm_inactivity_timeout='
/Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/connection.rb:470:in `set_comm_inactivity_timeout'
/Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/connection.rb:470:in `set_comm_inactivity_timeout'

-- C level backtrace information -------------------------------------------

   See Crash Report log file under ~/Library/Logs/CrashReporter or
   /Library/Logs/CrashReporter, for the more detail of.

-- Other runtime information -----------------------------------------------

* Loaded script: examples/loop.rb

* Loaded features:

    0 enumerator.so
    1 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/enc/encdb.bundle
    2 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/enc/trans/transdb.bundle
    3 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/site_ruby/2.0.0/rubygems/defaults.rb
    4 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/rbconfig.rb
    5 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/site_ruby/2.0.0/rubygems/deprecate.rb
    6 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/site_ruby/2.0.0/rubygems/exceptions.rb
    7 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb
    8 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/site_ruby/2.0.0/rubygems.rb
    9 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/site_ruby/2.0.0/rubygems/version.rb
   10 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/site_ruby/2.0.0/rubygems/requirement.rb
   11 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/site_ruby/2.0.0/rubygems/platform.rb
   12 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/site_ruby/2.0.0/rubygems/specification.rb
   13 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/site_ruby/2.0.0/rubygems/path_support.rb
   14 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/site_ruby/2.0.0/rubygems/dependency.rb
   15 /Users/agrimm/.rvm/gems/ruby-head/gems/rack-1.3.6/lib/rack.rb
   16 /Users/agrimm/.rvm/gems/ruby-head/gems/tilt-1.3.3/lib/tilt/template.rb
   17 /Users/agrimm/.rvm/gems/ruby-head/gems/tilt-1.3.3/lib/tilt/string.rb
   18 /Users/agrimm/.rvm/gems/ruby-head/gems/tilt-1.3.3/lib/tilt/erb.rb
   19 /Users/agrimm/.rvm/gems/ruby-head/gems/tilt-1.3.3/lib/tilt/haml.rb
   20 /Users/agrimm/.rvm/gems/ruby-head/gems/tilt-1.3.3/lib/tilt/css.rb
   21 /Users/agrimm/.rvm/gems/ruby-head/gems/tilt-1.3.3/lib/tilt/coffee.rb
   22 /Users/agrimm/.rvm/gems/ruby-head/gems/tilt-1.3.3/lib/tilt/nokogiri.rb
   23 /Users/agrimm/.rvm/gems/ruby-head/gems/tilt-1.3.3/lib/tilt/builder.rb
   24 /Users/agrimm/.rvm/gems/ruby-head/gems/tilt-1.3.3/lib/tilt/markaby.rb
   25 /Users/agrimm/.rvm/gems/ruby-head/gems/tilt-1.3.3/lib/tilt/liquid.rb
   26 /Users/agrimm/.rvm/gems/ruby-head/gems/tilt-1.3.3/lib/tilt/radius.rb
   27 /Users/agrimm/.rvm/gems/ruby-head/gems/tilt-1.3.3/lib/tilt/markdown.rb
   28 /Users/agrimm/.rvm/gems/ruby-head/gems/tilt-1.3.3/lib/tilt/textile.rb
   29 /Users/agrimm/.rvm/gems/ruby-head/gems/tilt-1.3.3/lib/tilt/rdoc.rb
   30 /Users/agrimm/.rvm/gems/ruby-head/gems/tilt-1.3.3/lib/tilt/wiki.rb
   31 /Users/agrimm/.rvm/gems/ruby-head/gems/tilt-1.3.3/lib/tilt/yajl.rb
   32 /Users/agrimm/.rvm/gems/ruby-head/gems/tilt-1.3.3/lib/tilt.rb
   33 /Users/agrimm/.rvm/gems/ruby-head/gems/rack-protection-1.2.0/lib/rack/protection/version.rb
   34 /Users/agrimm/.rvm/gems/ruby-head/gems/rack-protection-1.2.0/lib/rack/protection.rb
   35 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/thread.rb
   36 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/date_core.bundle
   37 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/date/format.rb
   38 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/date.rb
   39 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/time.rb
   40 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/uri/common.rb
   41 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/uri/generic.rb
   42 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/uri/ftp.rb
   43 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/uri/http.rb
   44 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/uri/https.rb
   45 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/uri/ldap.rb
   46 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/uri/ldaps.rb
   47 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/uri/mailto.rb
   48 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/uri.rb
   49 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/ostruct.rb
   50 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/cgi/util.rb
   51 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/strscan.bundle
   52 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/erb.rb
   53 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/etc.bundle
   54 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/fileutils.rb
   55 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/set.rb
   56 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/delegate.rb
   57 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/tmpdir.rb
   58 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/tempfile.rb
   59 /Users/agrimm/.rvm/gems/ruby-head/gems/rack-1.3.6/lib/rack/multipart.rb
   60 /Users/agrimm/.rvm/gems/ruby-head/gems/rack-1.3.6/lib/rack/utils.rb
   61 /Users/agrimm/.rvm/gems/ruby-head/gems/rack-1.3.6/lib/rack/request.rb
   62 /Users/agrimm/.rvm/gems/ruby-head/gems/rack-1.3.6/lib/rack/showexceptions.rb
   63 /Users/agrimm/.rvm/gems/ruby-head/gems/sinatra-1.3.2/lib/sinatra/showexceptions.rb
   64 /Users/agrimm/.rvm/gems/ruby-head/gems/sinatra-1.3.2/lib/sinatra/version.rb
   65 /Users/agrimm/.rvm/gems/ruby-head/gems/rack-1.3.6/lib/rack/response.rb
   66 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/digest.bundle
   67 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/digest.rb
   68 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/openssl.bundle
   69 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/openssl/bn.rb
   70 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/openssl/cipher.rb
   71 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/stringio.bundle
   72 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/openssl/config.rb
   73 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/openssl/digest.rb
   74 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/openssl/x509.rb
   75 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/openssl/buffering.rb
   76 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/fcntl.bundle
   77 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/openssl/ssl.rb
   78 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/openssl.rb
   79 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/securerandom.rb
   80 /Users/agrimm/.rvm/gems/ruby-head/gems/sinatra-1.3.2/lib/sinatra/base.rb
   81 /Users/agrimm/.rvm/gems/ruby-head/gems/sinatra-1.3.2/lib/sinatra/main.rb
   82 /Users/agrimm/.rvm/gems/ruby-head/gems/sinatra-1.3.2/lib/sinatra.rb
   83 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/timeout.rb
   84 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/forwardable.rb
   85 /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/rubyeventmachine.bundle
   86 /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/version.rb
   87 /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/deferrable.rb
   88 /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/future.rb
   89 /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/streamer.rb
   90 /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/spawnable.rb
   91 /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/processes.rb
   92 /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/buftok.rb
   93 /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/timers.rb
   94 /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/protocols.rb
   95 /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/connection.rb
   96 /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/callback.rb
   97 /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/queue.rb
   98 /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/channel.rb
   99 /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/file_watch.rb
  100 /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/em/process_watch.rb
  101 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/shellwords.rb
  102 /Users/agrimm/.rvm/gems/ruby-head/gems/eventmachine-0.12.10/lib/eventmachine.rb
  103 /Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin/version.rb
  104 /Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin/statuses.rb
  105 /Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/rack/adapter/loader.rb
  106 /Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin_parser.bundle
  107 /Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin.rb
  108 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/debugger.rb
  109 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/websocket.rb
  110 /Users/agrimm/.rvm/gems/ruby-head/gems/addressable-2.3.2/lib/addressable/version.rb
  111 /Users/agrimm/.rvm/gems/ruby-head/gems/addressable-2.3.2/lib/addressable/idna/pure.rb
  112 /Users/agrimm/.rvm/gems/ruby-head/gems/addressable-2.3.2/lib/addressable/idna.rb
  113 /Users/agrimm/.rvm/gems/ruby-head/gems/addressable-2.3.2/lib/addressable/uri.rb
  114 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/connection.rb
  115 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/handshake75.rb
  116 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/digest/md5.bundle
  117 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/handshake76.rb
  118 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/digest/sha1.bundle
  119 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/base64.rb
  120 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/handshake04.rb
  121 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/framing76.rb
  122 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/framing03.rb
  123 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/framing04.rb
  124 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/framing05.rb
  125 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/framing07.rb
  126 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/close75.rb
  127 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/close03.rb
  128 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/close05.rb
  129 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/close06.rb
  130 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/masking04.rb
  131 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/message_processor_03.rb
  132 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/message_processor_06.rb
  133 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/handler_factory.rb
  134 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/handler.rb
  135 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/handler75.rb
  136 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/handler76.rb
  137 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/handler03.rb
  138 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/handler05.rb
  139 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/handler06.rb
  140 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/handler07.rb
  141 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/handler08.rb
  142 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket/handler13.rb
  143 /Users/agrimm/.rvm/gems/ruby-head/gems/em-websocket-0.3.8/lib/em-websocket.rb
  144 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/socket.bundle
  145 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/socket.rb
  146 /Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin/logging.rb
  147 /Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin/connection.rb
  148 /Users/agrimm/.rvm/gems/ruby-head/gems/sinatra-websocket-0.1.2/lib/sinatra-websocket/ext/thin/connection.rb
  149 /Users/agrimm/.rvm/gems/ruby-head/gems/sinatra-websocket-0.1.2/lib/sinatra-websocket/ext/sinatra/request.rb
  150 /Users/agrimm/.rvm/gems/ruby-head/gems/sinatra-websocket-0.1.2/lib/sinatra-websocket.rb
  151 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/json/version.rb
  152 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/json/generic_object.rb
  153 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/json/common.rb
  154 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/enc/utf_16be.bundle
  155 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/enc/utf_16le.bundle
  156 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/enc/utf_32be.bundle
  157 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/enc/utf_32le.bundle
  158 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/json/ext/parser.bundle
  159 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/x86_64-darwin10.8.0/json/ext/generator.bundle
  160 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/json/ext.rb
  161 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/json.rb
  162 /Users/agrimm/.rvm/gems/ruby-head/gems/rack-1.3.6/lib/rack/handler.rb
  163 /Users/agrimm/.rvm/gems/ruby-head/gems/rack-1.3.6/lib/rack/content_length.rb
  164 /Users/agrimm/.rvm/gems/ruby-head/gems/rack-1.3.6/lib/rack/chunked.rb
  165 /Users/agrimm/.rvm/gems/ruby-head/gems/rack-1.3.6/lib/rack/handler/thin.rb
  166 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/optparse.rb
  167 /Users/agrimm/.rvm/rubies/ruby-head/lib/ruby/2.0.0/optparse/time.rb
  168 /Users/agrimm/.rvm/gems/ruby-head/gems/daemons-1.1.8/lib/daemons/pid.rb
  169 /Users/agrimm/.rvm/gems/ruby-head/gems/daemons-1.1.8/lib/daemons/pidfile.rb
  170 /Users/agrimm/.rvm/gems/ruby-head/gems/daemons-1.1.8/lib/daemons/cmdline.rb
  171 /Users/agrimm/.rvm/gems/ruby-head/gems/daemons-1.1.8/lib/daemons/exceptions.rb
  172 /Users/agrimm/.rvm/gems/ruby-head/gems/daemons-1.1.8/lib/daemons/daemonize.rb
  173 /Users/agrimm/.rvm/gems/ruby-head/gems/daemons-1.1.8/lib/daemons/monitor.rb
  174 /Users/agrimm/.rvm/gems/ruby-head/gems/daemons-1.1.8/lib/daemons/pidmem.rb
  175 /Users/agrimm/.rvm/gems/ruby-head/gems/daemons-1.1.8/lib/daemons/etc_extension.rb
  176 /Users/agrimm/.rvm/gems/ruby-head/gems/daemons-1.1.8/lib/daemons/change_privilege.rb
  177 /Users/agrimm/.rvm/gems/ruby-head/gems/daemons-1.1.8/lib/daemons/application.rb
  178 /Users/agrimm/.rvm/gems/ruby-head/gems/daemons-1.1.8/lib/daemons/application_group.rb
  179 /Users/agrimm/.rvm/gems/ruby-head/gems/daemons-1.1.8/lib/daemons/controller.rb
  180 /Users/agrimm/.rvm/gems/ruby-head/gems/daemons-1.1.8/lib/daemons.rb
  181 /Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin/daemonizing.rb
  182 /Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin/server.rb
  183 /Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin/backends/base.rb
  184 /Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin/backends/tcp_server.rb
  185 /Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin/request.rb
  186 /Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin/response.rb
  187 /Users/agrimm/.rvm/gems/ruby-head/gems/thin-1.3.1/lib/thin/headers.rb

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

Abort trap

192-168-1-6:~ agrimm$ gem list

*** LOCAL GEMS ***

a (3.a, 2, 1)
a_evil (9)
abstract (1.0.0)
actionmailer (3.1.3)
actionpack (3.1.3)
activefacts-api (0.8.12)
activemodel (3.1.3)
activerecord (3.1.3)
activeresource (3.1.3)
activesupport (3.1.3, 2.3.14)
addressable (2.3.2)
ansi (1.4.1)
archive-tar-minitar (0.5.2)
arel (2.2.1)
axiom_of_choice (1.0.0)
b (2)
bananajour (2.6.9)
bio (1.4.2, 1.4.1)
bones (3.7.3)
bones-git (1.2.4)
builder (3.0.0)
bundler (1.2.1, 1.1.5, 1.0.15)
c (1.2)
coffee-rails (3.1.1)
coffee-script (2.2.0)
coffee-script-source (1.2.0, 1.1.3)
cucumber (1.1.4)
daemons (1.1.8)
dep_x (1)
diff-lcs (1.1.3)
dnssd (1.4)
domain_name (0.5.3)
em-websocket (0.3.8)
erubis (2.7.0)
eventmachine (0.12.10)
execjs (1.2.13, 1.2.9)
geokit (1.6.5)
gherkin (2.7.1)
git (1.2.5)
grit (1.1.1)
haml (3.1.6)
heckle (1.4.3)
hike (1.2.1)
hoe (2.12.3)
i18n (0.6.0)
jeweler (1.6.2)
jquery-rails (1.0.19, 1.0.18)
json (1.6.4, 1.6.1)
laser (0.7.0.pre2)
libxml-ruby (2.3.2)
little-plugger (1.1.3)
loquacious (1.9.1)
mail (2.3.0)
mechanize (2.5.1)
mime-types (1.17.2)
minitest (3.5.0, 3.0.1)
multi_json (1.0.4, 1.0.3)
net-http-digest_auth (1.2.1)
net-http-persistent (2.7)
nokogiri (1.5.3)
ntlm-http (0.1.1)
object_regex (1.0.1)
ParseTree (3.0.7)
pl (1 i386-linux)
polyglot (0.3.3)
rack (1.3.6, 1.3.5)
rack-cache (1.1)
rack-mount (0.8.3)
rack-protection (1.2.0)
rack-ssl (1.3.2)
rack-test (0.6.1)
rails (3.1.3)
railties (3.1.3)
rainbow (1.1.4)
rake (0.9.2.2, 0.8.7)
rcov (0.9.9)
rdoc (3.12, 3.11)
reek (1.2.8)
rest-client (1.6.7)
ripper-plus (1.3.0)
roflbalt (0.0.2)
roodi (2.1.0)
rspec (2.10.0, 2.7.0)
rspec-core (2.10.1, 2.7.1)
rspec-expectations (2.10.0, 2.7.0)
rspec-mocks (2.10.1, 2.7.0)
ruby2ruby (1.3.1, 1.2.2)
ruby_core_source (0.1.5)
ruby_parser (2.3.1, 2.0.6)
rubygems-bundler (1.1.0, 1.0.7)
RubyInline (3.9.0)
rvm (1.11.3.5, 1.11.3.3)
sass (3.1.12, 3.1.10)
sass-rails (3.1.5)
sensis (0.0.3)
sexp_processor (3.0.5)
simplecov (0.6.4)
simplecov-html (0.5.3)
sinatra (1.3.2)
sinatra-websocket (0.1.2)
sprockets (2.0.3)
sqlite3 (1.3.5, 1.3.4)
stream (0.5)
term-ansicolor (1.0.7)
ternary_logic (1.0.1)
test-unit (2.4.4)
thin (1.3.1)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
trollop (1.16.2)
turn (0.8.3)
tzinfo (0.3.31)
uglifier (1.2.2, 1.1.0)
unf (0.0.5)
unf_ext (0.0.5)
webrobots (0.0.13)
wisp (0.1.0)
x (1)
ZenTest (4.7.0, 4.5.0)

192-168-1-6:Wisp agrimm$ ruby --version
ruby 2.0.0dev (2012-09-28 trunk 37049) [x86_64-darwin10.8.0]

On other versions of Ruby, the script didn't work in the expected manner (a web page was generated, but the page didn't show any lines of code being lit up by wisps), but it did not segfault.

Attached is OSX's crash file.
=end

ruby_2012-10-08-210238_Andrew-Grimms-MacBook-Pro.crash - OSX crash file (12.2 KB) Andrew Grimm, 10/08/2012 07:16 PM

History

#1 Updated by Yusuke Endoh over 1 year ago

  • Status changed from Open to Third Party's Issue
  • Assignee set to Yusuke Endoh

(Hooray, wisp user!)

The trace strongly suggests an eventmachine issue:

6 libSystem.B.dylib 0x00007fff85b5e1ba sigtramp + 26
7 rubyeventmachine.bundle 0x000000010079a171 t
setcomminactivity_timeout(unsigned long, unsigned long, unsigned long) + 11 (rubymain.cpp:392)

So, could you contact on eventmachine developers?
Incidentally, it worked with trunk on Linux.

On other versions of Ruby, the script didn't work in the expected manner

This looks another issue due to wisp. Did you use Google Chrome or Firefox?
If I had a chance, I would test it on os x. (I have no Mac.)

Yusuke Endoh mame@tsg.ne.jp

Also available in: Atom PDF