https://bugs.winehq.org/show_bug.cgi?id=55909
Bug ID: 55909 Summary: wine does not start with free(): invalid pointer Product: Wine Version: 8.20 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: ktmizugaki+wine@gmail.com Distribution: ---
I recently noticed wine does not start properly. I am using wine-stable from winehq repository for debian 11 (bullseye). While wineserver is not running, when I run `wine winecfg`, it prints errors and exits. If I run `wine winecfg` immediately after it, then it starts normaly.
I tested same thing with wine-devel 8.20 and it is reproduced. But with wine-devel, second invocation does not start winecfg. It stuck after saying "starting debugger..." instead.
I only use i386 version of wine and amd64 version is not installed.
https://bugs.winehq.org/show_bug.cgi?id=55909
--- Comment #1 from teru ktmizugaki+wine@gmail.com --- Created attachment 75456 --> https://bugs.winehq.org/attachment.cgi?id=75456 output of terminal when try to start winecfg with wine-stable.
https://bugs.winehq.org/show_bug.cgi?id=55909
--- Comment #2 from teru ktmizugaki+wine@gmail.com --- Created attachment 75457 --> https://bugs.winehq.org/attachment.cgi?id=75457 output of terminal when try to start winecfg with wine-devel.
https://bugs.winehq.org/show_bug.cgi?id=55909
--- Comment #3 from teru ktmizugaki+wine@gmail.com --- Created attachment 75461 --> https://bugs.winehq.org/attachment.cgi?id=75461 grepped traces around "free(): invalid pointer"
It seems like problem exists in `settings_handler.free_modes( modes );` near end of X11DRV_UpdateDisplayDevices() in dlls/winex11.drv/display.c Commenting out this line and wine starts normaly.
I got this by checking relevant code of trace logs near the "free(): invalid pointer" obtained using following command:
``` /opt/wine-devel/bin/wineserver -k WINEDEBUG=+all,+timestamps,+thread,+relay /opt/wine-devel/bin/wine winecfg 2>wine.log grep -B 15 -A 5 'free(): invalid pointer' wine.log ```
https://bugs.winehq.org/show_bug.cgi?id=55909
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #4 from Fabian Maurer dark.shadow4@web.de --- Does the issue still occur with a clean WINEPREFIX?
Also, is this a regression? Since when did this start?
https://bugs.winehq.org/show_bug.cgi?id=55909
--- Comment #5 from teru ktmizugaki+wine@gmail.com ---
Does the issue still occur with a clean WINEPREFIX?
Yes, it occurs with clean WINEPREFIX.
I think I found where "free(): invalid pointer" occurs. It is free() in xf86vm_free_modes in dlls/winex11.drv/xvidmode.c https://source.winehq.org/git/wine.git/blob/wine-8.20:/dlls/winex11.drv/xvid... Commenting out this free() and the "free(): invalid pointer" gone.
It also seems like installing libxrandr2:i386 makes wine start as xvidmode is not used.
https://bugs.winehq.org/show_bug.cgi?id=55909
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|wine does not start with |wine does not start with |free(): invalid pointer |free(): invalid pointer | |when compiling without | |xrandr Ever confirmed|0 |1 Status|UNCONFIRMED |NEW
--- Comment #6 from Fabian Maurer dark.shadow4@web.de --- Alright, thanks. I can reproduce the issue when compiling with "--without-xrandr".
https://bugs.winehq.org/show_bug.cgi?id=55909
--- Comment #7 from Fabian Maurer dark.shadow4@web.de --- Create a MR at https://gitlab.winehq.org/wine/wine/-/merge_requests/4434
https://bugs.winehq.org/show_bug.cgi?id=55909
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |winex11.drv
https://bugs.winehq.org/show_bug.cgi?id=55909
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED Fixed by SHA1| |18522a0594b1dc63880063520ae | |48707738ed346
--- Comment #8 from Fabian Maurer dark.shadow4@web.de --- Fixed by https://gitlab.winehq.org/wine/wine/-/commit/18522a0594b1dc63880063520ae4870...
Thanks for your detailed analysis!
https://bugs.winehq.org/show_bug.cgi?id=55909
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 8.21.