gug-bg-herd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[kazehakase] Мистериозен бъг, свързан с GObject


From: Yavor Doganov
Subject: [kazehakase] Мистериозен бъг, свързан с GObject
Date: Wed, 21 Jul 2010 17:13:39 +0300
User-agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (Gojō) APEL/10.8 Emacs/23.1 (i486-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO)

От известно време (няколко месеца) Kazehakase/0.5.8 ми плющи съвсем
редовно (редовно == няколко пъти на ден), все на почти едно и също
място -- cb_kz_net_start или cb_kz_progress.  KZ_WEB_GET_PRIVATE
понякога връща NULL и това естествено гърми при достъпа до членовете
на структурата.

Струва ми се, че проблемът се е появил при обновяването до новите
версии на GLib или пък GTK+ (KzWeb е базиран на GtkBin), най-вероятно
поради не съвсем правилна употреба на GObject, което лъсва чак сега.
Но колкото и да четох ръководства и да експериментирах, не можах да
разбера какво причинява грешката и как може да се коригира.

Появява се следното предупреждение непосредствено преди да се случи
непоправимото:

(kazehakase:16815): GLib-GObject-WARNING **: attempt to retrieve private data 
for invalid type 'KzWeb'

Не ми е ясно защо е невалиден тип, и защо ако е невалиден не е
невалиден при всяко извикване на функцията...

Идеи, насоки, съвети?

Debian squeeze, GLib 2.24.1, GTK+ 2.20.1, xulrunner 1.9.1.10


Program received signal SIGSEGV, Segmentation fault.
0xb7ef072a in cb_kz_net_start (embed=0x83a21d8, web=0x85e5270) at kz-web.c:397
397         priv->is_loading = TRUE;
(gdb) p priv
$1 = (KzWebPrivate *) 0x0
(gdb) bt
#0  0xb7ef072a in cb_kz_net_start (embed=0x83a21d8, web=0x85e5270)
    at kz-web.c:397
#1  0xb7a0acbc in IA__g_cclosure_marshal_VOID__VOID (closure=0x8b20df0, 
    return_value=0x0, n_param_values=1, param_values=0xb3d4ec0, 
    invocation_hint=0xbfffe3d0, marshal_data=0xb7ef06fe)
    at 
/build/buildd-glib2.0_2.24.1-1-i386-84Pp4V/glib2.0-2.24.1/gobject/gmarshal.c:77
#2  0xb79fd142 in IA__g_closure_invoke (closure=0x8b20df0, return_value=0x0, 
    n_param_values=1, param_values=0xb3d4ec0, invocation_hint=0xbfffe3d0)
    at 
/build/buildd-glib2.0_2.24.1-1-i386-84Pp4V/glib2.0-2.24.1/gobject/gclosure.c:767
#3  0xb7a1362d in signal_emit_unlocked_R (node=<value optimized out>, 
    detail=<value optimized out>, instance=0x83a21d8, emission_return=0x0, 
    instance_and_params=0xb3d4ec0)
    at 
/build/buildd-glib2.0_2.24.1-1-i386-84Pp4V/glib2.0-2.24.1/gobject/gsignal.c:3248
#4  0xb7a14c04 in IA__g_signal_emit_valist (instance=0x83a21d8, signal_id=423, 
    detail=0, var_args=0xbfffe5e8 "\030\020\345\b|\366\242\267h\346`\b")
    at 
/build/buildd-glib2.0_2.24.1-1-i386-84Pp4V/glib2.0-2.24.1/gobject/gsignal.c:2981
#5  0xb7a14ecd in IA__g_signal_emit_by_name (instance=0x83a21d8, 
    detailed_signal=0xb016971c "kz-net-start")
    at 
/build/buildd-glib2.0_2.24.1-1-i386-84Pp4V/glib2.0-2.24.1/gobject/gsignal.c:3075
#6  0xb0135173 in kz_gecko_embed_net_start (embed=0x83a21d8)
    at kz-gecko-embed.cpp:821
#7  0xb7a0acbc in IA__g_cclosure_marshal_VOID__VOID (closure=0x87c9e00, 
    return_value=0x0, n_param_values=1, param_values=0x860e668, 
    invocation_hint=0xbfffe7a0, marshal_data=0xb0135093)
    at 
/build/buildd-glib2.0_2.24.1-1-i386-84Pp4V/glib2.0-2.24.1/gobject/gmarshal.c:77
#8  0xb79fb7a9 in g_type_class_meta_marshal (closure=0x87c9e00, 
    return_value=0x0, n_param_values=1, param_values=0x860e668, 
    invocation_hint=0xbfffe7a0, marshal_data=0x1c0)
    at 
/build/buildd-glib2.0_2.24.1-1-i386-84Pp4V/glib2.0-2.24.1/gobject/gclosure.c:878
#9  0xb79fd142 in IA__g_closure_invoke (closure=0x87c9e00, return_value=0x0, 
    n_param_values=1, param_values=0x860e668, invocation_hint=0xbfffe7a0)
    at 
/build/buildd-glib2.0_2.24.1-1-i386-84Pp4V/glib2.0-2.24.1/gobject/gclosure.c:767
#10 0xb7a12eca in signal_emit_unlocked_R (node=<value optimized out>, 
    detail=<value optimized out>, instance=0x83a21d8, emission_return=0x0, 
    instance_and_params=0x860e668)
    at 
/build/buildd-glib2.0_2.24.1-1-i386-84Pp4V/glib2.0-2.24.1/gobject/gsignal.c:3178
#11 0xb7a14c04 in IA__g_signal_emit_valist (instance=0x83a21d8, signal_id=484, 
    detail=0, var_args=0xbfffe95c "лW\b\240\003\222\267\b\001")
    at 
/build/buildd-glib2.0_2.24.1-1-i386-84Pp4V/glib2.0-2.24.1/gobject/gsignal.c:2981
#12 0xb7a15086 in IA__g_signal_emit (instance=0x83a21d8, signal_id=484, 
    detail=0)
    at 
/build/buildd-glib2.0_2.24.1-1-i386-84Pp4V/glib2.0-2.24.1/gobject/gsignal.c:3038
#13 0xaf64b350 in EmbedProgress::OnStateChange (this=0x857bbd0, 
    aWebProgress=0x8be8134, aRequest=0x9d4cfd4, aStateFlags=983041, aStatus=0)
    at EmbedProgress.cpp:79
#14 0xafc2d20a in nsDocLoader::FireOnStateChange (this=0x8be8120, 
    aProgress=0x8be8134, aRequest=0x9d4cfd4, aStateFlags=983041, aStatus=0)
    at nsDocLoader.cpp:1259
#15 0xafc2d377 in nsDocLoader::doStartDocumentLoad (this=0x8be8120)
    at nsDocLoader.cpp:818
#16 0xafc2df1e in nsDocLoader::OnStartRequest (this=0x8be8120, 
    request=0x9d4cfd4, aCtxt=0x0) at nsDocLoader.cpp:531
#17 0xaf6bd20d in nsLoadGroup::AddRequest (this=0x8c10680, request=0x9d4cfd4, 
    ctxt=0x0) at nsLoadGroup.cpp:603
#18 0xaf721437 in nsHttpChannel::AsyncOpen (this=0x9d4cfa8, 
    listener=0xa0185d8, context=0x0) at nsHttpChannel.cpp:4204
#19 0xafc2b583 in nsURILoader::OpenURI (this=0x85d4600, channel=0x9d4cfd4, 
    aIsContentPreferred=0, aWindowContext=0x8be8138) at nsURILoader.cpp:836
#20 0xafc176ee in nsDocShell::DoChannelLoad (this=0x8be8120, 
    aChannel=0x9d4cfd4, aURILoader=0x85d4600, aBypassClassifier=0)
    at nsDocShell.cpp:7972
#21 0xafc19abd in nsDocShell::DoURILoad (this=0x8be8120, aURI=0x85bf7a0, 
    aReferrerURI=0x85bf7a0, aSendReferrer=0, aOwner=0x0, aTypeHint=0x0, 
    aPostData=0x0, aHeadersData=0x0, aFirstParty=1, aDocShell=0x0, 
    aRequest=0xbfffee30, aIsNewWindowTarget=0, aBypassClassifier=0)
    at nsDocShell.cpp:7818
#22 0xafc1b74c in nsDocShell::InternalLoad (this=0x8be8120, aURI=0x85bf7a0, 
    aReferrer=0x85bf7a0, aOwner=0x0, aFlags=2, aWindowTarget=0x8e98810, 
    aTypeHint=0x0, aPostData=0x0, aHeadersData=0x0, aLoadType=1048577, 
    aSHEntry=0x0, aFirstParty=1, aDocShell=0x0, aRequest=0x0)
    at nsDocShell.cpp:7506
#23 0xafc1837f in nsDocShell::LoadURI (this=0x8be8120, aURI=0x85bf7a0, 
    aLoadInfo=0xa9db688, aLoadFlags=0, aFirstParty=1) at nsDocShell.cpp:963
#24 0xafc1210c in nsDocShell::ForceRefreshURI (this=0x8be8120, aURI=0x85bf7a0, 
    aDelay=1200000, aMetaRefresh=1) at nsDocShell.cpp:4719
#25 0xafc117a6 in nsDocShell::ForceRefreshURIFromTimer (this=0x8be8120, 
    aURI=0x85bf7a0, aDelay=1200000, aMetaRefresh=1, aTimer=0x8fda618)
    at nsDocShell.cpp:4659
#26 0xafc117ef in nsRefreshTimer::Notify (this=0x8c66270, aTimer=0x8fda618)
    at nsDocShell.cpp:9612
#27 0xafe5f5ba in nsTimerImpl::Fire (this=0x8fda618) at nsTimerImpl.cpp:428
#28 0xafe5f65d in nsTimerEvent::Run (this=0xb6237af0) at nsTimerImpl.cpp:512
#29 0xafe5ca3d in nsThread::ProcessNextEvent (this=0x853a3c8, mayWait=0, 
    result=0xbffff13c) at nsThread.cpp:521
#30 0xafe2e80e in NS_ProcessPendingEvents_P (thread=0x853a3c8, timeout=20)
    at nsThreadUtils.cpp:200
#31 0xafdb038d in nsBaseAppShell::NativeEventCallback (this=0x823b888)
    at nsBaseAppShell.cpp:121
#32 0xafd9c8ae in nsAppShell::EventProcessorCallback (source=0x882e318, 
    condition=G_IO_IN, data=0x823b888) at nsAppShell.cpp:70
#33 0xb79a269b in g_io_unix_dispatch (source=0x882e360, 
    callback=0xafd9c882 <nsAppShell::EventProcessorCallback(_GIOChannel*, 
GIOCondition, void*)>, user_data=0x823b888)
    at 
/build/buildd-glib2.0_2.24.1-1-i386-84Pp4V/glib2.0-2.24.1/glib/giounix.c:162
#34 0xb795e2f5 in g_main_dispatch (context=0x807d470)
    at 
/build/buildd-glib2.0_2.24.1-1-i386-84Pp4V/glib2.0-2.24.1/glib/gmain.c:1960
#35 IA__g_main_context_dispatch (context=0x807d470)
    at 
/build/buildd-glib2.0_2.24.1-1-i386-84Pp4V/glib2.0-2.24.1/glib/gmain.c:2513
#36 0xb7961fd8 in g_main_context_iterate (context=0x807d470, 
    block=<value optimized out>, dispatch=1, self=0x804c068)
    at 
/build/buildd-glib2.0_2.24.1-1-i386-84Pp4V/glib2.0-2.24.1/glib/gmain.c:2591
#37 0xb7962517 in IA__g_main_loop_run (loop=0x80ade40)
    at 
/build/buildd-glib2.0_2.24.1-1-i386-84Pp4V/glib2.0-2.24.1/glib/gmain.c:2799
#38 0xb7bfcdc9 in IA__gtk_main ()
    at 
/build/buildd-gtk+2.0_2.20.1-1-i386-Ixfflh/gtk+2.0-2.20.1/gtk/gtkmain.c:1219
#39 0x0804a713 in main (argc=1, argv=0xbffff544) at main.c:542



reply via email to

[Prev in Thread] Current Thread [Next in Thread]