[Unionfs] wine and unionfs

Zhaohui Wang zwange at gmu.edu
Tue Oct 13 11:43:54 EDT 2009



Hi Erez and Francois

Based on my testing here, the patch do not fix the problem completely.

Since my kernel do not oops or print any stack/reg values, I am sorry I have
limited information to post, but here are what I know

In normal case, there are 2 "wineserver" threads running(what I mean is the
process name is wineserver in PS command). One is with a small pid, while
other is with a bigger PID, which means it is fork/cloned later than the
small one.  The bigger PID thread will do a sequence of unlink operations
After mydriver.sys successfully running.

Here is my case, 5326 is my bigger PID, 10 is _NR_unlink, -2/0 is unlink
syscall return value.

5326 5326 10 -2 <  /tmp/.wine-0/server-16-c505/socket unlink
5326 5326 10 0 <
/root/.wine/dosdevices/c:/windows/system32/drivers/mydriver.SYS unlink
5326 5326 10 0 <  /tmp/.wine-0/server-16-c505/anonmap.a1o99O unlink
.... Some other sys call ivocation by PID 5326 here..... 
5326 5326 10 0 <  /tmp/.wine-0/server-16-c505/anonmap.qNzxvN unlink
............................................./anonmap.XXXXXX unlink


ON UNIONFS, after the first unlink operation, the bigger process will become
abnormal(show as [wineserver] in PS command like a kernel thread, which mean
the userlevel structure is dead, but kernel level structure is still there.)
The last operation this thread did is pwrite64(maybe this is related to
mydriver.sys behavior,but mydriver.sys is a well-proofed functioning .sys
from commercial software,. To clarify,it's not my testing .sys, I just
replace the name)


Here is the trace by my own kernel logging program
6115 is the bigger PID in this run.

6115 6115 10 0 <  /tmp/.wine-0/server-18-7071/anonmap.Q1Zvly unlink
6115 6115 181 1 < 57 29087 0 22 0 server-18-7071 anonmap.Q1Zvly unionfs
pos=14935 pwrite64


Could you investigate about this pwrite64 call failure? I will also trying
to fix this.

Feel free contact me for more information.


Erez, do you have a bug number for this? Or I have to open a new one?


Best Regards
Zhaohui Wang


-----Original Message-----
From: unionfs-bounces at fsl.cs.sunysb.edu
[mailto:unionfs-bounces at fsl.cs.sunysb.edu] On Behalf Of Erez Zadok
Sent: Thursday, September 24, 2009 1:59 PM
To: Francois Boisson
Cc: unionfs at fsl.cs.sunysb.edu
Subject: Re: [Unionfs] wine and unionfs

In message <20090906114229.746d8d99.user.antispam at maison.homelinux.net>,
Francois Boisson writes:
> Hello
> 
> First, excuse my poor English (I'm French...)
> 
> Well, I'm making a bootable USB key for Maths students since 3 years, you
can
> find it here: http://clefagreg.dnsalias.org/
> 
> At the beginning, I was using cloop and a rather complicated systems of
links
> like Knoppix. Now I'm using unionfs + squashfs:
> 
> The root of the system is a RO file system union some various extensions
(RO
> squashfs systems) union a RW ramdisk. Everything work very well.
> 
> But I have a new problem. I need to run wine for a key dedidaced to a
> competitive entrance exam (Education Nationale teachers). And I have a
problem
> with kernel Oops in unionfs and wine,
> 
> Kernels used: 2.6.29-1, unionfs 2.5.1 (for 2.6.29-rc2)
> squashfs: version 4.0 (2009/01/31)
> 
> here is the error:
> 
> Jun 30 18:00:25 agreg kernel: BUG: unable to handle kernel NULL pointer
dereference at 000000a1
> Jun 30 18:00:25 agreg kernel: IP: [<f847db0f>] unionfs_setattr+0x362/0x377
[unionfs]

Francois,

Others have reported a similar bug, in unionfs_setattr.  I fixed and posted
a patch for it a while back.  Yesterday I released unionfs-2.5.3, which
includes this fix formally.  Please give this new release a try and let me
know (via bugzilla please), if it's still broken.

Thanks,
Erez.
_______________________________________________
unionfs mailing list: http://unionfs.filesystems.org/
unionfs at mail.fsl.cs.sunysb.edu
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs



More information about the unionfs mailing list