Port-amd64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Linux emulation problem



On Tue, Jun 28, 2011 at 10:43:51PM +0200, Torsten Harenberg wrote:
> 
> Now we have:
> 
> mail# ktrace ./nsrexecd                         
> linux_probe: returning 0
> family 1, len = 110 [ 2f 76 61 72 2f 72 75 6e 2f 6e 73 63 64 2f 
> family 1, len = 110 [ 2f 76 61 72 2f 72 75 6e 2f 6e 73 63 64 2f 
> family 2, len = 16 [ 00 35 84 c3 f9 0d 00 00 00 00 00 00 00 00 
> family 2, len = 16 [ 00 35 84 c3 f9 0d 00 00 00 00 00 00 00 00 
> family 2, len = 16 [ 00 35 84 c3 f9 0d 00 00 00 00 00 00 00 00
> 
> kdump output is at
> 
> http://www.atlas.uni-wuppertal.de/~harenber/suse100_patched_dump

Looks like something similar a problem i currently see on my machines
with forked processes crashing.

njoly@lanfeust [~]> ktrace -di ./fork64
fork64: child failed
njoly@lanfeust [~]> kdump
[...]
 15032  15032 fork64   CALL  clone(0x1200011,0,0,0x68e8e0,0)
 15032  15032 fork64   RET   clone 8516/0x2144
 15032  15032 fork64   CALL  wait4(0xffffffffffffffff,0x7f7ffffff16c,0,0)
  8516   8516 fork64   EMUL  "linux"
  8516   8516 fork64   RET   fork 0
  8516   8516 fork64   PSIG  SIGSEGV SIG_DFL: 
code=SEGV_MAPERR,addr=0x90,trap=14)
  8516   8516 fork64   NAMI  "fork64.core"
 15032  15032 fork64   RET   wait4 8516/0x2144

Can you try the attached forked binary, compiled on CentOS 5.6 x86_64
machine from given fork.c source.

-- 
Nicolas Joly

Projects and Developments in Bioinformatics
Institut Pasteur, Paris.

Attachment: fork64
Description: Binary data

#include <sys/wait.h>
#include <err.h>
#include <unistd.h>

int main() {
  int sts;
  pid_t pid;

  if ((pid = fork()) == (pid_t)-1)
    err(1, "fork failed");

  if (pid == 0)
    _exit(0);

  if (wait(&sts) == (pid_t)-1)
    err(1, "wait failed");
  if (!WIFEXITED(sts) || WEXITSTATUS(sts) != 0)
    errx(1, "child failed");

  return 0; }


Home | Main Index | Thread Index | Old Index