Hi, Jason-- On Apr 22, 2010, at 12:33 PM, Jason Evans wrote: > The failure mode was trimmed before I was CC'ed, so I'm missing background > information.
Thanks for the response. The bug report here: https://wwws.clamav.net/bugzilla/show_bug.cgi?id=1941 ...contains the useful details, but the ktrace of the point of failure is: 61805 clamd CALL mmap(0,0x9d55d6,PROT_READ,MAP_PRIVATE,0xb,0,0) 61805 clamd RET mmap -1 errno 12 Cannot allocate memory 61805 clamd CALL write(0x2,0xbf5c850c,0x28) 61805 clamd GIO fd 2 wrote 40 bytes "LibClamAV Error: cli_pdf: mmap() failed ...which lead to mmap()'s documentation: [ENOMEM] MAP_FIXED was specified and the addr argument was not available. MAP_ANON was specified and insufficient memory was available. The system has reached the per- process mmap limit specified in the vm.max_proc_mmap sysctl. > However, I doubt the number of map entries is the problem. See procfs(5) on > how to mount the proc filesystem, then look at /proc/<pid>/maps to see the VM > map. My observation has been that the total number of entries is quite > small, even for large applications (shared libraries tend to contribute more > entries than malloc does). > > As an aside, jemalloc maps at least 1 MiB at a time, so it doesn't > substantially contribute to the number of map entries even if the application > somehow causes bad map fragmentation. Acknowledged. Hopefully Royce can use this feedback to gather better information. Regards, -- -Chuck _______________________________________________ Help us build a comprehensive ClamAV guide: visit http://wiki.clamav.net http://www.clamav.net/support/ml