Crash in kdevelop master - KDevelop::IndexedString::index (this=0x0)

Sandro Andrade sandroandrade at kde.org
Fri Jun 5 02:10:48 UTC 2015


I've tried with a brand new development environment, installed from
the scratch, but the error persists :(
I can build and run other KF5-based applications fine, so it seems my
development environment is sane.

Backtrace:
https://paste.kde.org/pydarqgtp

KDevelop's output:
https://paste.kde.org/pvxiuvzty

Valgrind's output:
https://paste.kde.org/pbprbggz7

I'll dig further tomorrow.
--
Sandro

On Thu, Jun 4, 2015 at 4:22 PM, Sandro Andrade <sandroandrade at kde.org> wrote:
> On Thu, Jun 4, 2015 at 11:28 AM, Milian Wolff <mail at milianw.de> wrote:
>> On Thursday 04 June 2015 11:19:51 Sandro Andrade wrote:
>>> On Thu, Jun 4, 2015 at 3:53 AM, Milian Wolff <mail at milianw.de> wrote:
>>> > On Wednesday 03 June 2015 23:51:04 Sandro Andrade wrote:
>>> >> Hi there,
>>> >>
>>> >> I'm trying to port a plugin I developed some time ago to
>>> >> kdevplatform/kdevelop master.
>>> >> I can build both kdevplatform and kdevelop from master branch but I
>>> >> got the crash below when creating/opening any newly created project
>>> >>
>>> >> https://paste.kde.org/pauewgg4j
>>> >>
>>> >> Any hint about what is causing this ?
>>> >
>>> > Could you be mixing different ABIs?
>>> >
>>> > /usr/include/kdevplatform/
>>> >
>>> > vs.
>>> >
>>> > /data2/devel/kdevelop/
>>> >
>>> > Are you sure that both versions belong to each other? Otherwise I cannot
>>> > explain why a hash would contain an indexedstring with this = 0x0...
>>>
>>> Yes, I double checked this :(. I'm using Qt 5.4.2 and KF 5.10 from
>>> distro packages and
>>> kdevplatform/kdevelop from git master. I'll keep investigating.
>>
>> But where did you install kdevplatform and kdevelop to? Are you sure nothing
>> is contaminated? I really urge you to not install stuff globally, but only
>> into a local prefix.
>
> I've installed both in a local prefix (/home/devel/usr):
>
> cmake ../ -DCMAKE_INSTALL_PREFIX=/home/devel/usr/ -DCMAKE_BUILD_TYPE=Debug
>
> My settings (as indicated in
> https://community.kde.org/Frameworks/Building#Runtime_setup):
>
> export KF5=/usr
> export QTDIR=/usr/lib/qt
> export XDG_DATA_DIRS=$KF5/share:$XDG_DATA_DIRS:/usr/share:/home/devel/usr/share
> export XDG_CONFIG_DIRS=$KF5/etc/xdg:$XDG_CONFIG_DIRS:/etc/xdg
> export PATH=$KF5/bin:$QTDIR/bin:/home/devel/usr/bin:$PATH
> export QT_PLUGIN_PATH=$KF5/lib/plugins:$KF5/lib64/plugins:$KF5/lib/x86_64-linux-gnu/
> plugins:$QTDIR/plugins:/home/devel/usr/lib64/plugins/:/home/devel/usr/lib/plugins/:$
> QT_PLUGIN_PATH
> #   (lib64 instead of lib, on OpenSUSE and similar)
> export QML2_IMPORT_PATH=$KF5/lib/qml:$KF5/lib64/qml:$KF5/lib/x86_64-linux-gnu/qml:/h
> ome/devel/usr/lib64/qml/:/home/devel/usr/lib/qml/:$QTDIR/qml
> export QML_IMPORT_PATH=$QML2_IMPORT_PATH
> export KDE_SESSION_VERSION=5
> export KDE_FULL_SESSION=true
>
>>
>> What does valgrind say btw?
>
> I cleared all .config, .cache, and .local files and "valgrind
> --tool=memcheck" doesn't provide any new information:
>
> ==2039== Thread 14 Queue(0x30829ee0)[09]:
> ==2039== Invalid read of size 4
> ==2039==    at 0x52D24F0A: KDevelop::IndexedString::index() const
> (indexedstring.h:136)
> ==2039==    by 0x52D331E6: KDevelop::qHash(KDevelop::IndexedString
> const&) (indexedstring.h:235)
> ==2039==    by 0x52D42A10: unsigned int
> qHash<KDevelop::IndexedString>(KDevelop::IndexedString c
> onst&, unsigned int) (qhash.h:102)
> ==2039==    by 0x52D40589: QHash<KDevelop::IndexedString,
> QHashDummyValue>::findNode(KDevelop::I
> ndexedString const&, unsigned int*) const (qhash.h:912)
> ==2039==    by 0x52D6FF50: QHash<KDevelop::IndexedString,
> QHashDummyValue>::insert(KDevelop::Ind
> exedString const&, QHashDummyValue const&) (qhash.h:768)
> ==2039==    by 0x52D6FC46:
> QSet<KDevelop::IndexedString>::insert(KDevelop::IndexedString const&)
> (qset.h:188)
> ==2039==    by 0x52D6F605:
> CppPreprocessEnvironment::merge(Cpp::EnvironmentFile const*, bool) (c
> pppreprocessenvironment.cpp:121)
> ==2039==    by 0x2E7A21E8: PreprocessJob::sourceNeeded(QString&,
> rpp::Preprocessor::IncludeType,
> int, bool) (preprocessjob.cpp:546)
> ==2039==    by 0x2EA4B3B1: rpp::pp::handle_include(bool, rpp::Stream&,
> rpp::Stream&) (pp-engine.
> cpp:221)
> ==2039==    by 0x2EA4AA2A: rpp::pp::handle_directive(unsigned int,
> rpp::Stream&, rpp::Stream&) (
> pp-engine.cpp:139)
> ==2039==    by 0x2EA4B6AE: rpp::pp::operator()(rpp::Stream&,
> rpp::Stream&) (pp-engine.cpp:274)
> ==2039==    by 0x2EA4A3E6: rpp::pp::processFileInternal(QString
> const&, QByteArray const&, QVect
> or<unsigned int>&) (pp-engine.cpp:100)
>
> ==2039==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
> ==2039==
>
> Sandro
>
>>
>> Bye
>> --
>> Milian Wolff
>> mail at milianw.de
>> http://milianw.de


More information about the KDevelop-devel mailing list