Tips on troubleshooting Rails?

We have an application that worked fine with a previous version of
Rails (1.1.6). We recently upgraded to ver 1.2.2, and the controller
handling the XML data stopped working. It seems to crop the data, and
now we cannot receive data into the application anymore.

What is a recommended way to resolve this issue? Any tips and
suggestions are greatly welcomed.

Did you get any error message in the log (assuming you are running in
development mode)? You may try the breakpointer to isolate the
problematic module.

--
Posted viahttp://www.ruby-forum.com/.

Thanks much for asking! This is the message we see:

Processing DataController#post_test_result (for 10.139.0.12 at
2007-03-29 12:02:11) [POST]
  Session ID: 6621ea16007eadec31aca33cb695df58
  Parameters: {"action"=>"post_test_result", "<rma_request>\n\t
<request>PostTestResult</request>\n\t <content>\n
<version>1</version>\n <!"=>{}, "controller"=>"tester/data"}
FAIL :: build_xml_request :: #<REXML::ParseException: Malformed node
Line: 1
Position: 0
Last 80 unconsumed characters:
<!>
/usr/local/lib/ruby/1.8/rexml/parsers/baseparser.rb:316:in `pull'
/usr/local/lib/ruby/1.8/rexml/parsers/treeparser.rb:21:in `parse'
/usr/local/lib/ruby/1.8/rexml/document.rb:178:in `build'
/usr/local/lib/ruby/1.8/rexml/document.rb:45:in `initialize'
/home/www/lsapi/rma/config/../app/controllers/tester/
xml_controller.rb:
24:in `build_xml_request'
/home/www/lsapi/rma/config/../app/controllers/tester/
data_controller.rb:9:in `post_test_result'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.2/lib/
action_controller/base.rb:1095:in `perform_action_without_filters'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.2/lib/
action_controller/filters.rb:632:in `call_filter'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.2/lib/
action_controller/filters.rb:638:in `call_filter'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.2/lib/
action_controller/filters.rb:438:in `call'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.2/lib/
action_controller/filters.rb:637:in `call_filter'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.2/lib/
action_controller/filters.rb:619:in `perform_action_without_benchmark'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.2/lib/
action_controller/benchmarking.rb:66:in
`perform_action_without_rescue'
/usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.2/lib/
action_controller/benchmarking.rb:66:in
`perform_action_without_rescue'
/usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.13.2/lib/
action_controller/rescue.rb:83:in `perform_action'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.2/lib/
action_controller/base.rb:430:in `process_without_filters'
/usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.13.2/lib/
action_controller/filters.rb:624:in
`process_without_session_management_support'
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.2/lib/
action_controller/session_management.rb:114:in `process'
/usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.13.2/lib/
action_controller/base.rb:330:in `process'
/usr/local/lib/ruby/gems/1.8/gems/rails-1.2.2/lib/dispatcher.rb:41:in
`dispatch'
/usr/local/lsws/fcgi-bin/RailsRunner.rb:14
...
Malformed node
Line: 1
Position: 0
Last 80 unconsumed characters:
<!
Line: 1
Position: 0
Last 80 unconsumed characters:
<!
Completed in 0.02440 (40 reqs/sec) | Rendering: 0.00290 (11%) | DB:
0.00884 (36%) | 200 OK [ http://our.info/tester/data/post_test_result]
OK [http://our.info/tester/data/post_test_result ]

The weird part is that when it was working, we were accepting XML data
with no problems. The CDATA was not getting cropped at all.. Whereas
with 1.2.2+, CDATA gets cropped even before we have a chance to do
anything to it in the controller code.

Parameters: {"action"=>"post_test_result", "controller"=>"tester/
data", "<rma_request>\n\t <request>PostTestResult</request>\n\t
<content>\n <version>1</version>\n <!
[CDATA[HEADER_START\r\nTest Station: Station-1\r\nOperator: joe\r
\nTest Program Vers: 1.73\r\nScript File: xxxxx_00_xx2000_R1A.TXT\r
\nScript Rev: 1.00, 03/12/07\r\nTest Date: 03/16/07 11:07:46\r\nUnit
Serial Number: xxxxx***xxxxxx170101\r\nPOWER-UP -
SSID,----,----,Pass
\r\n\r\nTEST_DATA_END]]>\n </content>\n</rma_request>"=>""}
Completed in 0.10780 (9 reqs/sec) | Rendering: 0.00076 (0%) | DB:
0.04805 (44%) | 200