Here is a simpler example program:

#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <sys/types.h>
#include <wait.h>

int
main(argc, argv)
int argc;
char **argv;
{
        int pid, rpid;
        int st;

        if (argc < 2) {
                fprintf(stderr, "usage: %s command ...\n", argv[0]);
                return (1);
        }
        if ((pid = fork()) < 0) {
                fprintf(stderr, "fork: %s\n", strerror(errno));
                return (1);
        }
        if (pid == 0) {
                execvp(argv[1], &argv[1]);
                fprintf(stderr, "exec: %s\n", strerror(errno));
                return (1);
        }
        while ((rpid = wait(&st)) > 0 && rpid != pid)
                ;
        if (rpid < 0) {
                fprintf(stderr, "wait: %s\n", strerror(errno));
                return (1);
        }
        printf("status 0x%x\n", st);
        return (0);
}

There is some header-file fumble that prevents me from compiling this
with cc -m32, but there are both 32- and 64-bit systems in our
environment, so:

Using kernel 3.13.0-59:

Compile it on a 64-bit system, and run
      ./forkexec date
and all is well.

Compile it on a 32-bit system, then, on a 64-bit system, run
    ./forkexec date
and date prints nothing, while forkexec reports exit status 0x8b.

On the other hand, still on the 64-bit system, point it at a 32-bit binary and 
all is well.  e.g.
   ./forkexec ./forkexec
just prints the expected usage: message, so it execed itself properly; no 
SIGSEGV.

To confound matters further:
-- take out the fork (so the program just calls exec) and all is well
-- run the program under strace -f and the problem vanishes

All this happens under kernel 3.13.0-59 but not 3.13.0-55 (we've put off
a few updates).

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1479093

Title:
  Segfault in ld-2.19.so while starting Steam after upgrade to
  3.13.0-59.98

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1479093/+subscriptions

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

Reply via email to