apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <traw...@attglobal.net>
Subject anybody using Sun's compiler and getting libthread referenced by executables but not libpthread?
Date Mon, 31 Mar 2003 19:59:17 GMT
I'm using Sun WorkShop 5.0 sometimes, and these builds result in 
executables like httpd referencing libthread but not libpthread.
We pass cc the -mt switch, but at least with this version that switch 
isn't enough to pull in libpthread.  Can anybody confirm that with a 
more recent Sun compiler APR apps are getting libpthread?

This apparently results in apr_proc_create() forking more than just the 
calling thread, and you can get anoying stuff like this when running 
Apache's mod_ext_filter with the worker MPM:

[Mon Mar 31 13:52:20 2003] [error] (9)Bad file number: apr_accept: 
(client socket)

(By the time the fork()-ed child of the calling thread got around to 
exec()-ing the external filter program, the copy of the listener thread 
in the forked() child reached the accept() call.)

There was other undiagnosed havoc going on, including a child process 
exiting with a fatal error code which led to the parent bailing out with 
a large number of children left to clean up manually.  This was probably 
the neatest failure:

ibthread panic: fault in libthread critical section : dumping core (PID: 
4894 LWP 12)
stacktrace:
         ff0faaa8
         ff0fa8fc
         ff103498
         ff0ff8f0
         ff105558
         ff2d2bac
         36964
         ff2d29bc
         ff10b728
         ff2d2978

Cool, huh?

I haven't gotten to the point of teaching APR to pull in libpthread in 
this situation and rebuilding Apache's httpd and retesting, but I 
thought I'd put this out there to see if somebody with a newer compiler 
is getting better results.


Mime
View raw message