You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Skylos <sk...@gmail.com> on 2014/04/21 22:57:56 UTC

Bug? Conflict between JSON and Apache2::compat, Apache2::Status, and Apache2::Reload

So this weekend I had a dickens of the time figuring out why:

use JSON;
to_json({field=>JSON::true});

Would throw an exception stating that there were blessed values in it -
which is true, in a way, but not really - because the blessed value is
something like bless(do{\$o=1},JSON::XS::Boolean) IS actaully blessed, but
*its not supposed to do that*.  Its supposed to understand that's a boolean
object and just result in 'true' in the output stream that should end up
looking like

{"field":true}

I determined it wasn't happening on the command line, and that a
module-less mod_perl handling was working fine.  And did a binary search
through the modules included to find the break point.  I found it in that
*any one or combination of* the three modules

Apache2::compat
Apache2::Status
Apache2::Reload

being loaded would cause this exception to be thrown.

Fortunately for me, none of the three appear to be critical to the
application as it stands at this moment, so they're merely disabled for the
meantime.  (though the lack of reload is slightly annoying)

The question is, am I really and truly encountering a novel bug here, one
that hasn't been seen?  Is this something that I should put together a test
for the bug to insert in the mod_perl codebase?  Or has it already been
seen and addressed in the 2.4 coding?

I'm using Apache 2.2 because mod_perl for 2.4 isn't there yet for the
support I need for this application.

Thank you for your time,

David


-- 
Dog approved this message.