System hangs when /var partition full (vnode_pager_putpages errors)

Maks Verver m.verver at student.utwente.nl
Thu Apr 3 20:41:28 UTC 2008


Hi,

I recently encountered an error, where executing the ImageMagick "convert" 
tool as an unpriviliged user caused the system to hang.

The error is similar to one reported in 2004:
http://lists.freebsd.org/mailman/htdig/freebsd-stable/2004-March/006493.html

There is also an open bug report:
http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/67919

I'll give some more details on my situation, although it's really very similar 
to the one described on the mailing list. I use ImageMagick to resample a 
300kb 1024x768 resolution JPEG file to 800x600, which causes ImageMagick to 
create a temporary file (not sure how large, sorry) in /var/tmp.

The /var paritition does not have enough space apparently, and the system 
hangs, while printing repeatedly: 
  kernel: vnode_pager_putpages: I/O error 28
  kernel: vnode_pager_putpages: residual I/O 65536 at 74284
  kernel: pid 42 (syncer), uid 0 inumber 70779 on /var: filesystem full

At this point, the system still responds to ping, but anything else 
(presumable anything involving disk I/O) is impossible, including logging in 
locally. (In the previous discussion it was suggested that the hang-up was 
actually caused by the amount of messages being printed, but this is not the 
case, as in FreeSD 7 these messages are printed only once each second.)

The bug report is from 2004 (last modified in 2005); is there any chance this 
will be resolved in the future? I can work around it temporarily by ensuring 
there is enough space on /var (and using ulimit when I invoke convert) but it 
still means that any malevolent user can crash the system. That's the kind of 
shenanigans I'd expect on a Linux system ;-) not on FreeBSD which is usually 
very stable.

To summarize: are people aware this problem still exists, is it recognized as 
an important issue, and are there plans to fix it?

Kind regards,
Maks Verver.


More information about the freebsd-stable mailing list