Bug 157891
| Summary: | [GTK] Scrollbars plague console output with "g_object_unref: assertion 'object->ref_count > 0' failed" warnings with GTK < 3.20 | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Jiří Janoušek <janousek.jiri> |
| Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED WONTFIX | ||
| Severity: | Normal | CC: | bugs-noreply, cgarcia, mcatanzaro |
| Priority: | P3 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | PC | ||
| OS: | Linux | ||
Jiří Janoušek
Hello, I'm backporting WebKitGTK+ 2.12.2 to Debian Jessie and Ubuntu 14.04 for users of my webkitgtk-based app. It compiles fine, but hovering over scrollbars really plagues console output with "g_object_unref: assertion 'object->ref_count > 0' failed" warnings with GTK+ 3.14.5 and 3.10.8 respectively. Looking at the code of Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp, this bug probably occurs in a code branch specific to GTK+ < 3.20.
# Aborted by a custom log handler (a similar effect as G_DEBUG=fatal-criticals)
#0 0x00007f7592dda067 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007f7592ddb448 in __GI_abort () at abort.c:89
#2 0x00007f75339c3bd0 in diorite_logger_log_handler (message=0x7f7595e7aca0 "g_object_unref: assertion 'object->ref_count > 0' failed", level=<optimized out>, domain=<optimized out>) at src/glib/logger.c:510
#3 _diorite_logger_log_handler_glog_func (log_domain=log_domain@entry=0x7f75902fc856 "GLib-GObject", log_levels=log_levels@entry=G_LOG_LEVEL_CRITICAL,
message=message@entry=0x7f7595e7aca0 "g_object_unref: assertion 'object->ref_count > 0' failed", self=self@entry=0x0) at src/glib/logger.c:135
#4 0x00007f7590003d01 in g_logv (log_domain=0x7f75902fc856 "GLib-GObject", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7ffdd3171af0) at /build/glib2.0-y6934K/glib2.0-2.42.1/./glib/gmessages.c:1020
#5 0x00007f7590003f6f in g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at /build/glib2.0-y6934K/glib2.0-2.42.1/./glib/gmessages.c:1079
#6 0x00007f75902ec494 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffdd3171d20) at /build/glib2.0-y6934K/glib2.0-2.42.1/./gobject/gsignal.c:3268
#7 0x00007f75902ec9df in g_signal_emit (instance=instance@entry=0x7f7595999270, signal_id=<optimized out>, detail=detail@entry=0) at /build/glib2.0-y6934K/glib2.0-2.42.1/./gobject/gsignal.c:3365
#8 0x00007f759177ab06 in gtk_style_context_do_invalidate (context=0x7f7595999270, changes=0x7f7595dc77e0) at /tmp/buildd/gtk+3.0-3.14.5/./gtk/gtkstylecontext.c:2916
#9 0x00007f759177cf80 in gtk_style_context_invalidate (context=0x7f7595999270) at /tmp/buildd/gtk+3.0-3.14.5/./gtk/gtkstylecontext.c:3170
#10 0x00007f759177e3ac in gtk_style_context_finalize (object=0x7f7595999270) at /tmp/buildd/gtk+3.0-3.14.5/./gtk/gtkstylecontext.c:621
#11 0x00007f75902d726a in g_object_unref (_object=0x7f7595999270) at /build/glib2.0-y6934K/glib2.0-2.42.1/./gobject/gobject.c:3170
#12 0x00007f7594ba362d in derefGPtr<_GtkStyleContext> () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WTF/wtf/glib/GRefPtr.h:251
#13 ~GRefPtr () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WTF/wtf/glib/GRefPtr.h:77
#14 paint () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp:799
#15 0x00007f75940946bb in paint () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WebCore/platform/Scrollbar.cpp:170
#16 0x00007f7594008eb9 in paintScrollbar () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WebCore/page/FrameView.cpp:3790
#17 0x00007f759408e60d in paintScrollbars () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WebCore/platform/ScrollView.cpp:1182
#18 0x00007f7594090a03 in paint () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WebCore/platform/ScrollView.cpp:1252
#19 0x00007f75937e264c in drawRect () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WebKit2/WebProcess/WebPage/WebPage.cpp:1359
#20 0x00007f75938ad339 in display () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:679
#21 0x00007f75938aea22 in display () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:590
#22 0x00007f75938e21ea in callMemberFunctionImpl<WebKit::DrawingArea, void (WebKit::DrawingArea::*)(), std::tuple<> > () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WebKit2/Platform/IPC/HandleMessage.h:16
#23 callMemberFunction<WebKit::DrawingArea, void (WebKit::DrawingArea::*)(), std::tuple<>, std::make_index_sequence<0ul> > () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WebKit2/Platform/IPC/HandleMessage.h:22
#24 handleMessage<Messages::DrawingArea::DidUpdate, WebKit::DrawingArea, void (WebKit::DrawingArea::*)()> () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WebKit2/Platform/IPC/HandleMessage.h:92
#25 didReceiveMessage () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/obj-x86_64-linux-gnu/DerivedSources/WebKit2/DrawingAreaMessageReceiver.cpp:62
#26 0x00007f7593649a53 in dispatchMessage () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WebKit2/Platform/IPC/MessageReceiverMap.cpp:102
#27 0x00007f7593759216 in didReceiveMessage () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WebKit2/WebProcess/WebProcess.cpp:580
#28 0x00007f7593645b46 in dispatchMessage () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WebKit2/Platform/IPC/Connection.cpp:922
#29 0x00007f75936464b0 in dispatchOneMessage () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WebKit2/Platform/IPC/Connection.cpp:953
#30 0x00007f7592bb30d9 in performWork () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WTF/wtf/RunLoop.cpp:105
#31 0x00007f7592bd6e39 in operator() () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WTF/wtf/glib/RunLoopGLib.cpp:66
#32 _FUN () at /home/fenryxo/dev/upstream/pkg-webkit/pkg-webkit/Source/WTF/wtf/glib/RunLoopGLib.cpp:68
#33 0x00007f758fffcb6d in g_main_dispatch (context=0x7f75959aaee0) at /build/glib2.0-y6934K/glib2.0-2.42.1/./glib/gmain.c:3111
#34 g_main_context_dispatch (context=context@entry=0x7f75959aaee0) at /build/glib2.0-y6934K/glib2.0-2.42.1/./glib/gmain.c:3710
#35 0x00007f758fffcf48 in g_main_context_iterate (context=0x7f75959aaee0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-y6934K/glib2.0-2.42.1/./glib/gmain.c:3781
#36 0x00007f758fffd272 in g_main_loop_run (loop=0x7f7595fcbe80) at /build/glib2.0-y6934K/glib2.0-2.42.1/./glib/gmain.c:3975
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Carlos Garcia Campos
This reminds me a gtk bug that was fixed in gtk long time ago, maybe you need to backport it. I'll try to find it.
Carlos Garcia Campos
hmm, I'm not sure but it could be this one, https://bugzilla.gnome.org/show_bug.cgi?id=709491. Could you try that patch?
Jiří Janoušek
I'm sorry but I don't have time to test that GTK+ patch. Also, I'm no longer interested in this bug as I now use Flatpak builds to provide my users with the latest stable WebKitGTK & GTK+ releases. You can close this ticket if you wish.
Michael Catanzaro
OK then.