Please take our Survey
logo       

Choosing A Webhost:
A web hosting service is a type of Internet hosting service that allows individuals and organizations to provide their own website accessible via the World Wide Web. Web hosts are companies that provide space on a server they own for use by their clients as well as providing Internet connectivity, typically in a data center. Web hosts can also provide data center space and connectivity to the Internet for servers they do not own to be located in their data center, called colocation. more...

Re: [mp2] bug report: modperl_env.c: msg#00132

apache.mod-perl.devel

Subject: Re: [mp2] bug report: modperl_env.c

Jie Gao wrote:
-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:

Apache segmentation faults trying to run a registry script.

Thanks for the detailed report Jie, but how do we reproduce it without the test script and relevant configuration?



[...]
root@host_name/usr/local/apache:> truss -f bin/httpd -k start -DSSL -X


....

10075/12:
open("/usr/local/apache_2.0.49/htdocs/test2/mobile_proxy/nph-proxy.cgi",
O_RDONLY) = 13
10075/12: read(13, " # ! / u s r / l o c a l".., 4096) = 4096
10075/12: close(13) = 0
10075/12: getpid() = 10075 [10074]
10075/12: stat("/usr/local/apache_2.0.49/htdocs/010110A/x-proxy/start",
0xFDBFB4F8) Err#2 ENOENT
10075/12: lstat("/usr", 0xFDBFB488) = 0
10075/12: lstat("/usr/local", 0xFDBFB488) = 0
10075/12: stat("/usr/local", 0xFDBFB420) = 0
10075/12: lstat("/usr/local/apache_2.0.49", 0xFDBFB488) = 0
10075/12: lstat("/usr/local/apache_2.0.49/htdocs", 0xFDBFB488) = 0
10075/12: lstat("/usr/local/apache_2.0.49/htdocs/010110A", 0xFDBFB488)
Err#2 ENOENT
10075/12: dup(14) = 13

what's fd 14? earlier trace?

10075/12: fstat64(13, 0x015E4460) = 0
10075/12: fcntl(13, F_SETFD, 0x00000001) = 0
10075/12: llseek(14, 0, SEEK_CUR) = 1176438
10075/12: close(14) = 0
10075/12: dup(12) = 14
10075/12: fstat64(14, 0x015E4460) = 0
10075/12: fcntl(14, F_SETFD, 0x00000001) = 0
10075/12: dup(12) = 15
10075/12: close(15) = 0
10075/12: close(12) = 0
10075/12: Incurred fault #6, FLTBOUNDS %pc = 0xFEA9BBBC
10075/12: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000010
10075/12: Received signal #11, SIGSEGV [default]
10075/12: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000010

---------------------------------------------------------------------------

root@host_name/usr/local/apache/bin:1008> gdb ./httpd
GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "sparc-sun-solaris2.9"...
(gdb) run -X -f /usr/local/apache/conf/httpd.conf -k start -DSSL -X
Starting program: /u0/local/apache_2.0.49/bin/./httpd -X -f
/usr/local/apache/conf/httpd.conf -k start -DSSL -X
[New LWP 1]
[New LWP 2]
[New LWP 3]
[New LWP 4]
[New LWP 5]
[New LWP 6]
[New LWP 7]
[New LWP 8]
[New LWP 9]
[New LWP 10]
[New LWP 11]
[New LWP 12]
[New LWP 13]
[LWP 2 exited]
[New LWP 2]

Program received signal SIGSEGV, Segmentation fault.
[Switching to LWP 12]
0xfea9bbbc in modperl_env_request_tie (my_perl=0x1026fe0, r=0x17a8c78) at
modperl_env.c:355
355 EnvMgObj = (char *)r;
(gdb)

and you forgot to run 'bt' or 'where' inside gdb.

Though one needs to be careful with threads. Signals aren't necessarily delivered to the thread that has sent the signal. So it's quite possible that some other thread has caused the segfault and what you see in gdb is just where the thread 12 happened to be at the moment. Are you sure that this is the only request you were running?

__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:stas@xxxxxxxxxx http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
version-control...    qnx.openqnx.dev...    redhat.rhn.user...    ietf.openpgp/20...    mail.mutt.user/...    web.microformat...    java.sync4j.use...    education.ezpro...    user-groups.blu...    solaris.manager...    org.fitug.debat...    technology.erps...    politics.activi...    linux.redhat.fe...    bug-tracking.ma...    xfce.user/2004-...    hams/2004-11/ms...    kde.users.pim/2...    culture.cooking...    freebsd.devel.x...    gnu.m4.adhoc/20...    ngpt.user/2002-...    apple.fink.deve...   
Home | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe

Navigation