https://bugs.winehq.org/show_bug.cgi?id=52005
Bug ID: 52005 Summary: wmvcore:wmvcore crashes in Wine on cw-gtx560 Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: wmp&wmvcore Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com Distribution: ---
wmvcore:wmvcore now crashes in Wine on cw-gtx560:
https://test.winehq.org/data/patterns.html#wmvcore:wmvcore
wmvcore.c:603: Test marked todo: Got hr 0x80004001. nouveau: kernel rejected pushbuf: No such device nouveau: ch4: krec 0 pushes 1 bufs 10 relocs 0 nouveau: ch4: buf 00000000 00000002 00000004 00000004 00000000 nouveau: ch4: buf 00000001 00000006 00000004 00000000 00000004 nouveau: ch4: buf 00000002 0000001e 00000004 00000004 00000000 nouveau: ch4: buf 00000003 00000020 00000002 00000000 00000002 nouveau: ch4: buf 00000004 00000021 00000004 00000004 00000000 nouveau: ch4: buf 00000005 0000001f 00000002 00000000 00000002 nouveau: ch4: buf 00000006 00000023 00000004 00000004 00000000 nouveau: ch4: buf 00000007 00000022 00000002 00000000 00000002 nouveau: ch4: buf 00000008 00000025 00000004 00000004 00000000 nouveau: ch4: buf 00000009 00000024 00000002 00000000 00000002 nouveau: ch4: psh 00000000 0000001f44 00000020a4 nouveau: 0x200140c5 nouveau: 0x00000100 nouveau: 0x20054088 nouveau: 0x00000030 nouveau: 0x00000100 nouveau: 0x00000040 nouveau: 0x00000001 nouveau: 0x00000000 nouveau: 0x200240c3 nouveau: 0x00000000 nouveau: 0x01a5c000 nouveau: 0x2002408e nouveau: 0x00000000 nouveau: 0x01a58000 nouveau: 0x200240d3 nouveau: 0x00000000 nouveau: 0x00000000 nouveau: 0x200240c7 nouveau: 0x00000100 nouveau: 0x00000040 nouveau: 0x200140c0 nouveau: 0x00100010 nouveau: 0x200140c5 nouveau: 0x00000100 nouveau: 0x20054088 nouveau: 0x00000030 nouveau: 0x00000100 nouveau: 0x00000040 nouveau: 0x00000001 nouveau: 0x00000000 nouveau: 0x200240c3 nouveau: 0x00000000 nouveau: 0x01a64000 nouveau: 0x2002408e nouveau: 0x00000000 nouveau: 0x01a60000 nouveau: 0x200240d3 nouveau: 0x00000000 nouveau: 0x00000000 nouveau: 0x200240c7 nouveau: 0x00000100 nouveau: 0x00000040 nouveau: 0x200140c0 nouveau: 0x00100010 nouveau: 0x200140c5 nouveau: 0x00000100 nouveau: 0x20054088 nouveau: 0x00000030 nouveau: 0x00000100 nouveau: 0x00000040 nouveau: 0x00000001 nouveau: 0x00000000 nouveau: 0x200240c3 nouveau: 0x00000000 nouveau: 0x01a6c000 nouveau: 0x2002408e nouveau: 0x00000000 nouveau: 0x01a68000 nouveau: 0x200240d3 nouveau: 0x00000000 nouveau: 0x00000000 nouveau: 0x200240c7 nouveau: 0x00000100 nouveau: 0x00000040 nouveau: 0x200140c0 nouveau: 0x00100010 nouveau: 0x200140c5 nouveau: 0x00000100 nouveau: 0x20054088 nouveau: 0x00000030 nouveau: 0x00000100 nouveau: 0x00000040 nouveau: 0x00000001 nouveau: 0x00000000 nouveau: 0x200240c3 nouveau: 0x00000000 nouveau: 0x01a74000 nouveau: 0x2002408e nouveau: 0x00000000 nouveau: 0x01a70000 nouveau: 0x200240d3 nouveau: 0x00000000 nouveau: 0x00000000 nouveau: 0x200240c7 nouveau: 0x00000100 nouveau: 0x00000040 nouveau: 0x200140c0 nouveau: 0x00100010 wmvcore: ../nouveau/pushbuf.c:723: nouveau_pushbuf_data: Assertion `kref' failed. 01b8:trace:seh:dispatch_exception code=80000101 flags=1 addr=F7F8E559 ip=f7f8e559 tid=01b8 01b8:warn:seh:dispatch_exception EXCEPTION_WINE_ASSERTION exception (code=80000101) raised
The crash is clearly related to the nouveau driver, probably because GStreamer uses hardware decoding. This explains why the crash only happens on cw-gtx560 since that's the TestBot's only NVidia machine.
Note also that the crash did not happen before the commit below:
commit 87e4c289e46701c6f582e95c330eefb6fc5ec68a Author: Zebediah Figura zfigura@codeweavers.com Date: Mon Oct 25 18:52:13 2021 -0500
winegstreamer: Implement IWMProfile::GetStreamCount().
Signed-off-by: Zebediah Figura zfigura@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
Unfortunately there is no backtrace but adding traces helps reconstruct a partial call stack:
In test_sync_reader_streaming(): tests/wmvcore.c:605: hr = IWMSyncReader_Close(reader); /* first call */ wm_syncreader.c:64: return wm_reader_close(&reader->reader); wm_reader.c:1508: wg_parser_disconnect(reader->wg_parser);