Bug 376027

Summary: wine's comdlg32/filedlg.c test hangs under valgrind
Product: [Developer tools] valgrind Reporter: Austin English <austinenglish>
Component: generalAssignee: Julian Seward <jseward>
Status: REPORTED ---    
Severity: major CC: sebastian
Priority: NOR    
Version: 3.13 SVN   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
URL: https://bugs.winehq.org/show_bug.cgi?id=39097
Latest Commit: Version Fixed In:

Description Austin English 2017-02-05 08:04:27 UTC
Hi there,

This bug has been discussed a bit on #valgrind-dev already, but I wanted to make sure it wasn't forgotten ;).

This bug is 100% reproducible for me on my Gentoo desktop. Sebastian (author of the wine commit that revealed it), has been unable to reproduce. This issue occurs when running wine's unit tests under valgrind. Sebastian's patch: https://source.winehq.org/git/wine.git/commitdiff/4a1629c4117fda9eca63b6f56ea45771dc9734ac

which changes wine's NtTerminateProcess() to use _exit() instead of exit(). With this change, wine's unit tests will hang after completing the comdlg32/fildlg tests. When I added printf's to the code, I noticed that the tests all complete (i.e., it's not hanging in the middle of one), but wine doesn't continue on to the next test afterward.

To reproduce:

For info on running wine under valgrind, see:
https://wiki.winehq.org/Wine_and_Valgrind

my scripts/suppression files are at:
https://github.com/austin987/wine_misc/tree/master/valgrind

but in short:
# get wine/wine_misc repos
$ cd wine-valgrind
$ ln -s /path/to/wine_misc/valgrind tools/valgrind
$ ./configure && make -j8
$ vi tools/valgrind/vg-wrapper.sh
# edit paths to wine/valgrind, if needed
$ . tools/valgrind/vg-wrapper.sh
$ ./wine start /min notepad
$ cd dlls/comdgl32/tests
$ make filedlg.ok
# BUG

Though since Sebastian can't reproduce, it may be something peculiar to my system..This was most recently tested with valgrind-3.13.0.SVN-16204-vex-3299 / wine-2.0 and 2.1

I'm not sure what other information would be helpful here. I found a similar valgrind bug, which is marked fixed (https://bugs.kde.org/show_bug.cgi?id=372504), and may valgrind version is newer than that. This bug is a blocker for wine/valgrind (I have to revert that patch in wine to be able to run the tests). Please let me know what information, if any, would be helpful in resolving this.