If users enter unbalanced HTML tags, the parser will barf, but the end user will only see a "Something went wrong" error. When @lasuprema had an unbalanced bracket, the app was totally unhelpful, although it logged this in the logfile:
Processing TranscribeController#save_transcription (for 128.62.58.21 at 2014-10-09 17:37:18) [POST]
Parameters: {"authenticity_token"=>"x3o06IDSXusyY02X3kgu28Ic3KvUaJUgtRkF/nWmUPA=", "page_id"=>"3437", "page"=>{"title"=>"", "source_text"=>"the [[Thinking Fellers Union Local 282]]\r\n\r\ninterview by [[susan]] and [[steve]] @ [[Emo's]] in August 1995\r\nsome of the questions are ours; some are from a psychiatrist's questioning of an alleged victim of satanic ritual abuse.\r\n\r\nGW: I want to know if you've had any interesting encounters with the law in Texas.\r\n[[Hugh]]: We got pulled over the first time we came here for speeding. It was kind of a speed trap.\r\n[[Anne]]: It's not all that interesting.\r\nHugh: Yeah. All it was, we came over a hill and [[Paul]], our first drummer, was driving. Was it early in the morning? I think it was.\r\nAnne: We'd driven all night.\r\n[[Brian]]: I thought that was interesting, to me, just because I had been one of the last people driving and I hadn't slept all night, and that whole road on Highway 10, I guess, for many hours was littered with deer and there were deer corpses all over the place. So, by the time this policeman stopped us, I was out of my mind, and he could have easily been anything other than a policeman, too. I couldn't tell what was going on at all.\r\n[[Anne]]: And we looked like we had been up all night, too, really scruffy and unwashed. I'm really surprised he didn't just tell us to follow him to the police station. 'Cause I've heard that happens, or else they try to get money out of you on the spot, or they run you out of town.\r\nGW: Do you have an opinion on whether or not electroconvulsive therapy is good therapeutic practice when used by a licensed psychiatrist?\r\n[[Hugh]]: I've heard that it's not. I've heard that it's a bad thing", "status"=>"incomplete"}, "save"=>"Save"}
REXML::ParseException (# >
/usr/local/lib/ruby/1.8/rexml/parsers/baseparser.rb:330:in `pull'
/usr/local/lib/ruby/1.8/rexml/parsers/treeparser.rb:22:in `parse'
/usr/local/lib/ruby/1.8/rexml/document.rb:227:in `build'
/usr/local/lib/ruby/1.8/rexml/document.rb:43:in `initialize'
/home/fromthepage/fromthepage/releases/20140408151942/app/models/xml_source_processor.rb:161:in `new'
/home/fromthepage/fromthepage/releases/20140408151942/app/models/xml_source_processor.rb:161:in `update_links_and_xml'
/home/fromthepage/fromthepage/releases/20140408151942/app/models/xml_source_processor.rb:74:in `process_source'