bug-hurd
[Top][All Lists]
Advanced

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

Re: exec and bzip2


From: Roland McGrath
Subject: Re: exec and bzip2
Date: Thu, 2 Apr 2009 16:22:24 -0700 (PDT)

> Ok, so I was right in thinking that maybe I could just disable them.

Yes, if people are not using individually compressed binaries for booting
these days.

> I am just wondering: why are faults a problem?  The bug I'm seeing seems
> to happen when there is memory pressure and I guess gnumach trying to
> drop pages.  But since exec doesn't seem to use its own pager, shouldn't
> the usual page-in mechanism just work?  What makes exec particular?

These are file-mapped pages.  Faults are always possible, because the
filesystem supplies the pagers and who knows what might happen.  In
practice the disk filesystems' file pagers should never fail for read
faults on valid file offsets unless there is a disk error or
filesystem corruption, which they should probably be complaining about.
If they do, it is more likely a diskfs/ext2fs bug.

> It actually does: 
> 
>       n = MIN (maxread, map_buffer (e) + map_fsize (e) - contents);
>       memcpy (buf, contents, n); /* XXX/fault */
> 
> And in the case I could observe the offset was just 8.

If you can check that the arithmetic of the vm_map call it did and
the pointer offset make it valid, then you should be able to see the
filesystem server trying to service the read fault and failing, so
you can investigate it inside there.


Thanks,
Roland




reply via email to

[Prev in Thread] Current Thread [Next in Thread]