Problems displaying message content in web interface

We’re running RT 3.4.1 on Apache2 with mod_perl 1.99.

A user recently opened a ticket that contained a few hundred lines of
quoted email text and was sprinkled with variable names and shell script
statements. Any attempt to view this ticket in the web interface
generated the following Mason error:

–snip–

error: 32 levels deep in component stack (infinite recursive call?)
context:

55: }
56: elsif ( ref $stanza eq “HASH” ) {
57: my $content = $stanza->{raw};
58: RT::Interface::Web::EscapeUTF8($content);
59: $m->comp(‘/Elements/Callback’, content => $content, %ARGS);
60: $content =~ s/\n/
/gi if defined $content;
61:
62: </%perl>
63: <%$content |n%>


code stack: /usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:59
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowMessageStanza:51
/usr/local/rt3/share/html/Ticket/Elements/ShowTransactionAttachments:143
/usr/local/rt3/share/html/Ticket/Elements/ShowTransaction:62
/usr/local/rt3/share/html/Ticket/Elements/ShowHistory:104
/usr/local/rt3/share/html/Ticket/Display.html:61
/usr/local/rt3/share/html/Ticket/Update.html:211
/usr/local/rt3/share/html/autohandler:215

–snip–

Something in the text confused Mason, causing a recursive limit to be
reached in line 59 of ShowMessageStanza. I was able to replicate the
issue by copying and pasting the text into a new ticket.

I cleaned up the content via the command-line but I was wondering if
this is a known issue with RT or if it is specific to my implementation.
It would be nice to find a fix for this as we can’t guarantee that we
won’t see such email text in the future.

Here’s a very brief snippet of the text in question:

scratch

space, and

copy

back

the necessary files to your home

directory.

export

HOME_DIR=/home1/$USER/dchooz/simulations/12.4.05/DCGLG4sim

export WORK_DIR=/scratch/$USER

export NPROCS=wc -l $PBS_NODEFILE |gawk '//{print $1}'

thanks,

Michael L.

A user recently opened a ticket that contained a few hundred lines of
quoted email text and was sprinkled with variable names and shell script
statements. Any attempt to view this ticket in the web interface
generated the following Mason error:

Has anyone ever experienced this error other than me? It would seem to
me that special characters such as “$” and other shell script
invocations have to be handled correctly in most cases else this would
be a very common problem. Is this a case of the right mix of
characters/commands to cause an error?