При попытке запустить 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)
Под валгриндом в конце концов VLC завершается вот с такими ругательствами: GLib-ERROR **: file gmain.c: line 2064 (g_main_dispatch): assertion failed: (current->source == ¤t_source_link) aborting...
Проблема не в 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 исправляющий эту проблему.
wxGTK2u-2.6.4-alt2.src.rpm in incoming