[Bug 198231] [unionfs] deadlock

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Mar 3 17:17:54 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=198231

            Bug ID: 198231
           Summary: [unionfs] deadlock
           Product: Base System
           Version: 9.3-RELEASE
          Hardware: i386
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: andre at fbsd.ata.myota.org

I can reliably deadlock a 9.3-STABLE by the following procedure:

Let's assume that /tmp is a standard swap-backed file system
already. First let's set up what we need:

mkdir /tmp/1 /tmp/2
mount -v -t unionfs /tmp/1 /usr/local
mount -v -t unionfs /tmp/2 /usr/local

No let's lock the system:

mkdir /tmp/2/bla
while :; do
  echo go
  tar -cC /usr/src/etc -f - . | tar -xpC /tmp/2/bla -f -
done

It survives about 3 or 4 rounds, sometimes more, sometimes
only 2. It is important to use tar to copy the stuff. If
we replace the tar line by e.g.

cp -pR /usr/src/etc/* /tmp/2/bla

things are all well.

The system doesn't lock up entirely, you can move the mouse
and ping it but no fs access is possible anymore. One can
switch to the console and enter the debugger but a reboot
with ctrl-alt-del doesn't work...

The interesting part is that all this worked pretty well on
9-STABLE until approx. 2 months ago. But nothing had been
committed to unionfs for a long time so I really have no
idea what's going on.

It also reminds us of

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=161511

but this stuff had been merged to 9-STABLE already...

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list