Bug 13171

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

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

vlc
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
==10824==
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 Damir Shayhutdinov 2007-10-20 18:11:03 MSD
Под валгриндом в конце концов VLC завершается вот с такими ругательствами:

GLib-ERROR **: file gmain.c: line 2064 (g_main_dispatch): assertion failed: 
(current->source == &current_source_link)
aborting...
Comment 2 Konstantin Pavlov 2007-10-20 18:27:00 MSD
Проблема не в VLC, а в wxGTK2u, см.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=441766 

Мантейнеру: просьба приложить патч
http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=30;filename=wxwidgets.patch;att=1;bug=441766

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