Re: make test hangs

2004-08-12 Thread William Fulmer
I did find some discussion of old HP-UX patches that fixed problems with
stat calls that some of HP's apps had.  There are no particulars and
none pertain to system libraries, so they were no help.  The issue here
may be that I'm a relative novice when it comes to C/C++ programming. 
For instance,  where does the magic happen that masks all of perls stat
calls to stat64 when you compile with LFS support?  Some of the info out
there may contain the answer, but I can't see it for lack of this
knowledge.  

I'm also wondering if the problem is not the actually call to stat64,
which looks like it returns the requested info, but whatever comes next.
 That last line of the trace bothers me:

[5889] In
user-mode.[running]

Very uninformative.  Any guesses as to the meaning?  

One of the other things that has been bothering me is that when I built
MP2 with perl 5.8.2, I couldn't get it to work without useshrlib
defined.   For perl 5.6.2, perl won't even compile successfully if you
define this option.  It tries to run miniperl during the compile and
that hangs with a trace ending in the same mysterious line.  The
frustration thing about that is that LFS does not seem to affect this
particular problem.  I'm left wondering if perhaps the real problem here
is that these two scenarios are trying to dynamically load libraries
that don't lend themselves to dynamic loading (e.g. libpthread.sl)  I
eliminated the usual culprits such as pthread and libcl.sl and of course
there are no helpful messages to point at something else.

I do see warnings about a symbol _attribute_ being defined again and
internal linking will occur, but as I said before, I don't know enough
about C to know if that has any significance at all.

Any thought on these?

---
Will Fulmer
Database Administrator
Northampton Community College
Bethlehem, PA

 Stas Bekman [EMAIL PROTECTED] 8/11/2004 10:29:05 PM 
William Fulmer wrote:
 We need to back up a bit.  I tried something different just for
giggles
 because I thought we might be on the wrong track with setuid.  I
wrote a
 little script that this
 
 #!/bin/bash
 /usr/opt/httpd-2.0.49/bin/httpd -d t -f conf/httpd.conf  -DAPACHE2
 -DONE_PROCESS -DNO_DETATCH  stdout 21 
 tusc -p -f -v -o strace $!
 
 after running the script I went to a browser and hit
 http://cars-l:8529/TestAPI__request_rec 
 
 The strace looks quite different this way (and the process does not
 exit).  Turns out the setuid thing was the falt of my tusc command
being
 setuid. (Sorry.  insert sheepish look here)
 
 Trace from this latest test is more what I expected to see:
[...]

stat64(/opt/local/wrfopt/build/mod_perl-1.99_14/t/response/TestAPI/request_rec.pm,
 0x6ff66648) = 0
 st_dev: 64 0x05
 st_ino: 171526
st_mode: S_IFREG|0644
   st_nlink: 1
st_rdev: 0
st_size: 2503
 st_blksize: 8192
  st_blocks: 1
 st_uid: 1073741829
 st_gid: 27549760
   st_atime: Tue Aug 10 16:50:28 2004
   st_mtime: Fri Apr 18 02:18:58 2003
   st_ctime: Mon Aug  9 20:40:52 2004

 Hangs at this point.
 
 The compile with no LFS:
[...]
 Blows right by the call to stat no problem.  Get output in the
browser
 say Ok to all 42 tests.
 
 The only notable difference being the call to stat as opposed to
 stat64.

Excellent. So you've almost nailed it, William! Now try to see if there

are any discussions on the web re: stat vs. stat64, e.g.:
http://www.google.ca/search?hl=frie=UTF-8q=stat+stat64+hangsbtnG=Recherchermeta=

may be some more keywords should be added, like your platform name...

-- 
__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org 
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com 
http://modperlbook.org http://apache.org   http://ticketmaster.com

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html



Re: make test hangs

2004-08-12 Thread Stas Bekman
William Fulmer wrote:
I did find some discussion of old HP-UX patches that fixed problems with
stat calls that some of HP's apps had.  There are no particulars and
none pertain to system libraries, so they were no help.  The issue here
may be that I'm a relative novice when it comes to C/C++ programming. 
For instance,  where does the magic happen that masks all of perls stat
calls to stat64 when you compile with LFS support?  Some of the info out
there may contain the answer, but I can't see it for lack of this
knowledge.  
It happens during Perl compilation, where depending on compilation 
flags, either stat or stat64 is chosen.

I'm also wondering if the problem is not the actually call to stat64,
which looks like it returns the requested info, but whatever comes next.
 That last line of the trace bothers me:
[5889] In
user-mode.[running]
Very uninformative.  Any guesses as to the meaning?  
Not really.
One of the other things that has been bothering me is that when I built
MP2 with perl 5.8.2, I couldn't get it to work without useshrlib
defined.   For perl 5.6.2, perl won't even compile successfully if you
define this option.  It tries to run miniperl during the compile and
that hangs with a trace ending in the same mysterious line.  The
frustration thing about that is that LFS does not seem to affect this
particular problem.  I'm left wondering if perhaps the real problem here
is that these two scenarios are trying to dynamically load libraries
that don't lend themselves to dynamic loading (e.g. libpthread.sl)  I
eliminated the usual culprits such as pthread and libcl.sl and of course
there are no helpful messages to point at something else.
I do see warnings about a symbol _attribute_ being defined again and
internal linking will occur, but as I said before, I don't know enough
about C to know if that has any significance at all.
Any thought on these?
All I can say that these aren't really mod_perl problems per se, even 
though they prevent you from using mod_perl. They are all OS level 
issues. You need to find someone who groks your platform's specifics and 
can advise us on using the right compile/linking flags to get things 
working.

HP-UX is not the only platform mod_perl has a problem with. We have 
issues with AIX and other platforms. We have Randy Kobes and Steve Hay 
who do a great work handling the win32 build (which won't be possible 
w/o having an inhouse expert). The rest of us develop and familiar with 
Linux. We get random help for other platforms. Ideally what we need is 
to have an expert on those platforms Apache and Perl are running on to 
get mod_perl to run.

I apologize for not being much of help with the problems you are having, 
William.

--
__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com
--
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html


Re: make test hangs

2004-08-12 Thread William Fulmer
I understand.  I've already appealed to a perl.HPUX list to no avail. 
I've only been dealing with HP-UX myself for about a year now (mostly
Linux and Solaris before this).  I agree though.  This is most likely
not a problem with mod_perl itself, but rather some interaction with
perl 5.6 and HP-UX.  I may return with other questions if I decide to
pursue the non LFS install (which at least completes the make test with
failed tests rather than hanging).

I will post the particulars if I ever track down this particular
bugaboo.

Thanks for your time.

---
Will Fulmer
Database Administrator
Northampton Community College
Bethlehem, PA

 Stas Bekman [EMAIL PROTECTED] 8/12/2004 3:32:49 PM 
William Fulmer wrote:
 I did find some discussion of old HP-UX patches that fixed problems
with
 stat calls that some of HP's apps had.  There are no particulars and
 none pertain to system libraries, so they were no help.  The issue
here
 may be that I'm a relative novice when it comes to C/C++ programming.

 For instance,  where does the magic happen that masks all of perls
stat
 calls to stat64 when you compile with LFS support?  Some of the info
out
 there may contain the answer, but I can't see it for lack of this
 knowledge.  

It happens during Perl compilation, where depending on compilation 
flags, either stat or stat64 is chosen.

 I'm also wondering if the problem is not the actually call to
stat64,
 which looks like it returns the requested info, but whatever comes
next.
  That last line of the trace bothers me:
 
 [5889] In

user-mode.[running]
 
 Very uninformative.  Any guesses as to the meaning?  

Not really.

 One of the other things that has been bothering me is that when I
built
 MP2 with perl 5.8.2, I couldn't get it to work without useshrlib
 defined.   For perl 5.6.2, perl won't even compile successfully if
you
 define this option.  It tries to run miniperl during the compile and
 that hangs with a trace ending in the same mysterious line.  The
 frustration thing about that is that LFS does not seem to affect
this
 particular problem.  I'm left wondering if perhaps the real problem
here
 is that these two scenarios are trying to dynamically load libraries
 that don't lend themselves to dynamic loading (e.g. libpthread.sl) 
I
 eliminated the usual culprits such as pthread and libcl.sl and of
course
 there are no helpful messages to point at something else.
 
 I do see warnings about a symbol _attribute_ being defined again and
 internal linking will occur, but as I said before, I don't know
enough
 about C to know if that has any significance at all.
 
 Any thought on these?

All I can say that these aren't really mod_perl problems per se, even 
though they prevent you from using mod_perl. They are all OS level 
issues. You need to find someone who groks your platform's specifics
and 
can advise us on using the right compile/linking flags to get things 
working.

HP-UX is not the only platform mod_perl has a problem with. We have 
issues with AIX and other platforms. We have Randy Kobes and Steve Hay

who do a great work handling the win32 build (which won't be possible 
w/o having an inhouse expert). The rest of us develop and familiar with

Linux. We get random help for other platforms. Ideally what we need is

to have an expert on those platforms Apache and Perl are running on to

get mod_perl to run.

I apologize for not being much of help with the problems you are
having, 
William.

-- 
__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org 
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com 
http://modperlbook.org http://apache.org   http://ticketmaster.com

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html



Re: make test hangs

2004-08-11 Thread Stas Bekman
William Fulmer wrote:
I have a non root user that I use for all of my software builds (called
build strangely enough).  All elements (apache, perl, mod_perl) were
built as this user.  I just tried building as root as the email
suggested.  It would not run apache as root, but tried to use
nobody(which did not work no matter how wide I ripped the permissions). 
I forced it to run as the user that my webserver nomrally runs as by
setting APACHE_TEST_USER and APACHE_TEST_GROUP.  Then the test hangs as
before.  

I never got this message: 

waiting for server to start: .No -M allowed while running setuid. 
perl_parse: Address family not supported by protocol 
!!! 
right, it was in your trace that you've posted. As in the later post 
you've mentioned it was coming from a different app.

--
__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com
--
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html


Re: make test hangs

2004-08-10 Thread William Fulmer
I have a non root user that I use for all of my software builds (called
build strangely enough).  All elements (apache, perl, mod_perl) were
built as this user.  I just tried building as root as the email
suggested.  It would not run apache as root, but tried to use
nobody(which did not work no matter how wide I ripped the permissions). 
I forced it to run as the user that my webserver nomrally runs as by
setting APACHE_TEST_USER and APACHE_TEST_GROUP.  Then the test hangs as
before.  

I never got this message: 

waiting for server to start: .No -M allowed while running setuid. 
perl_parse: Address family not supported by protocol 
!!! 

The server always started successfully.

My perl is not configure to emulate setuid/setgid either. 

Does perl 5.6 handle the setuid differently then 5.8?

Also,  I'm confuse,  does -M bypass the setuid code while stat get's
caught?
Shouldn't they both hang during make test?

My perl.c code looks like this:

STATIC void
S_forbid_setid(pTHX_ char *s)
{
if (PL_euid != PL_uid)
Perl_croak(aTHX_ No %s allowed while running setuid, s);
if (PL_egid != PL_gid)
Perl_croak(aTHX_ No %s allowed while running setgid, s);
}

So I changed it to never croak just for some smiles:

STATIC void
S_forbid_setid(pTHX_ char *s)
{
if (1 != 1)
Perl_croak(aTHX_ No %s allowed while running setuid, s);
if (1 != 1)
Perl_croak(aTHX_ No %s allowed while running setgid, s);
}
 and make test still hangs.

---
Will Fulmer
Database Administrator
Northampton Community College
Bethlehem, PA

 Stas Bekman [EMAIL PROTECTED] 8/9/2004 2:05:48 PM 
William Fulmer wrote:
 Apologies.  You are correct.  I never responded directly to this
email.
 
 my $file = /tmp;
 my $mtime = (stat $file)[9];
 
 and:
 
 my $file = __FILE__;
 my $mtime = (stat $file)[9];
 
 both fail (meaning the test hangs)
 
 -M __FILE__;
 
 and
 
 -M /tmp;
 
 both work (which is to say that the test does not hang, but the test
 fails because stat returns number of seconds since the epoch and -M
 returns the number of days since last modification).

Right, but I think both perform stat(). I went back to your strace 
message, which had:

write(2, N o   - M   a l l o w e d   w h .., 36) 
. = 36

with some googling I've found:

http://marc.theaimsgroup.com/?l=apache-modperlm=104941790431878w=2

which is talking about:

waiting for server to start: .No -M allowed while running setuid.
perl_parse: Address family not supported by protocol
!!!
server has died with status 1 (please examine t/logs/error_log)
make: *** [run_tests] Error 143 

Could that be your issue? Do you have setuid involved in your setup?

If you build mod_perl as root as Richard mentioned in the above URL, do

you get any difference?

the error is coming from perl.c:

STATIC void
S_forbid_setid(pTHX_ char *s)
{
#ifdef SETUID_SCRIPTS_ARE_SECURE_NOW
 if (PL_euid != PL_uid)
 Perl_croak(aTHX_ No %s allowed while running setuid, s);
 if (PL_egid != PL_gid)
 Perl_croak(aTHX_ No %s allowed while running setgid, s);
#endif /* SETUID_SCRIPTS_ARE_SECURE_NOW */
 /* PSz 29 Feb 04
  * Checks for UID/GID above wrong: why disallow
  *   perl -e 'print Hello\n'
  * from within setuid things?? Simply drop them: replaced by
  * fdscript/suidscript and #ifdef IAMSUID checks below.
  *
  * This may be too late for command-line switches. Will catch
those on
  * the #! line, after finding the script name and setting up
  * fdscript/suidscript. Note that suidperl does not get around to
  * parsing (and checking) the switches on the #! line, but checks
that
  * the two sets are identical.
  *
  * With SETUID_SCRIPTS_ARE_SECURE_NOW, could we use fdscript, also
or
  * instead, or would that be too late? (We never have
suidscript, can
  * we be sure to have fdscript?)
  *
  * Catch things with suidscript (in descendant of suidperl), even
with
  * right UID/GID. Was already checked in suidperl, with #ifdef
IAMSUID,
  * below; but I am paranoid.
  *
  * Also see comments about root running a setuid script,
elsewhere.
  */


 Apache, perl and mod_perl where all compiled with HP's ANSI C
compiler.
  The compiler is now with the latest version and patch level.  Also,
 will point out that this is now under HP-UX 11i (11.11) was formerly
 HP-UX 11.00.  Not sure this matters since the symptom's of the
problem
 remain unchanged.  When I first reported the problem I was on the eve
of
 upgrading the OS on the server I've been trying to get this working
on.

That's good.


-- 
__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org 
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com 
http://modperlbook.org http://apache.org   http://ticketmaster.com 

-- 
Report problems: 

Re: make test hangs

2004-08-10 Thread William Fulmer
We need to back up a bit.  I tried something different just for giggles
because I thought we might be on the wrong track with setuid.  I wrote a
little script that this

#!/bin/bash
/usr/opt/httpd-2.0.49/bin/httpd -d t -f conf/httpd.conf  -DAPACHE2
-DONE_PROCESS -DNO_DETATCH  stdout 21 
tusc -p -f -v -o strace $!

after running the script I went to a browser and hit
http://cars-l:8529/TestAPI__request_rec 

The strace looks quite different this way (and the process does not
exit).  Turns out the setuid thing was the falt of my tusc command being
setuid. (Sorry.  insert sheepish look here)

Trace from this latest test is more what I expected to see:

[5889] writev(72, 0x6fff1940, 3)
 =
40
   iov_base[0]: 0x6fff1838
iov_len[0]: 4
   iov_base[1]: 0x40cfeebc
iov_len[1]: 34
   iov_base[2]: 0x7fb78
iov_len[2]: 2
[5889] writev(72, 0x6fff1940, 3)
 =
40
   iov_base[0]: 0x6fff1838
iov_len[0]: 4
   iov_base[1]: 0x40cfeebc
iov_len[1]: 34
   iov_base[2]: 0x7fb78
iov_len[2]: 2
[5889] writev(72, 0x6fff1940, 3)
 =
11
   iov_base[0]: 0x6fff1838
iov_len[0]: 3
   iov_base[1]: 0x40cfeebc
iov_len[1]: 6
   iov_base[2]: 0x7fb78
iov_len[2]: 2
[5889]
stat64(/opt/local/wrfopt/build/mod_perl-1.99_14/t/response/TestAPI/request_rec.pm,
0x6ff66648) = 0
st_dev: 64 0x05
st_ino: 171526
   st_mode: S_IFREG|0644
  st_nlink: 1
   st_rdev: 0
   st_size: 2503
st_blksize: 8192
 st_blocks: 1
st_uid: 1073741829
st_gid: 27549760
  st_atime: Tue Aug 10 16:50:28 2004
  st_mtime: Fri Apr 18 02:18:58 2003
  st_ctime: Mon Aug  9 20:40:52 2004
[5889] In user-mode
.
[running]

Hangs at this point.

The compile with no LFS:

[14273] writev(72, 0x6fff1940, 3)
..
. = 11
   iov_base[0]: 0x6fff1838
iov_len[0]: 3
   iov_base[1]: 0x4105eb74
iov_len[1]: 6
   iov_base[2]: 0x7fb78
iov_len[2]: 2
[14273]
stat(/opt/local/wrfopt/build/mod_perl-1.99_14/t/response/TestAPI/reques
t_rec.pm, 0x6ff665f0) = 0
st_dev: 64 0x05
st_ino: 172780
   st_mode: S_IFREG|0644
  st_nlink: 1
   st_rdev: 0
   st_size: 2503
st_blksize: 8192
 st_blocks: 8
st_uid: 1062
st_gid: 1062
  st_atime: Tue Aug 10 17:11:49 2004
  st_mtime: Fri Apr 18 02:18:58 2003
  st_ctime: Mon Aug  9 20:40:25 2004
[14273] writev(72, 0x6fff1940, 3)
..
. = 11
   iov_base[0]: 0x6fff1838
iov_len[0]: 3
   iov_base[1]: 0x4105eb74
iov_len[1]: 6
   iov_base[2]: 0x7fb78
iov_len[2]: 2

Blows right by the call to stat no problem.  Get output in the browser
say Ok to all 42 tests.

The only notable difference being the call to stat as opposed to
stat64.

---
Will Fulmer
Database Administrator
Northampton Community College
Bethlehem, PA

 William Fulmer [EMAIL PROTECTED] 8/10/2004 9:33:50 AM

I have a non root user that I use for all of my software builds
(called
build strangely enough).  All elements (apache, perl, mod_perl) were
built as this user.  I just tried building as root as the email
suggested.  It would not run apache as root, but tried to use
nobody(which did not work no matter how wide I ripped the permissions).

I forced it to run as the user that my webserver nomrally runs as by
setting APACHE_TEST_USER and APACHE_TEST_GROUP.  Then the test hangs
as
before.  

I never got this message: 

waiting for server to start: .No -M allowed while running setuid. 
perl_parse: Address family not supported by protocol 
!!! 

Re: make test hangs

2004-08-09 Thread William Fulmer
Apologies.  You are correct.  I never responded directly to this email.

my $file = /tmp;
my $mtime = (stat $file)[9];

and:

my $file = __FILE__;
my $mtime = (stat $file)[9];

both fail (meaning the test hangs)

-M __FILE__;

and

-M /tmp;

both work (which is to say that the test does not hang, but the test
fails because stat returns number of seconds since the epoch and -M
returns the number of days since last modification).

Apache, perl and mod_perl where all compiled with HP's ANSI C compiler.
 The compiler is now with the latest version and patch level.  Also,
will point out that this is now under HP-UX 11i (11.11) was formerly
HP-UX 11.00.  Not sure this matters since the symptom's of the problem
remain unchanged.  When I first reported the problem I was on the eve of
upgrading the OS on the server I've been trying to get this working on.

---
Will Fulmer
Database Administrator
Northampton Community College
Bethlehem, PA

 Stas Bekman [EMAIL PROTECTED] 8/8/2004 10:43:14 PM 
William, please followup on all the emails. I don't think I've seen
your 
followup to this post:
http://marc.theaimsgroup.com/?l=apache-modperlm=108382020514594w=2 
Did I miss it?


-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html



Re: make test hangs

2004-08-09 Thread Stas Bekman
William Fulmer wrote:
Apologies.  You are correct.  I never responded directly to this email.
my $file = /tmp;
my $mtime = (stat $file)[9];
and:
my $file = __FILE__;
my $mtime = (stat $file)[9];
both fail (meaning the test hangs)
-M __FILE__;
and
-M /tmp;
both work (which is to say that the test does not hang, but the test
fails because stat returns number of seconds since the epoch and -M
returns the number of days since last modification).
Right, but I think both perform stat(). I went back to your strace 
message, which had:

write(2, N o   - M   a l l o w e d   w h .., 36) 
. = 36

with some googling I've found:
http://marc.theaimsgroup.com/?l=apache-modperlm=104941790431878w=2
which is talking about:
waiting for server to start: .No -M allowed while running setuid.
perl_parse: Address family not supported by protocol
!!!
server has died with status 1 (please examine t/logs/error_log)
make: *** [run_tests] Error 143 
Could that be your issue? Do you have setuid involved in your setup?
If you build mod_perl as root as Richard mentioned in the above URL, do 
you get any difference?

the error is coming from perl.c:
STATIC void
S_forbid_setid(pTHX_ char *s)
{
#ifdef SETUID_SCRIPTS_ARE_SECURE_NOW
if (PL_euid != PL_uid)
Perl_croak(aTHX_ No %s allowed while running setuid, s);
if (PL_egid != PL_gid)
Perl_croak(aTHX_ No %s allowed while running setgid, s);
#endif /* SETUID_SCRIPTS_ARE_SECURE_NOW */
/* PSz 29 Feb 04
 * Checks for UID/GID above wrong: why disallow
 *   perl -e 'print Hello\n'
 * from within setuid things?? Simply drop them: replaced by
 * fdscript/suidscript and #ifdef IAMSUID checks below.
 *
 * This may be too late for command-line switches. Will catch those on
 * the #! line, after finding the script name and setting up
 * fdscript/suidscript. Note that suidperl does not get around to
 * parsing (and checking) the switches on the #! line, but checks that
 * the two sets are identical.
 *
 * With SETUID_SCRIPTS_ARE_SECURE_NOW, could we use fdscript, also or
 * instead, or would that be too late? (We never have suidscript, can
 * we be sure to have fdscript?)
 *
 * Catch things with suidscript (in descendant of suidperl), even with
 * right UID/GID. Was already checked in suidperl, with #ifdef IAMSUID,
 * below; but I am paranoid.
 *
 * Also see comments about root running a setuid script, elsewhere.
 */

Apache, perl and mod_perl where all compiled with HP's ANSI C compiler.
 The compiler is now with the latest version and patch level.  Also,
will point out that this is now under HP-UX 11i (11.11) was formerly
HP-UX 11.00.  Not sure this matters since the symptom's of the problem
remain unchanged.  When I first reported the problem I was on the eve of
upgrading the OS on the server I've been trying to get this working on.
That's good.
--
__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com
--
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html


Re: make test hangs

2004-08-08 Thread Stas Bekman
William, please followup on all the emails. I don't think I've seen your 
followup to this post:
http://marc.theaimsgroup.com/?l=apache-modperlm=108382020514594w=2
Did I miss it?

William Fulmer wrote:
The first test it hangs on is t/api/request_rec.  The line of code it
stops on is pretty uncomplicated:
my $mtime = (stat __FILE__)[9]; #line 124
adding the -T under perl doesn't change a thing.  I'm not quite sure
where to remove it for modperl so I haven't tried that.  '
remove -T from here
t/conf/extra.conf.in:PerlSwitches -wT
and now run it:
t/TEST -conf
t/TEST -v t/api/request_rec.t
I just realized that the bug report I sent was from the compile the
build without large file support in perl.  

I did recompile apache with large file support sort of.  There's no
configure option to enable it so I added -D_LARGEFILE_SOURCE in the
ccflags.  httpd still doesn't advertise that is supports large files. 
The other thing I notice is that modperl doesn't respect perl's ccflags
(as advertised by perl -V).  It drops the -D_LARGEFILE_SOURCE.  I forced
it in using MP_CCOPTS, but it didn't help.
it's not enough, you need -D_FILE_OFFSET_BITS=64 as well, but I think it 
still not enough.

Let me just clarify things a bit regarding what does and does not work
for make test.
my perl 5.8.2 install with LFS works fine with modperl.  compiles, test
and runs sucessfully.
perl 5.6.2  with LFS hangs in make test.
perl 5.6.2 without LFS finishes make test with errors.
The bug report that I sent earlier was from the  perl 5.6.2 without LFS.
This one is from perl 5.6.2 with LFS.  The apache doesn't advertise LFS
but it was compiled with -D_LARGEFILE_SOURCE:
Because it's more than that. If Apache doesn't enable it, neither you 
should try to do that. Instead mod_perl should be compiled with a common 
denominator, i.e. w/o LFS. which it tries to do already.

Anything else I should try? Any other useful info I should provide?
See the top of the email.
And of course the most important question,  is this a fight worth
fighting?  I expect most people are using MP2 with perl 5.8.x.  I
unfortunately have some legacy perl modules with binary components that
have no src (should say the vendor won't release the src ;) ) that will
only work with 5.6.x.  I'm happy to persue this, but I don't want to
waste too much of your time with this unless you see a benefit to the
community.  
It'd be nice to figure out what the problem is. We need to find some 
HPUX expert that can help you accomplish that.

If you can followup on the email mentioned above, I think we may find 
some leads.

--
__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com
--
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html


Re: make test hangs

2004-08-05 Thread William Fulmer
I was trying to compile Apache/2.0.50 mod_perl/1.99_14 Perl/v5.6.2 under
HP-UX with HP's ANSI C compiler.  Everything compiled fine, but during
make test, any test that tried to do a stat on __FILE__ would hang. 
Running the same type of code under perl worked fine.  I had previously
compiled mod_perl/1.99_14 with perl 5.8.2 and that worked fine.  I had
some other priorities at work that prevented me from pursuing this, so I
am just getting back to it.

The problem turned out to be related to my perl install, but I don't
understand why.  The thing that made it work was turning off large file
support in my perl 5.6.2 install.  The reason that I don't understand is
that my perl 5.8.2 install had large file support enabled and the
mod_perl tested fine (which is to say test completes with errors without
hanging).  I'm not even sure whether this is a problem with perl 5.6.2
or mod_perl.  Any insight on this?

---
Will Fulmer
Database Administrator
Northampton Community College
Bethlehem, PA

 Stas Bekman [EMAIL PROTECTED] 5/6/2004 1:09:52 AM 
William Fulmer wrote:
Ouch, William, are you aware that you've sent a 1MB attachment to 
a public mailing list, potentially causing lots of problems to
people
with limited account sizes and slow dialup access? Please don't that

in the future. If you want to show some big file, upload it 
somewhere and post a link to it.
 
 
 Sorry.  I didn't look at the size before I sent it.  Will be more
 carefull in the future.  

Cool!

 The end of your trace is:
 
 
 open(/usr/lib/nls/loc/locales.2/C, O_RDONLY, 0) 
 .. ERR#2 ENOENT
 time(0x7f71cd0c) 
 ...
=
 1083792204
 sigsetstatemask(0x17, NULL, 2139033120) 
  = 0
 write(2, N o   - M   a l l o w e d   w h .., 36) 

Aha! It says -M is not allowed. (stat __FILE__)[9]; is the same as

   -M __FILE__

 write(2, p e r l _ p a r s e :   N o   s .., 38) 

this perl_parse() thing is interesting. It writes to STDERR that
perl_parse() 
has failed. BTW, any difference if you change your code to be:

my $file = /tmp;
my $mtime = (stat $file)[9];

and:

my $file = __FILE__;
my $mtime = (stat $file)[9];

and:

-M __FILE__;

and

-M /tmp;


 
but I see that the process is exiting. Is it still hanging? Or is it
 
 the 
 
client process?
 
 
 Yes it did exit when I ran it this way.  May be a fluke with my
compile
 of tusc however.  When I run it without the tusc comand (ie
 /usr/opt/httpd-2.0.49/bin/httpd -d t -f conf/httpd.conf  -DAPACHE2
 -DONE_PROCESS -DNO_DETATCH) it hangs.  Helpful of it, yes?

It's possible. I've seen processes exiting when attaching to or
detaching from 
them with strace. another way to check where the process is hanging is
to 
attach to it with gdb (using -p $pid) and then run 'bt'.

I see that you also run with mod_perl tracing enabled, you may want 
to turn it off to make the strace output smaller.
 
 
 I'll do that in the morning.  It may help for me to mention that I'm
 using HP's ANSI C compiler for the compiles.  The version is quite
old
 (enough so that I cannot apply the patches listed on the
troubleshooting
 web page).  May be a useful exercise to update my compiler and try
 again.  May take a while as I have to Weedle CODEWORDS out of HP
 support to accomplish this.  Let me also say that I was able to
compile
 and run mod_perl-1.99_12 with this same install of apache and an
install
 of perl 5.8.2 with the same basic config options as my perl 5.6.2. 
I
 think I'll try compiling this version with the 5.8.2 perl and see if
 that works better. 

What's important is that you compile perl, apache and mod_perl with the
same 
compiler. Though I'm not familiar with HP's ANSI C compiler, so it's
possible 
that it's a problem there.

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org 
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com 
http://modperlbook.org http://apache.org   http://ticketmaster.com 

-- 
Report problems: http://perl.apache.org/bugs/ 
Mail list info: http://perl.apache.org/maillist/modperl.html 
List etiquette: http://perl.apache.org/maillist/email-etiquette.html 


-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html



Re: make test hangs

2004-08-05 Thread Stas Bekman
William Fulmer wrote:
I was trying to compile Apache/2.0.50 mod_perl/1.99_14 Perl/v5.6.2 under
HP-UX with HP's ANSI C compiler.  Everything compiled fine, but during
make test, any test that tried to do a stat on __FILE__ would hang. 
Running the same type of code under perl worked fine. 
Was it really the same under perl? e.g. mod_perl's test suite runs with 
-T. any difference if you add -T to your perl test/remove -T from 
mod_perl's test suite?

I had previously
compiled mod_perl/1.99_14 with perl 5.8.2 and that worked fine.  I had
some other priorities at work that prevented me from pursuing this, so I
am just getting back to it.
The problem turned out to be related to my perl install, but I don't
understand why.  The thing that made it work was turning off large file
support in my perl 5.6.2 install.  The reason that I don't understand is
that my perl 5.8.2 install had large file support enabled and the
mod_perl tested fine (which is to say test completes with errors without
hanging).  I'm not even sure whether this is a problem with perl 5.6.2
or mod_perl.  Any insight on this?
I don't know. It's possible. I've checked your previous Apache config 
report and it doesn't seem to have LFS-support enabled. So may be that 
was the problem? Perl had it, but not Apache? Can you send a new report 
to see the up-to-date config?
http://perl.apache.org/docs/2.0/user/help/help.html#Important_Information

--
__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com
--
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html


Re: make test hangs

2004-08-05 Thread William Fulmer
Here's the report:

-8-- Start Bug Report 8--
1. Problem Description:

  [DESCRIBE THE PROBLEM HERE]

2. Used Components and their Configuration:

*** mod_perl version 1.9914

*** using lib/Apache/BuildConfig.pm
*** Makefile.PL options:
  MP_APXS= /usr/opt/httpd-2.0.50/bin/apxs
  MP_COMPAT_1X   = 1
  MP_GENERATE_XS = 1
  MP_LIBNAME = mod_perl
  MP_USE_DSO = 1
  MP_USE_STATIC  = 1


*** /usr/opt/httpd-2.0.50/bin/httpd -V
Server version: Apache/2.0.50
Server built:   Jul 15 2004 17:03:42
Server's Module Magic Number: 20020903:8
Architecture:   32-bit
Server compiled with
 -D APACHE_MPM_DIR=server/mpm/prefork
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT=/usr/opt/httpd-2.0.50
 -D SUEXEC_BIN=/usr/opt/httpd-2.0.50/bin/suexec
 -D DEFAULT_PIDLOG=logs/httpd.pid
 -D DEFAULT_SCOREBOARD=logs/apache_runtime_status
 -D DEFAULT_LOCKFILE=logs/accept.lock
 -D DEFAULT_ERRORLOG=logs/error_log
 -D AP_TYPES_CONFIG_FILE=conf/mime.types
 -D SERVER_CONFIG_FILE=conf/httpd.conf


*** /usr/opt/perl-5.6.2/bin/perl -V
Summary of my perl5 (revision 5.0 version 6 subversion 2)
configuration:
  Platform:
osname=hpux, osvers=11.11, archname=PA-RISC2.0
uname='hp-ux cars-l b.11.11 u 9000800 134921527 unlimited-user
license '
config_args='-Accflags=+Z -Accflags=-DPERL_POLLUTE
-Dprefix=/usr/opt/perl-5.6.2 -Doptimize=-g
-Dloclibpth=/usr/opt/perl-5.6.2/lib /lib /usr/lib /usr/ccs/lib
/usr/opt/libiconv-1.9.1/lib /usr/opt/readline-4.3/lib
/usr/opt/openssl-0.9.7d/lib /usr/opt/ncurses-5.3/lib
/usr/opt/gettext-0.12.1/lib /usr/opt/jpeg.v6b/lib /opt/informix/lib
/usr/opt/zlib-1.1.4/lib /usr/opt/db-4.1.25/lib /usr/opt/expat-1.95.6/lib
/usr/opt/gzip-1.2.4/lib /usr/opt/freetds-0.61/lib
/usr/opt/libpng-1.2.6rc1/lib /usr/opt/bzip2-1.0.2/lib
/usr/opt/gdbm-1.8.3/lib /usr/opt/freetype-2.1.5/lib
/usr/opt/gd-2.0.15/lib /usr/opt/tiff-v3.5.7/lib
-Dlocincpth=/usr/opt/perl-5.6.2/include /include /usr/include
/usr/ccs/include /usr/opt/libiconv-1.9.1/include
/usr/opt/readline-4.3/include /usr/opt/openssl-0.9.7d/include
/usr/opt/ncurses-5.3/include /usr/opt/gettext-0.12.1/include
/usr/opt/jpeg.v6b/include /opt/informix/incl /usr/opt/zlib-1.1.4/include
/usr/opt/db-4.1.25/include /usr/opt/expat-1.95.6/include /usr/opt/gzi!
 p-1.2.4/include /usr/opt/freetds-0.61/include
/usr/opt/libpng-1.2.6rc1/include /usr/opt/bzip2-1.0.2/include
/usr/opt/gdbm-1.8.3/include /usr/opt/freetype-2.1.5/include
/usr/opt/gd-2.0.15/include /usr/opt/tiff-v3.5.7/include
-Dcc=/opt/ansic/bin/cc -Dlibs=-lnsl -lnm -lndbm -lgdbm -ldb -lmalloc
-ldld -lm -lcrypt -lsec -lpthread -lc -lcl -e'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
  Compiler:
cc='/opt/ansic/bin/cc', ccflags ='-Ae -D_HPUX_SOURCE
-Wl,+vnocompatwarnings +Z -DPERL_POLLUTE -DDEBUGGING
-I/usr/opt/libiconv-1.9.1/include -I/usr/opt/readline-4.3/include
-I/usr/opt/openssl-0.9.7d/include -I/usr/opt/ncurses-5.3/include
-I/usr/opt/gettext-0.12.1/include -I/usr/opt/jpeg.v6b/include
-I/opt/informix/incl -I/usr/opt/zlib-1.1.4/include
-I/usr/opt/db-4.1.25/include -I/usr/opt/expat-1.95.6/include
-I/usr/opt/freetds-0.61/include -I/usr/opt/libpng-1.2.6rc1/include
-I/usr/opt/bzip2-1.0.2/include -I/usr/opt/gdbm-1.8.3/include
-I/usr/opt/freetype-2.1.5/include -I/usr/opt/gd-2.0.15/include
-I/usr/opt/tiff-v3.5.7/include',
optimize='-g',
cppflags='-Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings +Z
-DPERL_POLLUTE -DDEBUGGING -I/usr/opt/libiconv-1.9.1/include
-I/usr/opt/readline-4.3/include -I/usr/opt/openssl-0.9.7d/include
-I/usr/opt/ncurses-5.3/include -I/usr/opt/gettext-0.12.1/include
-I/usr/opt/jpeg.v6b/include -I/opt/informix/incl
-I/usr/opt/zlib-1.1.4/include -I/usr/opt/db-4.1.25/include
-I/usr/opt/expat-1.95.6/include -I/usr/opt/freetds-0.61/include
-I/usr/opt/libpng-1.2.6rc1/include -I/usr/opt/bzip2-1.0.2/include
-I/usr/opt/gdbm-1.8.3/include -I/usr/opt/freetype-2.1.5/include
-I/usr/opt/gd-2.0.15/include -I/usr/opt/tiff-v3.5.7/include'
ccversion='B.11.11.29484.GP', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define,
longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=4
alignbytes=8, usemymalloc=n, prototype=define
  Linker and Libraries:
ld='/usr/bin/ld', ldflags =' -L/usr/opt/perl-5.6.2/lib -L/lib
-L/usr/lib -L/usr/ccs/lib -L/usr/opt/libiconv-1.9.1/lib
-L/usr/opt/readline-4.3/lib -L/usr/opt/openssl-0.9.7d/lib
-L/usr/opt/ncurses-5.3/lib -L/usr/opt/gettext-0.12.1/lib
-L/usr/opt/jpeg.v6b/lib -L/opt/informix/lib 

Re: make test hangs

2004-08-05 Thread William Fulmer
The first test it hangs on is t/api/request_rec.  The line of code it
stops on is pretty uncomplicated:
my $mtime = (stat __FILE__)[9]; #line 124

adding the -T under perl doesn't change a thing.  I'm not quite sure
where to remove it for modperl so I haven't tried that.  '

I just realized that the bug report I sent was from the compile the
build without large file support in perl.  

I did recompile apache with large file support sort of.  There's no
configure option to enable it so I added -D_LARGEFILE_SOURCE in the
ccflags.  httpd still doesn't advertise that is supports large files. 
The other thing I notice is that modperl doesn't respect perl's ccflags
(as advertised by perl -V).  It drops the -D_LARGEFILE_SOURCE.  I forced
it in using MP_CCOPTS, but it didn't help.

Let me just clarify things a bit regarding what does and does not work
for make test.

my perl 5.8.2 install with LFS works fine with modperl.  compiles, test
and runs sucessfully.

perl 5.6.2  with LFS hangs in make test.

perl 5.6.2 without LFS finishes make test with errors.

The bug report that I sent earlier was from the  perl 5.6.2 without LFS.

This one is from perl 5.6.2 with LFS.  The apache doesn't advertise LFS
but it was compiled with -D_LARGEFILE_SOURCE:

-8-- Start Bug Report 8--
1. Problem Description:

  [DESCRIBE THE PROBLEM HERE]

2. Used Components and their Configuration:

*** mod_perl version 1.9914

*** using lib/Apache/BuildConfig.pm
*** Makefile.PL options:
  MP_APXS= /usr/opt/httpd-2.0.50/bin/apxs
  MP_COMPAT_1X   = 1
  MP_GENERATE_XS = 1
  MP_LIBNAME = mod_perl
  MP_USE_DSO = 1
  MP_USE_STATIC  = 1


*** /usr/opt/httpd-2.0.50/bin/httpd -V
Server version: Apache/2.0.50
Server built:   Aug  5 2004 16:06:12
Server's Module Magic Number: 20020903:8
Architecture:   32-bit
Server compiled with
 -D APACHE_MPM_DIR=server/mpm/prefork
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT=/usr/opt/httpd-2.0.50
 -D SUEXEC_BIN=/usr/opt/httpd-2.0.50/bin/suexec
 -D DEFAULT_PIDLOG=logs/httpd.pid
 -D DEFAULT_SCOREBOARD=logs/apache_runtime_status
 -D DEFAULT_LOCKFILE=logs/accept.lock
 -D DEFAULT_ERRORLOG=logs/error_log
 -D AP_TYPES_CONFIG_FILE=conf/mime.types
 -D SERVER_CONFIG_FILE=conf/httpd.conf


*** /usr/opt/perl-5.6.2/bin/perl -V
Summary of my perl5 (revision 5.0 version 6 subversion 2) configuration:
  Platform:
osname=hpux, osvers=11.11, archname=PA-RISC2.0
uname='hp-ux cars-l b.11.11 u 9000800 134921527 unlimited-user
license '
config_args='-Accflags=+Z -Accflags=-DPERL_POLLUTE
-Dprefix=/usr/opt/perl-5.6.2 -Doptimize=-g
-Dloclibpth=/usr/opt/perl-5.6.2/lib /lib /usr/lib /usr/ccs/lib
/usr/opt/libiconv-1.9.1/lib /usr/opt/readline-4.3/lib
/usr/opt/openssl-0.9.7d/lib /usr/opt/ncurses-5.3/lib
/usr/opt/gettext-0.12.1/lib /usr/opt/jpeg.v6b/lib /opt/informix/lib
/usr/opt/zlib-1.1.4/lib /usr/opt/db-4.1.25/lib /usr/opt/expat-1.95.6/lib
/usr/opt/gzip-1.2.4/lib /usr/opt/freetds-0.61/lib
/usr/opt/libpng-1.2.6rc1/lib /usr/opt/bzip2-1.0.2/lib
/usr/opt/gdbm-1.8.3/lib /usr/opt/freetype-2.1.5/lib
/usr/opt/gd-2.0.15/lib /usr/opt/tiff-v3.5.7/lib
-Dlocincpth=/usr/opt/perl-5.6.2/include /include /usr/include
/usr/ccs/include /usr/opt/libiconv-1.9.1/include
/usr/opt/readline-4.3/include /usr/opt/openssl-0.9.7d/include
/usr/opt/ncurses-5.3/include /usr/opt/gettext-0.12.1/include
/usr/opt/jpeg.v6b/include /opt/informix/incl /usr/opt/zlib-1.1.4/include
/usr/opt/db-4.1.25/include /usr/opt/expat-1.95.6/include
/usr/opt/gzip-1.2.4/include /usr/opt/freetds-0.61/include
/usr/opt/libpng-1.2.6rc1/include /usr/opt/bzip2-1.0.2/include
/usr/opt/gdbm-1.8.3/include /usr/opt/freetype-2.1.5/include
/usr/opt/gd-2.0.15/include /usr/opt/tiff-v3.5.7/include
-Dcc=/opt/ansic/bin/cc -Dlibs=-lnsl -lnm -lndbm -lgdbm -ldb -lmalloc
-ldld -lm -lcrypt -lsec -lpthread -lc -lcl -e -Duselargefiles'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
  Compiler:
cc='/opt/ansic/bin/cc', ccflags =' -Ae -D_HPUX_SOURCE
-Wl,+vnocompatwarnings +Z -DPERL_POLLUTE -DDEBUGGING
-I/usr/opt/libiconv-1.9.1/include -I/usr/opt/readline-4.3/include
-I/usr/opt/openssl-0.9.7d/include -I/usr/opt/ncurses-5.3/include
-I/usr/opt/gettext-0.12.1/include -I/usr/opt/jpeg.v6b/include
-I/opt/informix/incl -I/usr/opt/zlib-1.1.4/include
-I/usr/opt/db-4.1.25/include -I/usr/opt/expat-1.95.6/include
-I/usr/opt/freetds-0.61/include -I/usr/opt/libpng-1.2.6rc1/include
-I/usr/opt/bzip2-1.0.2/include -I/usr/opt/gdbm-1.8.3/include
-I/usr/opt/freetype-2.1.5/include -I/usr/opt/gd-2.0.15/include
-I/usr/opt/tiff-v3.5.7/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 ',
 

Re: make test hangs

2004-05-05 Thread William Fulmer


-8-- Start Bug Report 8--1. Problem Description:

 Following your suggestion I added the signal handler for USR2 and found that any test containing the following line hangs:

my $mtime = (stat __FILE__)[9];

This same snippet of code works fine in regular perl programs. I put in a print statement to verify that __FILE__ has the value you would expect (which is does namely the pm for the currently running test). Any more thoughts?

2. Used Components and their Configuration:

*** mod_perl version 1.9913

*** using lib/Apache/BuildConfig.pm*** Makefile.PL options: MP_APXS = /usr/opt/httpd-2.0.49/bin/apxs MP_COMPAT_1X = 1 MP_DEBUG = 1 MP_GENERATE_XS = 1 MP_LIBNAME = mod_perl MP_TRACE = 1 MP_USE_DSO = 1 MP_USE_STATIC = 1

*** /usr/opt/httpd-2.0.49/bin/httpd -VServer version: Apache/2.0.49Server built: Mar 21 2004 11:04:25Server's Module Magic Number: 20020903:7Architecture: 32-bitServer compiled with-D APACHE_MPM_DIR="server/mpm/prefork"-D APR_HAS_SENDFILE-D APR_HAS_MMAP-D APR_USE_SYSVSEM_SERIALIZE-D APR_USE_PTHREAD_SERIALIZE-D APR_HAS_OTHER_CHILD-D AP_HAVE_RELIABLE_PIPED_LOGS-D HTTPD_ROOT="/usr/opt/httpd-2.0.49"-D SUEXEC_BIN="/usr/opt/httpd-2.0.49/bin/suexec"-D DEFAULT_PIDLOG="logs/httpd.pid"-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"-D DEFAULT_LOCKFILE="logs/accept.lock"-D DEFAULT_ERRORLOG="logs/error_log"-D AP_TYPES_CONFIG_FILE="conf/mime.types"-D SERVER_CONFIG_FILE="conf/httpd.conf"

*** /usr/opt/perl-5.6.2/bin/perl -VSummary of my perl5 (revision 5.0 version 6 subversion 2) configuration: Platform: osname=hpux, osvers=11.00, archname=PA-RISC2.0 uname='hp-ux cars-l b.11.00 u 9000800 134921527 unlimited-user license ' config_args='-Accflags=+Z -Accflags=-DPERL_POLLUTE -Dprefix=/usr/opt/perl-5.6.2 -Doptimize=-g -Dloclibpth=/usr/opt/perl-5.6.2/lib /lib /usr/lib /usr/ccs/lib /usr/opt/libiconv-1.9.1/lib /usr/opt/readline-4.3/lib /usr/opt/openssl-0.9.7d/lib /usr/opt/ncurses-5.3/lib /usr/opt/gettext-0.12.1/lib /usr/opt/jpeg.v6b/lib /opt/informix/lib /usr/opt/zlib-1.1.4/lib /usr/opt/db-4.1.25/lib /usr/opt/expat-1.95.6/lib /usr/opt/gzip-1.2.4/lib /usr/opt/freetds-0.61/lib /usr/opt/libpng-1.2.5/lib /usr/opt/bzip2-1.0.2/lib /usr/opt/gdbm-1.8.3/lib /usr/opt/freetype-2.1.5/lib /usr/opt/gd-2.0.15/lib /usr/opt/tiff-v3.5.7/lib /opt/default/lib -Dlocincpth=/usr/opt/perl-5.6.2/include /include /usr/include /usr/ccs/include /usr/opt/libiconv-1.9.1/include /usr/opt/readline-4.3/include /usr/opt/openssl-0.9.7d/include /usr/opt/ncurses-5.3/include /usr/opt/gettext-0.12.1/include /usr/opt/jpeg.v6b/include /opt/informix/incl /usr/opt/zlib-1.1.4/include /usr/opt/db-4.1.25/include /usr/opt/expat-1.95.6/include /usr/opt/gzip-1.2.4/include /usr/opt/freetds-0.61/include /usr/opt/libpng-1.2.5/include /usr/opt/bzip2-1.0.2/include /usr/opt/gdbm-1.8.3/include /usr/opt/freetype-2.1.5/include /usr/opt/gd-2.0.15/include /usr/opt/tiff-v3.5.7/include /opt/default/include -Dcc=/opt/ansic/bin/cc -Dlibs=-lnsl -lnm -lndbm -lgdbm -ldb -lmalloc -ldld -lm -lcrypt -lsec -lpthread -lc -lcl -Ubincompat5005 -d -e' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='/opt/ansic/bin/cc', ccflags =' -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings +Z -DPERL_POLLUTE -DDEBUGGING -I/usr/opt/perl-5.6.2/include -I/usr/opt/libiconv-1.9.1/include -I/usr/opt/readline-4.3/include -I/usr/opt/openssl-0.9.7d/include -I/usr/opt/ncurses-5.3/include -I/usr/opt/gettext-0.12.1/include -I/usr/opt/jpeg.v6b/include -I/opt/informix/incl -I/usr/opt/zlib-1.1.4/include -I/usr/opt/db-4.1.25/include -I/usr/opt/expat-1.95.6/include -I/usr/opt/freetds-0.61/include -I/usr/opt/libpng-1.2.5/include -I/usr/opt/bzip2-1.0.2/include -I/usr/opt/gdbm-1.8.3/include -I/usr/opt/freetype-2.1.5/include -I/usr/opt/gd-2.0.15/include -I/usr/opt/tiff-v3.5.7/include -I/opt/default/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 ', optimize='-g', cppflags='-Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings +Z -DPERL_POLLUTE -DDEBUGGING -I/usr/opt/perl-5.6.2/include -I/usr/opt/libiconv-1.9.1/include -I/usr/opt/readline-4.3/include -I/usr/opt/openssl-0.9.7d/include -I/usr/opt/ncurses-5.3/include -I/usr/opt/gettext-0.12.1/include -I/usr/opt/jpeg.v6b/include -I/opt/informix/incl -I/usr/opt/zlib-1.1.4/include -I/usr/opt/db-4.1.25/include -I/usr/opt/expat-1.95.6/include -I/usr/opt/freetds-0.61/include -I/usr/opt/libpng-1.2.5/include -I/usr/opt/bzip2-1.0.2/include -I/usr/opt/gdbm-1.8.3/include -I/usr/opt/freetype-2.1.5/include -I/usr/opt/gd-2.0.15/include -I/usr/opt/tiff-v3.5.7/include -I/opt/default/include' ccversion='A.11.01.25171.GP', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', 

Re: make test hangs

2004-05-05 Thread Stas Bekman
William Fulmer wrote:
-8-- Start Bug Report 8--
1. Problem Description:
 
  Following your suggestion I added the signal handler for USR2 and
found that any test containing the following line hangs:
 
my $mtime = (stat __FILE__)[9];
 
This same snippet of code works fine in regular perl programs.  I put
in a print statement to verify that __FILE__ has the value you would
expect (which is does namely the pm for the currently running test). 
Any more thoughts?
Excellent. Glad to hear that that technique worked.
That code works fine on linux. So what I'd suggest next is to strace/tusc the 
process, as you did in first place, but this time make sure that you have only 
one process, i.e. start apache with httpd -DONE_PROCESS -DNO_DETATCH.

--
__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com
--
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html


Re: make test hangs

2004-05-05 Thread Stas Bekman
William Fulmer wrote:
OK.  I ran tusc -o strace /usr/opt/httpd-2.0.49/bin/httpd -d t -f
conf/httpd.conf  -DAPACHE2 -DONE_PROCESS -DNO_DETATCH  stdout 21. 
output is attached. 
Ouch, William, are you aware that you've sent a 1MB attachment to a public 
mailing list, potentially causing lots of problems to people with limited 
account sizes and slow dialup access? Please don't that in the future. If you 
want to show some big file, upload it somewhere and post a link to it.

Originally you posted 4 lines where it was hanging, I hoped you will do the 
same this time, but now monitoring the right process. Sorry if I wasn't clear 
and sounded like I want you to send the whole strace.  I hope our subscribers 
will excuse us for this glitch.

 The only thing that stood out for me was mod_perl
 complaining about no -M while running suid and the fact that it couldn't
 find an nls related file /usr/lib/nls/loc/locales.2/C which is in fact
 nonexistent.  Could this be an nls related anomaly?  If I remember right
 there are some problems with nls and Solaris 9.
I don't know, I'm not familiar with Solaris. The end of your trace is:
open(/usr/lib/nls/loc/locales.2/C, O_RDONLY, 0) 
.. ERR#2 ENOENT
time(0x7f71cd0c) 
... = 1083792204
sigsetstatemask(0x17, NULL, 2139033120) 
 = 0
write(2, N o   - M   a l l o w e d   w h .., 36) 
. = 36
sigsetstatemask(0x17, 0x7f7f0e20, 0) 
... = 0
open(/usr/lib/nls/msg/C/strerror.cat, O_RDONLY, 017) 
. = 22
fstat(22, 0x7f7f2338) 
.. = 0
fcntl(22, F_SETFD, 1) 
.. = 0
lseek(22, 0, SEEK_SET) 
. = 0
read(22, m s g c a t 0 1 \0\0\0f9\001\001.., 1212) 
... = 1212
lseek(22, 3016, SEEK_SET) 
.. = 3016
read(22, N o   s u c h   f i l e   o r   .., 25) 
. = 25
close(22) 
.. = 0
write(2, p e r l _ p a r s e :   N o   s .., 38) 
. = 38
getpid() 
... = 
20795 (20794)
unlink(/var/spool/sockets/pwgr/client20795) 
.. = 0
exit(1) 
 
WIFEXITED(1)

but I see that the process is exiting. Is it still hanging? Or is it the 
client process?

I see that you also run with mod_perl tracing enabled, you may want to turn it 
off to make the strace output smaller.

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com
--
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html


Re: make test hangs

2004-05-05 Thread William Fulmer
 Ouch, William, are you aware that you've sent a 1MB attachment to 
 a public mailing list, potentially causing lots of problems to people
 with limited account sizes and slow dialup access? Please don't that 
 in the future. If you want to show some big file, upload it 
 somewhere and post a link to it.

Sorry.  I didn't look at the size before I sent it.  Will be more
carefull in the future.  

  The only thing that stood out for me was mod_perl
  complaining about no -M while running suid and the fact that it
couldn't
  find an nls related file /usr/lib/nls/loc/locales.2/C which is in
fact
  nonexistent.  Could this be an nls related anomaly?  If I remember
right
  there are some problems with nls and Solaris 9.

 I don't know, I'm not familiar with Solaris. The end of your trace is:

open(/usr/lib/nls/loc/locales.2/C, O_RDONLY, 0) 
.. ERR#2 ENOENT
time(0x7f71cd0c) 
... =
1083792204
sigsetstatemask(0x17, NULL, 2139033120) 
 = 0
write(2, N o   - M   a l l o w e d   w h .., 36) 
. = 36
sigsetstatemask(0x17, 0x7f7f0e20, 0) 
... = 0
open(/usr/lib/nls/msg/C/strerror.cat, O_RDONLY, 017) 
. = 22
fstat(22, 0x7f7f2338) 
.. = 0
fcntl(22, F_SETFD, 1) 
.. = 0
lseek(22, 0, SEEK_SET) 
. = 0
read(22, m s g c a t 0 1 \0\0\0f9\001\001.., 1212) 
... = 1212
lseek(22, 3016, SEEK_SET) 
.. = 3016
read(22, N o   s u c h   f i l e   o r   .., 25) 
. = 25
close(22) 
..
= 0
write(2, p e r l _ p a r s e :   N o   s .., 38) 
. = 38
getpid() 
...
= 
20795 (20794)
unlink(/var/spool/sockets/pwgr/client20795) 
.. = 0
exit(1) 


WIFEXITED(1)

 but I see that the process is exiting. Is it still hanging? Or is it
the 
 client process?

Yes it did exit when I ran it this way.  May be a fluke with my compile
of tusc however.  When I run it without the tusc comand (ie
/usr/opt/httpd-2.0.49/bin/httpd -d t -f conf/httpd.conf  -DAPACHE2
-DONE_PROCESS -DNO_DETATCH) it hangs.  Helpful of it, yes?

I see that you also run with mod_perl tracing enabled, you may want 
 to turn it off to make the strace output smaller.

I'll do that in the morning.  It may help for me to mention that I'm
using HP's ANSI C compiler for the compiles.  The version is quite old
(enough so that I cannot apply the patches listed on the troubleshooting
web page).  May be a useful exercise to update my compiler and try
again.  May take a while as I have to Weedle CODEWORDS out of HP
support to accomplish this.  Let me also say that I was able to compile
and run mod_perl-1.99_12 with this same install of apache and an install
of perl 5.8.2 with the same basic config options as my perl 5.6.2.  I
think I'll try compiling this version with the 5.8.2 perl and see if
that works better. 

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html



---
Will Fulmer
Database Administrator
Northampton Community College
Bethlehem, PA

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html



Re: make test hangs

2004-05-05 Thread Stas Bekman
William Fulmer wrote:
Ouch, William, are you aware that you've sent a 1MB attachment to 
a public mailing list, potentially causing lots of problems to people
with limited account sizes and slow dialup access? Please don't that 
in the future. If you want to show some big file, upload it 
somewhere and post a link to it.

Sorry.  I didn't look at the size before I sent it.  Will be more
carefull in the future.  
Cool!
The end of your trace is:
open(/usr/lib/nls/loc/locales.2/C, O_RDONLY, 0) 
.. ERR#2 ENOENT
time(0x7f71cd0c) 
... =
1083792204
sigsetstatemask(0x17, NULL, 2139033120) 
 = 0
write(2, N o   - M   a l l o w e d   w h .., 36) 
Aha! It says -M is not allowed. (stat __FILE__)[9]; is the same as
  -M __FILE__
write(2, p e r l _ p a r s e :   N o   s .., 38) 
this perl_parse() thing is interesting. It writes to STDERR that perl_parse() 
has failed. BTW, any difference if you change your code to be:

my $file = /tmp;
my $mtime = (stat $file)[9];
and:
my $file = __FILE__;
my $mtime = (stat $file)[9];
and:
-M __FILE__;
and
-M /tmp;


but I see that the process is exiting. Is it still hanging? Or is it
the 

client process?

Yes it did exit when I ran it this way.  May be a fluke with my compile
of tusc however.  When I run it without the tusc comand (ie
/usr/opt/httpd-2.0.49/bin/httpd -d t -f conf/httpd.conf  -DAPACHE2
-DONE_PROCESS -DNO_DETATCH) it hangs.  Helpful of it, yes?
It's possible. I've seen processes exiting when attaching to or detaching from 
them with strace. another way to check where the process is hanging is to 
attach to it with gdb (using -p $pid) and then run 'bt'.

I see that you also run with mod_perl tracing enabled, you may want 
to turn it off to make the strace output smaller.

I'll do that in the morning.  It may help for me to mention that I'm
using HP's ANSI C compiler for the compiles.  The version is quite old
(enough so that I cannot apply the patches listed on the troubleshooting
web page).  May be a useful exercise to update my compiler and try
again.  May take a while as I have to Weedle CODEWORDS out of HP
support to accomplish this.  Let me also say that I was able to compile
and run mod_perl-1.99_12 with this same install of apache and an install
of perl 5.8.2 with the same basic config options as my perl 5.6.2.  I
think I'll try compiling this version with the 5.8.2 perl and see if
that works better. 
What's important is that you compile perl, apache and mod_perl with the same 
compiler. Though I'm not familiar with HP's ANSI C compiler, so it's possible 
that it's a problem there.

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com
--
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html


Re: make test hangs

2004-05-04 Thread Stas Bekman
William Fulmer wrote:
Hi,
 
I'm trying to get mod_perl-1.99_13 to compile with apache 2.0.49 and
perl 5.6.2
That's insufficient, William. Please see: http://perl.apache.org/bugs/
[...]
It hangs on api/request_rec.
Try to figure out which sub-test is it hanging on. Try this trick:
http://perl.apache.org/docs/1.0/guide/debug.html#Using_the_Perl_Trace
tusc of the httpd process gives the folloing over and over again:
 
select(0, NULL, NULL, NULL, 0x7f7f0b10)
. [entry]
select(0, NULL, NULL, NULL, 0x7f7f0b10)
. = 0
waitpid(4294967295, WIFEXITED(0), WNOHANG|WUNTRACED)
 [entry]
waitpid(-1, WIFEXITED(0), WNOHANG|WUNTRACED)
 = 0
which httpd process are you tracing? There is more than one. Looks like you 
are tracing the parent process.

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com
--
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html