http://bugs.winehq.org/show_bug.cgi?id=29378
Bug #: 29378 Summary: Non-aligned pointer being freed (MacOS) seconds after an app exits Product: Wine Version: 1.3.26 Platform: x86 OS/Version: Mac OS X Status: NEW Severity: normal Priority: P2 Component: wineserver AssignedTo: wine-bugs@winehq.org ReportedBy: hoehle@users.sourceforge.net Classification: Unclassified
On MacOS, I observe random occurrences of malloc: *** error for object 0x402086a0: Non-aligned pointer being freed (2) *** set a breakpoint in malloc_error_break to debug after an app exits.
A message like that has been mentioned in bug #28291, bug #22722 or bug #21655, comment #4 and bug #28039, comment #6. I don't know if the cause is always the same.
I once thought it may be caused by audio but it's not. It currently presents itself as follows: the message appears a few seconds after an app (e.g. winecfg) exits, thus I believe it's in the server (it might be one of the services). Not every call to winecfg terminates with that message.
Using WINEDEBUG=+coreaudio I observed that it can appear after winecfg even when not clicking the audio tab, thus audio is loaded and not the cause.
Setting a breakpoint doesn't help:
macmini$ wine winedbg winecfg WineDbg starting on pid 0024 0x7b852d7b _start_process+0x5b in kernel32: movl %edi,0x4(%esp) Wine-dbg>break malloc_error_break Breakpoint 1 at 0x90d4e4ae malloc_error_break in libsystem.b.dylib Wine-dbg>cont fixme:msg:pack_message msg 14 (WM_ERASEBKGND) not supported yet #... app exits normally Invalid address (0x90d4e4ae malloc_error_break) for breakpoint 1, disabling it Process of pid=0024 has terminated #... app exited normally. Waiting a few seconds before typing: Wine-dbg>cont No process loaded, cannot execute 'cont' #... still no message Wine-dbg>quit macmini$ #... a few seconds later: wine(26283,0x4080c200) malloc: *** error for object 0x402086a0: Non-aligned pointer being freed (2) *** set a breakpoint in malloc_error_break to debug wine(26283,0x4080c200) malloc: *** error for object 0x402085a0: Non-aligned pointer being freed (2) *** set a breakpoint in malloc_error_break to debug