thin

URL
http://code.macournoyer.com/thin/
Author(s)
Marc-Andre Cournoyer
Summary
A thin and fast web server

Add your comment ↓

Comments

thin (1.2.5) is Failing
for Fredrik Bränström (Mac OSX, 19 days ago)

Doesn't work with Rails 3 (Ruby 1.9.1 through RVM), here's the trace: http://pastie.org/836599

thin (1.2.5) is Working
for Matt Hulse (Windows, 3 months ago)

thin (1.2.4) is Working
for Mark Mayo (Mac OSX, 5 months ago)

thin (1.2.4) is Working
for Cloves Carneiro Jr (Mac OSX, 6 months ago)

thin (1.2.2) is Working
for Jake Douglas (Mac OSX, 6 months ago)

thin (1.2.2) is Working
for Joshua Partogi (GNU/Linux, 6 months ago)

Works well for me.

thin (1.2.2) is Working
for Ben Sharpe (GNU/Linux, 7 months ago)

thin (1.2.2) is Failing
for Justin (Mac OSX, 8 months ago)

/usr/local/lib/ruby19/gems/1.9.1/gems/thin-1.2.2/lib/thin/request.rb:50: [BUG] unknown type 0x22 (0xc given)
ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-darwin9.7.0]

thin (1.2.2) is Working
for James Thompson (Windows, 8 months ago)

Installs flawlessly in Cygwin.

thin (1.2.2) is Working
for Justin Knowlden (Mac OSX, 9 months ago)

thin (1.2.1) is Working
for Evil Trout (Mac OSX, 10 months ago)

thin (1.2.1) is Failing
for Brandon Huey (Mac OSX, 10 months ago)

fails using thin as an adapter with ramaze (2009.05) on OS X with ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-darwin9.6.0]

==
D [2009-05-14 07:36:33 $14040] DEBUG | : Using thin
/usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.1/lib/thin/request.rb:50: [BUG] unknown type 0x22 (0xc given)
ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-darwin9.6.0]

-- control frame ----------
c:0024 p:---- s:0097 b:0097 l:000096 d:000096 CFUNC :initialize
c:0023 p:---- s:0095 b:0095 l:000094 d:000094 CFUNC :new
c:0022 p:0019 s:0092 b:0092 l:000091 d:000091 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.1/lib/thin/request.rb:50
c:0021 p:---- s:0089 b:0089 l:000088 d:000088 FINISH
c:0020 p:---- s:0087 b:0087 l:000086 d:000086 CFUNC :new
c:0019 p:0017 s:0084 b:0084 l:000083 d:000083 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.1/lib/thin/connection.rb:35
c:0018 p:0042 s:0081 b:0081 l:000073 d:000080 BLOCK /usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.6/lib/eventmachine.rb:1453
c:0017 p:---- s:0079 b:0079 l:000078 d:000078 FINISH
c:0016 p:---- s:0077 b:0077 l:000076 d:000076 CFUNC :instance_eval
c:0015 p:0017 s:0074 b:0074 l:000073 d:000073 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.6/lib/eventmachine.rb:1446
c:0014 p:0156 s:0069 b:0069 l:000068 d:000068 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.6/lib/eventmachine.rb:1269
c:0013 p:---- s:0058 b:0058 l:000057 d:000057 FINISH
c:0012 p:---- s:0056 b:0056 l:000055 d:000055 CFUNC :run_machine
c:0011 p:0195 s:0053 b:0053 l:000052 d:000052 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.6/lib/eventmachine.rb:240
c:0010 p:0065 s:0046 b:0046 l:002628 d:002628 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.1/lib/thin/backends/base.rb:57
c:0009 p:0139 s:0042 b:0042 l:000041 d:000041 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.1/lib/thin/server.rb:150
c:0008 p:0115 s:0039 b:0039 l:000038 d:000038 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.0.0/lib/rack/handler/thin.rb:14
c:0007 p:0060 s:0033 b:0033 l:000032 d:000032 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/innate-2009.05/lib/innate/adapter.rb:73
c:0006 p:0142 s:0027 b:0027 l:000026 d:000026 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/innate-2009.05/lib/innate/adapter.rb:40
c:0005 p:0038 s:0019 b:0019 l:000018 d:000018 METHOD /usr/local/lib/ruby/gems/1.9.1/gems/innate-2009.05/lib/innate.rb:132
c:0004 p:0262 s:0015 b:0015 l:0021dc d:0021dc METHOD /usr/local/lib/ruby/gems/1.9.1/gems/innate-2009.05/lib/innate.rb:128
c:0003 p:0091 s:0006 b:0006 l:001b44 d:000a84 EVAL ./start.rb:15
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:001b44 d:001b44 TOP <main>:47140
---------------------------
-- Ruby level backtrace information-----------------------------------------
/usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.1/lib/thin/request.rb:50:in `initialize'
/usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.1/lib/thin/request.rb:50:in `new'
/usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.1/lib/thin/request.rb:50:in `initialize'
/usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.1/lib/thin/connection.rb:35:in `new'
/usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.1/lib/thin/connection.rb:35:in `post_init'
/usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.6/lib/eventmachine.rb:1453:in `block in new'
/usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.6/lib/eventmachine.rb:1446:in `instance_eval'
/usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.6/lib/eventmachine.rb:1446:in `new'
/usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.6/lib/eventmachine.rb:1269:in `event_callback'
/usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.6/lib/eventmachine.rb:240:in `run_machine'
/usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.6/lib/eventmachine.rb:240:in `run'
/usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.1/lib/thin/backends/base.rb:57:in `start'
/usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.1/lib/thin/server.rb:150:in `start'
/usr/local/lib/ruby/gems/1.9.1/gems/rack-1.0.0/lib/rack/handler/thin.rb:14:in `run'
/usr/local/lib/ruby/gems/1.9.1/gems/innate-2009.05/lib/innate/adapter.rb:73:in `start_thin'
/usr/local/lib/ruby/gems/1.9.1/gems/innate-2009.05/lib/innate/adapter.rb:40:in `start'
/usr/local/lib/ruby/gems/1.9.1/gems/innate-2009.05/lib/innate.rb:132:in `start!'
/usr/local/lib/ruby/gems/1.9.1/gems/innate-2009.05/lib/innate.rb:128:in `start'
./start.rb:15:in `<main>'

-- C level backtrace information -------------------------------------------
0x2f7e22 0 libruby.dylib 0x002f7e22 rb_vm_bugreport + 82
0x20ce5c 1 libruby.dylib 0x0020ce5c rb_warning + 444
0x20cebb 2 libruby.dylib 0x0020cebb rb_bug + 43
0x20f6f3 3 libruby.dylib 0x0020f6f3 rb_check_type + 387
0x153bbb5 4 thin_parser.bundle 0x0153bbb5 Thin_HttpParser_init + 37
0x2f0ba9 5 libruby.dylib 0x002f0ba9 rb_f_eval + 697
0x2f12fb 6 libruby.dylib 0x002f12fb rb_funcall2 + 283
0x210b0b 7 libruby.dylib 0x00210b0b rb_obj_call_init + 75
0x24564a 8 libruby.dylib 0x0024564a rb_class_new_instance + 42
0x2e3625 9 libruby.dylib 0x002e3625 rb_iseq_compile + 1125
0x2e7c8d 10 libruby.dylib 0x002e7c8d rb_raise_method_missing + 1037
0x2ea49b 11 libruby.dylib 0x002ea49b rb_raise_method_missing + 11291
0x2ef91b 12 libruby.dylib 0x002ef91b rb_raise_method_missing + 32923
0x2f0e0c 13 libruby.dylib 0x002f0e0c rb_f_eval + 1308
0x2f12fb 14 libruby.dylib 0x002f12fb rb_funcall2 + 283
0x210b0b 15 libruby.dylib 0x00210b0b rb_obj_call_init + 75
0x24564a 16 libruby.dylib 0x0024564a rb_class_new_instance + 42
0x2e3625 17 libruby.dylib 0x002e3625 rb_iseq_compile + 1125
0x2e7c8d 18 libruby.dylib 0x002e7c8d rb_raise_method_missing + 1037
0x2ea49b 19 libruby.dylib 0x002ea49b rb_raise_method_missing + 11291
0x2ef91b 20 libruby.dylib 0x002ef91b rb_raise_method_missing + 32923
0x2f3e88 21 libruby.dylib 0x002f3e88 rb_yield + 2168
0x2f434d 22 libruby.dylib 0x002f434d rb_mod_module_exec + 109
0x2e3625 23 libruby.dylib 0x002e3625 rb_iseq_compile + 1125
0x2e7c8d 24 libruby.dylib 0x002e7c8d rb_raise_method_missing + 1037
0x2ea49b 25 libruby.dylib 0x002ea49b rb_raise_method_missing + 11291
0x2ef91b 26 libruby.dylib 0x002ef91b rb_raise_method_missing + 32923
0x2f0e0c 27 libruby.dylib 0x002f0e0c rb_f_eval + 1308
0x2e7549 28 libruby.dylib 0x002e7549 rb_funcall + 345
0x1511b4f 29 rubyeventmachine.bundle 0x01511b4f _ZNSt11_Deque_baseIN14PipeDescriptor12OutboundPageESaIS1_EED2Ev + 255
0x1511ebc 30 rubyeventmachine.bundle 0x01511ebc _ZNSt11_Deque_baseIN14PipeDescriptor12OutboundPageESaIS1_EED2Ev + 1132
0x1509421 31 rubyeventmachine.bundle 0x01509421 _ZN18AcceptorDescriptor4ReadEv + 273
0x150c038 32 rubyeventmachine.bundle 0x0150c038 _ZN14EventMachine_t14_RunSelectOnceEv + 520
0x150c2fd 33 rubyeventmachine.bundle 0x0150c2fd _ZN14EventMachine_t8_RunOnceEv + 29
0x150e366 34 rubyeventmachine.bundle 0x0150e366 _ZN14EventMachine_t3RunEv + 102
0x1502e79 35 rubyeventmachine.bundle 0x01502e79 evma_run_machine + 41
0x1511f3b 36 rubyeventmachine.bundle 0x01511f3b _ZNSt11_Deque_baseIN14PipeDescriptor12OutboundPageESaIS1_EED2Ev + 1259
0x2e7c8d 37 libruby.dylib 0x002e7c8d rb_raise_method_missing + 1037
0x2ea49b 38 libruby.dylib 0x002ea49b rb_raise_method_missing + 11291
0x2ef91b 39 libruby.dylib 0x002ef91b rb_raise_method_missing + 32923
0x2efb2f 40 libruby.dylib 0x002efb2f rb_iseq_eval_main + 159
0x20ffb9 41 libruby.dylib 0x0020ffb9 ruby_exec_node + 169
0x21261e 42 libruby.dylib 0x0021261e ruby_run_node + 94
0x1fef 43 ruby 0x00001fef main + 95
0x1f56 44 ruby 0x00001f56 start + 54

[NOTE]
You may encounter a bug of Ruby interpreter. Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

thin (1.0.0) is Working
for andrew (Mac OSX, 10 months ago)

thin (1.0.0) is Working
for JH. Chabran (Mac OSX, 11 months ago)

Fully working due to recent updates.

thin (1.0.0) is Working
for Pistos (GNU/Linux, about 1 year ago)

thin (1.0.0) is Failing
for kronos (Mac OSX, about 1 year ago)

When I'm trying to start thin with rails 2.3.0RC I got this:
/opt/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.5/lib/rubyeventmachine.bundle: [BUG] Bus Error
ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-darwin9]

-- control frame ----------
c:0014 p:-1293416 s:0037 b:0037 l:000036 d:000036 TOP
c:0013 p:---- s:0035 b:0035 l:000034 d:000034 CFUNC :require
c:0012 p:0146 s:0031 b:0031 l:000030 d:000030 TOP /opt/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.5/lib/eventmachine.rb:66
c:0011 p:---- s:0029 b:0029 l:000028 d:000028 FINISH
c:0010 p:---- s:0027 b:0027 l:000026 d:000026 CFUNC :require
c:0009 p:0110 s:0023 b:0023 l:000022 d:000022 TOP /opt/local/lib/ruby/gems/1.9.1/gems/thin-1.0.0/lib/thin.rb:9
c:0008 p:---- s:0021 b:0021 l:000020 d:000020 FINISH
c:0007 p:---- s:0019 b:0019 l:000018 d:000018 CFUNC :require
c:0006 p:0027 s:0015 b:0015 l:000014 d:000014 TOP /opt/local/lib/ruby/gems/1.9.1/gems/thin-1.0.0/bin/thin:4
c:0005 p:---- s:0013 b:0013 l:000012 d:000012 FINISH
c:0004 p:---- s:0011 b:0011 l:000010 d:000010 CFUNC :load
c:0003 p:0109 s:0007 b:0007 l:001b54 d:000448 EVAL /usr/bin/thin1.9:19
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:001b54 d:001b54 TOP <main>:47140
---------------------------
-- Ruby level backtrace information-----------------------------------------
/opt/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.5/lib/eventmachine.rb:66:in `require'
/opt/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.5/lib/eventmachine.rb:66:in `<top (required)>'
/opt/local/lib/ruby/gems/1.9.1/gems/thin-1.0.0/lib/thin.rb:9:in `require'
/opt/local/lib/ruby/gems/1.9.1/gems/thin-1.0.0/lib/thin.rb:9:in `<top (required)>'
/opt/local/lib/ruby/gems/1.9.1/gems/thin-1.0.0/bin/thin:4:in `require'
/opt/local/lib/ruby/gems/1.9.1/gems/thin-1.0.0/bin/thin:4:in `<top (required)>'
/usr/bin/thin1.9:19:in `load'
/usr/bin/thin1.9:19:in `<main>'

-- C level backtrace information -------------------------------------------
0x2f8df2 0 libruby1.9.dylib 0x002f8df2 rb_vm_bugreport + 82
0x20e37c 1 libruby1.9.dylib 0x0020e37c rb_warning + 444
0x20e3db 2 libruby1.9.dylib 0x0020e3db rb_bug + 43
0x29f59b 3 libruby1.9.dylib 0x0029f59b rb_enable_interrupt + 75
0x94a8109b 4 libSystem.B.dylib 0x94a8109b _sigtramp + 43
0xffffffff 5 ??? 0xffffffff 0x0 + 4294967295
0x74db08 6 libruby.1.dylib 0x0074db08 rb_intern + 43
0x5a253f 7 rubyeventmachine.bundle 0x005a253f Init_rubyeventmachine + 29
0x1e455e 8 libruby1.9.dylib 0x001e455e dln_load + 190
0x2e85df 9 libruby1.9.dylib 0x002e85df rb_vm_call_cfunc + 175
0x215139 10 libruby1.9.dylib 0x00215139 rb_require_safe + 937
0x2e92ad 11 libruby1.9.dylib 0x002e92ad rb_funcall2 + 1773
0x2eba1b 12 libruby1.9.dylib 0x002eba1b rb_funcall2 + 11867
0x2f0e0b 13 libruby1.9.dylib 0x002f0e0b rb_funcall2 + 33355
0x2f1148 14 libruby1.9.dylib 0x002f1148 rb_iseq_eval + 264
0x214b89 15 libruby1.9.dylib 0x00214b89 rb_load + 345
0x21510a 16 libruby1.9.dylib 0x0021510a rb_require_safe + 890
0x2e92ad 17 libruby1.9.dylib 0x002e92ad rb_funcall2 + 1773
0x2eba1b 18 libruby1.9.dylib 0x002eba1b rb_funcall2 + 11867
0x2f0e0b 19 libruby1.9.dylib 0x002f0e0b rb_funcall2 + 33355
0x2f1148 20 libruby1.9.dylib 0x002f1148 rb_iseq_eval + 264
0x214b89 21 libruby1.9.dylib 0x00214b89 rb_load + 345
0x21510a 22 libruby1.9.dylib 0x0021510a rb_require_safe + 890
0x2e92ad 23 libruby1.9.dylib 0x002e92ad rb_funcall2 + 1773
0x2eba1b 24 libruby1.9.dylib 0x002eba1b rb_funcall2 + 11867
0x2f0e0b 25 libruby1.9.dylib 0x002f0e0b rb_funcall2 + 33355
0x2f1148 26 libruby1.9.dylib 0x002f1148 rb_iseq_eval + 264
0x214b89 27 libruby1.9.dylib 0x00214b89 rb_load + 345
0x214cc2 28 libruby1.9.dylib 0x00214cc2 rb_load + 658
0x2e4835 29 libruby1.9.dylib 0x002e4835 rb_iseq_compile + 1125
0x2e92ad 30 libruby1.9.dylib 0x002e92ad rb_funcall2 + 1773
0x2eba1b 31 libruby1.9.dylib 0x002eba1b rb_funcall2 + 11867
0x2f0e0b 32 libruby1.9.dylib 0x002f0e0b rb_funcall2 + 33355
0x2f101f 33 libruby1.9.dylib 0x002f101f rb_iseq_eval_main + 159
0x2114d9 34 libruby1.9.dylib 0x002114d9 ruby_exec_node + 169
0x213b5e 35 libruby1.9.dylib 0x00213b5e ruby_run_node + 94
0x1fef 36 ruby1.9 0x00001fef main + 95
0x1f56 37 ruby1.9 0x00001f56 start + 54

[NOTE]
You may encounter a bug of Ruby interpreter. Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

Abort trap

thin (1.0.0) is Working
for manveru (GNU/Linux, about 1 year ago)

Installing EM needs some help, but thin works just fine

thin (1.0.0) is Failing
for Andreas (Mac OSX, about 1 year ago)

Nope. Fails, when using thin -C config.ru

gems/thin-1.0.0/lib/thin/runner.rb:195:in `load_options_from_config_file!': undefined method `each' for #<String:0x676c18> (NoMethodError)

thin (1.0.0, 1.1.0) is Failing
for Victor Luft (Mac OSX, about 1 year ago)

Gem installs with eventmachine trunk, but when bus error when trying to run.

thin (1.0.0) is Working
for Konstantin Haase (GNU/Linux, about 1 year ago)

Gem works. Fix needed for EM: http://gist.github.com/58071

Add your comment




Yes No