** Description changed:

+ SRU justification:
+ 
+ Impact: A bug in the syscall implementation can cause incorrect behavior
+ when trying to use syscalls that are not implemented.
+ 
+ Fix: Cherry pick from upstream to correctly return an error code in that
+ situation.
+ 
+ Testcase: see test below.
+ 
+ ---
+ 
  There is something very wrong with the popen() implementation in Jaunty
  on i386.  It works fine when run on the Jaunty kernel, but when run on
  the Lenny 2.6.26-1-amd64 kernel, it misbehaves as follows.  The output
  of the subcommand, instead of being fed to the pipe, is fed directly to
  stdout; the pipe either returns errors or hangs forever.
  
  This causes weird errors in many programs running in a Jaunty i386
  chroot on our Lenny build server.
  
  Attached is a small 5-line test program.  Run
    gcc -static popen-test.c -o popen-test
  and then copy popen-test to a Lenny machine to see the problem.
  
  Correct output:
    $ uname -r
    2.6.28-8-generic
    $ ./popen-test
    popen returned 0x1ec6400
    ferror returned 0
    fread returned 19
    ferror returned 0
    pclose returned 0
  Incorrect output:
    $ uname -r
    2.6.26-1-amd64
    $ ./popen-test
    popen returned 0x935f688
    ferror returned 0
    SHOULD NOT DISPLAY
  
  This has been reproduced independently by two of us with two different
  Jaunty i386 installs and two different Lenny installs.

** Changed in: linux (Ubuntu Intrepid)
       Status: In Progress => Fix Committed

-- 
Jaunty i386 popen() misbehaves on x86_64 kernel 2.6.26
https://bugs.launchpad.net/bugs/339743
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to