From: Henry N. <hen...@ar...> - 2011-01-30 21:14:35
|
Hello Arturo, nice, you have found a bug inside libc or with SSE2. Google for this text "segfault in multiarch string function (__strlen_sse2)" and you will find many of these bugs. Mostly not solved or not reproduce later. http://en.wikipedia.org/wiki/SSE2 Please check, that your CPU supports SSE2. You can do it under native Linux, or with knoppix by checking the flags from "/proc/cpuinfo". I think your Intel has this. Maybe we have a problem with FPU save/restore code for SSE2 instructions inside coLinux? Here you need to find a testcase, that produce code like "pxor %xmm0, %xmm0". Run this under coLinux to check it. Boot coLinux with kernel option "nofxsr". This should disable all MMX and SSE/SSE2 instructions. Henry On 30.01.2011 08:16, Arturo R. wrote: > New development. After I changed the way the kernel names the > coredumps, I realized that bash was also crashing on the exact same > function (__strlen_sse2 () at > ../sysdeps/i386/i686/multiarch/strlen.S:75). > > Armed with this information, I decided to remove the libc6-i686 > package and now the system no longer crashes when resuming from > standby. > > I would still love to help out in figuring out a proper fix, if you > Henry, or anyone else, would like to work with me. > > Thanks again. > > gdb-bash.log > > > root@colinux:~/src# gdb --quiet /bin/bash coredump.bash.1296369722 > Reading symbols from /bin/bash...done. > [New Thread 1592] > > warning: Can't read pathname for load map: Input/output error. > Reading symbols from /lib/libncurses.so.5...(no debugging symbols found)...done. > Loaded symbols for /lib/libncurses.so.5 > Reading symbols from /lib/i686/cmov/libdl.so.2...done. > Loaded symbols for /lib/i686/cmov/libdl.so.2 > Reading symbols from /lib/i686/cmov/libc.so.6...done. > Loaded symbols for /lib/i686/cmov/libc.so.6 > Reading symbols from /lib/ld-linux.so.2...done. > Loaded symbols for /lib/ld-linux.so.2 > Reading symbols from /lib/i686/cmov/libnss_compat.so.2...done. > Loaded symbols for /lib/i686/cmov/libnss_compat.so.2 > Reading symbols from /lib/i686/cmov/libnsl.so.1...done. > Loaded symbols for /lib/i686/cmov/libnsl.so.1 > Reading symbols from /lib/i686/cmov/libnss_nis.so.2...done. > Loaded symbols for /lib/i686/cmov/libnss_nis.so.2 > Reading symbols from /lib/i686/cmov/libnss_files.so.2...done. > Loaded symbols for /lib/i686/cmov/libnss_files.so.2 > Core was generated by `-bash'. > Program terminated with signal 11, Segmentation fault. > #0 __strlen_sse2 () at ../sysdeps/i386/i686/multiarch/strlen.S:75 > 75 pxor %xmm0, %xmm0 /* 16 null chars */ |