[rt-users] Help -- RT configuration not loading!

Victor Danilchenko danilche at cs.umass.edu
Tue Jun 10 16:51:02 EDT 2003


	Hi,
	We have an RT 3.0.2 installation here, and we ran into a
peculiar problem: the RT::LoadConfig function simply doesn't work. It's
not that it misbehaves in some meaningful way -- AFAICT, it simply
silently doesn't run, when it's supposed to.

	We noticed it first when we enabled ParseNewMessageForTicketCcs
option -- RT was refusing to acknowledge CCs in the initiating message.
I spent a few hours tracking it dowd, and discovered that there is a
section in RT::Interface::Email::Gateway function which is conditional
upon $RT::ParseNewMessageForTicketCcs being set... except that the said
value isn't set, even though it's assigned the value of 1 in the
RT_SiteConfig.pm file.

	So I stuck in some debugging code into RT::LoadConfig and
RT::Interface::Email::Gateway functions, and bizarre things came into
the light -- the code in the LoadConfig simply never got executed!

	here is the relevant excerpt from the Gateway function:

#####################################################################
BEGIN {
    use RT;
    RT::LoadConfig(\*STDERR);
}             # just in case
RT::LoadConfig(\*STDERR);
print STDERR "--- Email.pm: ".join("-", (caller(0))[0..3], $RT::ParseNewMessageForTicketCcs)."\n";
        if (1 || $RT::ParseNewMessageForTicketCcs) {
#####################################################################

	(the last line is our temporary workaround, made in
conjunction with manually removing the RT e-mail addresses from the
@Cc);

	And here is the relevant modification of RT::LoadConfig function:

#####################################################################
sub LoadConfig {
my $fh = shift || \*STDERR;
print $fh "--- RT.pm   : ".join("::", (caller(1))[0..3])."\n";
#####################################################################

	Now when I restart Apache and submit a mail message, the
following appears in Apache's error log (the last line is the relevant
datum):

[Tue Jun 10 16:21:25 2003] [notice] SIGHUP received.  Attempting to restart
[Tue Jun 10 16:21:25 2003] [notice] Apache/1.3.27 (Unix) mod_perl/1.27 configured -- resuming normal operations
[Tue Jun 10 16:21:25 2003] [notice] Accept mutex: sysvsem (Default: sysvsem)
--- Email.pm: HTML::Mason::Commands-/nfs/saga/rt/rt3.0.2/share/html/REST/1.0/NoAuth/mail-gateway-33-RT::Interface::Email::Gateway-

	As you can see, the STDERR output from RT::LoadConfig never
appears; expectedly, ParseNewMessageForTicketCcs never gets set. What's
more, if I further modify LoadConfig to return some distinctive string
and check its return value in Gateway, the return value is still 1
rather than the string I set!

	it's truly bizarre. As far as I can tell, LoadConfig simply
doesn't run -- and produces no error message (neither in rt.log nor in
apache's error log). I also tried wrapping the RT::LoadConfig call in
eval, with no result.
	Even if the permissions on RT_SiteConfig.pm were wrong, the
debug text should still have been dumped! but nothing happens.
Amazingly, quietly, simply nothing happens.

	Note that when I try the supposedly equivalent action on command
line, everything behaves expectedly:

[root at saga rt]# perl -I`pwd`/lib -w -e 'use RT; print RT::LoadConfig(\*STDOUT), "\n";' 2>/dev/null
--- RT.pm   :
1

	I thought the code under Mason may be getting some other
version of RT.pm, but no -- %INC indicates that I am modifying the
correct file.

	We are currently working around this by manually forcing the few
conditionals depending on the variables we set in the config file; but I
would really like to be able to figure out what the fsck is wrong. Does
anyone have any ideas?

	Thanks,

-- 
|  Victor  Danilchenko  +-------------------------------------------+
| danilche at cs.umass.edu | With a GUI, what you see is what you get! |
|   CSCF   |   5-4231   | With a GUI, what you see is ALL you get!  |



More information about the rt-users mailing list