Strange Mason error

Hello list,

My RT project was stalled for a bit. I went to look how it’s been doing…
and it isn’t. I haven’t touched it in a while, so i’m not sure what to
trace this back to. I fixed it, but i’d like to know what happened.

I’m seeing this in the logs:
May 14 09:39:29 data postfix/local[4855]: 0C17C4560A4: to=<
rt@rt.phillycarshare.org>, relay=local, delay=0.12, delays=0.02/0/0/0.1,
dsn=4.3.0, status=deferred (temporary failure. Command output: RT server
error. The RT server which handled your email did not behave as expected.
It said: mkdir /opt/rt3/var/mason_data/obj/2098779359: Permission denied at
/usr/local/share/perl/5.8.8/HTML/Mason/Compiler/ToObject.pm line 107 )

ToObject.pm has this code block where line 107 appears, as marked:

if (defined $file && !-f $file) {
    my ($dirname) = dirname($file);
    if (!-d $dirname) {
        unlink($dirname) if (-e _);

LINE 107 -> push @newfiles, mkpath($dirname, 0, 0775);
system_error "Couldn’t create directory $dirname: $!"
unless -d $dirname;
}
rmtree($file) if (-d $file);
}

So, ok, it’s lost directory permissions somehow. While i wasn’t paying
attention to it. How??
How can i figure out what it’s trying to write to? Also, i noticed that the
"couldn’t create!" error is NOT appearing in the logs.

mkdir /opt/rt3/var/mason_data/obj/2098779359: Permission denied

in mason_data/ cache and etc are both owned by www-data, but obj is owned by
root and in the root group. I’m assuming it must also be accessible by the
webserver, but how could this have changed? chowning obj/ back to www-data
solved the issue, but i’d like to avoid whatever caused it.

Thanks,
Rob

/chown -R us:us /yourbase

Do you run rt-email-* scripts by cron as root? It may cause this. We
fixed this in the repo will be part of RT 3.8.3. You can run those
scripts as www user I think.On Thu, May 14, 2009 at 5:55 PM, Rob Munsch rob.munsch@gmail.com wrote:

Hello list,

My RT project was stalled for a bit. I went to look how it’s been doing…
and it isn’t. I haven’t touched it in a while, so i’m not sure what to
trace this back to. I fixed it, but i’d like to know what happened.

I’m seeing this in the logs:

May 14 09:39:29 data postfix/local[4855]: 0C17C4560A4:
to=rt@rt.phillycarshare.org, relay=local, delay=0.12, delays=0.02/0/0/0.1,
dsn=4.3.0, status=deferred (temporary failure. Command output: RT server
error. The RT server which handled your email did not behave as expected.
It said: mkdir /opt/rt3/var/mason_data/obj/2098779359: Permission denied at
/usr/local/share/perl/5.8.8/HTML/Mason/Compiler/ToObject.pm line 107 )

ToObject.pm has this code block where line 107 appears, as marked:

if (defined $file && !-f $file) {
    my ($dirname) = dirname($file);
    if (!-d $dirname) {
        unlink($dirname) if (-e _);

LINE 107 -> push @newfiles, mkpath($dirname, 0, 0775);
system_error "Couldn’t create directory $dirname: $!"
unless -d $dirname;
}
rmtree($file) if (-d $file);
}

So, ok, it’s lost directory permissions somehow. While i wasn’t paying
attention to it. How??
How can i figure out what it’s trying to write to? Also, i noticed that the
"couldn’t create!" error is NOT appearing in the logs.

mkdir /opt/rt3/var/mason_data/obj/2098779359: Permission denied

in mason_data/ cache and etc are both owned by www-data, but obj is owned by
root and in the root group. I’m assuming it must also be accessible by the
webserver, but how could this have changed? chowning obj/ back to www-data
solved the issue, but i’d like to avoid whatever caused it.

Thanks,
Rob


/chown -R us:us /yourbase


http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: sales@bestpractical.com

Discover RT’s hidden secrets with RT Essentials from O’Reilly Media.
Buy a copy at http://rtbook.bestpractical.com

Best regards, Ruslan.