Bug 268128 - Choqok won't close correctly
Summary: Choqok won't close correctly
Status: RESOLVED FIXED
Alias: None
Product: choqok
Classification: Applications
Component: general (show other bugs)
Version: SVN
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Mehrdad Momeny
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-10 13:32 UTC by Gatoso
Modified: 2011-03-11 09:46 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gatoso 2011-03-10 13:32:47 UTC
Version:           latest svn snapshot (using KDE 4.6.1) 
OS:                Linux

When I close choqok by File > Quit, it seems to close correctly but if I run ps -aux | grep choqok it still is running.

This is very annoying because when I start my system again choqok is launched automatically. I suppose this is due to this strange behaviour mentioned.

Reproducible: Always

Steps to Reproduce:
Launch Choqok

Try clossing it by File > Quit

Actual Results:  
Choqok does not close correctly it keeps running.

Expected Results:  
Choqok should be closed and not keeps running.

OS: Archlinux (i686) release 2.6.37-pae
Compiler: gcc
Git Choqok commit: 20110308

I have debugged Choqok using GDB, when I try close it, here the trace:

choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9080 ( "http://a1.twimg.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9081 ( "http://a0.twimg.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9078 ( "http://a0.twimg.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9084 ( "http://a3.twimg.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9085 ( "http://a3.twimg.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9077 ( "http://a1.twimg.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9088 ( "http://a2.twimg.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9082 ( "http://a2.twimg.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9089 ( "http://a2.twimg.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9086 ( "http://a2.twimg.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9073 ( "https://identi.ca" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9072 ( "https://identi.ca" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9071 ( "https://identi.ca" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9070 ( "https://identi.ca" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9074 ( "https://identi.ca" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9076 ( "https://api.twitter.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9068 ( "https://api.twitter.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9067 ( "https://api.twitter.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9069 ( "https://api.twitter.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9066 ( "https://api.twitter.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9090 ( "http://untiny.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9091 ( "http://untiny.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9093 ( "http://untiny.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9092 ( "http://untiny.com" )
choqok(1871)/kio (Slave) KIO::Slave::kill: killing slave pid 9094 ( "http://untiny.com" )
choqok(1871) MainWindow::slotQuit:
choqok(1871) ChoqokApplication::quitChoqok:
choqok(1871) MainWindow::queryExit:
choqok(1871)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
choqok(1871) MainWindow::queryExit:  shutting down plugin manager
choqok(1871) Choqok::PluginManager::shutdown:
choqok(1871) TwitterApiMicroBlogWidget::saveSearchTimelinesState:
choqok(1871) TwitterApiMicroBlog::saveTimeline:
choqok(1871) TwitterApiMicroBlog::saveTimeline:
choqok(1871) TwitterApiMicroBlog::saveTimeline:
choqok(1871) TwitterApiMicroBlog::saveTimeline:
choqok(1871) TwitterApiMicroBlogWidget::saveSearchTimelinesState:
choqok(1871) TwitterApiMicroBlog::saveTimeline:
choqok(1871) TwitterApiMicroBlog::saveTimeline:
choqok(1871) TwitterApiMicroBlog::saveTimeline:
choqok(1871) TwitterApiMicroBlog::saveTimeline:
choqok(1871) TwitterApiMicroBlogWidget::saveSearchTimelinesState:
choqok(1871) TwitterApiMicroBlog::saveTimeline:
choqok(1871) TwitterApiMicroBlog::saveTimeline:
choqok(1871) TwitterApiMicroBlog::saveTimeline:
choqok(1871) TwitterApiMicroBlog::saveTimeline:
choqok(1871) Choqok::PluginManager::slotPluginReadyForUnload:
choqok(1871) Choqok::PluginManager::slotPluginReadyForUnload: "TwitterMicroBlog" ready for unload
choqok(1871) Choqok::PluginManager::slotPluginReadyForUnload:
choqok(1871) Choqok::PluginManager::slotPluginReadyForUnload: "UnTiny" ready for unload
choqok(1871) Choqok::PluginManager::slotPluginReadyForUnload:
choqok(1871) Choqok::PluginManager::slotPluginReadyForUnload: "FilterManager" ready for unload
choqok(1871) Choqok::PluginManager::slotPluginReadyForUnload:
choqok(1871) Choqok::PluginManager::slotPluginReadyForUnload: "Translator" ready for unload
choqok(1871) Choqok::PluginManager::slotPluginReadyForUnload:
choqok(1871) Choqok::PluginManager::slotPluginReadyForUnload: "Ur1_ca" ready for unload
choqok(1871) MainWindow::~MainWindow:
choqok(1871) Choqok::UI::MicroBlogWidget::~MicroBlogWidget:
choqok(1871) Choqok::UI::MicroBlogWidget::~MicroBlogWidget:
choqok(1871) Choqok::UI::MicroBlogWidget::~MicroBlogWidget:
choqok(1871) SysTrayIcon::~SysTrayIcon:
choqok(1871)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
choqok(1871) Choqok::UI::QuickPost::~QuickPost:
choqok(1871) TwitterMicroBlog::~TwitterMicroBlog:
choqok(1871) TwitterApiMicroBlog::~TwitterApiMicroBlog:
choqok(1871) Choqok::MicroBlog::~MicroBlog:
choqok(1871)/kutils (KSettings::Dispatcher) KSettings::Dispatcher::DispatcherPrivate::unregisterComponent: componentName= "choqok_twitter" refcount= 0
choqok(1871) Choqok::PluginManager::slotPluginDestroyed:
choqok(1871) Choqok::Account::~Account: "zuargo"
choqok(1871) Choqok::Account::~Account: "mrpazsilva-t"
choqok(1871)/kutils (KSettings::Dispatcher) KSettings::Dispatcher::DispatcherPrivate::unregisterComponent: componentName= "choqok_untiny" refcount= 0
choqok(1871) Choqok::PluginManager::slotPluginDestroyed:
choqok(1871)/kutils (KSettings::Dispatcher) KSettings::Dispatcher::DispatcherPrivate::unregisterComponent: componentName= "choqok_filter" refcount= 0
choqok(1871) Choqok::PluginManager::slotPluginDestroyed:
choqok(1871)/kutils (KSettings::Dispatcher) KSettings::Dispatcher::DispatcherPrivate::unregisterComponent: componentName= "choqok_translator" refcount= 0
choqok(1871) Choqok::PluginManager::slotPluginDestroyed:
choqok(1871)/kutils (KSettings::Dispatcher) KSettings::Dispatcher::DispatcherPrivate::unregisterComponent: componentName= "choqok_ur1_ca" refcount= 0
choqok(1871) Choqok::PluginManager::slotPluginDestroyed:
choqok(1871) ChoqokApplication::~ChoqokApplication:
^CQuit
(gdb) quit

At this step I had closed choqok but GDB continued running, then I tried to kill the process pressing Control + C. It seemed to work, becouse I have got my default terminal: [zuargo@zuargo-archlinux ~]$. But, I have launched the monitor system of KDE ( to see if really choqok was closed and not running) and then, GDB, continued debugging Choqok (how this is possible if I had closed GDB by typing "Quit"?):

[zuargo@zuargo-archlinux ~]$ choqok(1871) Choqok::MediaManager::~MediaManager:
choqok(1871) Choqok::AccountManager::~AccountManager:
choqok(1871) Choqok::PluginManagerPrivate::~PluginManagerPrivate: Destructing plugin manager without going through the shutdown process! Backtrace is:  
"[
0: /usr/lib/libkdecore.so.5(kRealBacktrace(int)+0x39) [0xb6e77f39]
1: /usr/lib/libchoqok.so.1(+0x2474a) [0xb7b9f74a]
2: /usr/lib/libchoqok.so.1(+0x264fa) [0xb7ba14fa]
3: /usr/lib/libchoqok.so.1(+0x229a8) [0xb7b9d9a8]
4: /usr/lib/libchoqok.so.1(+0x241eb) [0xb7b9f1eb]
5: /lib/libc.so.6(+0x2ddc7) [0xb68cbdc7]
6: /lib/libc.so.6(on_exit+0) [0xb68cbe30]
7: /lib/libc.so.6(__libc_start_main+0xef) [0xb68b4dcf]
8: /usr/bin/choqok() [0x804ee21]
]
" 
choqok(1871) Choqok::PluginManagerPrivate::~PluginManagerPrivate: Deleting stale plugin ' "" ' 
choqok(1871) LaconicaMicroBlog::~LaconicaMicroBlog:
choqok(1871) TwitterApiMicroBlog::~TwitterApiMicroBlog:
choqok(1871) Choqok::MicroBlog::~MicroBlog:
choqok(1871) Choqok::Account::~Account: "zuargo-i"
choqok(1871) Choqok::PluginManager::~PluginManager:

After I shutdown my system.
Comment 1 Mehrdad Momeny 2011-03-11 09:38:52 UTC
Git commit d560e18cbff896971dd32ca8705bc5ec6d7773af by Mehrdad Momeny.
Committed on 11/03/2011 at 09:37.
Pushed by momeny into branch 'master'.

BUG:268128 Choqok will close correctly :)

M  +4    -10   libchoqok/pluginmanager.cpp     

http://commits.kde.org/choqok/d560e18cbff896971dd32ca8705bc5ec6d7773af
Comment 2 Mehrdad Momeny 2011-03-11 09:46:52 UTC
Git commit 012f2de2d93b8dfcb601a02d44e5b22799bb675d by Mehrdad Momeny.
Committed on 11/03/2011 at 09:37.
Pushed by momeny into branch '1.0'.

BUG:268128 Choqok will close correctly :)

M  +4    -10   libchoqok/pluginmanager.cpp     

http://commits.kde.org/choqok/012f2de2d93b8dfcb601a02d44e5b22799bb675d