From luislavena at gmail.com Fri Apr 4 20:30:38 2008 From: luislavena at gmail.com (Luis Lavena) Date: Fri, 4 Apr 2008 21:30:38 -0300 Subject: [Mongrel-development] Most issues fixed Message-ID: <71166b3b0804041730p29ae0a4u2ddf88f0976f10ac@mail.gmail.com> Hello Guys, The past days I just fixed most of the issues with stable_1-2 running on both mswin32 and mingw32 platforms. There are only two issues, I just think they made into the list: 1) Failure: test_horrible_queries(HttpParserTest) [./test/unit/test_http_parser.rb:105:in `test_horrible_queries' ./test/unit/test_http_parser.rb:103:in `times' ./test/unit/test_http_parser.rb:103:in `test_horrible_queries']: exception expected but none was thrown. 2) Error: test_parse_strange_headers(HttpParserTest): Mongrel::HttpParserError: Invalid HTTP format, parsing fails. ./test/unit/test_http_parser.rb:49:in `execute' ./test/unit/test_http_parser.rb:49:in `test_parse_strange_headers' 59 tests, 458 assertions, 1 failures, 1 errors http://rubyforge.org/pipermail/mongrel-development/2008-March/000248.html http://rubyforge.org/pipermail/mongrel-development/2008-March/000249.html Anyone worked on this? (or plan fix it?) Regards, -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From builder at mmediasys.com Mon Apr 7 17:10:57 2008 From: builder at mmediasys.com (Integration Builder) Date: Mon, 7 Apr 2008 18:10:57 -0300 Subject: [Mongrel-development] [CruiseControl] mongrel-stable_1-2-mingw32 build 1002 failed Message-ID: <47fa8de126160_83c1462a8815e@edicion01.tmail> The build failed. Note: if you set Configuration.dashboard_url in config/site_config.rb, you'd see a link to the build page here. CHANGES ------- New revision 1002 detected Revision 1002 committed by luislavena on 2008-04-06 00:14:45 GemPlugin was looking for 'init.rb' on every gem, that's nasty. M /branches/stable_1-2/projects/gem_plugin/lib/gem_plugin.rb M /branches/stable_1-2 BUILD LOG --------- D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/work Luis$ ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" D:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/bin/ruby extconf.rb (in D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/work) [CruiseControl] Invoking Rake task "clobber" Cleaning - ext/http11/http11.o - ext/http11/http11_parser.o - ext/http11/Makefile - lib/http11.so [CruiseControl] Invoking Rake task "compile" checking for main() in -lc... no creating Makefile gcc -I. -I. -ID:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib/ruby/1.8/i386-mingw32 -I. -g -O2 -c http11.c gcc -I. -I. -ID:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib/ruby/1.8/i386-mingw32 -I. -g -O2 -c http11_parser.c gcc -shared -s -o http11.so http11.o http11_parser.o -L. -LD:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib -L. -Wl,--enable-auto-image-base,--enable-auto-import,--export-all -lmsvcrt-ruby18 -lshell32 -lws2_32 D:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/bin/ruby -Ilib;ext;bin;test "D:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader.rb" "test/test_helper.rb" "test/unit/test_cgi_wrapper.rb" "test/unit/test_command.rb" "test/unit/test_conditional.rb" "test/unit/test_configurator.rb" "test/unit/test_debug.rb" "test/unit/test_handlers.rb" "test/unit/test_http_parser.rb" "test/unit/test_redirect_handler.rb" "test/unit/test_request_progress.rb" "test/unit/test_response.rb" "test/unit/test_stats.rb" "test/unit/test_uriclassifier.rb" "test/unit/test_ws.rb" [CruiseControl] Invoking Rake task "test" ./test/test_helper.rb:8: warning: already initialized constant HERE Loaded suite D:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader Started .......................F..E................................ Finished in 32.781 seconds. 1) Failure: test_horrible_queries(HttpParserTest) [./test/unit/test_http_parser.rb:105:in `test_horrible_queries' ./test/unit/test_http_parser.rb:103:in `times' ./test/unit/test_http_parser.rb:103:in `test_horrible_queries']: exception expected but none was thrown. 2) Error: test_parse_strange_headers(HttpParserTest): Mongrel::HttpParserError: Invalid HTTP format, parsing fails. ./test/unit/test_http_parser.rb:49:in `execute' ./test/unit/test_http_parser.rb:49:in `test_parse_strange_headers' 59 tests, 458 assertions, 1 failures, 1 errors rake aborted! Command failed with status (1): [D:/Users/Luis/ruby/ruby-186-svn-MINGW-ruby...] (See full trace by running task with --trace) dir : D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/work command : ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" executed command : echo D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/work Luis$ ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" >> D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/build-1002/build.log && ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" >> D:\Users\Luis\.cruise\projects\mongrel-stable_1-2-mingw32\build-1002\build.log 2>&1 exitstatus: 1 STDERR TAIL START STDERR TAIL END PROJECT SETTINGS ---------------- # Project-specific configuration for CruiseControl.rb Project.configure do |project| project.email_notifier.emails = ['mongrel-development at rubyforge.org', 'rubyinstaller-devel at rubyforge.org'] project.rake_task = 'clobber compile test package' project.scheduler.polling_interval = 5.minutes end From builder at mmediasys.com Mon Apr 7 17:12:03 2008 From: builder at mmediasys.com (Integration Builder) Date: Mon, 7 Apr 2008 18:12:03 -0300 Subject: [Mongrel-development] [CruiseControl] mongrel-stable_1-2-mswin32 build 1002 failed Message-ID: <47fa8e236e988_88013de3a6141@edicion01.tmail> The build failed. Note: if you set Configuration.dashboard_url in config/site_config.rb, you'd see a link to the build page here. CHANGES ------- New revision 1002 detected Revision 1002 committed by luislavena on 2008-04-06 00:14:45 GemPlugin was looking for 'init.rb' on every gem, that's nasty. M /branches/stable_1-2/projects/gem_plugin/lib/gem_plugin.rb M /branches/stable_1-2 BUILD LOG --------- D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/work Luis$ ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/bin/ruby extconf.rb (in D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/work) [CruiseControl] Invoking Rake task "clobber" Cleaning - ext/http11/http11-i386-mswin32.def - ext/http11/http11-i386-mswin32.exp - ext/http11/http11-i386-mswin32.lib - ext/http11/http11-i386-mswin32.pdb - ext/http11/http11.obj - ext/http11/http11_parser.obj - ext/http11/Makefile - ext/http11/vc60.pdb - lib/http11.so - log - test_stderr.log - test_stdout.log [CruiseControl] Invoking Rake task "compile" checking for main() in c.lib... no creating Makefile Microsoft (R) Program Maintenance Utility Version 6.00.9782.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. D:\Users\Luis\ruby\ruby-186-p114-VC6-rubygems-110\bin\ruby -e "puts 'EXPORTS', 'Init_http11'" > http11-i386-mswin32.def cl -nologo -I. -I. -ID:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6 -c -Tchttp11.c http11.c cl -nologo -I. -I. -ID:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6 -c -Tchttp11_parser.c http11_parser.c cl -nologo -LD -Fehttp11.so http11.obj http11_parser.obj msvcrt-ruby18.lib oldnames.lib user32.lib advapi32.lib ws2_32.lib -link -incremental:no -debug -opt:ref -opt:icf -dll -libpath:"." -libpath:"D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib" -def:http11-i386-mswin32.def -implib:http11-i386-mswin32.lib -pdb:http11-i386-mswin32.pdb Creating library http11-i386-mswin32.lib and object http11-i386-mswin32.exp D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/bin/ruby -Ilib;ext;bin;test "D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader.rb" "test/test_helper.rb" "test/unit/test_cgi_wrapper.rb" "test/unit/test_command.rb" "test/unit/test_conditional.rb" "test/unit/test_configurator.rb" "test/unit/test_debug.rb" "test/unit/test_handlers.rb" "test/unit/test_http_parser.rb" "test/unit/test_redirect_handler.rb" "test/unit/test_request_progress.rb" "test/unit/test_response.rb" "test/unit/test_stats.rb" "test/unit/test_uriclassifier.rb" "test/unit/test_ws.rb" [CruiseControl] Invoking Rake task "test" ./test/test_helper.rb:8: warning: already initialized constant HERE Loaded suite D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader Started .......................F..E................................ Finished in 34.609 seconds. 1) Failure: test_horrible_queries(HttpParserTest) [./test/unit/test_http_parser.rb:105:in `test_horrible_queries' ./test/unit/test_http_parser.rb:103:in `times' ./test/unit/test_http_parser.rb:103:in `test_horrible_queries']: exception expected but none was thrown. 2) Error: test_parse_strange_headers(HttpParserTest): Mongrel::HttpParserError: Invalid HTTP format, parsing fails. ./test/unit/test_http_parser.rb:49:in `execute' ./test/unit/test_http_parser.rb:49:in `test_parse_strange_headers' 59 tests, 458 assertions, 1 failures, 1 errors rake aborted! Command failed with status (1): [D:/Users/Luis/ruby/ruby-186-p114-VC6-rubyg...] (See full trace by running task with --trace) dir : D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/work command : ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" executed command : echo D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/work Luis$ ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" >> D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/build-1002/build.log && ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" >> D:\Users\Luis\.cruise\projects\mongrel-stable_1-2-mswin32\build-1002\build.log 2>&1 exitstatus: 1 STDERR TAIL START STDERR TAIL END PROJECT SETTINGS ---------------- # Project-specific configuration for CruiseControl.rb Project.configure do |project| project.email_notifier.emails = ['mongrel-development at rubyforge.org', 'rubyinstaller-devel at rubyforge.org'] project.rake_task = 'clobber compile test package' project.scheduler.polling_interval = 5.minutes end From luislavena at gmail.com Sun Apr 20 14:08:28 2008 From: luislavena at gmail.com (Luis Lavena) Date: Sun, 20 Apr 2008 15:08:28 -0300 Subject: [Mongrel-development] Existing failures on stable 1.2 Message-ID: <71166b3b0804201108o663495c4w141cb9f059ed3e55@mail.gmail.com> Hello Guys, I'm still getting these two: 1) Failure: test_horrible_queries(HttpParserTest) [./test/unit/test_http_parser.rb:105:in `test_horrible_queries' ./test/unit/test_http_parser.rb:103:in `times' ./test/unit/test_http_parser.rb:103:in `test_horrible_queries']: exception expected but none was thrown. 2) Error: test_parse_strange_headers(HttpParserTest): Mongrel::HttpParserError: Invalid HTTP format, parsing fails. ./test/unit/test_http_parser.rb:49:in `execute' ./test/unit/test_http_parser.rb:49:in `test_parse_strange_headers' 59 tests, 458 assertions, 1 failures, 1 errors I want to confirm these are real (and not just me) and if someone else is working on those, or should I tackle them. Thanks in advance and have a nice weekend, -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From evan at cloudbur.st Sun Apr 20 14:44:23 2008 From: evan at cloudbur.st (Evan Weaver) Date: Sun, 20 Apr 2008 14:44:23 -0400 Subject: [Mongrel-development] Existing failures on stable 1.2 In-Reply-To: <71166b3b0804201108o663495c4w141cb9f059ed3e55@mail.gmail.com> References: <71166b3b0804201108o663495c4w141cb9f059ed3e55@mail.gmail.com> Message-ID: These are real-ish. We can fix the first one by reverting to Ragel 5. We can just remove the second one and document headers with linebreaks as being not supported. Evan On Sun, Apr 20, 2008 at 2:08 PM, Luis Lavena wrote: > Hello Guys, > > I'm still getting these two: > > 1) Failure: > test_horrible_queries(HttpParserTest) > [./test/unit/test_http_parser.rb:105:in `test_horrible_queries' > ./test/unit/test_http_parser.rb:103:in `times' > ./test/unit/test_http_parser.rb:103:in `test_horrible_queries']: > exception expected but none was thrown. > > 2) Error: > test_parse_strange_headers(HttpParserTest): > Mongrel::HttpParserError: Invalid HTTP format, parsing fails. > ./test/unit/test_http_parser.rb:49:in `execute' > ./test/unit/test_http_parser.rb:49:in `test_parse_strange_headers' > > 59 tests, 458 assertions, 1 failures, 1 errors > > I want to confirm these are real (and not just me) and if someone else > is working on those, or should I tackle them. > > Thanks in advance and have a nice weekend, > -- > Luis Lavena > Multimedia systems > - > Human beings, who are almost unique in having the ability to learn from > the experience of others, are also remarkable for their apparent > disinclination to do so. > Douglas Adams > _______________________________________________ > Mongrel-development mailing list > Mongrel-development at rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-development > -- Evan Weaver Cloudburst, LLC From luislavena at gmail.com Sun Apr 20 14:47:24 2008 From: luislavena at gmail.com (Luis Lavena) Date: Sun, 20 Apr 2008 15:47:24 -0300 Subject: [Mongrel-development] Existing failures on stable 1.2 In-Reply-To: References: <71166b3b0804201108o663495c4w141cb9f059ed3e55@mail.gmail.com> Message-ID: <71166b3b0804201147q766377f7i67ea4f9deca4c033@mail.gmail.com> On Sun, Apr 20, 2008 at 3:44 PM, Evan Weaver wrote: > These are real-ish. We can fix the first one by reverting to Ragel 5. > We can just remove the second one and document headers with linebreaks > as being not supported. > I'm not against any of these two options. But I'll love to hear back from the submitters of these patches and how they could endorse/fix these issues without taking them out. > Evan > Regards, -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From ry at tinyclouds.org Sun Apr 20 14:58:29 2008 From: ry at tinyclouds.org (ry dahl) Date: Sun, 20 Apr 2008 20:58:29 +0200 Subject: [Mongrel-development] Existing failures on stable 1.2 In-Reply-To: References: <71166b3b0804201108o663495c4w141cb9f059ed3e55@mail.gmail.com> Message-ID: <3ae7f4480804201158n48585f47j6f0002ad2da4783f@mail.gmail.com> I was looking into that but had problems. The linebreak problem has been there since 1.0.1 On Sun, Apr 20, 2008 at 8:44 PM, Evan Weaver wrote: > These are real-ish. We can fix the first one by reverting to Ragel 5. > We can just remove the second one and document headers with linebreaks > as being not supported. > > Evan > > > > On Sun, Apr 20, 2008 at 2:08 PM, Luis Lavena wrote: > > Hello Guys, > > > > I'm still getting these two: > > > > 1) Failure: > > test_horrible_queries(HttpParserTest) > > [./test/unit/test_http_parser.rb:105:in `test_horrible_queries' > > ./test/unit/test_http_parser.rb:103:in `times' > > ./test/unit/test_http_parser.rb:103:in `test_horrible_queries']: > > exception expected but none was thrown. > > > > 2) Error: > > test_parse_strange_headers(HttpParserTest): > > Mongrel::HttpParserError: Invalid HTTP format, parsing fails. > > ./test/unit/test_http_parser.rb:49:in `execute' > > ./test/unit/test_http_parser.rb:49:in `test_parse_strange_headers' > > > > 59 tests, 458 assertions, 1 failures, 1 errors > > > > I want to confirm these are real (and not just me) and if someone else > > is working on those, or should I tackle them. > > > > Thanks in advance and have a nice weekend, > > -- > > Luis Lavena > > Multimedia systems > > - > > Human beings, who are almost unique in having the ability to learn from > > the experience of others, are also remarkable for their apparent > > disinclination to do so. > > Douglas Adams > > _______________________________________________ > > Mongrel-development mailing list > > Mongrel-development at rubyforge.org > > http://rubyforge.org/mailman/listinfo/mongrel-development > > > > > > -- > Evan Weaver > Cloudburst, LLC > > > _______________________________________________ > Mongrel-development mailing list > Mongrel-development at rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-development > From luislavena at gmail.com Sun Apr 20 15:06:13 2008 From: luislavena at gmail.com (Luis Lavena) Date: Sun, 20 Apr 2008 16:06:13 -0300 Subject: [Mongrel-development] Existing failures on stable 1.2 In-Reply-To: <3ae7f4480804201158n48585f47j6f0002ad2da4783f@mail.gmail.com> References: <71166b3b0804201108o663495c4w141cb9f059ed3e55@mail.gmail.com> <3ae7f4480804201158n48585f47j6f0002ad2da4783f@mail.gmail.com> Message-ID: <71166b3b0804201206y67dea70bj7c7c438a7ae4fb82@mail.gmail.com> On Sun, Apr 20, 2008 at 3:58 PM, ry dahl wrote: > I was looking into that but had problems. The linebreak problem has > been there since 1.0.1 > Hmn, ran the tests for 1.0.1 at that time before release the binary win32 gem and didn't see that failure... But my brain start playing tricks lately, so cannot be 100% certain. And seems I didn't yelled at the mailing list so maybe there was no failure before ragel 5 on the code. -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From ry at tinyclouds.org Sun Apr 20 15:13:59 2008 From: ry at tinyclouds.org (ry dahl) Date: Sun, 20 Apr 2008 21:13:59 +0200 Subject: [Mongrel-development] Existing failures on stable 1.2 In-Reply-To: <71166b3b0804201206y67dea70bj7c7c438a7ae4fb82@mail.gmail.com> References: <71166b3b0804201108o663495c4w141cb9f059ed3e55@mail.gmail.com> <3ae7f4480804201158n48585f47j6f0002ad2da4783f@mail.gmail.com> <71166b3b0804201206y67dea70bj7c7c438a7ae4fb82@mail.gmail.com> Message-ID: <3ae7f4480804201213i1f5bc0deu9e39ee7cb19c1ee8@mail.gmail.com> it's been commented out since at least 0.3.14. linebreaks in header values is pretty debatable - does this actually happen? On Sun, Apr 20, 2008 at 9:06 PM, Luis Lavena wrote: > On Sun, Apr 20, 2008 at 3:58 PM, ry dahl wrote: > > I was looking into that but had problems. The linebreak problem has > > been there since 1.0.1 > > > > Hmn, ran the tests for 1.0.1 at that time before release the binary > win32 gem and didn't see that failure... > > But my brain start playing tricks lately, so cannot be 100% certain. > And seems I didn't yelled at the mailing list so maybe there was no > failure before ragel 5 on the code. > > -- > > > Luis Lavena > Multimedia systems > - > Human beings, who are almost unique in having the ability to learn from > the experience of others, are also remarkable for their apparent > disinclination to do so. > Douglas Adams > _______________________________________________ > Mongrel-development mailing list > Mongrel-development at rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-development > From evan at cloudbur.st Sun Apr 20 15:25:31 2008 From: evan at cloudbur.st (Evan Weaver) Date: Sun, 20 Apr 2008 15:25:31 -0400 Subject: [Mongrel-development] Existing failures on stable 1.2 In-Reply-To: <3ae7f4480804201213i1f5bc0deu9e39ee7cb19c1ee8@mail.gmail.com> References: <71166b3b0804201108o663495c4w141cb9f059ed3e55@mail.gmail.com> <3ae7f4480804201158n48585f47j6f0002ad2da4783f@mail.gmail.com> <71166b3b0804201206y67dea70bj7c7c438a7ae4fb82@mail.gmail.com> <3ae7f4480804201213i1f5bc0deu9e39ee7cb19c1ee8@mail.gmail.com> Message-ID: Nobody has ask for support that I know of. Evan On Sun, Apr 20, 2008 at 3:13 PM, ry dahl wrote: > it's been commented out since at least 0.3.14. linebreaks in header > values is pretty debatable - does this actually happen? > > > > On Sun, Apr 20, 2008 at 9:06 PM, Luis Lavena wrote: > > On Sun, Apr 20, 2008 at 3:58 PM, ry dahl wrote: > > > I was looking into that but had problems. The linebreak problem has > > > been there since 1.0.1 > > > > > > > Hmn, ran the tests for 1.0.1 at that time before release the binary > > win32 gem and didn't see that failure... > > > > But my brain start playing tricks lately, so cannot be 100% certain. > > And seems I didn't yelled at the mailing list so maybe there was no > > failure before ragel 5 on the code. > > > > -- > > > > > > Luis Lavena > > Multimedia systems > > - > > Human beings, who are almost unique in having the ability to learn from > > the experience of others, are also remarkable for their apparent > > disinclination to do so. > > Douglas Adams > > _______________________________________________ > > Mongrel-development mailing list > > Mongrel-development at rubyforge.org > > http://rubyforge.org/mailman/listinfo/mongrel-development > > > _______________________________________________ > Mongrel-development mailing list > Mongrel-development at rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-development > -- Evan Weaver Cloudburst, LLC From normalperson at yhbt.net Mon Apr 21 13:38:42 2008 From: normalperson at yhbt.net (Eric Wong) Date: Mon, 21 Apr 2008 10:38:42 -0700 Subject: [Mongrel-development] Existing failures on stable 1.2 In-Reply-To: <3ae7f4480804201213i1f5bc0deu9e39ee7cb19c1ee8@mail.gmail.com> References: <71166b3b0804201108o663495c4w141cb9f059ed3e55@mail.gmail.com> <3ae7f4480804201158n48585f47j6f0002ad2da4783f@mail.gmail.com> <71166b3b0804201206y67dea70bj7c7c438a7ae4fb82@mail.gmail.com> <3ae7f4480804201213i1f5bc0deu9e39ee7cb19c1ee8@mail.gmail.com> Message-ID: <20080421173842.GB15389@hand.yhbt.net> Pen sends SSL certs with them. It actually shouldn't be too difficult to support, but I'm very strapped for time these days. ry dahl wrote: > it's been commented out since at least 0.3.14. linebreaks in header > values is pretty debatable - does this actually happen? > > On Sun, Apr 20, 2008 at 9:06 PM, Luis Lavena wrote: > > On Sun, Apr 20, 2008 at 3:58 PM, ry dahl wrote: > > > I was looking into that but had problems. The linebreak problem has > > > been there since 1.0.1 > > > > > > > Hmn, ran the tests for 1.0.1 at that time before release the binary > > win32 gem and didn't see that failure... > > > > But my brain start playing tricks lately, so cannot be 100% certain. > > And seems I didn't yelled at the mailing list so maybe there was no > > failure before ragel 5 on the code. From zedshaw at zedshaw.com Mon Apr 21 20:16:56 2008 From: zedshaw at zedshaw.com (Zed A. Shaw) Date: Mon, 21 Apr 2008 20:16:56 -0400 Subject: [Mongrel-development] Existing failures on stable 1.2 In-Reply-To: <20080421173842.GB15389@hand.yhbt.net> References: <71166b3b0804201108o663495c4w141cb9f059ed3e55@mail.gmail.com> <3ae7f4480804201158n48585f47j6f0002ad2da4783f@mail.gmail.com> <71166b3b0804201206y67dea70bj7c7c438a7ae4fb82@mail.gmail.com> <3ae7f4480804201213i1f5bc0deu9e39ee7cb19c1ee8@mail.gmail.com> <20080421173842.GB15389@hand.yhbt.net> Message-ID: <20080421201656.da7e3270.zedshaw@zedshaw.com> On Mon, 21 Apr 2008 10:38:42 -0700 Eric Wong wrote: > Pen sends SSL certs with them. It actually shouldn't be too difficult > to support, but I'm very strapped for time these days. And Pen is the only thing I've found that (ab)uses headers like this. Most of the usage out there didn't need it so I didn't bother adding it. Incidentally, http://www.and.org/and-httpd/ has an insane number of tests for nearly every http thing you could think of testing. I was originally going to base a test suite on his stuff, but never got around to it or found I needed it. -- Zed A. Shaw - Hate: http://savingtheinternetwithhate.com/ - Good: http://www.zedshaw.com/ - Evil: http://yearofevil.com/ From builder at mmediasys.com Tue Apr 22 17:04:15 2008 From: builder at mmediasys.com (Integration Builder) Date: Tue, 22 Apr 2008 18:04:15 -0300 Subject: [Mongrel-development] [CruiseControl] mongrel-stable_1-2-mingw32 build 1012 failed Message-ID: <480e52cf2da78_fdc1462a8819@edicion01.tmail> The build failed. Note: if you set Configuration.dashboard_url in config/site_config.rb, you'd see a link to the build page here. CHANGES ------- New revision 1012 detected Revision 1012 committed by luislavena on 2008-04-18 07:09:44 Wait longer for child process terminate properly (max 20 seconds). Imported tests from RubyServices project. (Closes #18). M /branches/stable_1-2/projects/mongrel_service/CHANGELOG M /branches/stable_1-2/projects/mongrel_service/tests/test_helpers.bas M /branches/stable_1-2/projects/mongrel_service/native/console_process.bas M /branches/stable_1-2 M /branches/stable_1-2/projects/mongrel_service/tests/test_console_process.bas Revision 1011 committed by luislavena on 2008-04-18 07:09:41 Added emulation of slow termination processes. M /branches/stable_1-2/projects/mongrel_service/tests/fixtures/mock_process.bas M /branches/stable_1-2 Revision 1010 committed by luislavena on 2008-04-18 07:09:38 Include tests projects and child process fixtures. M /branches/stable_1-2/projects/mongrel_service/Rakefile M /branches/stable_1-2 Revision 1009 committed by luislavena on 2008-04-18 07:09:36 Ported ConsoleProcess tests from RubyServices. A /branches/stable_1-2/projects/mongrel_service/tests/fixtures/mock_process.bas A /branches/stable_1-2/projects/mongrel_service/tests/test_helpers.bas A /branches/stable_1-2/projects/mongrel_service/tests/fixtures A /branches/stable_1-2/projects/mongrel_service/tests/test_helpers.bi A /branches/stable_1-2/projects/mongrel_service/tests/all_tests.bas A /branches/stable_1-2/projects/mongrel_service/tests M /branches/stable_1-2 A /branches/stable_1-2/projects/mongrel_service/tests/test_console_process.bas Revision 1008 committed by luislavena on 2008-04-18 07:09:33 Updated FreeBASIC compilation tools. M /branches/stable_1-2 M /branches/stable_1-2/projects/mongrel_service/tools/freebasic.rb Revision 1007 committed by luislavena on 2008-04-17 23:20:50 mongrel_service: Merged changes from trunk. M /branches/stable_1-2/projects/mongrel_service/CHANGELOG M /branches/stable_1-2/projects/mongrel_service/lib/mongrel_service/init.rb M /branches/stable_1-2/projects/mongrel_service/Rakefile Revision 1006 committed by luislavena on 2008-04-17 18:59:55 mongrel_service: updated ServiceFB library (pistoned). M /branches/stable_1-2/projects/mongrel_service/lib/ServiceFB/ServiceFB_Utils.bas M /branches/stable_1-2/projects/mongrel_service/lib/ServiceFB M /branches/stable_1-2/projects/mongrel_service/lib/ServiceFB/_utils_internals.bi Revision 1005 committed by evanweaver on 2008-04-17 04:32:11 Document issue with soft restart pid file setting (closes #29). M /branches/stable_1-2/bin/mongrel_rails Revision 1004 committed by evanweaver on 2008-04-17 04:29:44 Apply r1003 to stable. M /branches/stable_1-2/bin/mongrel_rails BUILD LOG --------- D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/work Luis$ ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" D:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/bin/ruby extconf.rb (in D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/work) [CruiseControl] Invoking Rake task "clobber" Cleaning - ext/http11/http11.o - ext/http11/http11_parser.o - ext/http11/Makefile - lib/http11.so - log - test_stderr.log - test_stdout.log [CruiseControl] Invoking Rake task "compile" checking for main() in -lc... no creating Makefile gcc -I. -I. -ID:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib/ruby/1.8/i386-mingw32 -I. -g -O2 -c http11.c gcc -I. -I. -ID:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib/ruby/1.8/i386-mingw32 -I. -g -O2 -c http11_parser.c gcc -shared -s -o http11.so http11.o http11_parser.o -L. -LD:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib -L. -Wl,--enable-auto-image-base,--enable-auto-import,--export-all -lmsvcrt-ruby18 -lshell32 -lws2_32 D:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/bin/ruby -Ilib;ext;bin;test "D:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader.rb" "test/test_helper.rb" "test/unit/test_cgi_wrapper.rb" "test/unit/test_command.rb" "test/unit/test_conditional.rb" "test/unit/test_configurator.rb" "test/unit/test_debug.rb" "test/unit/test_handlers.rb" "test/unit/test_http_parser.rb" "test/unit/test_redirect_handler.rb" "test/unit/test_request_progress.rb" "test/unit/test_response.rb" "test/unit/test_stats.rb" "test/unit/test_uriclassifier.rb" "test/unit/test_ws.rb" [CruiseControl] Invoking Rake task "test" ./test/test_helper.rb:8: warning: already initialized constant HERE Loaded suite D:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader Started .......................F..E................................ Finished in 34.157 seconds. 1) Failure: test_horrible_queries(HttpParserTest) [./test/unit/test_http_parser.rb:105:in `test_horrible_queries' ./test/unit/test_http_parser.rb:103:in `times' ./test/unit/test_http_parser.rb:103:in `test_horrible_queries']: exception expected but none was thrown. 2) Error: test_parse_strange_headers(HttpParserTest): Mongrel::HttpParserError: Invalid HTTP format, parsing fails. ./test/unit/test_http_parser.rb:49:in `execute' ./test/unit/test_http_parser.rb:49:in `test_parse_strange_headers' 59 tests, 458 assertions, 1 failures, 1 errors rake aborted! Command failed with status (1): [D:/Users/Luis/ruby/ruby-186-svn-MINGW-ruby...] (See full trace by running task with --trace) dir : D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/work command : ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" executed command : echo D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/work Luis$ ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" >> D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/build-1012/build.log && ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" >> D:\Users\Luis\.cruise\projects\mongrel-stable_1-2-mingw32\build-1012\build.log 2>&1 exitstatus: 1 STDERR TAIL START STDERR TAIL END PROJECT SETTINGS ---------------- # Project-specific configuration for CruiseControl.rb Project.configure do |project| project.email_notifier.emails = ['mongrel-development at rubyforge.org', 'rubyinstaller-devel at rubyforge.org'] project.rake_task = 'clobber compile test package' project.scheduler.polling_interval = 5.minutes end From builder at mmediasys.com Tue Apr 22 17:05:08 2008 From: builder at mmediasys.com (Integration Builder) Date: Tue, 22 Apr 2008 18:05:08 -0300 Subject: [Mongrel-development] [CruiseControl] mongrel-stable_1-2-mswin32 build 1012 failed Message-ID: <480e5304631f0_e3813de3a6187@edicion01.tmail> The build failed. Note: if you set Configuration.dashboard_url in config/site_config.rb, you'd see a link to the build page here. CHANGES ------- New revision 1012 detected Revision 1012 committed by luislavena on 2008-04-18 07:09:44 Wait longer for child process terminate properly (max 20 seconds). Imported tests from RubyServices project. (Closes #18). M /branches/stable_1-2/projects/mongrel_service/CHANGELOG M /branches/stable_1-2/projects/mongrel_service/tests/test_helpers.bas M /branches/stable_1-2/projects/mongrel_service/native/console_process.bas M /branches/stable_1-2 M /branches/stable_1-2/projects/mongrel_service/tests/test_console_process.bas Revision 1011 committed by luislavena on 2008-04-18 07:09:41 Added emulation of slow termination processes. M /branches/stable_1-2/projects/mongrel_service/tests/fixtures/mock_process.bas M /branches/stable_1-2 Revision 1010 committed by luislavena on 2008-04-18 07:09:38 Include tests projects and child process fixtures. M /branches/stable_1-2/projects/mongrel_service/Rakefile M /branches/stable_1-2 Revision 1009 committed by luislavena on 2008-04-18 07:09:36 Ported ConsoleProcess tests from RubyServices. A /branches/stable_1-2/projects/mongrel_service/tests/fixtures/mock_process.bas A /branches/stable_1-2/projects/mongrel_service/tests/test_helpers.bas A /branches/stable_1-2/projects/mongrel_service/tests/fixtures A /branches/stable_1-2/projects/mongrel_service/tests/test_helpers.bi A /branches/stable_1-2/projects/mongrel_service/tests/all_tests.bas A /branches/stable_1-2/projects/mongrel_service/tests M /branches/stable_1-2 A /branches/stable_1-2/projects/mongrel_service/tests/test_console_process.bas Revision 1008 committed by luislavena on 2008-04-18 07:09:33 Updated FreeBASIC compilation tools. M /branches/stable_1-2 M /branches/stable_1-2/projects/mongrel_service/tools/freebasic.rb Revision 1007 committed by luislavena on 2008-04-17 23:20:50 mongrel_service: Merged changes from trunk. M /branches/stable_1-2/projects/mongrel_service/CHANGELOG M /branches/stable_1-2/projects/mongrel_service/lib/mongrel_service/init.rb M /branches/stable_1-2/projects/mongrel_service/Rakefile Revision 1006 committed by luislavena on 2008-04-17 18:59:55 mongrel_service: updated ServiceFB library (pistoned). M /branches/stable_1-2/projects/mongrel_service/lib/ServiceFB/ServiceFB_Utils.bas M /branches/stable_1-2/projects/mongrel_service/lib/ServiceFB M /branches/stable_1-2/projects/mongrel_service/lib/ServiceFB/_utils_internals.bi Revision 1005 committed by evanweaver on 2008-04-17 04:32:11 Document issue with soft restart pid file setting (closes #29). M /branches/stable_1-2/bin/mongrel_rails Revision 1004 committed by evanweaver on 2008-04-17 04:29:44 Apply r1003 to stable. M /branches/stable_1-2/bin/mongrel_rails BUILD LOG --------- D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/work Luis$ ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/bin/ruby extconf.rb (in D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/work) [CruiseControl] Invoking Rake task "clobber" Cleaning - ext/http11/http11-i386-mswin32.def - ext/http11/http11-i386-mswin32.exp - ext/http11/http11-i386-mswin32.lib - ext/http11/http11-i386-mswin32.pdb - ext/http11/http11.obj - ext/http11/http11_parser.obj - ext/http11/Makefile - ext/http11/vc60.pdb - lib/http11.so - log - test_stderr.log - test_stdout.log [CruiseControl] Invoking Rake task "compile" checking for main() in c.lib... no creating Makefile Microsoft (R) Program Maintenance Utility Version 6.00.9782.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. D:\Users\Luis\ruby\ruby-186-p114-VC6-rubygems-110\bin\ruby -e "puts 'EXPORTS', 'Init_http11'" > http11-i386-mswin32.def cl -nologo -I. -I. -ID:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6 -c -Tchttp11.c http11.c cl -nologo -I. -I. -ID:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6 -c -Tchttp11_parser.c http11_parser.c cl -nologo -LD -Fehttp11.so http11.obj http11_parser.obj msvcrt-ruby18.lib oldnames.lib user32.lib advapi32.lib ws2_32.lib -link -incremental:no -debug -opt:ref -opt:icf -dll -libpath:"." -libpath:"D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib" -def:http11-i386-mswin32.def -implib:http11-i386-mswin32.lib -pdb:http11-i386-mswin32.pdb Creating library http11-i386-mswin32.lib and object http11-i386-mswin32.exp D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/bin/ruby -Ilib;ext;bin;test "D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader.rb" "test/test_helper.rb" "test/unit/test_cgi_wrapper.rb" "test/unit/test_command.rb" "test/unit/test_conditional.rb" "test/unit/test_configurator.rb" "test/unit/test_debug.rb" "test/unit/test_handlers.rb" "test/unit/test_http_parser.rb" "test/unit/test_redirect_handler.rb" "test/unit/test_request_progress.rb" "test/unit/test_response.rb" "test/unit/test_stats.rb" "test/unit/test_uriclassifier.rb" "test/unit/test_ws.rb" [CruiseControl] Invoking Rake task "test" ./test/test_helper.rb:8: warning: already initialized constant HERE Loaded suite D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader Started .......................F..E................................ Finished in 32.687 seconds. 1) Failure: test_horrible_queries(HttpParserTest) [./test/unit/test_http_parser.rb:105:in `test_horrible_queries' ./test/unit/test_http_parser.rb:103:in `times' ./test/unit/test_http_parser.rb:103:in `test_horrible_queries']: exception expected but none was thrown. 2) Error: test_parse_strange_headers(HttpParserTest): Mongrel::HttpParserError: Invalid HTTP format, parsing fails. ./test/unit/test_http_parser.rb:49:in `execute' ./test/unit/test_http_parser.rb:49:in `test_parse_strange_headers' 59 tests, 458 assertions, 1 failures, 1 errors rake aborted! Command failed with status (1): [D:/Users/Luis/ruby/ruby-186-p114-VC6-rubyg...] (See full trace by running task with --trace) dir : D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/work command : ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" executed command : echo D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/work Luis$ ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" >> D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/build-1012/build.log && ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" >> D:\Users\Luis\.cruise\projects\mongrel-stable_1-2-mswin32\build-1012\build.log 2>&1 exitstatus: 1 STDERR TAIL START STDERR TAIL END PROJECT SETTINGS ---------------- # Project-specific configuration for CruiseControl.rb Project.configure do |project| project.email_notifier.emails = ['mongrel-development at rubyforge.org', 'rubyinstaller-devel at rubyforge.org'] project.rake_task = 'clobber compile test package' project.scheduler.polling_interval = 5.minutes end From luislavena at gmail.com Tue Apr 22 17:54:56 2008 From: luislavena at gmail.com (Luis Lavena) Date: Tue, 22 Apr 2008 18:54:56 -0300 Subject: [Mongrel-development] Existing failures on stable 1.2 In-Reply-To: <20080421201656.da7e3270.zedshaw@zedshaw.com> References: <71166b3b0804201108o663495c4w141cb9f059ed3e55@mail.gmail.com> <3ae7f4480804201158n48585f47j6f0002ad2da4783f@mail.gmail.com> <71166b3b0804201206y67dea70bj7c7c438a7ae4fb82@mail.gmail.com> <3ae7f4480804201213i1f5bc0deu9e39ee7cb19c1ee8@mail.gmail.com> <20080421173842.GB15389@hand.yhbt.net> <20080421201656.da7e3270.zedshaw@zedshaw.com> Message-ID: <71166b3b0804221454l4283e1f8l48dc8bb58f7a9533@mail.gmail.com> On Mon, Apr 21, 2008 at 9:16 PM, Zed A. Shaw wrote: > On Mon, 21 Apr 2008 10:38:42 -0700 > Eric Wong wrote: > > > Pen sends SSL certs with them. It actually shouldn't be too difficult > > to support, but I'm very strapped for time these days. > > And Pen is the only thing I've found that (ab)uses headers like this. > Most of the usage out there didn't need it so I didn't bother adding it. > > Incidentally, http://www.and.org/and-httpd/ has an insane number of > tests for nearly every http thing you could think of testing. I was > originally going to base a test suite on his stuff, but never got > around to it or found I needed it. > So mighty Zed, what we should do? :-D I've committed several changes to fix issues with mongrel_service for next release, but want to get rid all the failures on both platforms I'm supporting right now: i386-mswin32 and i386-mingw32 (VC6 and GCC builds of Ruby). So looking forward for suggestions before I pick up my axe (blame) and get rid of those without asking :-D -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From tony at clickcaster.com Wed Apr 23 20:50:14 2008 From: tony at clickcaster.com (Tony) Date: Wed, 23 Apr 2008 18:50:14 -0600 Subject: [Mongrel-development] Pure Ruby HTTP parser Message-ID: Before anything else, let me state this: Of course it's going to be PAINFULLY slow on MRI. That's not the point :) I thought I'd try out writing out a Ruby version of the parser for the purposes of Rubinius. For those of you who aren't aware, Ragel supports a goto-driven FSM on Rubinius by injecting assembly directly, and Rubinus head honcho guy Evan Phoenix is working on a patch for Ragel to update it to the new compiler semantics. So really, there is a purpose for trying this out. Anyway, here's my initial hack. It's nasty, and presently jams the entire FSM into instance-specific data. Aieee! But it more or less seems to generate similar (albeit not identical) output to the C one: http://git.rubini.us/?p=code;a=blob;f=lib/mongrel/http11_parser.rb.rl;h=508f9bd42b4aad322f357637d52576f780707a2f;hb=868732662abbf4aa571bf2f3d598152467f6f4da I've thought about having a Mongrel::HttpParser::FSM module to store the actual Ragel-generated state machine, and pass all ivars from the Mongrel::HttpParser to an execute method then recapture them as return values, or something to that effect. Thoughts? Suggestions? Complete rewrites? I'd appreciate them all. -- Tony Arcieri medioh.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/mongrel-development/attachments/20080423/19cb571c/attachment.html From ry at tinyclouds.org Thu Apr 24 07:38:03 2008 From: ry at tinyclouds.org (ry dahl) Date: Thu, 24 Apr 2008 13:38:03 +0200 Subject: [Mongrel-development] Pure Ruby HTTP parser In-Reply-To: References: Message-ID: <3ae7f4480804240438g62ed7190if2a84ff08dd2fe34@mail.gmail.com> One could replace http11's parser with some regular expressions and out-of-bounds checking rather easily. I think Kirk Haines did this (?) and said it was rather comparable in speed to the C/Ragel state machine. I guess that wasn't really the point of your exercise, but it's worth noting, if anyone actually wants a pure ruby http parser. ry On Thu, Apr 24, 2008 at 2:50 AM, Tony wrote: > Before anything else, let me state this: Of course it's going to be > PAINFULLY slow on MRI. That's not the point :) > > I thought I'd try out writing out a Ruby version of the parser for the > purposes of Rubinius. For those of you who aren't aware, Ragel supports a > goto-driven FSM on Rubinius by injecting assembly directly, and Rubinus head > honcho guy Evan Phoenix is working on a patch for Ragel to update it to the > new compiler semantics. So really, there is a purpose for trying this out. > > Anyway, here's my initial hack. It's nasty, and presently jams the entire > FSM into instance-specific data. Aieee! But it more or less seems to > generate similar (albeit not identical) output to the C one: > > http://git.rubini.us/?p=code;a=blob;f=lib/mongrel/http11_parser.rb.rl;h=508f9bd42b4aad322f357637d52576f780707a2f;hb=868732662abbf4aa571bf2f3d598152467f6f4da > > I've thought about having a Mongrel::HttpParser::FSM module to store the > actual Ragel-generated state machine, and pass all ivars from the > Mongrel::HttpParser to an execute method then recapture them as return > values, or something to that effect. > > Thoughts? Suggestions? Complete rewrites? I'd appreciate them all. > > -- > Tony Arcieri > medioh.com > _______________________________________________ > Mongrel-development mailing list > Mongrel-development at rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-development > > From tony at clickcaster.com Sat Apr 26 19:33:09 2008 From: tony at clickcaster.com (Tony) Date: Sat, 26 Apr 2008 17:33:09 -0600 Subject: [Mongrel-development] Pure Ruby HTTP parser In-Reply-To: <3ae7f4480804240438g62ed7190if2a84ff08dd2fe34@mail.gmail.com> References: <3ae7f4480804240438g62ed7190if2a84ff08dd2fe34@mail.gmail.com> Message-ID: I pushed an updated version here: http://git.rubini.us/?p=code;a=blob;f=lib/mongrel/http11_parser.rb.rl;h=60c8f3d2519dc1673ef0b4107d40a9df9eca0662;hb=7d246b17efc0ac37db6c241729f6b0e298f49950 It's now confirmed working with Mongrel::HttpServer on Rubinius with a "Hello, world!" Mongrel::HttpHandler. It can be used to generate a goto-driven FSM using Rubinius assembly: http://git.rubini.us/?p=code;a=blob;f=lib/mongrel/http11.rb;h=435f643ea105f7adc486dc06ab960392c3dfeab5;hb=7d246b17efc0ac37db6c241729f6b0e298f49950 Some performance figures: MRI + C extension, parsing 10,000 requests: 0.150000 0.000000 0.150000 ( 0.152268) Rubinius + Rubinius.asm parser, parsing 10,000 requests: 20.500086 0.000000 20.500086 ( 20.500085) So, presently ~135x slower than the C extension on MRI :) -- Tony Arcieri medioh.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From luislavena at gmail.com Sat Apr 26 19:57:23 2008 From: luislavena at gmail.com (Luis Lavena) Date: Sat, 26 Apr 2008 20:57:23 -0300 Subject: [Mongrel-development] Pure Ruby HTTP parser In-Reply-To: References: <3ae7f4480804240438g62ed7190if2a84ff08dd2fe34@mail.gmail.com> Message-ID: <71166b3b0804261657m67e5dbe8ic8249bdb7204c56@mail.gmail.com> On Sat, Apr 26, 2008 at 8:33 PM, Tony wrote: > I pushed an updated version here: > > http://git.rubini.us/?p=code;a=blob;f=lib/mongrel/http11_parser.rb.rl;h=60c8f3d2519dc1673ef0b4107d40a9df9eca0662;hb=7d246b17efc0ac37db6c241729f6b0e298f49950 > > It's now confirmed working with Mongrel::HttpServer on Rubinius with a > "Hello, world!" Mongrel::HttpHandler. > > It can be used to generate a goto-driven FSM using Rubinius assembly: > > http://git.rubini.us/?p=code;a=blob;f=lib/mongrel/http11.rb;h=435f643ea105f7adc486dc06ab960392c3dfeab5;hb=7d246b17efc0ac37db6c241729f6b0e298f49950 > > Some performance figures: > > MRI + C extension, parsing 10,000 requests: > 0.150000 0.000000 0.150000 ( 0.152268) > > Rubinius + Rubinius.asm parser, parsing 10,000 requests: > 20.500086 0.000000 20.500086 ( 20.500085) > > So, presently ~135x slower than the C extension on MRI :) > Hey Tony, how that can compare with Rubinius + substend? -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams