Good afternoon,
I want to report a very, very strange segfault I ran into this
afternoon.
I have a component that contains a bunch of Javascript. I include
this component on a variety of pages which need it.
All is fine & dandy, until this afternoon when creating a new page.
Everything was fine, until I inserted the call to the Javascript
component. Subsequent web requests for the page started segfaulting
-- on every request.
This new page isn't materially different from any other page that
calls the Javascript component (and the others all still work) --
except that it is a bit longer/larger and contains a lot more control
structures (Mason/Perl if and else blocks galore).
I mention the control block stuff because it's seems that (so far as
I can tell) I might be running into a HTML::Mason::Lexer limit of
some sort? Here's why I think this:
I have narrowed down the problem to "excess" less-than (<) signs in
the Javascript code of the component I'm trying to include.
A pseudo-code case might look like this:
page1.html
---------------
[mason, perl, etc]
<& Javascript.mas &>
[mason, perl, etc]
page2.html
---------------
[more complicated perl, etc]
<& Javascript.mas &>
[more complicated mason, perl, etc]
Javascript.mas
---------------
[some mason, perl, etc]
<script>
[javascript]
for (var i=0; i < count; i++) {
// javascript
}
[more javascript]
</script>
[some more mason, perl, etc]
So the scenario is that page1.html loads fine. page2.html results in
a segfault (it loads fine if the <& Javascript.mas &> is commented out).
Here's the really odd thing that made me think it might be a
HTML::Mason::Lexer issue: if I change all less-thans in the
Javascript file to something else -- it works!! (well, the javascript
is logically broken, but I can change it to just not use less-than).
Really strange. So this works where above doesn't:
Javascript.mas
---------------
[some mason, perl, etc]
<script>
[javascript]
for (var i=0; count > i; i++) {
// javascript
}
</script>
[some more mason, perl, etc]
I am very baffled -- the javascript should just be "opaque" content
as far as Mason would care, I'd assume. Yet it seems to be being
caught up on the '<' in the content, which is what is leading me to
think maybe it's a Lexer issue or something farther up the chain ...
Any ideas? Also anything you folks think I could try to offer more
insight?
Thanks for your time,
-Michael
_______________________________________________________
Michael Burns
Cosbit Technologies
403-701-2672 / [EMAIL PROTECTED]
AIM: cmikeburns
MSN: cmikeburns
_______________________________________________________
Box 2173, Station M • Calgary, Alberta, Canada • T2P 2M4
http://cosbit.com
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642
_______________________________________________
Mason-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mason-users