Strange interference between LSAPI, popen3 and MySQL

Discussion in 'Ruby/Rails' started by andreas, Mar 4, 2007.

  1. andreas

    andreas New Member

    (I have cross-posted this question to ruby-lang: http://www.ruby-forum.com/topic/99988)

    I am experiencing a very strange problem in my Rails app. I use popen3
    to execute an external program. Everything works fine in Mongrel, but
    when I use the app with LSAPI, after popen3 all MySQL queries fail with
    "Mysql::Error (MySQL server has gone away)". Once I comment out popen3
    it works fine again.

    The problem is easy to reproduce in any Rails app using LSAPI and MySQL.
    Add the following to a controller action:

    require 'open3'
    Open3.popen3('/usr/bin/ls') {|stdout, stdin, stderr| stdin.read }

    The stdin.read is important.
  2. mistwang

    mistwang LiteSpeed Staff

    OK, we will take a closer look at this. Thanks for the bug report.
  3. andreas

    andreas New Member

  4. mistwang

    mistwang LiteSpeed Staff

    I found that MySQL connection will be lost even in Mongrel, so it is not a problem LSAPI specific.
    As to popen3 not working, what kind of result is expected? seems I did not get any meaningful output under Mongrel as well.
  5. andreas

    andreas New Member

    Example: Open3.popen3('/bin/touch', '/tmp/popen3_is_OK'). It doesn't work when used from LSAPI.
  6. mistwang

    mistwang LiteSpeed Staff

Share This Page