On Saturday, July 19, 2003, at 09:16 AM, Quinn wrote: At 17:35 -0700 16/7/03, raldrich@mac.com wrote: Any ideas? My guess is that this has something to do with how your VOP_PAGEIN entry point is implemented. I did some poking around in Preview with GDB and it seems that it memory maps the image file (using mmap). [NSBMPImageReader getByte] then reads the file by reading the mapped memory. Unfortunately I don't have a recommendation for how you might implement VOP_PAGEIN given your current I/O design. I'd have to study the problem in more detail than I have time for right now. I think you're right - at least in one case, I am seeing a call to pagein before the crash - pagein and pageout are currently unimplemented, and return an error (damm, I guess I'm going to have to figure out how to implement them). I found an overview discussion of the vnode pager in "The design and implementation of the 4.4 BSD operating system" - conceptually, it seems like it should work with my I/O model - I would, however, like to find some documentation for "cluster_pagein" and "cluster_pageout" - an overview of the unified buffer cache would be nice as well... One other oddity, is that if I simply double-click a .gif file on the disc, Preview is launched, but then does nothing - it doesn't open the file, doesn't memory map it, doesn't try to read it - nothing. If, however, I launch Preview, and select "open" to open the .gif file, then Preview crashes after my pagein call returns an error. Thanks, Ron Aldrich Software Architects, Inc. _______________________________________________ darwin-kernel mailing list | darwin-kernel@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/darwin-kernel Do not post admin requests to the list. They will be ignored.