On Sat, Mar 29, 2008 at 08:33:42AM +0000, [EMAIL PROTECTED] wrote:
> On Sat, Mar 29, 2008 at 01:44:40AM -0400, Justin Pryzby wrote:
> > On Sat, Mar 29, 2008 at 05:12:01AM +0000, [EMAIL PROTECTED] wrote:

> Ah-hah: It goes about opening a lib, mmapping it, closing it -- for many
> libs in the system (kinda makes sense, no?). This are the last two
> cycles:
> 
>  [... mucho deleto... ]
>  | open("/usr/lib/libexchange-storage-1.2.so.1.0.1", O_RDONLY) = 4
>  | fstat64(4, {st_mode=S_IFREG|0644, st_size=266012, ...}) = 0
>  | mmap2(NULL, 266012, PROT_READ, MAP_SHARED, 4, 0) = 0xb7efa000
>  | munmap(0xb7efa000, 266012)              = 0
>  | close(4)                                = 0
>  | open("/usr/lib/libgimpcolor-2.0.so.0.200.13", O_RDONLY) = 4
>  | fstat64(4, {st_mode=S_IFREG|0644, st_size=33892, ...}) = 0
>  | mmap2(NULL, 33892, PROT_READ, MAP_SHARED, 4, 0) = 0xb7f32000
>  | --- SIGBUS (Bus error) @ 0 (0) ---
>  | +++ killed by SIGBUS +++
> 
> Now I'm off to see what could be possibly wrong with libgimpcolor.
So it opens and mmaps each lib (or, only libs with updated timestamps
in glibc 2.7), then reads the NEEDED or SONAME information.  Your bad
disk causes the memory read to fail and so the proc is sent SIGBUS.  Is
that the correct behavior, or could ldconfig do something better?  I
suspect that's essentially as good as it could be.

Justin

_______________________________________________
debian-live-devel mailing list
debian-live-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/debian-live-devel

Reply via email to