Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

multipart parser bug (with test to reproduce and fix) #6

Closed
bmilekic opened this issue Nov 6, 2009 · 4 comments
Closed

multipart parser bug (with test to reproduce and fix) #6

bmilekic opened this issue Nov 6, 2009 · 4 comments

Comments

@bmilekic
Copy link

bmilekic commented Nov 6, 2009

Hi there,

Found a non-obvious bug in rack's multipart parser.

Have a look at:

http://github.com/bloom/rack/commit/8f4bfced74e7a07d0f0f47705b763c7efc2f2aa7

Please let me know how you feel about this, and feel free to cherry pick it if it's interesting. FWIW, I kept running into the oddest problem with a Rails app that happened to be using a multipart form to submit a fairly large form. It so happened that for a given multipart payload size, I would reliably fall onto a chunking/splitting in rack's multipart parser which, given the 16384 bufsize being used by default, just so happened to expose a bug in the parser. Non-obvious because it took a while to isolate and peg down.

Best,
Bosko

@bluemango
Copy link

Thank you so much for this patch. This bug was a huge pain to track down. So glad you had already figured out the fix. Please add this into core. This is a really hard bug to reproduce.

@pedro
Copy link

pedro commented Jun 9, 2010

+1

@manveru
Copy link
Member

manveru commented Jun 9, 2010

@OriPekelman
Copy link

You can find a description of the symptoms you might expect and why this is a hard bug to find when it has an effect on your application in the following article "Heisenbug: Ruby on Rails Corrupted/Broken POST data on a big form" http://dev.af83.com/http/heisenbug-ruby-rails-corruptedbroken-post-data-big-form-its-all-racks-fault/2010/08/27

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants