Review Request 124414: Fix kbuildsycoca5 --global

Dāvis Mosāns davispuh at gmail.com
Tue Jul 21 20:51:41 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124414/
-----------------------------------------------------------

Review request for KDE Frameworks.


Repository: kservice


Description
-------

Currently "kbuildsycoca5 --global" does crash because Qt uses XDG_DATA_HOME as first choice for GenericDataLocation
and with "--global" it's set to "-" which is invalid path. kbuildsycoca5 attempts to create "-/kservices5/ksycoca5" which raises ASSERT failure in KConfig.

    ASSERT: "QDir::isAbsolutePath(file)" in file /mnt/AUR/kconfig-git/src/kconfig/src/core/kconfigini.cpp, line 597

    #5  0x00007f6128c3c528 in raise () from /usr/lib/libc.so.6
    #6  0x00007f6128c3d93a in abort () from /usr/lib/libc.so.6
    #7  0x00007f61293c74a9 in qt_message_fatal (context=..., message=<synthetic pointer>) at global/qlogging.cpp:1578
    #8  QMessageLogger::fatal (this=this at entry=0x7ffc2f4d2250, msg=msg at entry=0x7f61296345f0 "ASSERT: \"%s\" in file %s, line %d") at global/qlogging.cpp:781
    #9  0x00007f61293c05bc in qt_assert (assertion=assertion at entry=0x7f6129cbfea8 "QDir::isAbsolutePath(file)", file=file at entry=0x7f6129cbfdf0 "/mnt/AUR/kconfig-git/src/kconfig/src/core/kconfigini.cpp", line=line at entry=597) at global/qglobal.cpp:2968
    #10 0x00007f6129ca299f in KConfigIniBackend::setFilePath (this=0x1ecb360, file=...) at /mnt/AUR/kconfig-git/src/kconfig/src/core/kconfigini.cpp:597
    #11 0x00007f6129c8bc5b in KConfigPrivate::changeFileName (this=0x1ed5af0, name=...) at /mnt/AUR/kconfig-git/src/kconfig/src/core/kconfig.cpp:609
    #12 0x00007f6129ca9a2e in KDesktopFile::KDesktopFile (this=0x7ffc2f4d23e0, resourceType=QStandardPaths::GenericDataLocation, fileName=...) at /mnt/AUR/kconfig-git/src/kconfig/src/core/kdesktopfile.cpp:54
    #13 0x00000000004214e1 in KBuildServiceFactory::createEntry (this=<optimized out>, file=...) at /mnt/AUR/kservice-git/src/kbuildsycoca/kbuildservicefactory.cpp:102
    #14 0x0000000000415358 in KBuildSycoca::createEntry (this=this at entry=0x1eb0950, file=..., addToFactory=addToFactory at entry=true) at /mnt/AUR/kservice-git/src/kbuildsycoca/kbuildsycoca.cpp:153
    #15 0x0000000000416d21 in KBuildSycoca::build (this=this at entry=0x1eb0950) at /mnt/AUR/kservice-git/src/kbuildsycoca/kbuildsycoca.cpp:273
    #16 0x000000000041755d in KBuildSycoca::recreate (this=this at entry=0x1eb0950) at /mnt/AUR/kservice-git/src/kbuildsycoca/kbuildsycoca.cpp:419
    #17 0x0000000000411636 in main (argc=3, argv=<optimized out>) at /mnt/AUR/kservice-git/src/kbuildsycoca/kbuildsycoca.cpp:802


Diffs
-----

  src/kbuildsycoca/kbuildsycoca.cpp 074a7d830f7d3781960e64c16f721fae9edc26f9 

Diff: https://git.reviewboard.kde.org/r/124414/diff/


Testing
-------

Seems to be working, atleast doesn't crash anymore.


Thanks,

Dāvis Mosāns

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20150721/4b716f75/attachment.html>


More information about the Kde-frameworks-devel mailing list