Crash after requesting context menu (after reopening the project)

Evgeniy Ivanov powerfox at kde.ru
Tue Jul 29 19:39:16 UTC 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Andreas Pakulat wrote:
> On 28.07.08 21:05:42, Evgeniy Ivanov wrote:
>> After I reopen the project and request context menu in the projects view
>> I get crash. Everything is ok, only context menu crashes KDevelop.
>> It's a new behavior, so it isn't look affected by my changes (I do
>> everything in a safe place).
>> So I do:
>> void DistributedVersionControlPlugin::checkoutFinished(KJob* _checkoutJob)
>> {
>>     DVCSjob* checkoutJob = dynamic_cast<DVCSjob*>(_checkoutJob);
>>     KDevelop::IProject* curProject =
>> core()->projectController()->findProjectForUrl(KUrl(checkoutJob->getDirectory()
>> ));
>>     KUrl projectFile = curProject->projectFileUrl();
>>     qDebug() << "projectFile is " << projectFile << " JobDir is "
>> <<checkoutJob->getDirectory();
>>     qDebug() << "Project will be closed and open";
>>     core()->projectController()->closeProject(curProject);
>>     core()->projectController()->openProject(projectFile);
>>
>> I get new project opened, but context menus...
>> Here bt:
>>
>>
>> #0  0xb5d649d9 in KDevelop::IPlugin::core (this=0x852e0a8) at
>> /workspace/gsoc/kdevplatform/interfaces/iplugin.cpp:181
>> 181         return d->core;
>> (gdb) bt
>> #0  0xb5d649d9 in KDevelop::IPlugin::core (this=0x852e0a8) at
>> /workspace/gsoc/kdevplatform/interfaces/iplugin.cpp:181
>> #1  0xb5d649fb in KDevelop::IPlugin::extensionManager (this=0x852e0a8)
>> at /workspace/gsoc/kdevplatform/interfaces/iplugin.cpp:186
> 
> This backtrace suggests that you have BiC problems with your plugins. I
> suggest to remove anything starting with libkdev and kdev from your
> kde4/lib dir and then remove your builddirs and rebuild+reinstall both
> kdevplatform and kdevelop. 
> 
> That line simply can't crash.
> 
> Andreas
> 

Unfortunately it can.
Backtrace by Alexandr Dymo: http://rafb.net/p/SE7DM933.html
As I understood he has a crash without checking out.
Part of my bt: http://rafb.net/p/O5ydrE71.html

The code (with veritas/coverage/coverageplugin.cpp:97):
http://rafb.net/p/dhaFxK51.html
If I comment lines 15-16 everything is ok. Also if I use
IProject::reloadModel() instead of opening/closing the project
everything is ok too.
Do you think
core()->projectController()->closeProject(curProject);
core()->projectController()->openProject(projectFile);
May break in any way:
IBuildSystemManager* bm = proj->buildSystemManager();

I committed the code with reloadModel(), so everything is ok now (but
close/open feats my needs better).



- --
Cheers, Evgeniy.
Key ID: 0x1FE567A3
Key fingerprint: F316 B5A1 F6D2 054F CD18 B74A 9540 0ABB 1FE5 67A3

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org

iEYEARECAAYFAkiPceQACgkQlUAKux/lZ6NFqgCdH9a3LGdkNAUyfj3hfQus6u3n
o+4An0A09HN63T4z1p1SY8idqX5eynif
=1oTK
-----END PGP SIGNATURE-----




More information about the KDevelop-devel mailing list