Problems writting new kioslave.

21 views
Skip to first unread message

Marc Mauri Alloza

unread,
Jul 8, 2011, 11:46:34 AM7/8/11
to kde-...@kde.org
Hello,

As part of my Season of KDE project I'm writting a kisolave to get and
write files concurrently by different users. To do it I'm doing a
kioslave that will use Telepathy and maybe infinote protocol. At the
moment I'm trying to make that the get() method of the kioslave
returns a "plain/text" file with the username of the telepathy
accounts that I have configured.

When I run it I get an anoying error:
kioclient(3854)/kio (KRun): KRun(0x885dac8) ERROR (stat): 143 "The
process for the infinote protocol died unexpectedly"

I've tried many things.

You can find the code in this git repo:
https://github.com/opengeekv2/Kio-Infinote

Thanks.

>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

Nikhil Marathe

unread,
Jul 8, 2011, 12:19:42 PM7/8/11
to kde-...@kde.org
On Fri, Jul 8, 2011 at 8:46 AM, Marc Mauri Alloza
<marcmau...@gmail.com> wrote:
> Hello,
>
> As part of my Season of KDE project I'm writting a kisolave to get and
> write files concurrently by different users. To do it I'm doing a
> kioslave that will use Telepathy and maybe infinote protocol. At the
> moment I'm trying to make that the get() method of the kioslave
> returns a "plain/text" file with the username of the telepathy
> accounts that I have configured.

Could you please tell me if you are testing the slave by launching it
in konqueror/dolphin or using your own test program or kioclient?

>
> When I run it I get an anoying error:
> kioclient(3854)/kio (KRun): KRun(0x885dac8) ERROR (stat): 143 "The
> process for the infinote protocol died unexpectedly"

Over the top of my head I'm going to venture that this has something
to do with not
having overridden SlaveBase::stat() or there is an actual crash bug in
your code.
It would be great if you could switch on debugging information and try
again and paste some
kind of log here.

I think the steps to enable debug from a certain terminal are:
1. run kdebugdialog and enable the kio related debug channels
2. run kdeinit4 from that terminal
3. run the slave.

Regards,
Nikhil

Marc Mauri Alloza

unread,
Jul 8, 2011, 12:37:52 PM7/8/11
to kde-...@kde.org
KDE debugging is a new world for me.

I paste output here:

kde-developer@movingcastle:~$ kde-open "infinote:///"
kioclient(5105)/kio (KRun) KRun::slotTimeout: KRun(0x9350328)
slotTimeout called
kioclient(5105)/kio (KRun) KRun::init: INIT called
kioclient(5105)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying
to open ksycoca from
"/var/tmp/master-kde-developer/kdecache-kde-developer/ksycoca4"
kioclient(5105)/kio (KRun) KRun::scanFile: KUrl("infinote:/")
kioclient(5105)/kio (KRun) KRun::scanFile: KRun(0x9350328) Scanning
file "infinote:/"
kioclient(5105)/kio (Scheduler) KIO::SchedulerPrivate::doJob:
KIO::SimpleJob(0x934c828)
kioclient(5105)/kio (Scheduler) KIO::SchedulerPrivate::protoQ:
creating ProtoQueue instance for "infinote"
kioclient(5105)/kio (Scheduler) KIO::ProtoQueue::ProtoQueue:
m_maxConnectionsTotal: 1 m_maxConnectionsPerHost: 1
kioclient(5105)/kio (KRun) KRun::scanFile: Job
KIO::TransferJob(0x934c828) is about getting from "infinote:/"
kioclient(5105)/kio (KIOConnection)
KIO::ConnectionServer::listenForRemote: Listening on
"local:/home/kde-developer/kde/home/.master/socket-movingcastle/kioclientwZ5105.slave-socket"
kioclient(5105)/kio (Slave) KIO::Slave::createSlave: createSlave
"infinote" for KUrl("infinote:/")
kioclient(5105)/kio (KIOConnection)
KIO::ConnectionServer::listenForRemote: Listening on
"local:/home/kde-developer/kde/home/.master/socket-movingcastle/kioclientjd5105.slave-socket"
klauncher(5097)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying
to open ksycoca from
"/var/tmp/master-kde-developer/kdecache-kde-developer/ksycoca4"
klauncher(5097)/kio (KLauncher) KLauncher::requestSlave: KLauncher:
launching new slave "kio_infinote" with protocol= "infinote" args=
("infinote", "local:/home/kde-developer/kde/home/.master/socket-movingcastle/klauncherMT5097.slave-socket",
"local:/home/kde-developer/kde/home/.master/socket-movingcastle/kioclientjd5105.slave-socket")
klauncher(5097)/kio (KLauncher) KLauncher::processRequestReturn:
"kio_infinote" (pid 5107) up and running.
unnamed app(5107)/kio kdemain: Entering function
kio_infinote(5107) infinote::infinote: KIO infinote instanced!
kioslave: ####### CRASH ###### protocol = infinote pid = 5107 signal = 11
kioclient(5105)/kio (Slave) KIO::Slave::gotInput: slave died pid = 5107
kioclient(5105)/kio (KIOJob) KIO::TransferJob::slotFinished: KUrl("infinote:/")
kioclient(5105)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished:
KIO::TransferJob(0x934c828) KIO::Slave(0x93ab5a0)
kioclient(5105)/kio (KRun): KRun(0x9350328) ERROR (stat): 143 "El
procés pel protocol infinote ha mort inesperadament."
kioclient(5105)/kio (Scheduler) KIO::SchedulerPrivate::slotSlaveDied:
KIO::Slave(0x93ab5a0)
kioclient(5105)/kio (KRun) KRun::slotTimeout: KRun(0x9350328)
slotTimeout called

As far as I can see at least the kioslave is instantiated. I'll
program the stat() function and see if it solves the problem.

Thank you :)

2011/7/8 Nikhil Marathe <nsm.n...@gmail.com>:

Nikhil Marathe

unread,
Jul 8, 2011, 12:52:43 PM7/8/11
to kde-...@kde.org
On Fri, Jul 8, 2011 at 9:37 AM, Marc Mauri Alloza
<marcmau...@gmail.com> wrote:
> kioslave: ####### CRASH ###### protocol = infinote pid = 5107 signal = 11

Seems to be a programming bug to me. The best thing would be to insert
kDebugs() at appropriate
points in the program to see what point it reaches before the crash.
gdb with kio is not pretty, hence print stuff out.

Sebastian Trüg

unread,
Jul 9, 2011, 2:50:20 AM7/9/11
to kde-...@kde.org

Marc Mauri Alloza

unread,
Jul 9, 2011, 4:56:30 AM7/9/11
to kde-...@kde.org
I've enabled all debugging outputs you said and here's the output:

kde-developer@movingcastle:~$ kde-open "infinote:///"

kioclient(1999)/kio (KRun) KRun::slotTimeout: KRun(0x853af50)
slotTimeout called
kioclient(1999)/kio (KRun) KRun::init: INIT called
kioclient(1999)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying


to open ksycoca from
"/var/tmp/master-kde-developer/kdecache-kde-developer/ksycoca4"

kioclient(1999)/kio (KRun) KRun::scanFile: KUrl("infinote:/")
kioclient(1999)/kio (KRun) KRun::scanFile: KRun(0x853af50) Scanning
file "infinote:/"
kioclient(1999)/kio (Scheduler) KIO::SchedulerPrivate::doJob:
KIO::SimpleJob(0x85513e0)
kioclient(1999)/kio (Scheduler) KIO::SchedulerPrivate::protoQ:


creating ProtoQueue instance for "infinote"

kioclient(1999)/kio (Scheduler) KIO::ProtoQueue::ProtoQueue:
m_maxConnectionsTotal: 1 m_maxConnectionsPerHost: 1
klauncher(1984)/kdecore (kdelibs) KStandardDirs::findExe: findExe():
returning "/usr/bin/kuiserver"
klauncher(1984)/kio (KLauncher) KLauncher::processRequestReturn:
"/usr/bin/kuiserver" (pid 2001) up and running.
QDBusObjectPath: invalid path ""
kioclient(1999)/kio (KRun) KRun::scanFile: Job
KIO::TransferJob(0x85513e0) is about getting from "infinote:/"
kioclient(1999)/kio (KIOConnection)


KIO::ConnectionServer::listenForRemote: Listening on

"local:/home/kde-developer/kde/home/.master/socket-movingcastle/kioclientwZ1999.slave-socket"
kioclient(1999)/kio (Slave) KIO::Slave::createSlave: createSlave


"infinote" for KUrl("infinote:/")

kioclient(1999)/kio (KIOConnection)


KIO::ConnectionServer::listenForRemote: Listening on

"local:/home/kde-developer/kde/home/.master/socket-movingcastle/kioclientjd1999.slave-socket"
klauncher(1984)/kio (KLauncher) KLauncher::requestSlave: KLauncher:


launching new slave "kio_infinote" with protocol= "infinote" args=

("infinote", "local:/home/kde-developer/kde/home/.master/socket-movingcastle/klauncherMT1984.slave-socket",
"local:/home/kde-developer/kde/home/.master/socket-movingcastle/kioclientjd1999.slave-socket")
kdeinit4: Suspending process
kdeinit4: 'gdb kdeinit4 2005' to debug
kdeinit4: 'kill -SIGCONT 2005' to continue
klauncher(1984)/kio (KLauncher) KLauncher::processRequestReturn:
"kio_infinote" (pid 2005) up and running.
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave failed to
connect to application pid= 2005 protocol= "infinote"
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave is slow... pid=
2005 t= 2
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave failed to
connect to application pid= 2005 protocol= "infinote"
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave is slow... pid=
2005 t= 4
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave failed to
connect to application pid= 2005 protocol= "infinote"
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave is slow... pid=
2005 t= 6
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave failed to
connect to application pid= 2005 protocol= "infinote"
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave is slow... pid=
2005 t= 8
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave failed to
connect to application pid= 2005 protocol= "infinote"
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave is slow... pid=
2005 t= 10
kioclient(1999)/kio (Slave) KIO::Slave::timeout: Houston, we lost our
slave, pid= 2005
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave died pid = 2005
kioclient(1999)/kio (KIOJob) KIO::TransferJob::slotFinished: KUrl("infinote:/")
kioclient(1999)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished:
KIO::TransferJob(0x85513e0) KIO::Slave(0x85b3a00)
kioclient(1999)/kio (KRun): KRun(0x853af50) ERROR (stat): 143 "El


procés pel protocol infinote ha mort inesperadament."

kioclient(1999)/kio (Scheduler) KIO::SchedulerPrivate::slotSlaveDied:
KIO::Slave(0x85b3a00)
klauncher(1984)/kdecore (kdelibs) KStandardDirs::findExe: findExe():
returning "/usr/bin/knotify4"
klauncher(1984)/kio (KLauncher) KLauncher::processRequestReturn:
"/usr/bin/knotify4" (pid 2006) up and running.

I think the interesting part is:

klauncher(1984)/kio (KLauncher) KLauncher::processRequestReturn:
"kio_infinote" (pid 2005) up and running.
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave failed to
connect to application pid= 2005 protocol= "infinote"
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave is slow... pid=
2005 t= 2
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave failed to
connect to application pid= 2005 protocol= "infinote"
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave is slow... pid=
2005 t= 4
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave failed to
connect to application pid= 2005 protocol= "infinote"
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave is slow... pid=
2005 t= 6
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave failed to
connect to application pid= 2005 protocol= "infinote"
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave is slow... pid=
2005 t= 8
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave failed to
connect to application pid= 2005 protocol= "infinote"
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave is slow... pid=
2005 t= 10
kioclient(1999)/kio (Slave) KIO::Slave::timeout: Houston, we lost our
slave, pid= 2005
kioclient(1999)/kio (Slave) KIO::Slave::timeout: slave died pid = 2005

Why my kioslave is so slow?

Cheers,
Marc

2011/7/9 Sebastian Trüg <tr...@kde.org>:

Reply all
Reply to author
Forward
0 new messages