Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 833895 Details for
Bug 983110
several autostart apps (e.g. polkit-kde, kmix) and logout/shutdown countdown fails
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
Gdb log of ksmserver when issuing shutdown command (attempt 3)
SeveralAutostartAppsFail-Attempt3.txt (text/plain), 10.14 KB, created by
Elias Vanderstuyft
on 2013-12-07 14:13:27 UTC
(
hide
)
Description:
Gdb log of ksmserver when issuing shutdown command (attempt 3)
Filename:
MIME Type:
Creator:
Elias Vanderstuyft
Created:
2013-12-07 14:13:27 UTC
Size:
10.14 KB
patch
obsolete
>So one thing that would be interesting to debug: > >gdb --pid `pidof ksmserver` >break KSMServer::logout(int,int,int) >c > >and in another Konsole tab/window: > >qdbus org.kde.ksmserver /KSMServer logout 0 2 2 > >(The parameters stand for ShutdownConfirmNo, ShutdownTypeHalt, ShutdownModeForceNow.) > >1. Does that trigger the breakpoint in GDB? If not, ksmserver is not listening to D-Bus, which would explain the bug (but of course then we'd need to figure out WHY it's not listening). >2. If yes, try single-stepping it in GDB to see what happens. We really need to know where it fails to shut down. > > > >Attempt 3 >_________ > > >---------------------------------------- >Execute "gdb --pid `pidof ksmserver`". >---------------------------------------- > > > >(gdb) break KSMServer::logout(int,int,int) >Breakpoint 1 at 0x3f28627ee0: file /usr/src/debug/kde-workspace-4.11.3/ksmserver/shutdown.cpp, line 88. >(gdb) c >Continuing. > > >---------------------------------------- >In another terminal, execute "qdbus org.kde.ksmserver /KSMServer logout 0 2 2". >---------------------------------------- > > > > >Breakpoint 1, KSMServer::logout (this=0x2871620, confirm=0, sdtype=2, sdmode=2) > at /usr/src/debug/kde-workspace-4.11.3/ksmserver/shutdown.cpp:88 >88 sdtype = KWorkSpace::ShutdownTypeNone; >(gdb) n >92 (KWorkSpace::ShutdownMode)sdmode ); >(gdb) >KSMServer::shutdown (this=0x2871620, confirm=KWorkSpace::ShutdownConfirmNo, > sdtype=KWorkSpace::ShutdownTypeHalt, sdmode=KWorkSpace::ShutdownModeForceNow) > at /usr/src/debug/kde-workspace-4.11.3/ksmserver/shutdown.cpp:106 >106 { >(gdb) >107 pendingShutdown.stop(); >(gdb) >106 { >(gdb) >107 pendingShutdown.stop(); >(gdb) >106 { >(gdb) >107 pendingShutdown.stop(); >(gdb) >108 if( dialogActive ) >(gdb) >110 if( state >= Shutdown ) // already performing shutdown >(gdb) >112 if( state != Idle ) // performing startup >(gdb) >115 if( !pendingShutdown.isActive()) >(gdb) >117 pendingShutdown.start( 1000 ); >(gdb) >119 pendingShutdown_sdtype = sdtype; >(gdb) >118 pendingShutdown_confirm = confirm; >(gdb) >120 pendingShutdown_sdmode = sdmode; >(gdb) >119 pendingShutdown_sdtype = sdtype; >(gdb) >230 } >(gdb) >KSMServerInterfaceAdaptor::qt_static_metacall (_o=0x2553870, _o@entry=0x2887660, _id=0, > _id@entry=5, _a=0x0, _a@entry=0x7fff073bb700, _c=<optimized out>) > at /usr/src/debug/kde-workspace-4.11.3/x86_64-redhat-linux-gnu/ksmserver/ksmserverinterfaceadaptor.moc:117 >117 } >(gdb) >KSMServerInterfaceAdaptor::qt_metacall (this=0x2887660, _c=QMetaObject::InvokeMetaMethod, > _id=<optimized out>, _a=0x7fff073bb700) > at /usr/src/debug/kde-workspace-4.11.3/x86_64-redhat-linux-gnu/ksmserver/ksmserverinterfaceadaptor.moc:153 >153 _id -= 14; >(gdb) >156 } >(gdb) >QDBusConnectionPrivate::deliverCall (this=this@entry=0x281d000, > > object=object@entry=0x2887660, msg=..., metaTypes=..., slotIdx=9) > at qdbusintegrator.cpp:952 >952 QDBusConnectionPrivate::setSender(0); >(gdb) >951 slotIdx, params.data()) >= 0; >(gdb) >952 QDBusConnectionPrivate::setSender(0); >(gdb) >954 if (!ptr.isNull()) >(gdb) >955 QDBusContextPrivate::set(object, old); >(gdb) >949 QPointer<QObject> ptr = object; >(gdb) >955 QDBusContextPrivate::set(object, old); >(gdb) >960 if (msg.isReplyRequired() && !msg.isDelayedReply()) { >(gdb) >961 if (!fail) { >(gdb) >963 qDBusDebug() << this << "Automatically sending reply:" << outputArgs; >(gdb) >964 send(msg.createReply(outputArgs)); >(gdb) > > > >---------------------------------------- >At this moment, the terminal executing "dbus org.kde.ksmserver /KSMServer logout 0 2 2" ends without warning. >---------------------------------------- > > > > >926 QVariantList outputArgs; >(gdb) >880 QVariantList auxParameters; >(gdb) >973 return; >(gdb) >974 } >(gdb) >QDBusConnectionPrivate::activateCall (this=this@entry=0x281d000, object=0x2887660, > flags=flags@entry=273, msg=...) at qdbusintegrator.cpp:814 >814 QString cacheKey = msg.member(), signature = msg.signature(); >(gdb) >867 return false; >(gdb) >868 } >(gdb) >QDBusConnectionPrivate::activateObject (this=0x281d000, node=..., msg=..., > pathStartPos=<optimized out>) at qdbusintegrator.cpp:1458 >1458 } >(gdb) >QDBusActivateObjectEvent::placeMetaCall (this=0x2901bd0) at qdbusintegrator.cpp:1545 >1545 handled = true; >(gdb) >1546 } >(gdb) >QObject::event (this=0x2871620, e=<optimized out>) at kernel/qobject.cpp:1200 >1200 QObjectPrivate::resetCurrentSender(this, ¤tSender, previousSender); >(gdb) >1231 } >(gdb) >1230 return true; >(gdb) >1231 } >(gdb) >QApplicationPrivate::notify_helper (this=this@entry=0x2558240, > > receiver=receiver@entry=0x2871620, e=e@entry=0x2901bd0) at kernel/qapplication.cpp:4563 >4563 e->spont = false; >(gdb) >4565 } >(gdb) >QApplication::notify (this=this@entry=0x2537f90, receiver=<optimized out>, > receiver@entry=0x2871620, e=e@entry=0x2901bd0) at kernel/qapplication.cpp:4532 >4532 } >(gdb) >KApplication::notify (this=0x2537f90, receiver=0x2871620, event=0x2901bd0) > at /usr/src/debug/kdelibs-4.11.3/kdeui/kernel/kapplication.cpp:312 >312 } >(gdb) >QCoreApplication::notifyInternal (this=0x2537f90, receiver=receiver@entry=0x2871620, > event=event@entry=0x2901bd0) at kernel/qcoreapplication.cpp:962 >962 --threadData->loopLevel; >(gdb) >964 } >(gdb) >QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, > > event_type=event_type@entry=0, data=0x250c8c0) at kernel/qcoreapplication.cpp:1589 >1589 delete e; >(gdb) >1590 locker.relock(); >(gdb) >1519 while (i < data->postEventList.size()) { >(gdb) >1598 if (!data->postEventList.recursion && !data->canWait && data->eventDispatcher) >(gdb) >1603 if (!event_type && !receiver && data->postEventList.startOffset >= 0) { >(gdb) >1604 const QPostEventList::iterator it = data->postEventList.begin(); >(gdb) >1605 data->postEventList.erase(it, it + data->postEventList.startOffset); >(gdb) >1604 const QPostEventList::iterator it = data->postEventList.begin(); >(gdb) >1605 data->postEventList.erase(it, it + data->postEventList.startOffset); >(gdb) >1606 data->postEventList.insertionOffset -= data->postEventList.startOffset; >(gdb) >1608 data->postEventList.startOffset = 0; >(gdb) >1609 } >(gdb) >1610 } >(gdb) >postEventSourceDispatch (s=s@entry=0x2547700) at kernel/qeventdispatcher_glib.cpp:281 >281 source->d->runTimersOnceWithNormalPriority(); >(gdb) >283 } >(gdb) >g_main_dispatch (context=0x2553750) at gmain.c:3057 >3057 g_assert (current->dispatching_sources == ¤t_source_link); >(gdb) >3058 current->dispatching_sources = current_source_link.next; >(gdb) >3059 current->depth--; >(gdb) >3061 if (cb_funcs) >(gdb) >3058 current->dispatching_sources = current_source_link.next; >(gdb) >3061 if (cb_funcs) >(gdb) >3064 LOCK_CONTEXT (context); >(gdb) >3066 if (!was_in_call) >(gdb) >3067 source->flags &= ~G_HOOK_FLAG_IN_CALL; >(gdb) >3069 if (SOURCE_BLOCKED (source) && !SOURCE_DESTROYED (source)) >(gdb) >3075 if (need_destroy && !SOURCE_DESTROYED (source)) >(gdb) >3082 SOURCE_UNREF (source, context); >(gdb) >3000 for (i = 0; i < context->pending_dispatches->len; i++) >(gdb) >3082 SOURCE_UNREF (source, context); >(gdb) >3000 for (i = 0; i < context->pending_dispatches->len; i++) >(gdb) >3082 SOURCE_UNREF (source, context); >(gdb) >3000 for (i = 0; i < context->pending_dispatches->len; i++) >(gdb) >3085 g_ptr_array_set_size (context->pending_dispatches, 0); >(gdb) >g_main_context_dispatch (context=context@entry=0x2553750) at gmain.c:3633 >3633 UNLOCK_CONTEXT (context); >(gdb) >3634 } >(gdb) >g_main_context_iterate (context=context@entry=0x2553750, block=block@entry=1, > dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3703 >3703 g_main_context_release (context); >(gdb) >3705 LOCK_CONTEXT (context); >(gdb) >3708 } >(gdb) >3707 return some_ready; >(gdb) >3708 } >(gdb) >g_main_context_iteration (context=0x2553750, may_block=1) at gmain.c:3763 >3763 UNLOCK_CONTEXT (context); >(gdb) >3762 retval = g_main_context_iterate (context, may_block, TRUE, G_THREAD_SELF); >(gdb) >3763 UNLOCK_CONTEXT (context); >(gdb) >3766 } >(gdb) >QEventDispatcherGlib::processEvents (this=0x250e220, flags=...) > at kernel/qeventdispatcher_glib.cpp:426 >426 while (!result && canWait) >(gdb) >429 d->timerSource->processEventsFlags = savedFlags; >(gdb) >431 if (canWait) >(gdb) >429 d->timerSource->processEventsFlags = savedFlags; >(gdb) >431 if (canWait) >(gdb) >432 emit awake(); >(gdb) >435 } >(gdb) >QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) > at kernel/qguieventdispatcher_glib.cpp:208 >208 d->x11EventSource->flags = saved_flags; >(gdb) >210 } >(gdb) >QEventLoop::processEvents (this=this@entry=0x7fff073bbf90, flags=...) > at kernel/qeventloop.cpp:150 >150 } >(gdb) >QEventLoop::exec (this=this@entry=0x7fff073bbf90, flags=...) at kernel/qeventloop.cpp:203 >203 while (!d->exit) >(gdb) >204 processEvents(flags | WaitForMoreEvents | EventLoopExec); >(gdb) >203 while (!d->exit) >(gdb) >204 processEvents(flags | WaitForMoreEvents | EventLoopExec); >(gdb) >203 while (!d->exit) >(gdb) >204 processEvents(flags | WaitForMoreEvents | EventLoopExec); >(gdb) >203 while (!d->exit) >(gdb) >204 processEvents(flags | WaitForMoreEvents | EventLoopExec); >(gdb) >203 while (!d->exit) >(gdb) >204 processEvents(flags | WaitForMoreEvents | EventLoopExec); >(gdb) >203 while (!d->exit) > > > > >---------------------------------------- >... (Always repeating) => No shutdown is performed. >---------------------------------------- >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 983110
:
788563
|
833866
| 833895 |
915731