Bug 13171

Summary: Падает при попытке free
Product: [Development] Sisyphus Reporter: Damir Shayhutdinov <damir@altlinux.org>
Component: wxGTK2uAssignee: algor <algor@altlinux.org>
Status: CLOSED FIXED QA Contact: qa-sisyphus@altlinux.org
Severity: critical    
Priority: P2 CC: icesik@altlinux.org, php-coder@altlinux.org, thresh@altlinux.org
Version: unstable   
Hardware: all   
OS: Linux   

Description From 2007-10-20 18:09:20
При попытке запустить VLC с интерфейсом wxwidgets на свежем Сизифе он падает с 
следущими ругательствами:

VLC media player 0.8.6d Janus
*** glibc detected *** vlc: free(): invalid pointer: 0x0000000000a94ac0 ***

valgrind vlc
==10824== Memcheck, a memory error detector.
==10824== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==10824== Using LibVEX rev 1732, a library for dynamic binary translation.
==10824== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==10824== Using valgrind-3.2.3, a dynamic binary instrumentation framework.
==10824== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==10824== For more details, rerun with: -v
VLC media player 0.8.6d Janus
vex amd64->IR: unhandled instruction bytes: 0xF 0xF 0xC0 0x9E
==10824== valgrind: Unrecognised instruction at address 0x4EA62D2.
==10824== Your program just tried to execute an instruction that Valgrind
==10824== did not recognise.  There are two possible reasons for this.
==10824== 1. Your program has a bug and erroneously jumped to a non-code
==10824==    location.  If you are running Memcheck and you just saw a
==10824==    warning about a bad jump, it's probably your program's fault.
==10824== 2. The instruction is legitimate but Valgrind doesn't handle it,
==10824==    i.e. it's Valgrind's fault.  If you think this is the case or
==10824==    you are not sure, please let us know and we'll try to fix it.
==10824== Either way, Valgrind will now raise a SIGILL signal which will
==10824== probably kill your program.
==10824==  Address 0x11B1E268 is 104 bytes inside a block of size 240 free'd
==10824==    at 0x4C1C74B: free (vg_replace_malloc.c:233)
==10824==    by 0x9B2E41B: wxWindow::DoSetSize(int, int, int, int, int) 
(in /usr/lib64/libwx_gtk2u_core-2.6.so.0.4.0)
==10824==    by 0x9BF186E: wxBoxSizer::RecalcSizes() 
(in /usr/lib64/libwx_gtk2u_core-2.6.so.0.4.0)
==10824==    by 0x9BF192A: wxBoxSizer::RecalcSizes() 
(in /usr/lib64/libwx_gtk2u_core-2.6.so.0.4.0)
==10824==    by 0x9C01A0F: wxWindowBase::Layout() 
(in /usr/lib64/libwx_gtk2u_core-2.6.so.0.4.0)
==10824==    by 0x9C21175: wxPanel::OnSize(wxSizeEvent&) 
(in /usr/lib64/libwx_gtk2u_core-2.6.so.0.4.0)
==10824==    by 0x9FDFC5E: 
wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, 
wxEvtHandler*, wxEvent&) (in /usr/lib64/libwx_baseu-2.6.so.0.4.0)
==10824==    by 0x9FDFDFE: wxEventHashTable::HandleEvent(wxEvent&, 
wxEvtHandler*) (in /usr/lib64/libwx_baseu-2.6.so.0.4.0)
==10824==    by 0x9FDFF55: wxEvtHandler::ProcessEvent(wxEvent&) 
(in /usr/lib64/libwx_baseu-2.6.so.0.4.0)
==10824==    by 0x9B2E383: wxWindow::DoSetSize(int, int, int, int, int) 
(in /usr/lib64/libwx_gtk2u_core-2.6.so.0.4.0)
==10824==    by 0x9BF2D5A: wxSizer::Fit(wxWindow*) 
(in /usr/lib64/libwx_gtk2u_core-2.6.so.0.4.0)
==10824==    by 0x9BF2DAC: wxSizer::SetSizeHints(wxWindow*) 
(in /usr/lib64/libwx_gtk2u_core-2.6.so.0.4.0)
------- Comment #1 From 2007-10-20 18:11:03 -------
Под валгриндом в конце концов VLC завершается вот с такими ругательствами:

GLib-ERROR **: file gmain.c: line 2064 (g_main_dispatch): assertion failed: 
(current->source == &current_source_link)
------- Comment #2 From 2007-10-20 18:27:00 -------
Проблема не в VLC, а в wxGTK2u, см.

Мантейнеру: просьба приложить патч

исправляющий эту проблему.
------- Comment #3 From 2007-10-22 14:48:55 -------
wxGTK2u-2.6.4-alt2.src.rpm in incoming