« Return to Thread: JRuby 1.1RC3 & Goldspike 1.6 Fedora 6 problem

Re: JRuby 1.1RC3 & Goldspike 1.6 Fedora 6 problem

by Mike Herrick-4 :: Rate this Message:

Reply to Author | View in Thread

This issue appears to be the same issue that Milton Taylor had.

He sent me a private email suggesting that it might be the same. Here
was my response:

"The new baffling angle for me is that if the app is proxied by Apache
(web server) it works fine, but if I hit Tomcat directly at its port
(8080) it fails (POST data is getting truncated by something). Does this
square as plausible with what you observed with your issue? My
assumption prior to reading your email was that when my POST goes
through Apache it is altering a badly encoded bit or something whereas
going directly at the port wasn't, but I have no evidence of this. Or
perhaps Apache decodes the form post which shortens it and makes it fit
into the IO buffer you mentioned.

 From reading you issue I didn't find the part that made you think it
varied per platform? The other bizarre part of this is that it works on
Ubuntu without issue (accessing Tomcat port directly), but fails on
Fedora. Other than the Fedora JVM being java version "1.6.0_04" vs. java
version "1.6.0_03" on Ubuntu, the environments are identical. "

I patched ChannelStream from jruby trunk and rebuilt jruby complete &
re-packaged our .war file with 1.6 and my issue went away.

Mike Herrick
Program Manager, Collaborative Software Initiative
mike@...
http://www.csinitiative.com


Mike Herrick wrote:

> I have done a bit more puzzling on this. I don't have it sorted out yet,
> but it appears that this is some sort of a web server (apache) related
> issue. Why it only manifests itself with >= RC2 I still have no idea,
> but as long as I hit our app via port 80 and not directly on the port
> Tomcat is listening on  (e.g., 8080) it works.
>
> Any suggestions on explanations or things to look into would be very
> comforting :)
>
> Mike
>
> Mike Herrick
> Program Manager, Collaborative Software Initiative
> mike@...
> http://www.csinitiative.com
>
>
> Mike Herrick wrote:
>> I've done a little bit more testing and thought I should mention what
>> I have found so far.
>>
>> There must be a small bit flipped somewhere, but I'm currently baffled.
>>
>> The application fails with stack below on a POST. Its a fairly large
>> form, but nothing exceptional.
>>
>> I noticed from reviewing the log that the contents of the POST looked
>> shorter than usual (Rails logs it out).
>>
>> Here is what I did to investigate:
>>
>> 1. Ran our smoke test that is based on Mechanize/Hprict against the
>> app as it also does the POST (Just slightly differently since it isn't
>> Firefox etc.). Surprisingly, it worked. The transaction succeeded
>> 2. Proxied the POST from my browser to see what it is sending. It
>> appears to be sending the entire form.
>>
>> I figure from here, I'll try to configure Tomcat to see if it is
>> getting the full POST.
>>
>> If this triggers an idea for anyone on how to test/fix please let me
>> know.
>>
>> Mike
>>
>>
>> Mike Herrick
>> Program Manager, Collaborative Software Initiative
>> mike@...
>> http://www.csinitiative.com
>>
>>
>> Mike Herrick wrote:
>>> I took JRuby 1.1RC3 and Goldspike 1.6 for a quick spin with our app
>>> and am seeing the same odd behavior I saw with RC2.
>>>
>>> It works fine on Ubuntu, but fails on our gnarliest transaction on
>>> Fedora 6.
>>>
>>> JRuby 1.1RC1 is running fine on both Ubuntu and Fedora.
>>>
>>> The JVM version on Ubuntu is:
>>> java version "1.6.0_03"
>>> Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
>>> Java HotSpot(TM) Server VM (build 1.6.0_03-b05, mixed mode)
>>>
>>>
>>> Fedora:
>>> java version "1.6.0_04"
>>> Java(TM) SE Runtime Environment (build 1.6.0_04-b12)
>>> Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)
>>>
>>> Both machines have Tomcat apache-tomcat-6.0.14.
>>>
>>> Here is the stack:
>>> NoMethodError (You have a nil object when you didn't expect it!
>>> The error occurred while evaluating nil.secondary_entity_id):
>>>     /app/models/event.rb:340:in `save_associations'
>>>    
>>> /gems/gems/activerecord-2.0.2/lib/active_record/callbacks.rb:307:in
>>> `callback'
>>>    
>>> /gems/gems/activerecord-2.0.2/lib/active_record/callbacks.rb:304:in
>>> `each'
>>>    
>>> /gems/gems/activerecord-2.0.2/lib/active_record/callbacks.rb:304:in
>>> `callback'
>>>    
>>> /gems/gems/activerecord-2.0.2/lib/active_record/callbacks.rb:270:in
>>> `valid_with_callbacks?'
>>>
>>> /gems/gems/activerecord-2.0.2/lib/active_record/validations.rb:933:in
>>> `save_with_validation'
>>>
>>> /gems/gems/activerecord-2.0.2/lib/active_record/transactions.rb:108:in
>>> `save_with_transactions'
>>>
>>> /gems/gems/activerecord-2.0.2/lib/active_record/connection_adapters/abstract/database_statements.rb:66:in
>>> `transaction'
>>>
>>> /gems/gems/activerecord-2.0.2/lib/active_record/transactions.rb:80:in
>>> `transaction'
>>>
>>> /gems/gems/activerecord-2.0.2/lib/active_record/transactions.rb:100:in
>>> `transaction'
>>>
>>> /gems/gems/activerecord-2.0.2/lib/active_record/transactions.rb:108:in
>>> `save_with_transactions'
>>>
>>> /gems/gems/activerecord-2.0.2/lib/active_record/transactions.rb:120:in
>>> `rollback_active_record_state!'
>>>
>>> /gems/gems/activerecord-2.0.2/lib/active_record/transactions.rb:108:in
>>> `save_with_transactions'
>>>     /app/controllers/events_controller.rb:92:in `create'
>>>
>>> /gems/gems/actionpack-2.0.2/lib/action_controller/mime_responds.rb:106:in
>>> `call'
>>>
>>> /gems/gems/actionpack-2.0.2/lib/action_controller/mime_responds.rb:106:in
>>> `respond_to'
>>>     /app/controllers/events_controller.rb:91:in `create'
>>>     /gems/gems/actionpack-2.0.2/lib/action_controller/base.rb:1158:in
>>> `perform_action'
>>>    
>>> /gems/gems/actionpack-2.0.2/lib/action_controller/filters.rb:697:in
>>> `call_filters'
>>>    
>>> /gems/gems/actionpack-2.0.2/lib/action_controller/filters.rb:689:in
>>> `perform_action_with_filters'
>>>
>>> /gems/gems/actionpack-2.0.2/lib/action_controller/benchmarking.rb:68:in
>>> `perform_action_with_benchmark'
>>>     file:/lib/jruby-complete-1.1RC3.jar!/benchmark.rb:293:in `measure'
>>>
>>> /gems/gems/actionpack-2.0.2/lib/action_controller/benchmarking.rb:68:in
>>> `perform_action_with_benchmark'
>>>    
>>> /gems/gems/actionpack-2.0.2/lib/action_controller/rescue.rb:199:in
>>> `perform_action_with_rescue'
>>>    
>>> /gems/gems/actionpack-2.0.2/lib/action_controller/caching.rb:678:in
>>> `perform_action_with_caching'
>>>
>>> /gems/gems/activerecord-2.0.2/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in
>>> `cache'
>>>    
>>> /gems/gems/activerecord-2.0.2/lib/active_record/query_cache.rb:8:in
>>> `cache'
>>>    
>>> /gems/gems/actionpack-2.0.2/lib/action_controller/caching.rb:677:in
>>> `perform_action_with_caching'
>>>     /gems/gems/actionpack-2.0.2/lib/action_controller/base.rb:524:in
>>> `process'
>>>    
>>> /gems/gems/actionpack-2.0.2/lib/action_controller/filters.rb:685:in
>>> `process_with_filters'
>>>
>>> /gems/gems/actionpack-2.0.2/lib/action_controller/session_management.rb:123:in
>>> `process_with_session_management_support'
>>>     /vendor/plugins/haml/lib/sass/plugin/rails.rb:15:in `process'
>>>     /gems/gems/actionpack-2.0.2/lib/action_controller/base.rb:388:in
>>> `process'
>>>
>>> /gems/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:171:in
>>> `handle_request'
>>>
>>> /gems/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:115:in
>>> `dispatch'
>>>
>>> /gems/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:126:in
>>> `dispatch_cgi'
>>>
>>> /gems/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:9:in
>>> `dispatch'
>>>     :1
>>>
>>>
>>> Rendering
>>> /opt/tomcat/apache-tomcat-6.0.14/webapps/nedss/WEB-INF/gems/gems/actionpack-2.0.2/lib/action_controller/templates/rescues/layout.erb
>>> (internal_server_error)
>>>
>>>
>>>
>>> Any idea where to start ?
>>>
>>> Thanks,
>>>
>>> Mike
>>>
>>
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


 « Return to Thread: JRuby 1.1RC3 & Goldspike 1.6 Fedora 6 problem