Random crashes while running (cmd) test runner

Marcus Meissner marcus at jet.franken.de
Mon Jul 4 03:28:29 CDT 2011


On Sat, Jul 02, 2011 at 09:31:52PM +0200, Frédéric Delanoy wrote:
> Hi folks,
> 
> I'm in the process of writing a couple of cmd tests (on top of master,
> not of my currently pending patches), and I at times have problems
> where none of the tests is actually performed, but the test suite
> still returns without any error indication, e.g.
> 
> batch.c:306: running TEST_BUILTINS.CMD test...
> batch: 7 tests executed (0 marked as todo, 0 failures), 0 skipped.
> 
> which many more tests should be performed
> 
> After checking with "winedbg --gdb" it gets a SIGSEGV
> 
> I tried to reproduce with a mimimal output file and expected file, and
> get weird results. Say you have the following files:
> 
> test_builtins.cmd
> @echo off
> echo should fail
> <empty line>
> 
> and test_builtins.cmd.exp
> dir
> <empty line>
> 
> When I run make testclean && make test in programs/cmd/tests, I get
> the following (first line of .exp file executed somehow...)
> 
> batch.c:215: Test failed: unexpected char 0x73 position 0 in line 1
> (got 'should fail', wanted 'dir')
> batch.c:227: Test failed: too long output, got additional Volume
> Serial Number is 0000-0000
> 
> Directory of Z:\path\to\wine\programs\cmd\tests
> 
>  2/07/2011     20:56  <DIR>         .
>  2/07/2011     14:34  <DIR>         ..
>  2/07/2011      2:34        11,074  batch.c
> <...>
> 
> batch: 14 tests executed (0 marked as todo, 2 failures), 0 skipped.
> 
> If I run "/wine winedbg --gdb programs/cmd/tests/cmd.exe_test.exe.so"
> and run (c)ont, I get a SIGSEGV:
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x7bc481f2 in HEAP_MakeInUseBlockFree (subheap=0x110014,
> pArena=0x1106a8) at heap.c:640
> 640	        size += (pFree->size & ARENA_SIZE_MASK) + sizeof(ARENA_FREE);

If you could run this with 

export WINEDEBUG=+heap

This should show the heap corruption way earlier, but gets a lot of debugoutput.
Redirect to a file, and look for the first instancnes of corruption. Add more debugging
to WINEDEBUG to see where it does fail...

Ciao, Marcus




More information about the wine-devel mailing list