[ic] XML::Parser, Safe.pm, system signal 12
Carsten Jahnke
carstenjahnke at web.de
Wed Jun 9 03:55:55 EDT 2004
Hello Interchange Users!
This is my first post here and my english is perhaps a little bit rusty :)
We have Interchange version 5.0.0 on a SuSE Linux 2.4.19-4GB machine
running with a complex perfective maintenance backend. To import and
update the products db we want to use XML::Parser in a UserTag to
support XML-files. The problem is the safe-Module. When
require XML::Parser;
is used we get the following message in <catroot>/error.log:
192.168.0.20 kbaJZoJo:192.168.0.20 - [08/June/2004:18:40:51 +0200] catname /
cgi-bin/catname/admin/index.html require_error: require trapped by operation
mask at /usr/lib/perl5/site_perl/5.6.1/i586-linux/XML/Parser.pm line 14.
Compilation failed in require at (tag 'mvasp') line 111.
The following code also returns in no success:
eval {
require XML::Parser;
};
if ($@) {
::logError("require_error: $@");
return;
}
The UserTag is included in interchange.cfg. It is in the
<icdir>/usertags/ and in interchange.cfg we have
include usertag/*.tag
That should make this UserTag global (*global*) and hold off the
safe.pm, as I painfully searched out of the IC Documentation and
hundreds of mailing list threads but Safe.pm still bothers my UserTag!
Or is "trapped by operation mask" not the safe module?
The alternative was to put the XML-Parsing code into a .pl file and
launch it with
system("perl path/to/file.pl some parameters");
That works viable on our test server but on the production machine we
get signal 12 as the return value of the system() command after a random
amount of time. The machine is the same as the other, IC 5.0 but Perl is
perl, v5.8.0 built for i686-linux.
The annoying fact is, that the perlscript runs like a charm when
launched by hand in bash. But when it's started by a UserTag in IC it
nearly always drops out with exit code 12 (SIGUSR2 ?, kill -l shows
that). I also tried
$SIG{USR2} = 'IGNORE';
but no effect.
Has anyone experiences using XML::Parser in UserTags or can tell me what
exit code 12 of system("perl ...") means?
Thanks in advance!
--
Carsten Jahnke
email: carstenjahnke at web.de
More information about the interchange-users
mailing list