"lscgid: request validation failed!" after upgrade from 3.0RC1 / RC2 to 3.0 release

Discussion in 'Install/Configuration' started by jzx23, Mar 26, 2007.

  1. jzx23

    jzx23 New Member

    Hi.

    Yesterday, I upgraded our servers from version 3.0RC1 / 3.0RC2 to the final 3.0 version. Some 64bit Solaris, some 32bit Solaris.

    Since the upgrade, cgi scripts cannot be executed. All requests get the following error:

    HTTP 500
    lscgid: request validation failed!

    I have tried to debug it for a while, bu to no avail. The lshttpd process correctly dispatches requests for existing .cgi files to the lscgid handler. For non-existent files, a HTTP 404 is returned, as expected.

    lscgid does very little, see the output from truss:

    Code:
    29510:  accept(0, 0x00000000, 0x00000000, SOV_DEFAULT)  = 1
    29510:  fork1()                                         = 7244
    29510:  lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
    7244:   fork1()         (returning as child ...)        = 29510
    29510:  close(1)                                        = 0
    7244:   getpid()                                        = 7244 [29510]
    7244:   lwp_self()                                      = 1
    7244:   lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
    7244:   fcntl(1, F_DUP2FD, 0x00000000)                  = 0
    7244:   time()                                          = 1174908967
    7244:   time()                                          = 1174908967
    7244:   pollsys(0x08046D70, 1, 0x08046D40, 0x00000000)  = 1
    7244:   read(0, 0x08046E30, 84)                         = 84
    7244:     01\0\0\003\0\0\0A001\0\010\0\0\002\0\0\011\0\f\0 P\0\0\0 P\0\0\0
    7244:     \0\0\0\0\0\0A00F\0\0\0\0\0\0C012\0\0\0\0 <\0\0\0\0\0\0\0 x\0\0\0
    7244:     \0\0\0\0\0\0\0\012 k ^ J \ ] U i ) m y v
    7244:   time()                                          = 1174908967
    7244:   write(0, 0x08046C80, 46)                        = 46
    7244:      S t a t u s : 5 0 0\n\n l s c g i d :   r e q u e s t   v a l i
    7244:      d a t i o n   f a i l e d !
    7244:   close(0)                                        = 0
    7244:   _exit(0)
    29510:      Received signal #18, SIGCLD, in pollsys() [caught]
    29510:        siginfo: SIGCLD CLD_EXITED pid=7244 status=0x0000
    
    Searching both these forums and Google for the "request validation failed" string returns nothing.

    Did something change between 3.0RC2 and 3.0 final in regard with executing CGI scripts?

    Relevant snippets from our configuration httpd_config.xml:
    Code:
           <virtualHost>
             <name>ADC</name>
             <vhRoot>/www/adc/current</vhRoot>
             <configFile>$SERVER_ROOT/conf/vhconf.xml</configFile>
             <allowSymbolLink>1</allowSymbolLink>
             <enableScript>1</enableScript>
             <restrained>0</restrained>
             <maxKeepAliveReq>100</maxKeepAliveReq>
             <smartKeepAlive>1</smartKeepAlive>
             <setUIDMode>0</setUIDMode>
             <chrootMode>0</chrootMode>
             <chrootPath></chrootPath>
             <staticReqPerSec></staticReqPerSec>
             <dynReqPerSec></dynReqPerSec>
             <outBandwidth></outBandwidth>
             <inBandwidth></inBandwidth>
           </virtualHost>
    
    Code:
        <scriptHandler>
          <suffix>cgi</suffix>
          <type>cgi</type>
          <handler>cgi</handler>
        </scriptHandler>
    
    vhconf.xml - nothing specific to CGI.

    I've tried turning off all Gzip compression, no change.

    We have four FCGI apps, configured as external applications, those work correctly. It's only the CGI apps, which are not spelled out, one by one, that stopped working.

    Any help/suggestion is appreciated.


    Thanks,
    Juraj Ziegler
  2. xing

    xing LiteSpeed Staff

    Please make sure you are using "devpoll" as the event scheduler within LiteSpeed. You can use our webui or change it by hand. We have reports of the latest Solaris having problems with poll with LiteSpeed. Devpoll is the optimized event scheduler for Solaris. However, we default to "poll" for portability reasons.

    Let us know if devpoll makes a difference. Regardless, you should use devpoll anyways.
  3. mistwang

    mistwang LiteSpeed Staff

    This error is pretty strange. "request validation failed" means that the MD5 checksum in the CGI request is currupted, which should not happen at all.
    Can you try a clean installation of 3.0.1 on your server?
    We failed to reproduce the problem on your test server with 64bit Solaris 10 installation.
  4. jzx23

    jzx23 New Member

    I have checked again. The same result. I am using "devpoll" and don't see much connection between the scheduler model and the lshttpd - lscgid communication.

    I will check 3.0.1 now.
  5. jzx23

    jzx23 New Member

    It works OK with the 32bit version of 3.0.1. I'm unable to check the 64bit version currently, since I'm having trouble installing it, see my other thread [ERROR] Clock on your server is not accurate, fix it first.
  6. jzx23

    jzx23 New Member

    64bit version works now just as well, thanks to the new (re-created) package.
  7. jzx23

    jzx23 New Member

    Hi. I have checked again, with version 3.1.1 on Solaris 10/x86. The 32-bit version works correctly, the 64-bit version fails again, with the same error as before:

    lscgid: request validation failed!

Share This Page