[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