You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Rob Hartill <ro...@imdb.com> on 1996/09/05 12:04:31 UTC

SIGSEGV... (fwd)

not acked

----- Forwarded message from =?ISO-8859-1?Q?Sami_J=2E_M=E4kinen?= -----

Date: Thu, 5 Sep 1996 12:49:53 +0300 (EET DST)
From: =?ISO-8859-1?Q?Sami_J=2E_M=E4kinen?= <sj...@adm.alexpress.fi>
To: Apache-bugs@apache.org
Subject: SIGSEGV...
Message-ID: <Pi...@pasta.alexpress.fi>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII



Hello, I am using Apache 1.1.1 happily, but I just encountered
a really weird problem with the proxy module.

My environment:
SunOS lasagne 5.5 Generic_103093-03 sun4m sparc SUNW,SPARCstation-20
Status of processor 0 as of: 09/05/96 11:22:18
  Processor has been on-line since 08/10/96 15:02:25.
  The sparc processor operates at 75 MHz,
        and has a sparc floating point processor.
Status of processor 2 as of: 09/05/96 11:22:18
  Processor has been on-line since 08/10/96 15:02:28.
  The sparc processor operates at 75 MHz,
        and has a sparc floating point processor.
gcc version 2.7.2
Apache 1.1.1, my Configuration:

--- 8< ---
CC= gcc -pipe
CFLAGS= -g -DSTATUS
LFLAGS= -g
AUX_CFLAGS= -DSOLARIS2
AUX_LIBS= -lsocket -lnsl
Module mime_module         mod_mime.o
Module access_module       mod_access.o
Module auth_module         mod_auth.o
Module negotiation_module  mod_negotiation.o
Module includes_module     mod_include.o
Module dir_module          mod_dir.o
Module cgi_module          mod_cgi.o
Module userdir_module      mod_userdir.o
Module alias_module        mod_alias.o
Module env_module          mod_env.o
Module common_log_module   mod_log_common.o
Module asis_module         mod_asis.o
Module imap_module         mod_imap.o
Module action_module       mod_actions.o
Module status_module         mod_status.o
Module info_module         mod_info.o
Module dbm_auth_module     mod_auth_dbm.o
Module proxy_module        mod_proxy.o
--- 8< ---

I put the following into httpd.conf:

--- 8< ---
ServerType              standalone
Port                    80
User                    nobody
Group                   nobody
ServerRoot              /opt/www
PidFile                 httpd.pid
ScoreBoardFile          runtime_status
TransferLog             access_log
ErrorLog                error_log
HostnameLookups         Off
ProxyRequests           Off

# CacheNegotiatedDocs
Timeout                 1800
MinSpareServers         16
MaxSpareServers         32
StartServers            16
MaxClients              128
MaxRequestsPerChild     32


<Virtualhost kauppalehti.fi>
  ServerName            kauppalehti.fi
  ServerAlias           kauppalehti.fi www.kauppalehti.fi
  ServerAdmin           webmaster@kauppalehti.fi
  DocumentRoot          /opt/www/kauppalehti/html
  ErrorLog              kauppalehti/logs/error_log
  TransferLog           kauppalehti/logs/access_log
#  AgentLog             kauppalehti/logs/agent_log
  DirectoryIndex        index.shtml index.html index.htm index.cgi
  FancyIndexing         on
  UserDir               public_html
  AccessFileName        .htaccess
  DefaultType           text/plain

  <Directory /opt/www/kauppalehti/html>
    Options             Indexes FollowSymLinks Includes ExecCGI
    AllowOverride       All
  </Directory>
  <Directory /opt/www/kauppalehti/cgi-bin>
    Options             Indexes FollowSymLinks
  </Directory>
  <Directory /opt/www/kauppalehti/stock/cgi-bin>
    Options             Indexes FollowSymLinks
  </Directory>
  <Directory /opt/www/kauppalehti/cgi-adm>
    Options             Indexes FollowSymLinks
  </Directory>
  <Directory /opt/www/kauppalehti/cgi-beta>
    Options         Indexes FollowSymLinks
  </Directory>

  Alias         /icons/         /opt/www/icons/
  Alias         /cicons/        /opt/www/kauppalehti/stock/cicons/
  ScriptAlias   /cgi-bin/       /opt/www/kauppalehti/cgi-bin/
  ScriptAlias   /cgi-adm/       /opt/www/kauppalehti/cgi-adm/
  ScriptAlias   /cgi/           /opt/www/kauppalehti/stock/cgi-bin/
  ScriptAlias   /cgi-beta/      /opt/www/kauppalehti/cgi-beta/

  <Location /ad>
    AuthType Basic
    AuthName Kauppalehti Online
    AuthDBMUserFile /opt/www/kauppalehti/userdb/kl-passwd
    AuthDBMGroupFile /dev/null
    <Limit GET POST>
      require valid-user
    </Limit>
    Redirect    /ad/urval/      http://kauppalehti.fi/yhteistyo/mercuri-urval/
    Redirect    /ad/tietovoima/ http://www.tietovoima.fi/
    Redirect    /ad/volvo/      http://www.volvo.fi/
    Redirect    /ad/renault/    http://www.renault.fi/
    Redirect    /ad/aamulehti/  http://www.aamulehti.fi/
    Redirect    /ad/iltalehti/  http://www.iltalehti.fi/
    Redirect    /ad/hartwall/   http://www.hartwall.fi/vuosikertomus95/
    Redirect    /ad/finnair/    http://www.finnair.fi/facts.htm
    Redirect    /ad/virtuaalimessut/    http://virtuaalimessut.kolumbus.fi/
    Redirect    /ad/kmbozell/   http://www.kmbozell.fi/kmbhaku.html
    Redirect    /ad/finnair/    http://www.finnair.fi/
  </Location>
  Redirect      /yhteistyo/tietovoima/  http://www.tietovoima.fi/
# ErrorDocument 404             /huolto.html
  ErrorDocument 401             /ei_salasanaa.html
  ErrorDocument 403             /forbidden.html
</VirtualHost>

# three other virtual hosts deleted to save space

<Virtualhost netra2.alexpress.fi>
  ServerName            netra2.alexpress.fi
  ServerAlias           netra2.alexpress.fi lasagne.alexpress.fi
  ServerAdmin           webmaster@alexpress.fi
  DocumentRoot          /opt/www/netra2/html
  ErrorLog              netra2/logs/error_log
  TransferLog           netra2/logs/access_log
#  AgentLog             netra2/logs/agent_log
  DirectoryIndex        index.shtml index.html index.htm
  FancyIndexing         on
  UserDir               public_html
  AccessFileName        .htaccess
  DefaultType           text/plain

  <Directory /opt/www/netra2/html>
    Options             Indexes FollowSymLinks Includes ExecCGI
    AllowOverride       All
  </Directory>
  <Directory /opt/www/netra2/cgi-bin>
    Options             Indexes FollowSymLinks
  </Directory>
  <Location /info>
    SetHandler          server-info
    <Limit GET POST>
      order             deny,allow
      deny from         all
      allow from        194.215.204 194.215.205 194.215.81
      allow from        193.211.48 193.211.49 193.211.50
    </Limit>
  </Location>
  <Location /status>
    SetHandler          server-status
    <Limit GET POST>
      order             deny,allow
      deny from         all
      allow from        194.215.204 194.215.205 194.215.81
      allow from        193.211.48 193.211.49 193.211.50
    </Limit>
  </Location>
  ProxyPass     /proxy  http://rs1.alexpress.fi

  Alias         /icons/         /opt/www/icons/
  ScriptAlias   /cgi-bin/       /opt/www/netra2/cgi-bin/

</VirtualHost>
--- 8< ---

When I try to access the URL http://netra2.alexpress.fi/proxy/,
I get a "no data" dialog and error_log says
[Thu Sep  5 11:43:41 1996] httpd: caught SIGSEGV, dumping core

I checked the rs1.alexpress.fi access_log and it had serviced the request.

gdb says:

GDB is free software and you are welcome to 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.
GDB 4.16 (sparc-sun-solaris2.5.1),
Copyright 1996 Free Software Foundation, Inc...
Core was generated by `/opt/www/bin/httpd -d /opt/www'.
Program terminated with signal 6, Aborted.
#0  0xef6b3e30 in kill ()
(gdb) bt
#0  0xef6b3e30 in kill ()
#1  0xef679608 in abort ()
#2  0x1a220 in seg_fault () at http_main.c:939
#3  <signal handler called>
#4  0xef662e2c in strlen ()
#5  0x4d874 in http_handler (r=0x871d0, c=0x6e888, url=0x6e885 "/",
    proxyhost=0x0, proxyport=0) at mod_proxy.c:2942
#6  0x4ad34 in proxy_handler (r=0x871d0) at mod_proxy.c:2174
#7  0x1eb3c in invoke_handler (r=0x871d0) at http_config.c:282
#8  0x21d64 in process_request_internal (r=0x871d0) at http_request.c:768
#9  0x21da4 in process_request (r=0x871d0) at http_request.c:777
#10 0x1af14 in child_main (child_num_arg=16) at http_main.c:1247
#11 0x1b124 in make_child (server_conf=0x6c1a0, child_num=16)
    at http_main.c:1293
#12 0x1b88c in standalone_main (argc=3, argv=0xeffff724) at
http_main.c:1463
#13 0x1baac in main (argc=3, argv=0xeffff724) at http_main.c:1529

The most strange thing is that mod_proxy.c:2942 reads

    i = cache_update(c, resp_hdrs, inprotocol, nocache);
    if (i != DECLINED)
    {
	pclosef(pool, sock);
	return i;
    }

No strlen() visible here. Is the stack corrupted?

Furthermore, I ran the very same apache binary on a SS2:
SunOS pasta 5.5 Generic_103093-03 sun4c sparc SUNW,Sun_4_75

The OS version and patchlevel is _exactly_ the same as on the SS20,
but ProxyPass works just fine on this machine! I also tried this
with _another_ SS20 with similar configuration and it fails.

Next I am going to recompile the latest versions of gcc and gdb and retry.

// sjm

----- End of forwarded message from =?ISO-8859-1?Q?Sami_J=2E_M=E4kinen?= -----