Hello. I have posted a note here before, and want to thank those that took time to try to solve this strange problem, but unfortunately none of the suggestions have helped us so far, except for helping us ruling out things that could have been incorrect. Now I have received some more information since the last time so I'll try again.
I have tried to be brief, but this is a complicated problem so it does need some text to fully understand. Basically we are losing data sent to a mod_perl program. We request the page "page.fxml?name=al&adress=sweden&problem=huge". When our program receives this request it will only be "page.fxml" without any of the arguments sent. Ok, first of all, yes we use the extension fxml - we want to mix non-mod_perl files among my mod_perl files so we have set the apache up to run mod_perl only on .fxml extension files. Works fine (apart from our problem), but the problem happens even when we parse all files. Second, we dont get this problem all the time. It occurs very infrequently and (what appears to be) for total random reasons. On one machine (we have several installations of this program) we will get the error 5 minutes after the machine started up and after a restart not for 24 hours. On one we will get it after 5-10 requests being sent to the apache server after restart and on another not a single error for 24 hours of continous very hard use (test scripts accessing like mad). Third, which might be important, we almost always use vhosts to set up different instances of sites that will run the code. We have a temporary solution to the problem, being that we restart the server every second hour. This has reduced the number of errors we get, but not eliminated them. One day (24 hour period) we can have 100-150 errors on one site, orther days we can get 700-800 errors (when we send roughly 17500 requests to the server during this time period). And this is when we do the restarts every sencond hour. If we don't the amount of errors will be up to almost half of the requests. The apache logs the request correctly to the access log but when we try to access the arguments in mod_perl they will just not be there anymore. We assume that the apache hands the data over to mod_perl who then hand it over to our program, this is what seems to go wrong on occasion. What we would like to do is find a way to track a request all the way through the apache and mod_perl to, finally, our program. Can this be done easily? Has anyone else encountered a problem like this? Does anyone know anything about this problem? Help! :o) ----- Technical information: Solaris/mod_perl 1.25/apache 1.3.19 Debian GNU/Linux, latest stable/mod_perl 1.26/apache 1.3.23 Both use Perl 5.6.1 -------- lines from the httpd.conf file: PerlModule MyProjects::Project1 <files *.fxml> sethandler perl-script perlhandler MyProjects::Project1::handler options execcgi followsymlinks includes </files> --------------------------------------- -------- lines from the Project1.pm file: sub handler($) { $^W = 1; # gripe about the little things my $r = shift; my $apr; my %parm; $apr = Apache::Request->new($r); if($r->method() eq 'POST' || $r->method() eq 'GET') { my @keys = $apr->param(); foreach my $key (@keys) { $parm{$key} = $apr->param($key); print STDERR "Inargs: $key = " . $parm{$key} . "\n"; } } . . . --------------------------------------- (this will from time to time not generate anything) Thankful for any and all help that can help us find this annoying problem. /Hakan - Hi! I'm a .signature virus! Copy me into your .signature file to help me spread!