KDevelop crashes on code completion
Steven T. Hatton
hattons at globalsymmetry.com
Sat Aug 27 01:13:07 UTC 2005
On Friday 26 August 2005 14:28, Andras Mantia wrote:
> > I'm not completely sure why bdb was removed from KDevelop.
>
> Well, it's not completely sane to keep a local copy... If BDB is so bad,
> it should be changed (sqlite?). But if it is not that bad, KDevelop must
> be able to work with different versions. BTW, this is why we have kdelibs
> and do not duplicate code everywhere.
Understood.
> Anyway, Dirk said it will fix the crashes and he did. But there seems to
> be another problem regarding the index creation.
> And removing -O3 is a workaround, not a solution. It was also not clear
> if during your latest test you used 4.1 or 4.3.
You noticed that too, eh?
OK, I did some digging, and this is what I've learned. If I don't give any DBD
related arguments to ./configure,
$ pwd
/download/org/kdevelop/repository/root/build/lib/catalog
$ . libkdevcatalog.la #Yes I know this is stupid, but...
$ echo -e ${dependency_libs//' '/\\n}
-ldb # This is BDB 4.3
/opt/kde3/lib/libkdecore.la
-L/usr/lib
-L/usr/lib/
-L/usr/X11R6/lib/
/opt/kde3/lib/libDCOP.la
-lresolv
-lutil
/usr/lib/libart_lgpl_2.la
/usr/lib/libidn.la
/opt/kde3/lib/libkdefx.la
/usr/lib/qt3/lib/libqt-mt.la
-lfreetype
-lfontconfig
-lXi
-lXrender
-lXrandr
-lXcursor
-lXinerama
-lXft
/usr/lib/libfontconfig.la
/usr/lib/libfreetype.la
/usr/lib/libexpat.la
-ldl
-lpng
-lz
-lXext
-lX11
-lSM
-lICE
-lpthread
/usr/lib/libstdc++.la
########################
With ./configure\
--with-db-includedir=/usr/include/db41\
--with-db-libdir=/usr/lib\
--with-db-lib=db-4.1\
...
echo -e ${dependency_libs//' '/\\n}
-L/usr/lib
/usr/lib/libdb-4.1.la # This replaced -ldb
/opt/kde3/lib/libkdecore.la
-L/usr/lib/
-L/usr/X11R6/lib/
/opt/kde3/lib/libDCOP.la
-lresolv
-lutil
/usr/lib/libart_lgpl_2.la
/usr/lib/libidn.la
/opt/kde3/lib/libkdefx.la
/usr/lib/qt3/lib/libqt-mt.la
-lfreetype
-lfontconfig
-lXi
-lXrender
-lXrandr
-lXcursor
-lXinerama
-lXft
/usr/lib/libfontconfig.la
/usr/lib/libfreetype.la
/usr/lib/libexpat.la
-ldl
-lpng
-lz
-lXext
-lX11
-lSM
-lICE
-lpthread
/usr/lib/libstdc++.la
Now here's an interesting thing. It doesn't matter which BDB I link against.
In either case, I get the same problem when creating a new derived class with
the New Class dialog. I've learned that it _does_ *eventually* return after
I enter a character in the Base class field. And after I enter the second
character, it also retruns - in about a minute. Using kdebugdialog I enabled
kdevelop (cpp support) and see that it is reporting a lengthy repetition of
the following actions:
kdevelop (cpp support): CodeInformationRepository::getBaseClassList()
kdevelop (cpp support): CodeInformationRepository::query()
kdevelop (cpp support): CodeInformationRepository::getTagsInScope()
kdevelop (cpp support): CodeInformationRepository::query()
kdevelop (cpp support): CodeInformationRepository::query()
kdevelop (cpp support): CodeInformationRepository::query()
kdevelop (cpp support): CodeInformationRepository::getBaseClassList()
kdevelop (cpp support): CodeInformationRepository::query()
kdevelop (cpp support): CodeInformationRepository::getTagsInScope()
kdevelop (cpp support): CodeInformationRepository::query()
kdevelop (cpp support): CodeInformationRepository::query()
kdevelop (cpp support): CodeInformationRepository::query()
kdevelop (cpp support): CodeInformationRepository::getBaseClassList()
kdevelop (cpp support): CodeInformationRepository::query()
kdevelop (cpp support): CodeInformationRepository::getTagsInScope()
kdevelop (cpp support): CodeInformationRepository::query()
kdevelop (cpp support): CodeInformationRepository::query()
kdevelop (cpp support): CodeInformationRepository::query()
kdevelop (cpp support): CodeInformationRepository::getBaseClassList()
kdevelop (cpp support): CodeInformationRepository::query()
When that stops, the input cursor returns to the Base class field.
Can anybody else reproduce this behavior? Does creating a new derived class
when code completion is enabled, and the Qt PCS is created, and selected?
--
Regards,
Steven
More information about the KDevelop-devel
mailing list