KDE Personal Information Management

Ktimetracker fails to create kpart

Reported by Yannis Tsismentzoglou on 2011-10-03
154
This bug affects 28 people
Affects Status Importance Assigned to Milestone
KDE PIM
Fix Released
High
Kubuntu PPA
Undecided
Unassigned
kdepim (Ubuntu)
Medium
Unassigned

Bug Description

There are "several" bugs but I don't really know if I should make a report for each one so let's go:
Try to start ktimetracker I get a nice windows saying
"Could not create the KTimeTracker part."
gives me a nice empty box. If I open it from the console:
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::begin: Paint device returned engine == 0, type: 2
Object::connect: No such slot TimetrackerWidget::updateTabs()
Object::connect: No such slot ktimetrackerpart::keyBindings()
Object::connect: (sender name: 'options_configure_keybinding')

second bug
Open Kontact go to ktimetracker
1. /home/yannis/.kde/share/apps/ktimetracker/ktimetracker.ics:
Could not save. Disk full?
if I create a new calendar and save it to a different location it works, within kontact, but doesn't remember it was opened the next time I open kontact

2. Saved Calendar from previous version doesn't get recognized/transformed to new api (all trackers are at 0)

Description: Ubuntu oneiric (development branch)
Release: 11.10

  Installed: 4:4.7.1+git110930-0ubuntu1
  Candidate: 4:4.7.1+git110930-0ubuntu1
  Version table:
 *** 4:4.7.1+git110930-0ubuntu1 0
        500 http://gr.archive.ubuntu.com/ubuntu/ oneiric/main amd64 Packages
        100 /var/lib/dpkg/status

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: ktimetracker 4:4.7.1+git110930-0ubuntu1
ProcVersionSignature: Ubuntu 3.0.0-12.19-generic 3.0.4
Uname: Linux 3.0.0-12-generic x86_64
NonfreeKernelModules: fglrx
ApportVersion: 1.23-0ubuntu2
Architecture: amd64
Date: Mon Oct 3 03:17:03 2011
ProcEnviron:
 LANGUAGE=
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: kdepim
UpgradeStatus: No upgrade log present (probably fresh install)

Version: Git (master) (using KDE 4.7.1)
OS: Linux

Try to start ktimetracker I get a nice window saying
"Could not create the KTimeTracker part."
and then gives me a nice empty ktimetracker window. If I open it from the console:
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter::begin: Paint device returned engine == 0, type: 2
Object::connect: No such slot TimetrackerWidget::updateTabs()
Object::connect: No such slot ktimetrackerpart::keyBindings()
Object::connect: (sender name: 'options_configure_keybinding')

Reproducible: Always

Steps to Reproduce:
just start the application in ubuntu oneiric

Expected Results:
see the applications windows

How did you install this?

fresh installation of (k)ubuntu oneiric from the official ubuntu repositories, actually this is a "cross" report from my bug report in oneiric

https://bugs.launchpad.net/ubuntu/+source/kdepim/+bug/864975

problem still exists in 4.7.2 (ubuntu version)

The right location for this bug report is bugs.launchpad.net because you do not get this problem if you compile from sources. The background of this bug is that ktimetracker just displays a kpart in its mainwindow. The same kpart is used for the kontact plugin. However I want to reproduce this bug - where can I download Ubuntu oneiric and what do I download (e.g. is it called "Ubuntu 11.10" or how?)?

I see you have kdepim-runtime installed, but not kdepim. Never seen that. Can you try to install ktimetracker using
 sudo apt-get install kdepim
 sudo apt-get install ktimetracker

You can install Kubuntu directly (recommended)
http://cdimage.ubuntu.com/kubuntu/daily-live/current/

actually kdepim is a metapackage in ubuntu that depends on the programs (and requirements) of kdepim suite... so installing it really did nothing..

In the latest package of ktimetracker though I only get the second three warnings about Object:Connect

so does the problem occur on Ubuntu or KUbuntu? And what happens if you apt-get install ktimetracker?

ok... kubuntu is ubuntu like fedora kde spin is fedora and the debian kde cd installs kde, nothing changes, just the "targeted" desktop and some settings.

ktimetracker installs fine, no warning, really nothing exciting..

also an opensuse user on the forum has all the other problems I have and the same warnings in console:
Object::connect: No such slot ktimetrackerpart::keyBindings()
Object::connect: (sender name: 'options_configure_keybinding')

but not this line I have
Object::connect: No such slot TimetrackerWidget::updateTabs()

and the programs seems to run "fine"

http://forum.kde.org/viewtopic.php?f=20&t=97021

what is your problem? What functionality does not work for you? Does ktimetracker start now for you, or has it never? If you read the bug report above, it does not clarify these questions.

ktimetracker starts but doesn't have any menus or buttons or whatever, just an empty window

yes your kPart is missing. How did you install ktimetracker? Did you use kubuntu or ubuntu? Where did you download it? What did you download? How can I reproduce what you see?

bug is still present in latest package, git 071011

Just install kubuntu from the daily live cd
http://cdimage.ubuntu.com/kubuntu/daily-live/current/
this should install kde plasma desktop and setup an appropriate repository for you...
after you have logged in to the desktop you can open a terminal and do
sudo apt-get install kdepim
which will, of course, download and install as you know all dependencies, amongst them and ktimetracker,
then start from the same terminal ktimetracker

ok, I am downloading the ia32 architecture disk.

I can reproduce your problem now in a virtual KUbuntu machine. Thanks for the report. I installed with the latest updates.

Thorsten Staerk (dev-staerk) wrote :

bug is still present.

I am the ktimetracker maintainer with KDE.

The kPart seems to be missing. This will not be if you properly build and install kdepim. On a system where ktimetracker works I can find the kPart like this:
tweedleburg:/usr/local # find -iname "ktimetrackerpart*"
./share/kde4/services/ktimetrackerpart.desktop
./lib64/kde4/ktimetrackerpart.so

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in kdepim (Ubuntu):
status: New → Confirmed

for those that have the problem you can solve it, for the moment that is, by using a compatible package from another distribution. Unfortunately since ubuntu ships with libc 2.13 this means finding such a package is not really easy.
The package that worked form me was from mageia... If anybody needs a how to than private contact me...

> I can reproduce your problem now in a virtual KUbuntu machine. Thanks for the
> report. I installed with the latest updates.

FTR: Same problem exists in openSUSE 11.3/11.4 with activated additional repository to obtain current KDE Releases:

http://download.opensuse.org/repositories/KDE:/Extra/KDE_Release_47_openSUSE_11.3/ (respectively [...]_11.4/)

The packaging bug for ktimetracker in these repositories is handled at
https://bugzilla.novell.com/show_bug.cgi?id=724044

the bug in the kde repo is hopefully soon gone, with the packaging bug fixed, the problem looks on opensuse just like in the first comment.

Coolo, this is not a KDE bug in my opinion. When I compile, link and install ktimetracker from sources, it works perfectly.

that's only an indication not a proof. There are many things in between working fine when compiled by the developer and a packaging bug.

Just to name one example: you most likely use debug mode while packages are built with RELEASE.

I verified your claim now and took kdepim-4.7.2 and ran make install in ktimetracker - which goes into /usr/local

/usr/local/bin/ktimetracker will give the same result - the part could not be created.

Thanks for fixing the SUSE bug!
What bug is in the KDE repo?

yes of course - I was told on irc strictly not to do make install inside of kdepim/ktimetracker, but inside of kdepim itself

ok, I think you gave me a way how to reproduce this error. Run make install inside of ktimetracker, not inside of ktimetracker/...

*** Bug 284557 has been marked as a duplicate of this bug. ***

Philip Muškovac (yofel) wrote :

Confirmed, although this needs some more investigation, as the kpart isn't really missing:
$ dpkg -S ktimetrackerpart
ktimetracker: /usr/lib/kde4/ktimetrackerpart.so
ktimetracker: /usr/share/kde4/services/ktimetrackerpart.desktop

Changed in kdepim (Ubuntu):
importance: Undecided → Medium

Bug still present in ktimetracker-4.7.3-5.2.i586 (openSUSE 11.4).

well, still present in 4.7.3 from kubuntu updates ppa

So, as time goes by ... are we stuck in some "it's _your_ bug <-> no, it's _your_ bug" ping pong? If I look at my desktop - for almost every application I seriously rely on I keep using the 3.5.10 version (or have switched to some non-KDE application already resp. am looking for such an alternative), karm adding another entry to this list. :-/

compile from sources if you really care. If you only want to troll, go on with your life.

Saved our time, went on with my life and work, installed Baralga and Charm. Thanks for 10 years of KDE, despite the lack of a happy end. Bye.

JoseLuisTriana (theunfor) wrote :

this bug is present in the i386 packages too, this bug is exactly what happens to me using KDE in Ubuntu oneiric 32 bit.

Seeing this with KDE 4.7.3 on Kubuntu 11.10 Oneiric, after launch a dialog says "Could not create the KTimeTracker part.", and upon dismissing the dialog, a tiny empty window opens.

tbd (tomas-bautista) wrote :

It seems to be still holding with Kubuntu precise archive kdepim 4.7.90 for amd64.

Mikael Bergqvist (mikaelb) wrote :

Can confirm it's still present in 4.8 beta2, (4.7.90)

since the bug is open and will be open for some time and makes ktimetracker unusable can the packager pack an older version which works? I currently use 4.59 which unfortunately reverts to 4.7broken with each package upgrade....
Thank you

I observe the same problem in a brand new installation of openSUSE 12.1 (64-bit), using the official repositories. So it seems like this is indeed not a Ubuntu-specific bug.

I added KTimeTracker from the Kubuntu repository to my fully updated 12.04 ALPHA install and got the following errors:

Object::connect: No such slot ktimetrackerpart::keyBindings()
Object::connect: (sender name: 'options_configure_keybinding')
X Error: BadWindow (invalid Window parameter) 3
  Major opcode: 20 (X_GetProperty)
  Resource id: 0x320001e

A blank window was created.

Thomas Wiebe (thomas-openhort) wrote :

Still present after upgrade to 4.7.4.

Philip Muškovac (yofel) wrote :

As this seems harder to figure out than I thought (doen't work even if I build plain kdepim myself). The only way to use ktimetracker for now is from within kontact. It works there.

philip if I open my file within kontact all my times are zero, does it fully work for you?
also it states that it can't save if I create a new task on a brand new empty ktimetracker.ics...
Have you tried the recommendations or contributed to the bugs page on kde (that's my report to)?
https://bugs.kde.org/show_bug.cgi?id=283479

James Bozman (ciborium) wrote :

Bug is still present in Precise. Also does not work from within Kontact with the following error: Error storing new task. Your changes were not saved. Make sure you can edit your iCalendar file. Also quit all applications using this file and remove any lock file related to its name from ~/.kde/share/apps/kabc/lock/

James Bozman (ciborium) wrote :

After having launched Ktimetracker once and getting the "Could not create the KTimeTracker part." message, every time I restart I get the same message multiple times.

Stuart (sclaughl) wrote :

James, I believe you are getting the message multiple times on restart because the ktimetracker process is hanging around and is therefore being restarted along with kde when you restart your computer. At least that's what was happening to me when I ran into this same bug. (And I'm still unable to run ktimetracker successfully.)

I'm new to posting on linux forums, but not new to support. I'm a recovering windaholic, and I felt I had something to contribute to this discussion... you can be the judge of it.

I'm on Linux 3.2.2-1.fc16.i686.PAE, I realize this is a Ubuntu forum; that's on my other partition.

Was Gnome 3, installed KDE for productivity reasons. KDE SC V 4.7.4

I get this same error, but it has only cropped up in the last 2 days. I have avoided doing any updates for the last 2 week as I want to avoid any potential problems with a kernal module update.

I believe more than one instance of Ktimetracker is running, or more than one Ktimetracker app is trying to write to the .ics file while it's locked by another.

How i came to this conclusion? which might not be right because it does not show up in PS or TOP. I run Jovie text-to-speech and have set my clock to speak the time every 20 mins. At the same time the Ktimetracker file problem came up, my desktop speaks the time twice in a row now, and gives me the Ktimetracker.ics file error, disk full?... I got the Ktimetracker error first, rebooted, noticed the time was not being spoken. Found the speak time reset to 0, set the speak time to 20 mins, and now it speaks it twice with the .ics file error.

One possibly related config might be that I run Evolution for mail, calendar and tasks. I might have read somewhere that KDE and Evolution have some open issue right now.

Philip Muškovac (yofel) on 2012-02-18
summary: - Ktimetracker broken in oneiric
+ Ktimetracker fails to create kpart
Philip Muškovac (yofel) wrote :

Ok, what I've found out by now is that /usr/lib/kde4/ktimetrackerpart.so is broken, and building kdepim yourself and copying the self-built binary over the system one from the package makes ktimetracker work. I'll try to find out what the hell goes wrong during the package build.

Philip Muškovac (yofel) wrote :

Bisected this down to the -Wl,-Bsymbolic-functions linker option that's on by default in ubuntu package builds.

Changed in kdepim (Ubuntu):
status: Confirmed → Triaged

After spending some time to debug this today, I think I've bisected this down to the -Wl,-Bsymbolic-functions linker option that's on by default in ubuntu package builds.
Build with it: kpart fails to be created
Build without it: kpart is created fine

Changed in kdepim:
importance: Unknown → High
status: Unknown → Confirmed
Philip Muškovac (yofel) wrote :

kdepim (4:4.8.0a-0ubuntu2~oneiric1~ppa1) oneiric; urgency=low

  * Don't use -Wl,-Bsymbolic-functions in LDFLAGS to work around
    kde bug 283479 (LP: #864975)

 -- Philip Muškovac <email address hidden> Sat, 25 Feb 2012 18:32:57 +0100

Changed in kubuntu-ppa:
status: New → Fix Released
Philip Muškovac (yofel) on 2012-02-25
Changed in kdepim (Ubuntu):
status: Triaged → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package kdepim - 4:4.8.0a-0ubuntu2

---------------
kdepim (4:4.8.0a-0ubuntu2) precise; urgency=low

  * Don't use -Wl,-Bsymbolic-functions in LDFLAGS to work around
    kde bug 283479 (LP: #864975)
  * Add libprison-dev to build-depends
 -- Philip Muskovac <email address hidden> Sat, 25 Feb 2012 18:32:57 +0100

Changed in kdepim (Ubuntu):
status: Fix Committed → Fix Released

The same problem appeared in Fedora 17 RC4.1 with both KDE SC 4.8.1 and 4.8.2.
It is reported on https://bugzilla.redhat.com/show_bug.cgi?id=813257 .

I have this same problem:

"Could not create the KTimeTracker part."

I'm on Arch Linux x86_64, KDE 4.8.4.

openSUSE 12.1 x86_64
4.7.x not working
4.8.x not working
4.9.0 not working

Any plans to fix this?

I have been plagued for a few months by this problem, or at least a problem with the same symptoms: ktimetracker pops modal dialog saying "could not create ktimetrackerpart" and then opens empty window. For me, it's 100% correlated with compiler used. I first noticed it after upgrading to gcc-4.7-alpha, and it's been that way ever since. If I rebuild my system (gentoo x86_64) using gcc-4.7.anything, ktt is broken. If I then switch compiler to 4.6.3 and rebuild ktimetracker package, it works again (rest of system can stay built with 4.7).

Here is my attempt to poke at it a bit with gdb, but without any real QT knowledge, I have no idea what to try next:

KTimeTracker compiled with gcc-4.7.2_pre9999 (snapshot of gcc-4_7-branch from Sat Aug 4 00:17:53, but been the same since 4.7.0 release):
(gdb) frame
#0 qobject_cast<ktimetrackerpart*> (object=0x5b5360) at /usr/include/qt4/QtCore/qobject.h:380
380 return static_cast<T>(reinterpret_cast<T>(object)->staticMetaObject.cast(object));
(gdb) bt
#0 qobject_cast<ktimetrackerpart*> (object=0x5b5360) at /usr/include/qt4/QtCore/qobject.h:380
#1 0x000000000043eff6 in KPluginFactory::create<ktimetrackerpart> (this=0x523310, parent=0x652b00, args=...) at /usr/include/kpluginfactory.h:509
#2 0x000000000043da02 in MainWindow::MainWindow (this=0x652b00, icsfile=..., __in_chrg=<optimized out>, __vtt_parm=<optimized out>)
    at /usr/src/debug/kde-base/ktimetracker-4.9.0/ktimetracker-4.9.0/ktimetracker/mainwindow.cpp:68
#3 0x0000000000422adc in main (argc=1, argv=0x7fffffffd868) at /usr/src/debug/kde-base/ktimetracker-4.9.0/ktimetracker-4.9.0/ktimetracker/main.cpp:128
(gdb) print reinterpret_cast<T>(object)
$15 = (ktimetrackerpart *) 0x5b5360
(gdb) print reinterpret_cast<T>(object)->staticMetaObject.cast(object)
$16 = (QObject *) 0x0 <====== This 0x0 is then returned and causes message box to appear.

Similar session when compiled with 4.6.3:
(gdb) bt
#0 qobject_cast<ktimetrackerpart*> (object=0x555000) at /usr/include/qt4/QtCore/qobject.h:380
#1 0x000000000043f3b8 in KPluginFactory::create<ktimetrackerpart> (this=0x54c910, parent=0x671d20, args=...) at /usr/include/kpluginfactory.h:509
#2 0x000000000043de27 in MainWindow::MainWindow (this=0x671d20, icsfile=..., __in_chrg=<optimized out>, __vtt_parm=<optimized out>)
    at /usr/src/debug/kde-base/ktimetracker-4.9.0/ktimetracker-4.9.0/ktimetracker/mainwindow.cpp:68
#3 0x00000000004230ce in main (argc=1, argv=0x7fffffffd868) at /usr/src/debug/kde-base/ktimetracker-4.9.0/ktimetracker-4.9.0/ktimetracker/main.cpp:128
(gdb) print reinterpret_cast<T>(object)
$17 = (ktimetrackerpart *) 0x555000
(gdb) print reinterpret_cast<T>(object)->staticMetaObject.cast(object)
$18 = (QObject *) 0x555000 <====== now it works

CXXFLAGS=-O0 -ggdb
-Bsymbolic-function mentioned earlier is not enabled

I still have this problem with KDE 4.9.0, I'm on archlinux x86_64.

*sigh*

I am seeing this issue in Fedora 18 running KDE 4.9 as well.

Git commit bb773366167af50fc99025473dc20ab5ab41e1cc by Sergio Martins.
Committed on 15/08/2012 at 14:01.
Pushed by smartins into branch 'KDE/4.9'.

Make KTimeTracker start.

By using a dynamic_cast<> instead of a qobject_cast<>.

A proper fix would be fixing the CMakeLists.txt file:

ktimetrackerpart.cpp is defined twice, one in the ktimetracker
binary, and one in the plugin, this will make qobject_cast fail
somewhere in KPluginLoaded/KPluginFactory code.

I tried fixing CMakeLists.txt but it's not trivial, there's
a interdependency between stuff and couldn't get it to work with
the little time I have for it.
Related: bug 291258, bug 285434

M +1 -1 ktimetracker/mainwindow.cpp

http://commits.kde.org/kdepim/bb773366167af50fc99025473dc20ab5ab41e1cc

Changed in kdepim:
status: Confirmed → Fix Released

Thanks a lot for fixing this issue, is Bug 255183 also fixed with this patch/fix? or that's a different problem?

Thanks.

(In reply to comment #40)
> Thanks a lot for fixing this issue, is Bug 255183 also fixed with this
> patch/fix? or that's a different problem?
>
> Thanks.

It's a different problem.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.