I upgraded from 9.04 to 10.10 a couple of days ago, and things are really messed up - X is crashing constantly.
Since then, I had an application segfault for no reason, when I was debugging, I found that it was
strlen() that was causing the segfault (pointing to libc being the problem)! Upon investigation, I found that it was because I had a bad version of gcc and binutils installed in /usr/bin/local; I removed it, recompiled the application, and it no longer crashes.
Now, looking at my logs, I see that X is also crashing due to libc.
Backtrace: 0: /usr/bin/X11/X (xorg_backtrace+0x3b) [0x80ef31b] 1: /usr/bin/X11/X (0x8048000+0x5d00d) [0x80a500d] 2: (vdso) (__kernel_rt_sigreturn+0x0) [0xb77e240c] 3: /usr/bin/X11/X (0x8048000+0xbb0b6) [0x81030b6] 4: /usr/bin/X11/X (0x8048000+0xbc3ef) [0x81043ef] 5: /usr/bin/X11/X (0x8048000+0x26ee7) [0x806eee7] 6: /usr/bin/X11/X (0x8048000+0x1a5da) [0x80625da] 7: /lib/libc.so.6 (__libc_start_main+0xe7) [0xb750ace7] 8: /usr/bin/X11/X (0x8048000+0x1a1b1) [0x80621b1] Segmentation fault at address 0x32156654 Caught signal 11 (Segmentation fault). Server aborting
So, how can I recover from this?