Bug 49755

Summary: Memory Corruption compiled under MinGW
Product: cairo Reporter: marcmicalizzi
Component: win32 backendAssignee: cairo-bugs mailing list <cairo-bugs>
Status: RESOLVED MOVED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: normal    
Priority: medium    
Version: 1.12.2   
Hardware: All   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description marcmicalizzi 2012-05-10 12:47:23 UTC
When having any TreeView with scrolling in it, upon scolling (via mouse or scroll_to_row), the a SIGTRAP is fired with HEAP errors.

Unfortunatly, I can't run valgrind under win32 for better than a gdb backtrace.

An example backtrace from this follows:



warning: HEAP[schedulerpp.exe]:
warning: Heap block at 05BE54D0 modified at 05BE56FC past requested size of 224
 
 
Program received signal SIGTRAP, Trace/breakpoint trap.
0x77590725 in ntdll!TpWaitForAlpcCompletion () from C:\Windows\system32\ntdll.dll
(gdb) bt 100
#0  0x77590725 in ntdll!TpWaitForAlpcCompletion () from C:\Windows\system32\ntdll.dll
#1  0x0028ca70 in ?? ()
#2  0x77575582 in ntdll!RtlFillMemoryUlong () from C:\Windows\system32\ntdll.dll
#3  0x05be54d0 in ?? ()
#4  0x7755292a in ntdll!RtlSetCurrentTransaction () from C:\Windows\system32\ntdll.dll
#5  0x00000000 in ?? ()
(gdb) c
Continuing.
warning: HEAP[schedulerpp.exe]:
warning: Invalid address specified to RtlFreeHeap( 03790000, 05BE54D8 )
 
 
Program received signal SIGTRAP, Trace/breakpoint trap.
0x77590725 in ntdll!TpWaitForAlpcCompletion () from C:\Windows\system32\ntdll.dll
(gdb) bt 100
#0  0x77590725 in ntdll!TpWaitForAlpcCompletion () from C:\Windows\system32\ntdll.dll
#1  0x0028ca90 in ?? ()
#2  0x7755295a in ntdll!RtlSelfRelativeToAbsoluteSD2 () from C:\Windows\system32\ntdll.dll
#3  0x05be54d0 in ?? ()
#4  0x7759177f in ntdll!TpQueryPoolStackInformation () from C:\Windows\system32\ntdll.dll
#5  0x03790000 in ?? ()
#6  0x7754a967 in ntdll!RtlReAllocateHeap () from C:\Windows\system32\ntdll.dll
#7  0x03790000 in ?? ()
#8  0x774f2c02 in ntdll!RtlEncodePointer () from C:\Windows\system32\ntdll.dll
#9  0x05be54d0 in ?? ()
#10 0x75e598cd in msvcrt!free () from C:\Windows\syswow64\msvcrt.dll
#11 0x03790000 in ?? ()
#12 0x68dd7d36 in _cairo_damage_destroy () from D:\MinGW\bin\libcairo-2.dll
#13 0x68e552d8 in _cairo_win32_display_surface_flush () from D:\MinGW\bin\libcairo-2.dll
#14 0x68e2330e in cairo_surface_flush () from D:\MinGW\bin\libcairo-2.dll
#15 0x68e2ae48 in _cairo_surface_subsurface_flush () from D:\MinGW\bin\libcairo-2.dll
#16 0x68e2330e in cairo_surface_flush () from D:\MinGW\bin\libcairo-2.dll
#17 0x68e22c45 in _cairo_surface_finish () from D:\MinGW\bin\libcairo-2.dll
#18 0x68e22b34 in cairo_surface_destroy () from D:\MinGW\bin\libcairo-2.dll
#19 0x0307811d in gdk_window_end_paint () from D:\MinGW\bin\libgdk-3-0.dll
#20 0x032a11d2 in gtk_main_do_event () from D:\MinGW\bin\libgtk-3-0.dll
#21 0x0306b396 in _gdk_event_emit () from D:\MinGW\bin\libgdk-3-0.dll
#22 0x03079239 in _gdk_window_process_updates_recurse () from D:\MinGW\bin\libgdk-3-0.dll
#23 0x0307935a in _gdk_window_process_updates_recurse () from D:\MinGW\bin\libgdk-3-0.dll
#24 0x0307935a in _gdk_window_process_updates_recurse () from D:\MinGW\bin\libgdk-3-0.dll
#25 0x0307935a in _gdk_window_process_updates_recurse () from D:\MinGW\bin\libgdk-3-0.dll
#26 0x030a03b3 in gdk_win32_window_process_updates_recurse () from D:\MinGW\bin\libgdk-3-0.dll
#27 0x030795c0 in gdk_window_process_updates_internal () from D:\MinGW\bin\libgdk-3-0.dll
#28 0x03079821 in gdk_window_process_all_updates () from D:\MinGW\bin\libgdk-3-0.dll
#29 0x031fe8a4 in gtk_container_idle_sizer () from D:\MinGW\bin\libgtk-3-0.dll
#30 0x030616d2 in gdk_threads_dispatch () from D:\MinGW\bin\libgdk-3-0.dll
#31 0x685f9f06 in g_idle_dispatch () from D:\MinGW\bin\libglib-2.0-0.dll
#32 0x685f7d71 in g_main_dispatch () from D:\MinGW\bin\libglib-2.0-0.dll
#33 0x685f8885 in g_main_context_dispatch () from D:\MinGW\bin\libglib-2.0-0.dll
#34 0x685f8a60 in g_main_context_iterate () from D:\MinGW\bin\libglib-2.0-0.dll
#35 0x685f8e4a in g_main_loop_run () from D:\MinGW\bin\libglib-2.0-0.dll
#36 0x032a0b62 in gtk_main () from D:\MinGW\bin\libgtk-3-0.dll
#37 0x63ea214f in Gtk::Main::run_impl() () from D:\MinGW\bin\libgtkmm-3.0-1.dll
#38 0x63ea209f in Gtk::Main::run(Gtk::Window&) () from D:\MinGW\bin\libgtkmm-3.0-1.dll
#39 0x004308b0 in AppSelectWindow::run_fmanage (this=0x28e5e4) at ..\src\Windows\AppSelectWindow.cpp:79
#40 0x004742c2 in sigc::bound_mem_functor0<void, AppSelectWindow>::operator() (this=0x5b53784) at D:/MinGW/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
#41 0x004739d8 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, AppSelectWindow> >::operator() (this=0x5b53780)
    at D:/MinGW/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#42 0x0046aec6 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, AppSelectWindow>, void>::call_it (rep=0x5b53768)
    at D:/MinGW/include/sigc++-2.0/sigc++/functors/slot.h:103
#43 0x664e23ce in sigc::slot0<void>::operator()() const () from D:\MinGW\bin\libglibmm-2.4-1.dll
#44 0x664d70e5 in Glib::SignalProxyNormal::slot0_void_callback(_GObject*, void*) () from D:\MinGW\bin\libglibmm-2.4-1.dll
#45 0x63a48743 in g_cclosure_marshal_VOID__VOID () from D:\MinGW\bin\libgobject-2.0-0.dll
#46 0x63a4611c in g_closure_invoke () from D:\MinGW\bin\libgobject-2.0-0.dll
#47 0x63a5d545 in signal_emit_unlocked_R () from D:\MinGW\bin\libgobject-2.0-0.dll
#48 0x63a5c9f8 in g_signal_emit_valist () from D:\MinGW\bin\libgobject-2.0-0.dll
#49 0x63a5cce1 in g_signal_emit () from D:\MinGW\bin\libgobject-2.0-0.dll
#50 0x031bb72a in gtk_button_clicked () from D:\MinGW\bin\libgtk-3-0.dll
#51 0x031bca1a in gtk_real_button_released () from D:\MinGW\bin\libgtk-3-0.dll
#52 0x63e58ed0 in Gtk::Button_Class::released_callback(_GtkButton*) () from D:\MinGW\bin\libgtkmm-3.0-1.dll
#53 0x63a487ab in g_cclosure_marshal_VOID__VOIDv () from D:\MinGW\bin\libgobject-2.0-0.dll
#54 0x63a46715 in g_type_class_meta_marshalv () from D:\MinGW\bin\libgobject-2.0-0.dll
#55 0x63a4635a in _g_closure_invoke_va () from D:\MinGW\bin\libgobject-2.0-0.dll
#56 0x63a5c333 in g_signal_emit_valist () from D:\MinGW\bin\libgobject-2.0-0.dll
#57 0x63a5cce1 in g_signal_emit () from D:\MinGW\bin\libgobject-2.0-0.dll
#58 0x031bc61f in gtk_button_button_release () from D:\MinGW\bin\libgtk-3-0.dll
#59 0x63f0ea01 in Gtk::Widget_Class::button_release_event_callback(_GtkWidget*, _GdkEventButton*) () from D:\MinGW\bin\libgtkmm-3.0-1.dll
#60 0x032a2944 in _gtk_marshal_BOOLEAN__BOXEDv () from D:\MinGW\bin\libgtk-3-0.dll
#61 0x63a46715 in g_type_class_meta_marshalv () from D:\MinGW\bin\libgobject-2.0-0.dll
#62 0x63a4635a in _g_closure_invoke_va () from D:\MinGW\bin\libgobject-2.0-0.dll
#63 0x63a5c333 in g_signal_emit_valist () from D:\MinGW\bin\libgobject-2.0-0.dll
#64 0x63a5cce1 in g_signal_emit () from D:\MinGW\bin\libgobject-2.0-0.dll
#65 0x0340826a in gtk_widget_event_internal () from D:\MinGW\bin\libgtk-3-0.dll
#66 0x03407981 in gtk_widget_event () from D:\MinGW\bin\libgtk-3-0.dll
#67 0x032a23c7 in propagate_event_up () from D:\MinGW\bin\libgtk-3-0.dll
#68 0x032a26b3 in propagate_event () from D:\MinGW\bin\libgtk-3-0.dll
#69 0x032a2776 in gtk_propagate_event () from D:\MinGW\bin\libgtk-3-0.dll
#70 0x032a14ac in gtk_main_do_event () from D:\MinGW\bin\libgtk-3-0.dll
#71 0x0306b396 in _gdk_event_emit () from D:\MinGW\bin\libgdk-3-0.dll
#72 0x030938fe in gdk_event_dispatch () from D:\MinGW\bin\libgdk-3-0.dll
#73 0x685f7d71 in g_main_dispatch () from D:\MinGW\bin\libglib-2.0-0.dll
#74 0x685f8885 in g_main_context_dispatch () from D:\MinGW\bin\libglib-2.0-0.dll
#75 0x685f8a60 in g_main_context_iterate () from D:\MinGW\bin\libglib-2.0-0.dll
#76 0x685f8e4a in g_main_loop_run () from D:\MinGW\bin\libglib-2.0-0.dll
#77 0x032a0b62 in gtk_main () from D:\MinGW\bin\libgtk-3-0.dll
#78 0x63ea214f in Gtk::Main::run_impl() () from D:\MinGW\bin\libgtkmm-3.0-1.dll
#79 0x63ea209f in Gtk::Main::run(Gtk::Window&) () from D:\MinGW\bin\libgtkmm-3.0-1.dll
#80 0x0040db67 in LoginWindow::login (this=0x28f89c) at ..\src\Windows\LoginWindow.cpp:69
#81 0x004740fa in sigc::bound_mem_functor0<void, LoginWindow>::operator() (this=0x5b2b5cc) at D:/MinGW/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
#82 0x00473948 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, LoginWindow> >::operator() (this=0x5b2b5c8)
    at D:/MinGW/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#83 0x0046add6 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, LoginWindow>, void>::call_it (rep=0x5b2b5b0)
    at D:/MinGW/include/sigc++-2.0/sigc++/functors/slot.h:103
#84 0x664e23ce in sigc::slot0<void>::operator()() const () from D:\MinGW\bin\libglibmm-2.4-1.dll
#85 0x664d70e5 in Glib::SignalProxyNormal::slot0_void_callback(_GObject*, void*) () from D:\MinGW\bin\libglibmm-2.4-1.dll
#86 0x63a48743 in g_cclosure_marshal_VOID__VOID () from D:\MinGW\bin\libgobject-2.0-0.dll
#87 0x63a4611c in g_closure_invoke () from D:\MinGW\bin\libgobject-2.0-0.dll
#88 0x63a5d545 in signal_emit_unlocked_R () from D:\MinGW\bin\libgobject-2.0-0.dll
#89 0x63a5be78 in g_signal_emitv () from D:\MinGW\bin\libgobject-2.0-0.dll
#90 0x031abb68 in gtk_binding_entry_activate () from D:\MinGW\bin\libgtk-3-0.dll
#91 0x031ad07c in binding_activate () from D:\MinGW\bin\libgtk-3-0.dll
#92 0x031ad1dc in gtk_bindings_activate_list () from D:\MinGW\bin\libgtk-3-0.dll
#93 0x031ad40d in gtk_bindings_activate_event () from D:\MinGW\bin\libgtk-3-0.dll
#94 0x034075de in gtk_widget_real_key_press_event () from D:\MinGW\bin\libgtk-3-0.dll
#95 0x032215f9 in gtk_entry_key_press () from D:\MinGW\bin\libgtk-3-0.dll
#96 0x63f0ef0b in Gtk::Widget_Class::key_press_event_callback(_GtkWidget*, _GdkEventKey*) () from D:\MinGW\bin\libgtkmm-3.0-1.dll
#97 0x032a2944 in _gtk_marshal_BOOLEAN__BOXEDv () from D:\MinGW\bin\libgtk-3-0.dll
#98 0x63a46715 in g_type_class_meta_marshalv () from D:\MinGW\bin\libgobject-2.0-0.dll
#99 0x63a4635a in _g_closure_invoke_va () from D:\MinGW\bin\libgobject-2.0-0.dll
(More stack frames follow...)
(gdb)
Comment 1 marcmicalizzi 2012-05-10 12:49:21 UTC
The issue disappears when loading the precompiled 1.10.2 binaries from gtk.org for libcairo-2.dll, libcairo-gobject-2.dll and libcairo-script-interpreter-2.dll
Comment 3 marcmicalizzi 2012-05-14 09:41:14 UTC
make[4]: Entering directory `/cairo-latest/cairo/util/cairo-missing'
  CC     strndup.lo
In file included from strndup.c:31:0:
cairo-missing.h:45:17: error: conflicting types for 'ssize_t'
d:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/sys/types.h:118:18: note: previous declaration of 'ssize_t' was here

from types.h:
--
#ifndef _SSIZE_T_
#define _SSIZE_T_
typedef int _ssize_t;
--

after modifying the line in cairo-missing.h to reflect, compile completed (this also occurs with 1.12.2 release).

The memory corruption does not appear to be fixed, the gdb results are as follows:

warning: HEAP[schedulerpp.exe]:
warning: Heap block at 05AE3180 modified at 05AE33AC past requested size of 224


Program received signal SIGTRAP, Trace/breakpoint trap.
0x77590725 in ntdll!TpWaitForAlpcCompletion () from C:\Windows\system32\ntdll.dll
(gdb) bt
#0  0x77590725 in ntdll!TpWaitForAlpcCompletion () from C:\Windows\system32\ntdll.dll
#1  0x0028cb00 in ?? ()
#2  0x77575582 in ntdll!RtlFillMemoryUlong () from C:\Windows\system32\ntdll.dll
#3  0x05ae3180 in ?? ()
#4  0x7755292a in ntdll!RtlSetCurrentTransaction () from C:\Windows\system32\ntdll.dll
#5  0x00000000 in ?? ()
(gdb) c
Continuing.
warning: HEAP[schedulerpp.exe]:
warning: Invalid address specified to RtlFreeHeap( 03030000, 05AE3188 )


Program received signal SIGTRAP, Trace/breakpoint trap.
0x77590725 in ntdll!TpWaitForAlpcCompletion () from C:\Windows\system32\ntdll.dll
(gdb) bt
#0  0x77590725 in ntdll!TpWaitForAlpcCompletion () from C:\Windows\system32\ntdll.dll
#1  0x0028cb20 in ?? ()
#2  0x7755295a in ntdll!RtlSelfRelativeToAbsoluteSD2 () from C:\Windows\system32\ntdll.dll
#3  0x05ae3180 in ?? ()
#4  0x7759177f in ntdll!TpQueryPoolStackInformation () from C:\Windows\system32\ntdll.dll
#5  0x03030000 in ?? ()
#6  0x7754a967 in ntdll!RtlReAllocateHeap () from C:\Windows\system32\ntdll.dll
#7  0x03030000 in ?? ()
#8  0x774f2c02 in ntdll!RtlEncodePointer () from C:\Windows\system32\ntdll.dll
#9  0x05ae3180 in ?? ()
#10 0x75e598cd in msvcrt!free () from C:\Windows\syswow64\msvcrt.dll
#11 0x03030000 in ?? ()
#12 0x68e35f9d in _cairo_win32_display_surface_flush (abstract_surface=0x5ade5b8) at win32/cairo-win32-display-surface.c:558
#13 0x68e1013c in cairo_surface_flush (surface=0x5ade5b8) at cairo-surface.c:1411
#14 cairo_surface_flush (surface=0x5ade5b8) at cairo-surface.c:1396
#15 0x68e165fa in _cairo_surface_subsurface_flush (abstract_surface=0x5aeb730) at cairo-surface-subsurface.c:237
#16 0x68e1013c in cairo_surface_flush (surface=0x5aeb730) at cairo-surface.c:1411
#17 cairo_surface_flush (surface=0x5aeb730) at cairo-surface.c:1396
#18 0x68e10176 in _cairo_surface_finish_snapshots (surface=0x5aeb730) at cairo-surface.c:912
#19 0x68e1023f in cairo_surface_destroy (surface=0x5aeb730) at cairo-surface.c:860
#20 cairo_surface_destroy (surface=0x5aeb730) at cairo-surface.c:846
#21 0x0033811d in gdk_window_end_paint () from D:\MinGW\bin\libgdk-3-0.dll
#22 0x035211d2 in gtk_main_do_event () from D:\MinGW\bin\libgtk-3-0.dll
#23 0x0032b396 in _gdk_event_emit () from D:\MinGW\bin\libgdk-3-0.dll
#24 0x00339239 in _gdk_window_process_updates_recurse () from D:\MinGW\bin\libgdk-3-0.dll
#25 0x0033935a in _gdk_window_process_updates_recurse () from D:\MinGW\bin\libgdk-3-0.dll
#26 0x0033935a in _gdk_window_process_updates_recurse () from D:\MinGW\bin\libgdk-3-0.dll
#27 0x0033935a in _gdk_window_process_updates_recurse () from D:\MinGW\bin\libgdk-3-0.dll
#28 0x003603b3 in gdk_win32_window_process_updates_recurse () from D:\MinGW\bin\libgdk-3-0.dll
#29 0x003395c0 in gdk_window_process_updates_internal () from D:\MinGW\bin\libgdk-3-0.dll
#30 0x00339821 in gdk_window_process_all_updates () from D:\MinGW\bin\libgdk-3-0.dll
#31 0x0347e8a4 in gtk_container_idle_sizer () from D:\MinGW\bin\libgtk-3-0.dll
#32 0x003216d2 in gdk_threads_dispatch () from D:\MinGW\bin\libgdk-3-0.dll
#33 0x685f9f06 in g_idle_dispatch () from D:\MinGW\bin\libglib-2.0-0.dll
#34 0x685f7d71 in g_main_dispatch () from D:\MinGW\bin\libglib-2.0-0.dll
#35 0x685f8885 in g_main_context_dispatch () from D:\MinGW\bin\libglib-2.0-0.dll
#36 0x685f8a60 in g_main_context_iterate () from D:\MinGW\bin\libglib-2.0-0.dll
#37 0x685f8e4a in g_main_loop_run () from D:\MinGW\bin\libglib-2.0-0.dll
#38 0x03520b62 in gtk_main () from D:\MinGW\bin\libgtk-3-0.dll
#39 0x63ea214f in Gtk::Main::run_impl() () from D:\MinGW\bin\libgtkmm-3.0-1.dll
#40 0x63ea209f in Gtk::Main::run(Gtk::Window&) () from D:\MinGW\bin\libgtkmm-3.0-1.dll
#41 0x0042c83c in AppSelectWindow::run_fmanage (this=0x28e5e4) at ..\src\Windows\AppSelectWindow.cpp:78
#42 0x00470892 in sigc::bound_mem_functor0<void, AppSelectWindow>::operator() (this=0x5a51bcc) at D:/MinGW/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
#43 0x0046ffa8 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, AppSelectWindow> >::operator() (this=0x5a51bc8)
    at D:/MinGW/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#44 0x00467496 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, AppSelectWindow>, void>::call_it (rep=0x5a51bb0)
    at D:/MinGW/include/sigc++-2.0/sigc++/functors/slot.h:103
#45 0x664e23ce in sigc::slot0<void>::operator()() const () from D:\MinGW\bin\libglibmm-2.4-1.dll
#46 0x664d70e5 in Glib::SignalProxyNormal::slot0_void_callback(_GObject*, void*) () from D:\MinGW\bin\libglibmm-2.4-1.dll
#47 0x63a48743 in g_cclosure_marshal_VOID__VOID () from D:\MinGW\bin\libgobject-2.0-0.dll
#48 0x63a4611c in g_closure_invoke () from D:\MinGW\bin\libgobject-2.0-0.dll
#49 0x63a5d545 in signal_emit_unlocked_R () from D:\MinGW\bin\libgobject-2.0-0.dll
#50 0x63a5c9f8 in g_signal_emit_valist () from D:\MinGW\bin\libgobject-2.0-0.dll
#51 0x63a5cce1 in g_signal_emit () from D:\MinGW\bin\libgobject-2.0-0.dll
#52 0x0343b72a in gtk_button_clicked () from D:\MinGW\bin\libgtk-3-0.dll
#53 0x0343ca1a in gtk_real_button_released () from D:\MinGW\bin\libgtk-3-0.dll
#54 0x63e58ed0 in Gtk::Button_Class::released_callback(_GtkButton*) () from D:\MinGW\bin\libgtkmm-3.0-1.dll
#55 0x63a487ab in g_cclosure_marshal_VOID__VOIDv () from D:\MinGW\bin\libgobject-2.0-0.dll
#56 0x63a46715 in g_type_class_meta_marshalv () from D:\MinGW\bin\libgobject-2.0-0.dll
#57 0x63a4635a in _g_closure_invoke_va () from D:\MinGW\bin\libgobject-2.0-0.dll
#58 0x63a5c333 in g_signal_emit_valist () from D:\MinGW\bin\libgobject-2.0-0.dll
#59 0x63a5cce1 in g_signal_emit () from D:\MinGW\bin\libgobject-2.0-0.dll
#60 0x0343c61f in gtk_button_button_release () from D:\MinGW\bin\libgtk-3-0.dll
#61 0x63f0ea01 in Gtk::Widget_Class::button_release_event_callback(_GtkWidget*, _GdkEventButton*) () from D:\MinGW\bin\libgtkmm-3.0-1.dll
#62 0x03522944 in _gtk_marshal_BOOLEAN__BOXEDv () from D:\MinGW\bin\libgtk-3-0.dll
#63 0x63a46715 in g_type_class_meta_marshalv () from D:\MinGW\bin\libgobject-2.0-0.dll
#64 0x63a4635a in _g_closure_invoke_va () from D:\MinGW\bin\libgobject-2.0-0.dll
#65 0x63a5c333 in g_signal_emit_valist () from D:\MinGW\bin\libgobject-2.0-0.dll
#66 0x63a5cce1 in g_signal_emit () from D:\MinGW\bin\libgobject-2.0-0.dll
#67 0x0368826a in gtk_widget_event_internal () from D:\MinGW\bin\libgtk-3-0.dll
#68 0x03687981 in gtk_widget_event () from D:\MinGW\bin\libgtk-3-0.dll
#69 0x035223c7 in propagate_event_up () from D:\MinGW\bin\libgtk-3-0.dll
#70 0x035226b3 in propagate_event () from D:\MinGW\bin\libgtk-3-0.dll
#71 0x03522776 in gtk_propagate_event () from D:\MinGW\bin\libgtk-3-0.dll
#72 0x035214ac in gtk_main_do_event () from D:\MinGW\bin\libgtk-3-0.dll
#73 0x0032b396 in _gdk_event_emit () from D:\MinGW\bin\libgdk-3-0.dll
#74 0x003538fe in gdk_event_dispatch () from D:\MinGW\bin\libgdk-3-0.dll
#75 0x685f7d71 in g_main_dispatch () from D:\MinGW\bin\libglib-2.0-0.dll
#76 0x685f8885 in g_main_context_dispatch () from D:\MinGW\bin\libglib-2.0-0.dll
#77 0x685f8a60 in g_main_context_iterate () from D:\MinGW\bin\libglib-2.0-0.dll
#78 0x685f8e4a in g_main_loop_run () from D:\MinGW\bin\libglib-2.0-0.dll
#79 0x03520b62 in gtk_main () from D:\MinGW\bin\libgtk-3-0.dll
#80 0x63ea214f in Gtk::Main::run_impl() () from D:\MinGW\bin\libgtkmm-3.0-1.dll
#81 0x63ea209f in Gtk::Main::run(Gtk::Window&) () from D:\MinGW\bin\libgtkmm-3.0-1.dll
#82 0x0040dc5f in LoginWindow::login (this=0x28f898) at ..\src\Windows\LoginWindow.cpp:72
#83 0x004706ca in sigc::bound_mem_functor0<void, LoginWindow>::operator() (this=0x5a41b9c) at D:/MinGW/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
#84 0x0046ff18 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, LoginWindow> >::operator() (this=0x5a41b98)
    at D:/MinGW/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#85 0x004673a6 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, LoginWindow>, void>::call_it (rep=0x5a41b80)
    at D:/MinGW/include/sigc++-2.0/sigc++/functors/slot.h:103
#86 0x664e23ce in sigc::slot0<void>::operator()() const () from D:\MinGW\bin\libglibmm-2.4-1.dll
#87 0x664d70e5 in Glib::SignalProxyNormal::slot0_void_callback(_GObject*, void*) () from D:\MinGW\bin\libglibmm-2.4-1.dll
#88 0x63a48743 in g_cclosure_marshal_VOID__VOID () from D:\MinGW\bin\libgobject-2.0-0.dll
#89 0x63a4611c in g_closure_invoke () from D:\MinGW\bin\libgobject-2.0-0.dll
#90 0x63a5d545 in signal_emit_unlocked_R () from D:\MinGW\bin\libgobject-2.0-0.dll
#91 0x63a5be78 in g_signal_emitv () from D:\MinGW\bin\libgobject-2.0-0.dll
#92 0x0342bb68 in gtk_binding_entry_activate () from D:\MinGW\bin\libgtk-3-0.dll
#93 0x0342d07c in binding_activate () from D:\MinGW\bin\libgtk-3-0.dll
#94 0x0342d1dc in gtk_bindings_activate_list () from D:\MinGW\bin\libgtk-3-0.dll
#95 0x0342d40d in gtk_bindings_activate_event () from D:\MinGW\bin\libgtk-3-0.dll
#96 0x036875de in gtk_widget_real_key_press_event () from D:\MinGW\bin\libgtk-3-0.dll
#97 0x034a15f9 in gtk_entry_key_press () from D:\MinGW\bin\libgtk-3-0.dll
#98 0x63f0ef0b in Gtk::Widget_Class::key_press_event_callback(_GtkWidget*, _GdkEventKey*) () from D:\MinGW\bin\libgtkmm-3.0-1.dll
#99 0x03522944 in _gtk_marshal_BOOLEAN__BOXEDv () from D:\MinGW\bin\libgtk-3-0.dll
#100 0x63a46715 in g_type_class_meta_marshalv () from D:\MinGW\bin\libgobject-2.0-0.dll
#101 0x63a4635a in _g_closure_invoke_va () from D:\MinGW\bin\libgobject-2.0-0.dll
#102 0x63a5c333 in g_signal_emit_valist () from D:\MinGW\bin\libgobject-2.0-0.dll
#103 0x63a5cce1 in g_signal_emit () from D:\MinGW\bin\libgobject-2.0-0.dll
#104 0x0368826a in gtk_widget_event_internal () from D:\MinGW\bin\libgtk-3-0.dll
#105 0x03687981 in gtk_widget_event () from D:\MinGW\bin\libgtk-3-0.dll
#106 0x036a0b20 in gtk_window_propagate_key_event () from D:\MinGW\bin\libgtk-3-0.dll
#107 0x036a0bd3 in gtk_window_key_press_event () from D:\MinGW\bin\libgtk-3-0.dll
#108 0x63f15c2d in Gtk::Widget::on_key_press_event(_GdkEventKey*) () from D:\MinGW\bin\libgtkmm-3.0-1.dll
#109 0x63f0eecb in Gtk::Widget_Class::key_press_event_callback(_GtkWidget*, _GdkEventKey*) () from D:\MinGW\bin\libgtkmm-3.0-1.dll
#110 0x03522944 in _gtk_marshal_BOOLEAN__BOXEDv () from D:\MinGW\bin\libgtk-3-0.dll
#111 0x63a46715 in g_type_class_meta_marshalv () from D:\MinGW\bin\libgobject-2.0-0.dll
#112 0x63a4635a in _g_closure_invoke_va () from D:\MinGW\bin\libgobject-2.0-0.dll
#113 0x63a5c333 in g_signal_emit_valist () from D:\MinGW\bin\libgobject-2.0-0.dll
#114 0x63a5cce1 in g_signal_emit () from D:\MinGW\bin\libgobject-2.0-0.dll
#115 0x0368826a in gtk_widget_event_internal () from D:\MinGW\bin\libgtk-3-0.dll
#116 0x03687981 in gtk_widget_event () from D:\MinGW\bin\libgtk-3-0.dll
#117 0x03522666 in propagate_event () from D:\MinGW\bin\libgtk-3-0.dll
#118 0x03522776 in gtk_propagate_event () from D:\MinGW\bin\libgtk-3-0.dll
#119 0x035214ac in gtk_main_do_event () from D:\MinGW\bin\libgtk-3-0.dll
#120 0x0032b396 in _gdk_event_emit () from D:\MinGW\bin\libgdk-3-0.dll
#121 0x003538fe in gdk_event_dispatch () from D:\MinGW\bin\libgdk-3-0.dll
#122 0x685f7d71 in g_main_dispatch () from D:\MinGW\bin\libglib-2.0-0.dll
#123 0x685f8885 in g_main_context_dispatch () from D:\MinGW\bin\libglib-2.0-0.dll
#124 0x685f8a60 in g_main_context_iterate () from D:\MinGW\bin\libglib-2.0-0.dll
#125 0x685f8e4a in g_main_loop_run () from D:\MinGW\bin\libglib-2.0-0.dll
#126 0x03520b62 in gtk_main () from D:\MinGW\bin\libgtk-3-0.dll
#127 0x63ea214f in Gtk::Main::run_impl() () from D:\MinGW\bin\libgtkmm-3.0-1.dll
#128 0x63ea209f in Gtk::Main::run(Gtk::Window&) () from D:\MinGW\bin\libgtkmm-3.0-1.dll
#129 0x00401c73 in _fu98___ZSt3cin () at ..\src\schedulerpp.cpp:77
(gdb)
Comment 4 marcmicalizzi 2012-05-14 09:44:38 UTC
Also using bt full, the following locals are available, incase that helps

#12 0x68e35f9d in _cairo_win32_display_surface_flush (abstract_surface=0x5ade5b8) at win32/cairo-win32-display-surface.c:558
        fallback = 0x5ae27c0
        damage = 0x3030000
        surface = 0x5ade5b8
        status = <optimized out>
        __FUNCTION__.23054 = "_cairo_win32_display_surface_flush"
#13 0x68e1013c in cairo_surface_flush (surface=0x5ade5b8) at cairo-surface.c:1411
        status = <optimized out>
#14 cairo_surface_flush (surface=0x5ade5b8) at cairo-surface.c:1396
No locals.
#15 0x68e165fa in _cairo_surface_subsurface_flush (abstract_surface=0x5aeb730) at cairo-surface-subsurface.c:237
        surface = 0x5aeb730
#16 0x68e1013c in cairo_surface_flush (surface=0x5aeb730) at cairo-surface.c:1411
        status = <optimized out>
Comment 5 John Lindgren 2012-08-05 12:54:06 UTC
I am also affected by this (Audacious on Windows crashes on startup with Cairo 1.12.2 but has no problems with 1.10.2); I am running a Git bisect to find the commit that caused this regression.
Comment 6 John Lindgren 2012-08-08 05:11:00 UTC
Git bisect shows that there was no problem until commit 2f020c4ade1d26a01605cd908bdaa983e7fe1106, when Cairo would no longer compile under Win32.  93 commits later, with commit bbacfc4e836ab09896b0ca3da9d90b582e35748c, Cairo could be compiled again but would crash (as the commit message indicates).  Obviously I haven't tested every single revision after this, but it seems as though Cairo has not worked correctly on Win32 since then.
Comment 7 John Lindgren 2013-09-15 07:02:23 UTC
For me this is fixed by commit fb8881e84bb2 (bug #63787).
Comment 8 Uli Schlachter 2013-09-15 10:32:36 UTC
marcmicalizzi: Does that commit also fix this problem for you?
Comment 9 GitLab Migration User 2018-08-25 13:35:46 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/cairo/cairo/issues/88.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.