Messages in this thread | | | Date | Wed, 2 Jul 2008 07:14:22 +0200 | From | "Michael Kerrisk" <> | Subject | Re: mmap'ed memory in core files ? |
| |
On Tue, Jul 1, 2008 at 11:44 PM, Bron Gondwana <brong@fastmail.fm> wrote: > On Tue, Jul 01, 2008 at 08:16:11PM +0200, Michael Kerrisk wrote: >> On 7/1/08, Philippe De Muyter <phdm@macqel.be> wrote: >> > Hello everybody, >> > >> > I develop video acquisition software using the video1394 interface. >> > The images grabbed by the camera and iee1394 bus are kept in kernel >> > memory and made available to the user program through a mmap call done >> > in the libdc1394 library : >> > >> > dma_ring_buffer= mmap(0, vmmap.nb_buffers * vmmap.buf_size, >> > PROT_READ|PROT_WRITE,MAP_SHARED, craw->capture.dma_fd, 0); >> > >> > Sometimes, my program crashes and produces a core file :) It seems to >> > me that the core file does not contain the mmap'ed memory and hence >> > I cannot replay my program with the same image for debugging purpose. >> > >> > Is it possible to configure the kernel through /proc, or through the mmap >> > system call to have that mmapped segment in the core file, or do I need >> > to modify the kernel itself to obtain the behaviour I want ? If I >> > need to modify the kernel, can some kind soul provide me some pointers ? >> >> >> Have a look at the section "Controlling which mappings are written to >> the core dump" in a recent core.5 man page: >> http://www.kernel.org/doc/man-pages/online/pages/man5/core.5.html > > Interesting (and somewhat off topic to your conversation here) - it > appears that when dumping mappings, the kernel ignores the maximum > core size set with "limit". > > This is particularly interesting on a 64 bit kernel where a bug in > your code causes you to try to read something about 2Gb into your > alleged mmaped file (actual size ~500 bytes) and the segfault causes > a coredump.
Do you have a ssimple example program for this?
-- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ man-pages online: http://www.kernel.org/doc/man-pages/online_pages.html Found a bug? http://www.kernel.org/doc/man-pages/reporting_bugs.html
| |