Mailing List Archive

500 Died in server spawn error caused by regex in log_transaction
I don't know quite when this issue started but we started getting
complaints about a 500 error on the checkout when placing an order, I've
narrowed it down to a single regex line in log_transaction.

The error in the log is:-

/process.html Died in server spawn: Can't find Unicode property definition
"Word" ...

The regex that seems to cause the error is $out =~ s/[\r\n]+/\n/;

For now I have change it to $out =~ s/\r\n+/\n/mg; which seems fine.

I presume this is some kind of UTF8 error, any idea what causes it??

TIA,
Andy
Re: 500 Died in server spawn error caused by regex in log_transaction [ In reply to ]
> On Sep 8, 2017, at 7:52 AM, IC <ic@tvcables.co.uk> wrote:
>
> I don't know quite when this issue started but we started getting complaints about a 500 error on the checkout when placing an order, I've narrowed it down to a single regex line in log_transaction.
>
> The error in the log is:-
>
> /process.html Died in server spawn: Can't find Unicode property definition "Word" ...
>
> The regex that seems to cause the error is $out =~ s/[\r\n]+/\n/;
>
> For now I have change it to $out =~ s/\r\n+/\n/mg; which seems fine.
>
> I presume this is some kind of UTF8 error, any idea what causes it??

Hmm, that’s not even referencing unicode properties directly, so if that line change truly is what fixes the issues, then it sounds like there may be some issues with some of your internal perl modules, such as picking up a later version of Encode.pm with a different perl interpreter that is making other assumptions.

How many versions of perl do you have on your system? You might be able to create a page that contains just `[env PERL5LIB]` and see if that matches up to your expectations of the version of Perl you’re using.

Best,

David
--
David Christensen
End Point Corporation
david@endpoint.com
785-727-1171
Re: 500 Died in server spawn error caused by regex in log_transaction [ In reply to ]
On 8 September 2017 at 16:24, David Christensen <david@endpoint.com> wrote:

>
> Hmm, that’s not even referencing unicode properties directly, so if that
> line change truly is what fixes the issues, then it sounds like there may
> be some issues with some of your internal perl modules, such as picking up
> a later version of Encode.pm with a different perl interpreter that is
> making other assumptions.
>
> How many versions of perl do you have on your system? You might be able
> to create a page that contains just `[env PERL5LIB]` and see if that
> matches up to your expectations of the version of Perl you’re using.
>
>
?Hi David,

That env tag just displays a blank page, I'm using IC 5.6.3, still on
Centos 5, perl -v shows v5.8.8 built for i686-linux.

I had these errors in the log so debugged log_transaction, commenting that
regex line appeared to fix it:-

tvcables /cgi-bin/tvcables/process.html ERRORS on ORDER :
Error during creation of order routing worldpay:
Error while interpolating page etc/log_transaction:
Can't find Unicode property definition "Word" at
/usr/local/interchange563/lib/Vend/Parse.pm line 709.

Any ideas?

Regards,
Andy??
Re: 500 Died in server spawn error caused by regex in log_transaction [ In reply to ]
> Hmm, that's not even referencing unicode properties directly, so if that
> line change truly is what fixes the issues, then it sounds like there may
> be some issues with some of your internal perl modules, such as picking up
> a later version of Encode.pm with a different perl interpreter that is
> making other assumptions.
>
> How many versions of perl do you have on your system? You might be able
> to create a page that contains just `[env PERL5LIB]` and see if that
> matches up to your expectations of the version of Perl you're using.
>

Did my reply make the list?


_______________________________________________
interchange-users mailing list
interchange-users@icdevgroup.org
http://www.icdevgroup.org/mailman/listinfo/interchange-users
Re: 500 Died in server spawn error caused by regex in log_transaction [ In reply to ]
>> On 8 September 2017 at 16:24, David Christensen <david@endpoint.com> wrote:
>>
>> Hmm, that’s not even referencing unicode properties directly, so if that line change truly is what fixes the issues, then it sounds like there may be some issues with some of your internal perl modules, such as picking up a later version of Encode.pm with a different perl interpreter that is making other assumptions.
>>
>> How many versions of perl do you have on your system? You might be able to create a page that contains just `[env PERL5LIB]` and see if that matches up to your expectations of the version of Perl you’re using.
>>
>>
> ?Hi David,
>
> That env tag just displays a blank page, I'm using IC 5.6.3, still on Centos 5, perl -v shows v5.8.8 built for i686-linux.
>
> I had these errors in the log so debugged log_transaction, commenting that regex line appeared to fix it:-
>
> tvcables /cgi-bin/tvcables/process.html ERRORS on ORDER :
> Error during creation of order routing worldpay:
> Error while interpolating page etc/log_transaction:
> Can't find Unicode property definition "Word" at /usr/local/interchange563/lib/Vend/Parse.pm line 709.

Hmm, if you’re certain that this is a new behavior and that is the only perl that is installed on the system, I’m not sure where this deviation would have come from. I still suspect my first hunch, which is that we’re using a different module library than the version of perl running interchange.

Can you do something to try to find any existing perl5 library directories, such as `find / -name perl5 -type d` and report any results? While `which` might just show the single perl there still may be others in $PATH that are confusing things.

Best,

David
--
David Christensen
End Point Corporation
david@endpoint.com
785-727-1171
Re: 500 Died in server spawn error caused by regex in log_transaction [ In reply to ]
> Hmm, if you're certain that this is a new behavior and that is the only
> perl that is installed on the system, I'm not sure where this deviation
> would have come from. I still suspect my first hunch, which is that we're
> using a different module library than the version of perl running
> interchange.
>
> Can you do something to try to find any existing perl5 library
directories,
> such as `find / -name perl5 -type d` and report any results? While
> `which` might just show the single perl there still may be others in $PATH
> that are confusing things.

Hi David,

Here is the output of `find / -name perl5 -type d`

/home/interch/perl5
/home/interch/perl5/lib/perl5
/usr/lib/perl5
/usr/local/lib/perl5
/usr/local/cpanel/3rdparty/perl/514/lib/perl5
/root/perl5
/root/perl5/lib/perl5

From the IC admin panel info it reports this:-

Perl Version Perl 5.8.8 (called with: /usr/local/bin/perl)
Optional Module Information
Archive::Tar found (v2.04). MIME::Base64 found (v3.15).
Archive::Zip found (v1.55). Safe::Hole found (v0.13).
Bundle::LWP found (v5.835). Set::Crontab found (v1.03).
Business::UPS found (v2.01). Spreadsheet::ParseExcel found (v0.65).
Compress::Zlib found (v2.069). Spreadsheet::WriteExcel found (v2.40).
Crypt::SSLeay found (v0.72). Storable found (v2.51).
DBI found (v1.636). Tie::ShadowHash found (v1.00).
Digest::MD5 found (v2.54). Tie::Watch found (v1.301).
Image::Size found (v3.3). URI::URL found (v5.04).
LWP::Simple found (v6.15).

Regards,
Andy



_______________________________________________
interchange-users mailing list
interchange-users@icdevgroup.org
http://www.icdevgroup.org/mailman/listinfo/interchange-users