odd 503

Discussion in 'PHP' started by PSS, Jun 28, 2007.

  1. PSS

    PSS Member

    I have set all limits to extreme, but still I get 503 error after script has processed 15 minutes (900 seconds). PHp does not give any errors. MySQL keeps going.

    Debug messages at the exact moment when 503 happens are:

    [uds://tmp/lshttpd/lsphp.sock] No Request has been processed successfully through this connection, the maximum connections allowed will be reduced!

    [xxx.xxx.xxx.xxx:61621-0#xxxxxxxxxx.xxx:lsapi] HttpExtConnector::tryRecover()...

    My test case is repairing (fixing indexes) lots of big tables (7.5 million rows) with latest phpmyadmin using latest Firefox. After the litespeed gives up mysql keeps processsing the command happily under hood.

    How should I set litespeed up so that in no case a php script connection is "dropped out" like this? I find all the settings very confusing, if 4000 second timeouts are not honored what should I do?

    My settings are:

    Server -> External App -> phpLsapi

    Name phpLsapi
    Address uds://tmp/lshttpd/lsphp.sock
    Notes Not Set
    Max Connections 60
    Environment PHP_LSAPI_MAX_REQUESTS=5000
    PHP_LSAPI_CHILDREN=60
    Initial Request Timeout (secs) 4000
    Retry Timeout (secs) 0
    Persistent Connection Not Set
    Connection Keepalive Timeout Not Set
    Response Buffering No
    Auto Start Yes
    Command $SERVER_ROOT/fcgi-bin/lsphp -c ../php
    Back Log 100
    Instances 1
    Run On Start Up Yes
    Max Idle Time Not Set
    Priority 0
    Memory Soft Limit (bytes) 200M
    Memory Hard Limit (bytes) 200M
    Process Soft Limit 0
    Process Hard Limit 0


    Server -> Tuning -> connection

    Max Connections 2000
    Max SSL Connections 200
    Connection Timeout (secs) 3600
    Max Keep-Alive Requests 1000
    Smart Keep-Alive No
    Keep-Alive Timeout (secs) 7
    Send Buffer Size (bytes) 0
    Receive Buffer Size (bytes) 0
    I/O Event Dispatcher epoll (Linux 2.6 kernel)
    Max Cached Small File Size (bytes) 4096
    Total Small File Cache Size (bytes) 200M
    Max MMAP File Size (bytes) 256K
    Total MMAP Cache Size (bytes) 400M
    Use sendfile() Yes
    SSL Hardware Accelerator (built-in) OpenSSL internal engine


    php.ini has

    max_execution_time = 3600
    max_input_time = 60
    memory_limit = 128M

    Took APC offlline, one less variable to debug.


    PS. I would like to set different timeout rules for each virtual host (high timeouts for the one I use for admin stuff, low for public site). Because virtual servers do not have individual connection timeout setting I am forced to put high value in server tuning setting and that means less tolerance to DoS for the public site.
  2. mistwang

    mistwang LiteSpeed Staff

    Timeout configuration looks fine, maybe it is not a timeout issue.
    Please make sure the PHP memory limit has not been hit.
    Is the lsphp process still running after getting the 503 error? It might be PHP internal problem. Maybe the socket connection between PHP and MySQL timed out.
    You can strace the lsphp process to give you a better idea what is wrong.

    For adjusting timeout for each vhost, we will put it on our todo list.
  3. PSS

    PSS Member

    I get no php error messages. Is there a way to find it out any other way?

    The process tree looked like

    Code:
       11045 	root 	15:27 	./lshttpd
          11048 	root 	15:27 	lscgid
          11049 	nobody 	15:27 	./lshttpd
             11051 	nobody 	15:27 	lsphp -c ../php
             11894 	nobody 	15:35 	admin_php
          11050 	nobody 	15:27 	./lshttpd
             11428 	nobody 	15:30 	lsphp -c ../php
                12040 	nobody 	15:36 	lsphp -c ../php
          11052 	nobody 	15:27 	./lshttpd
             11624 	nobody 	15:32 	lsphp -c ../php
                11625 	nobody 	15:32 	lsphp -c ../php
          11053 	nobody 	15:27 	./lshttpd
    I tried strace (never used that, I program only php :)) while it was running. I just guessed which PID's to follow.


    [root@main includes]# /usr/bin/strace -p 11052
    Process 11052 attached - interrupt to quit
    epoll_wait(7, {}, 256, 100) = 0
    recvfrom(6, 0x7fff06ec372f, 1, 2, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
    epoll_wait(7, {}, 256, 100) = 0
    epoll_wait(7, {}, 256, 100) = 0
    epoll_wait(7, {}, 256, 100) = 0
    epoll_wait(7, {}, 256, 100) = 0
    stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=3543, ...}) = 0
    stat("/opt/lsws/logs/access.log", {st_mode=S_IFREG|0644, st_size=216576, ...}) = 0
    stat("/opt/lsws/logs/error.log", {st_mode=S_IFREG|0644, st_size=2835, ...}) = 0
    stat("/opt/lsws/logs/stderr.log", {st_mode=S_IFREG|0644, st_size=11720, ...}) = 0
    open("/tmp/lshttpd/.rtreport.3.tmp", O_WRONLY|O_CREAT|O_TRUNC, 0644) = 14
    fstat(14, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
    fcntl(14, F_SETFD, FD_CLOEXEC) = 0
    write(14, "VERSION: LiteSpeed Web Server/En"..., 64) = 64
    write(14, "BPS_IN: 0, BPS_OUT: 0, SSL_BPS_I"..., 216) = 216
    write(14, "REQ_RATE [xxxxx.net"..., 82) = 82
    write(14, "REQ_RATE [xxxxx.net]: REQ"..., 76) = 76
    write(14, "REQ_RATE [_AdminVHost]: REQ_PROC"..., 71) = 71
    write(14, "REQ_RATE [Example]: REQ_PROCESSI"..., 67) = 67
    write(14, "EXTAPP [LSAPI] [] [phpLsapi]: CM"..., 147) = 147
    write(14, "EOF\n", 4) = 4
    close(14) = 0

    (repeating indefinitely)


    and

    [root@main includes]# /usr/bin/strace -p 11024
    attach: ptrace(PTRACE_ATTACH, ...): No such process
    [root@main includes]# /usr/bin/strace -p 11624
    Process 11624 attached - interrupt to quit
    select(1, [0], NULL, NULL, {0, 839000}) = 0 (Timeout)
    kill(11052, SIG_0) = 0
    select(1, [0], NULL, NULL, {1, 0}) = 0 (Timeout)
    kill(11052, SIG_0) = 0

    and

    [root@main includes]# /usr/bin/strace -p 11428
    Process 11428 attached - interrupt to quit
    select(1, [0], NULL, NULL, {0, 583000}) = 0 (Timeout)
    kill(11050, SIG_0) = 0
    select(1, [0], NULL, NULL, {1, 0}) = 0 (Timeout)
    kill(11050, SIG_0) = 0



    Php process 11625 change pid all the time and just gave:

    [root@main includes]# /usr/bin/strace -p 12681
    Process 12681 attached - interrupt to quit
    read(4, <unfinished ...>
    Process 12681 detached


    Just

    read(4,

    and nothing else, like it was hanged.





    Now the script simply stopped and gave blank page at 10 minutes, and I got logged

    2007-06-28 15:45:53.250 NOTICE [AutoRestarter] child process with pid=11050 received signal=11, a core file is created!
    2007-06-28 15:45:53.282 NOTICE [AutoRestarter] cleanup children processes and unix sockets belong to process 11050 !
    2007-06-28 15:45:53.383 NOTICE [AutoRestarter] child process with pid=11052 received signal=11, a core file is created!
    2007-06-28 15:45:53.388 NOTICE [AutoRestarter] cleanup children processes and unix sockets belong to process 11052 !


    and I did as you adviced in http://litespeedtech.com/support/forum/showthread.php?t=1041&highlight=core+dump

    [root@main bak_core]# gdb /opt/lsws/bin/lshttpd core.11050
    GNU gdb Red Hat Linux (6.5-16.el5rh)
    Copyright (C) 2006 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 "x86_64-redhat-linux-gnu"...Using host libthread_db library "/lib64/libthread_db.so.1".

    Reading symbols from /lib64/libm.so.6...done.
    Loaded symbols for /lib64/libm.so.6
    Reading symbols from /lib64/libc.so.6...done.
    Loaded symbols for /lib64/libc.so.6
    Reading symbols from /lib64/libcrypt.so.1...done.
    Loaded symbols for /lib64/libcrypt.so.1
    Reading symbols from /lib64/libdl.so.2...done.
    Loaded symbols for /lib64/libdl.so.2
    Reading symbols from /lib64/ld-linux-x86-64.so.2...done.
    Loaded symbols for /lib64/ld-linux-x86-64.so.2
    Reading symbols from /lib64/libnss_files.so.2...done.
    Loaded symbols for /lib64/libnss_files.so.2
    Core was generated by `./lshttpd'.
    Program terminated with signal 11, Segmentation fault.
    #0 0x0000003df2675330 in strlen () from /lib64/libc.so.6
    (gdb) bt
    #0 0x0000003df2675330 in strlen () from /lib64/libc.so.6
    #1 0x0000003df2645b88 in vfprintf () from /lib64/libc.so.6
    #2 0x0000003df266669a in vsnprintf () from /lib64/libc.so.6
    #3 0x0000000000468903 in log4cxx::patternLayout::format ()
    #4 0x0000000000467b3e in log4cxx::Appender::append ()
    #5 0x0000000000467ed9 in log4cxx::Logger::vlog ()
    #6 0x0000000000434036 in HttpLog::debug ()
    #7 0x000000000044cf5a in HttpConnection::processNewReq ()
    #8 0x000000000044d8cb in HttpConnection::eek:nReadEx ()
    #9 0x000000000044125b in HttpIOLink::eek:nReadT ()
    #10 0x0000000000440bab in HttpIOLink::handleEvents ()
    #11 0x0000000000466056 in epoll::waitAndProcessEvents ()
    #12 0x000000000043a8b7 in EventDispatcher::run ()
    #13 0x0000000000418091 in HttpServerImpl::start ()
    #14 0x0000000000407ec9 in LshttpdMain::main ()
    #15 0x0000000000404e21 in main ()
    (gdb) quit



    [root@main bak_core]# gdb /opt/lsws/bin/lshttpd core.11052
    GNU gdb Red Hat Linux (6.5-16.el5rh)
    Copyright (C) 2006 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 "x86_64-redhat-linux-gnu"...Using host libthread_db library "/lib64/libthread_db.so.1".

    Reading symbols from /lib64/libm.so.6...done.
    Loaded symbols for /lib64/libm.so.6
    Reading symbols from /lib64/libc.so.6...done.
    Loaded symbols for /lib64/libc.so.6
    Reading symbols from /lib64/libcrypt.so.1...done.
    Loaded symbols for /lib64/libcrypt.so.1
    Reading symbols from /lib64/libdl.so.2...done.
    Loaded symbols for /lib64/libdl.so.2
    Reading symbols from /lib64/ld-linux-x86-64.so.2...done.
    Loaded symbols for /lib64/ld-linux-x86-64.so.2
    Reading symbols from /lib64/libnss_files.so.2...done.
    Loaded symbols for /lib64/libnss_files.so.2
    Core was generated by `./lshttpd'.
    Program terminated with signal 11, Segmentation fault.
    #0 0x0000003df2675330 in strlen () from /lib64/libc.so.6
    (gdb) bt
    #0 0x0000003df2675330 in strlen () from /lib64/libc.so.6
    #1 0x0000003df2645b88 in vfprintf () from /lib64/libc.so.6
    #2 0x0000003df266669a in vsnprintf () from /lib64/libc.so.6
    #3 0x0000000000468903 in log4cxx::patternLayout::format ()
    #4 0x0000000000467b3e in log4cxx::Appender::append ()
    #5 0x0000000000467ed9 in log4cxx::Logger::vlog ()
    #6 0x0000000000434036 in HttpLog::debug ()
    #7 0x000000000044cf5a in HttpConnection::processNewReq ()
    #8 0x000000000044d8cb in HttpConnection::eek:nReadEx ()
    #9 0x000000000044125b in HttpIOLink::eek:nReadT ()
    #10 0x0000000000440bab in HttpIOLink::handleEvents ()
    #11 0x0000000000466056 in epoll::waitAndProcessEvents ()
    #12 0x000000000043a8b7 in EventDispatcher::run ()
    #13 0x0000000000418091 in HttpServerImpl::start ()
    #14 0x0000000000407ec9 in LshttpdMain::main ()
    #15 0x0000000000404e21 in main ()


    Hopefully these are useful.
    Last edited: Jun 28, 2007
  4. PSS

    PSS Member

    The system is RHEL 5 64-bit.

    Here's the lib dir:

    [root@main bak_core]# ls -la /lib64/
    total 15056
    drwxr-xr-x 8 root root 4096 Jun 20 19:28 .
    drwxr-xr-x 29 root root 4096 Jun 26 12:52 ..
    drwxr-xr-x 2 root root 4096 Jun 20 12:56 bdevid
    drwxr-xr-x 2 root root 4096 Dec 15 2006 dbus-1.0
    drwxr-xr-x 2 root root 4096 Jun 20 12:55 iptables
    -rwxr-xr-x 1 root root 130448 Jan 15 13:45 ld-2.5.so
    lrwxrwxrwx 1 root root 9 Jun 20 12:54 ld-linux-x86-64.so.2 -> ld-2.5.so
    lrwxrwxrwx 1 root root 20 Jun 20 12:57 ld-lsb-x86-64.so.3 -> ld-linux-x86-64.so.2
    lrwxrwxrwx 1 root root 15 Jun 20 12:54 libacl.so.1 -> libacl.so.1.1.0
    -rwxr-xr-x 1 root root 28440 Jul 12 2006 libacl.so.1.1.0
    -rwxr-xr-x 1 root root 20088 Jan 15 13:45 libanl-2.5.so
    lrwxrwxrwx 1 root root 13 Jun 20 12:54 libanl.so.1 -> libanl-2.5.so
    lrwxrwxrwx 1 root root 18 Jun 20 12:55 libasound.so.2 -> libasound.so.2.0.0
    -rwxr-xr-x 1 root root 895584 Jan 16 17:56 libasound.so.2.0.0
    lrwxrwxrwx 1 root root 16 Jun 20 12:54 libattr.so.1 -> libattr.so.1.1.0
    -rwxr-xr-x 1 root root 18176 Jul 12 2006 libattr.so.1.1.0
    lrwxrwxrwx 1 root root 17 Jun 20 12:54 libaudit.so.0 -> libaudit.so.0.0.0
    -rwxr-xr-x 1 root root 78472 Dec 10 2006 libaudit.so.0.0.0
    lrwxrwxrwx 1 root root 15 Jun 20 12:55 libblkid.so.1 -> libblkid.so.1.0
    -rwxr-xr-x 1 root root 41376 Jan 11 16:34 libblkid.so.1.0
    -rwxr-xr-x 1 root root 9000 Jan 15 13:45 libBrokenLocale-2.5.so
    lrwxrwxrwx 1 root root 22 Jun 20 12:54 libBrokenLocale.so.1 -> libBrokenLocale-2.5.so
    -rwxr-xr-x 1 root root 1678480 Jan 15 13:45 libc-2.5.so
    lrwxrwxrwx 1 root root 14 Jun 20 12:54 libcap.so.1 -> libcap.so.1.10
    -rwxr-xr-x 1 root root 17384 Nov 14 2006 libcap.so.1.10
    -rwxr-xr-x 1 root root 197840 Jan 15 13:45 libcidn-2.5.so
    lrwxrwxrwx 1 root root 14 Jun 20 12:54 libcidn.so.1 -> libcidn-2.5.so
    lrwxrwxrwx 1 root root 17 Jun 20 12:55 libcom_err.so.2 -> libcom_err.so.2.1
    -rwxr-xr-x 1 root root 9976 Jan 11 16:34 libcom_err.so.2.1
    -rwxr-xr-x 1 root root 30920 Jan 15 13:45 libcrypt-2.5.so
    -rwxr-xr-x 1 root root 1326168 Nov 30 2006 libcrypto.so.0.9.8b
    lrwxrwxrwx 1 root root 19 Jun 20 12:55 libcrypto.so.6 -> libcrypto.so.0.9.8b
    lrwxrwxrwx 1 root root 15 Jun 20 12:54 libcrypt.so.1 -> libcrypt-2.5.so
    lrwxrwxrwx 1 root root 11 Jun 20 12:54 libc.so.6 -> libc-2.5.so
    -rwxr-xr-x 1 root root 1006192 Sep 12 2006 libdb-4.3.so
    lrwxrwxrwx 1 root root 18 Jun 20 12:55 libdbus-1.so.3 -> libdbus-1.so.3.2.0
    -rwxr-xr-x 1 root root 227768 Dec 15 2006 libdbus-1.so.3.2.0
    lrwxrwxrwx 1 root root 19 Jun 20 12:55 libdevmapper.a -> libdevmapper.a.1.02
    -r-xr-xr-x 1 root root 335018 Nov 28 2006 libdevmapper.a.1.02
    lrwxrwxrwx 1 root root 25 Jun 20 12:55 libdevmapper-event.a -> libdevmapper-event.a.1.02
    -r-xr-xr-x 1 root root 33946 Nov 28 2006 libdevmapper-event.a.1.02
    lrwxrwxrwx 1 root root 37 Jun 20 12:55 libdevmapper-event-lvm2mirror.so -> libdevmapper-event-lvm2mirror.so.2.02
    -r-xr-xr-x 1 root root 8848 Dec 17 2006 libdevmapper-event-lvm2mirror.so.2.02
    lrwxrwxrwx 1 root root 26 Jun 20 12:55 libdevmapper-event.so -> libdevmapper-event.so.1.02
    -r-xr-xr-x 1 root root 13512 Nov 28 2006 libdevmapper-event.so.1.02
    lrwxrwxrwx 1 root root 20 Jun 20 12:55 libdevmapper.so -> libdevmapper.so.1.02
    -r-xr-xr-x 1 root root 69200 Nov 28 2006 libdevmapper.so.1.02
    -rwxr-xr-x 1 root root 23520 Jan 15 13:45 libdl-2.5.so
    lrwxrwxrwx 1 root root 12 Jun 20 12:54 libdl.so.2 -> libdl-2.5.so
    lrwxrwxrwx 1 root root 13 Jun 20 12:55 libe2p.so.2 -> libe2p.so.2.3
    -rwxr-xr-x 1 root root 26456 Jan 11 16:34 libe2p.so.2.3
    lrwxrwxrwx 1 root root 17 Jun 20 12:54 libexpat.so.0 -> libexpat.so.0.5.0
    -rwxr-xr-x 1 root root 143272 Jul 12 2006 libexpat.so.0.5.0
    lrwxrwxrwx 1 root root 16 Jun 20 12:55 libext2fs.so.2 -> libext2fs.so.2.4
    -rwxr-xr-x 1 root root 122328 Jan 11 16:34 libext2fs.so.2.4
    -rwxr-xr-x 1 root root 57000 Feb 25 06:53 libgcc_s-4.1.1-20070105.so.1
    lrwxrwxrwx 1 root root 28 Jun 20 13:06 libgcc_s.so.1 -> libgcc_s-4.1.1-20070105.so.1
    lrwxrwxrwx 1 root root 23 Jun 20 12:54 libglib-2.0.so.0 -> libglib-2.0.so.0.1200.3
    -rwxr-xr-x 1 root root 647864 Aug 30 2006 libglib-2.0.so.0.1200.3
    lrwxrwxrwx 1 root root 26 Jun 20 12:54 libgmodule-2.0.so.0 -> libgmodule-2.0.so.0.1200.3
    -rwxr-xr-x 1 root root 13920 Aug 30 2006 libgmodule-2.0.so.0.1200.3
    lrwxrwxrwx 1 root root 26 Jun 20 12:54 libgobject-2.0.so.0 -> libgobject-2.0.so.0.1200.3
    -rwxr-xr-x 1 root root 262936 Aug 30 2006 libgobject-2.0.so.0.1200.3
    lrwxrwxrwx 1 root root 26 Jun 20 12:54 libgthread-2.0.so.0 -> libgthread-2.0.so.0.1200.3
    -rwxr-xr-x 1 root root 19496 Aug 30 2006 libgthread-2.0.so.0.1200.3
    -rwxr-xr-x 1 root root 31576 Jan 18 13:32 libiw.so.28
    -rwxr-xr-x 1 root root 615136 Jan 15 13:45 libm-2.5.so
    lrwxrwxrwx 1 root root 11 Jun 20 12:54 libm.so.6 -> libm-2.5.so
    -rwxr-xr-x 1 root root 109824 Jan 15 13:45 libnsl-2.5.so
    lrwxrwxrwx 1 root root 13 Jun 20 12:54 libnsl.so.1 -> libnsl-2.5.so
    -rwxr-xr-x 1 root root 43064 Jan 15 13:45 libnss_compat-2.5.so
    lrwxrwxrwx 1 root root 20 Jun 20 12:54 libnss_compat.so.2 -> libnss_compat-2.5.so
    -rwxr-xr-x 1 root root 791840 Jul 12 2006 libnss_db-2.2.so
    lrwxrwxrwx 1 root root 16 Jun 20 12:57 libnss_db.so.2 -> libnss_db-2.2.so
    -rwxr-xr-x 1 root root 23728 Jan 15 13:45 libnss_dns-2.5.so
    lrwxrwxrwx 1 root root 17 Jun 20 12:54 libnss_dns.so.2 -> libnss_dns-2.5.so
    -rwxr-xr-x 1 root root 53880 Jan 15 13:45 libnss_files-2.5.so
    lrwxrwxrwx 1 root root 19 Jun 20 12:54 libnss_files.so.2 -> libnss_files-2.5.so
    -rwxr-xr-x 1 root root 24832 Jan 15 13:45 libnss_hesiod-2.5.so
    lrwxrwxrwx 1 root root 20 Jun 20 12:54 libnss_hesiod.so.2 -> libnss_hesiod-2.5.so
    -rwxr-xr-x 1 root root 3065928 Nov 20 2006 libnss_ldap-2.5.so
    lrwxrwxrwx 1 root root 18 Jun 20 12:56 libnss_ldap.so.2 -> libnss_ldap-2.5.so
    -rwxr-xr-x 1 root root 53432 Jan 15 13:45 libnss_nis-2.5.so
    -rwxr-xr-x 1 root root 63040 Jan 15 13:45 libnss_nisplus-2.5.so
    lrwxrwxrwx 1 root root 21 Jun 20 12:54 libnss_nisplus.so.2 -> libnss_nisplus-2.5.so
    lrwxrwxrwx 1 root root 17 Jun 20 12:54 libnss_nis.so.2 -> libnss_nis-2.5.so
    -rwxr-xr-x 1 root root 19960 May 11 12:10 libnss_winbind.so.2
    -rwxr-xr-x 1 root root 921000 May 11 12:10 libnss_wins.so.2
    lrwxrwxrwx 1 root root 17 Jun 20 12:55 libpamc.so.0 -> libpamc.so.0.81.0
    -rwxr-xr-x 1 root root 11312 Jan 15 13:10 libpamc.so.0.81.0
    lrwxrwxrwx 1 root root 21 Jun 20 12:55 libpam_misc.so.0 -> libpam_misc.so.0.81.2
    -rwxr-xr-x 1 root root 13464 Jan 15 13:10 libpam_misc.so.0.81.2
    lrwxrwxrwx 1 root root 16 Jun 20 12:55 libpam.so.0 -> libpam.so.0.81.5
    -rwxr-xr-x 1 root root 46872 Jan 15 13:10 libpam.so.0.81.5
    lrwxrwxrwx 1 root root 16 Jun 20 12:54 libpcre.so.0 -> libpcre.so.0.0.1
    -rwxr-xr-x 1 root root 117656 Jul 12 2006 libpcre.so.0.0.1
    -rwxr-xr-x 1 root root 61248 Nov 28 2006 libproc-3.2.7.so
    -rwxr-xr-x 1 root root 141208 Jan 15 13:45 libpthread-2.5.so
    lrwxrwxrwx 1 root root 17 Jun 20 12:54 libpthread.so.0 -> libpthread-2.5.so
    -rwxr-xr-x 1 root root 92728 Jan 15 13:45 libresolv-2.5.so
    lrwxrwxrwx 1 root root 16 Jun 20 12:54 libresolv.so.2 -> libresolv-2.5.so
    -rwxr-xr-x 1 root root 53480 Jan 15 13:45 librt-2.5.so
    lrwxrwxrwx 1 root root 12 Jun 20 12:54 librt.so.1 -> librt-2.5.so
    -rwxr-xr-x 1 root root 22424 Jan 15 13:45 libSegFault.so
    -rwxr-xr-x 1 root root 95480 Jan 12 09:57 libselinux.so.1
    -rwxr-xr-x 1 root root 159112 Dec 22 2006 libsemanage.so.1
    -rwxr-xr-x 1 root root 247528 Nov 14 2006 libsepol.so.1
    -rwxr-xr-x 1 root root 302552 Nov 30 2006 libssl.so.0.9.8b
    lrwxrwxrwx 1 root root 16 Jun 20 12:55 libssl.so.6 -> libssl.so.0.9.8b
    lrwxrwxrwx 1 root root 12 Jun 20 12:55 libss.so.2 -> libss.so.2.0
    -rwxr-xr-x 1 root root 26696 Jan 11 16:34 libss.so.2.0
    lrwxrwxrwx 1 root root 19 Jun 20 12:54 libtermcap.so.2 -> libtermcap.so.2.0.8
    -rwxr-xr-x 1 root root 15840 Jul 13 2006 libtermcap.so.2.0.8
    -rwxr-xr-x 1 root root 39064 Jan 15 13:45 libthread_db-1.0.so
    lrwxrwxrwx 1 root root 19 Jun 20 12:54 libthread_db.so.1 -> libthread_db-1.0.so
    -rwxr-xr-x 1 root root 18312 Jan 15 13:45 libutil-2.5.so
    lrwxrwxrwx 1 root root 14 Jun 20 12:54 libutil.so.1 -> libutil-2.5.so
    lrwxrwxrwx 1 root root 14 Jun 20 12:55 libuuid.so.1 -> libuuid.so.1.2
    -rwxr-xr-x 1 root root 13096 Jan 11 16:34 libuuid.so.1.2
    lrwxrwxrwx 1 root root 22 Jun 20 12:55 libvolume_id.so.0 -> libvolume_id.so.0.66.0
    -rwxr-xr-x 1 root root 28328 Dec 18 2006 libvolume_id.so.0.66.0
    drwxr-xr-x 2 root root 4096 Jun 20 12:54 rtkaio
    drwxr-xr-x 4 root root 4096 Jun 20 19:28 security
    drwxr-xr-x 2 root root 4096 Oct 10 2006 tls
  5. mistwang

    mistwang LiteSpeed Staff

    For core dump, please switch to lshttpd.dbg binary in the installation package. it will give more useful debug information. Just copy it over to lsws/bin directory and do "ln -sf lshttpd.dbg lshttpd", then restart.

    For the lsphp process, you need to strace 12040 and 11625.
  6. PSS

    PSS Member

    I could not get it crash this time, it gave 503 after 15 minutes.

    tree:
    Code:
      18823 	root 	16:41 	./lshttpd
          18826 	root 	16:41 	lscgid
          18896 	nobody 	16:42 	./lshttpd
             18897 	nobody 	16:42 	lsphp -c ../php
          18899 	nobody 	16:42 	./lshttpd
          18900 	nobody 	16:42 	./lshttpd
             19052 	nobody 	16:43 	lsphp -c ../php
                19053 	nobody 	16:43 	lsphp -c ../php
          18901 	nobody 	16:42 	./lshttpd


    I straced the child php process, and it restarted after 5 minutes and and when the 3rd one detached it gave the 503 and stopped there.

    [root@main bak_core]# /usr/bin/strace -p 19053
    Process 19053 attached - interrupt to quit
    read(4, 0x1c17660, 16384) = ? ERESTARTSYS (To be restarted)
    --- SIGUSR1 (User defined signal 1) @ 0 (0) ---
    rt_sigreturn(0xa) = -1 EINTR (Interrupted system call)
    read(4, 0x1c17660, 16384) = ? ERESTARTSYS (To be restarted)
    --- SIGTERM (Terminated) @ 0 (0) ---
    Process 19053 detached
    [root@main bak_core]# /usr/bin/strace -p 19590
    Process 19590 attached - interrupt to quit
    read(4, 0x1c17660, 16384) = ? ERESTARTSYS (To be restarted)
    --- SIGUSR1 (User defined signal 1) @ 0 (0) ---
    rt_sigreturn(0xa) = -1 EINTR (Interrupted system call)
    read(4, 0x1c17660, 16384) = ? ERESTARTSYS (To be restarted)
    --- SIGTERM (Terminated) @ 0 (0) ---
    Process 19590 detached
    [root@main bak_core]# /usr/bin/strace -p 20106
    Process 20106 attached - interrupt to quit
    read(4, 0x1c17660, 16384) = ? ERESTARTSYS (To be restarted)
    --- SIGUSR1 (User defined signal 1) @ 0 (0) ---
    rt_sigreturn(0xa) = -1 EINTR (Interrupted system call)
    read(4, 0x1c17660, 16384) = ? ERESTARTSYS (To be restarted)
    --- SIGTERM (Terminated) @ 0 (0) ---
    Process 20106 detached

    .. and got immediately 503 error.

    I'll try it now a few times if I can get it to crash.
  7. mistwang

    mistwang LiteSpeed Staff

    OK, it might related to the " Max Idle Time" setting, it is not set, you can try setting it to a large value, see if it help.

    Update: I was wrong, you need to set envirnoment variable "LSAPI_MAX_PROCESS_TIME".
    which default to 300 seconds, http://www.litespeedtech.com/products/lsapi/php/

    Should have thought about that it earlier.
    Last edited: Jun 29, 2007

Share This Page