Derek Spadaro: > Thank you for the patch suggestion, but it did not change the > behaviour in this case. Now also I am less sure about the > relationship to shared libraries, as this would not explain why simply > touching the executable helps. Touch doesn't run the program, nor > does it load any of the program's shared libraries, so I am not sure > what it is doing to fix it; or what it is fixing, for that matter.
touch(1) causes internal file copy-up, and it is related to aufs mmap(2). In mmap(2), which branch the file exists is important to aufs and the previous patch changes its behaviour. Currently I am guessing your problem is related to copy-up. The first execution might occur copyup (and aborted). In the second time, no copyup occured since the file was already copied-up. touch(1) before execution surely makes file copied-up, and next execution succeeded. I am afraid that I have to read source files in userspace, since all systemcalls in your strace log succeeded and the segv happend in userspace. I am new to uClibc and know nothing about /usr/occam/bin/pdcpshim either. How can I get source files of them (the exact version which you are using) to reproduce the problem? By the way, if you stop using uClibc and replace it by glibc, can you reporduce the problem? J. R. Okajima ------------------------------------------------------------------------------ Stay on top of everything new and different, both inside and around Java (TM) technology - register by April 22, and save $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. 300 plus technical and hands-on sessions. Register today. Use priority code J9JMT32. http://p.sf.net/sfu/p
