Bug 269261 - kdevelop froze when i was typing
Summary: kdevelop froze when i was typing
Status: RESOLVED WORKSFORME
Alias: None
Product: kdevelop
Classification: Applications
Component: Language Support: CPP (old) (show other bugs)
Version: 4.2.0
Platform: Arch Linux Linux
: NOR normal
Target Milestone: 4.2.0
Assignee: kdevelop-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-23 21:05 UTC by Albert Astals Cid
Modified: 2012-12-21 11:27 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Albert Astals Cid 2011-03-23 21:05:28 UTC
Version:           4.2.0 (using KDE 4.6.1) 
OS:                Linux

$ kdevelop 
KGlobal::locale::Warning your global KLocale is being recreated with a valid main component instead of a fake component, this usually means you tried to call i18n related functions before your main component was created. You should not do that since it most likely will not work 
WARNING: deleting stale lockfile /home/tsdgeos/.kde4/share/apps/kdevelop/sessions//{0eff21bd-659b-4925-af48-e5de7647fb7f}/lock
WARNING: deleting stale lockfile /home/tsdgeos/.kdevduchain/{0eff21bd-659b-4925-af48-e5de7647fb7f}/0/lock
kdevelop(3994)/kdevplatform (language) KDevelop::ItemRepositoryRegistry::open: version-hint not found, seems to be an old version 
kdevelop(3994)/kdevplatform (language) KDevelop::ItemRepositoryRegistry::open: "The data-repository at /home/tsdgeos/.kdevduchain/{0eff21bd-659b-4925-af48-e5de7647fb7f}/0 has to be cleared." 
kdevelop(3994)/kdecore (KLibrary) findLibraryInternal: plugins should not have a 'lib' prefix: "libkonsolepart.so"
Object::disconnect: No such slot KDirOperator::_k_slotDoubleClicked(const QModelIndex&)
libpng warning: Malformed iTXt chunk
Object::connect: No such signal KDevelop::CommandExecutor::failed( QProcess::Error )
Object::connect:  (receiver name: 'CMake: poppler')
Application asked to unregister timer 0x69000021 which is not registered in this thread. Fix application.
Application asked to unregister timer 0x1900002f which is not registered in this thread. Fix application.

The "Application asked to unregister timer 0x1900002f which is not registered in this thread. Fix application." thingie seems bad

The not very much useful backtrace was:

Thread 14 (Thread 0x7fa89c1a2700 (LWP 3995)):
#0  0x00007fa8b0b646cb in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fa8b20eb342 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fa8ae75319b in ?? () from /usr/lib/libkdevplatformlanguage.so.3
#3  0x00007fa8b20eacf5 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007fa8b0b5fcb0 in start_thread () from /lib/libpthread.so.0
#5  0x00007fa8b0e4995d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7fa88cf78700 (LWP 3998)):
#0  0x00007fa8b0e43583 in select () from /lib/libc.so.6
#1  0x00007fa8b21b3f6d in ?? () from /usr/lib/libQtCore.so.4
#2  0x00007fa8b20eacf5 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007fa8b0b5fcb0 in start_thread () from /lib/libpthread.so.0
#4  0x00007fa8b0e4995d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7fa88d779700 (LWP 4008)):
#0  0x00007fa8b0e41533 in poll () from /lib/libc.so.6
#1  0x00007fa8abc3e134 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007fa8abc3e66d in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007fa8b21fea0f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007fa8b21d2ca2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007fa8b21d2eec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007fa8b20e8494 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007fa8b21b46a8 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007fa8b20eacf5 in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007fa8b0b5fcb0 in start_thread () from /lib/libpthread.so.0
#10 0x00007fa8b0e4995d in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7fa88df7a700 (LWP 4031)):
#0  0x00007fa8b0b6434c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fa8a8d56bb4 in ?? () from /usr/lib/libQtWebKit.so.4
#2  0x00007fa8b0b5fcb0 in start_thread () from /lib/libpthread.so.0
#3  0x00007fa8b0e4995d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7fa884764700 (LWP 4087)):
#0  0x00007fa8b0b6434c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fa8b20eb3db in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fa8a958e034 in ?? () from /usr/lib/libthreadweaver.so.4
#3  0x00007fa8a95906c3 in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007fa8a958f4af in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007fa8a958f538 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#6  0x00007fa8b20eacf5 in ?? () from /usr/lib/libQtCore.so.4
#7  0x00007fa8b0b5fcb0 in start_thread () from /lib/libpthread.so.0
#8  0x00007fa8b0e4995d in clone () from /lib/libc.so.6
#9  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7fa883762700 (LWP 4303)):
#0  0x00007fa8b0b6434c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fa89c53f364 in ?? () from /usr/lib/libQtScript.so.4
#2  0x00007fa89c53f399 in ?? () from /usr/lib/libQtScript.so.4
#3  0x00007fa8b0b5fcb0 in start_thread () from /lib/libpthread.so.0
#4  0x00007fa8b0e4995d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7fa8823d9700 (LWP 4304)):
#0  0x00007fa8b0e41533 in poll () from /lib/libc.so.6
#1  0x00007fa8abc3e134 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007fa8abc3e66d in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007fa8b21fea0f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007fa8b21d2ca2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007fa8b21d2eec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007fa8b20e8494 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007fa8b20eacf5 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007fa8b0b5fcb0 in start_thread () from /lib/libpthread.so.0
#9  0x00007fa8b0e4995d in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7fa881bd8700 (LWP 4305)):
#0  0x00007fa8b0e41533 in poll () from /lib/libc.so.6
#1  0x00007fa8abc3e134 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007fa8abc3e66d in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007fa8b21fea0f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007fa8b21d2ca2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007fa8b21d2eec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007fa8b20e8494 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007fa8b20eacf5 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007fa8b0b5fcb0 in start_thread () from /lib/libpthread.so.0
#9  0x00007fa8b0e4995d in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fa8813d7700 (LWP 4310)):
#0  0x00007fa8b0b6434c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fa8b20eb3db in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fa8a958e034 in ?? () from /usr/lib/libthreadweaver.so.4
#3  0x00007fa8a95906c3 in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007fa8a958f4af in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007fa8a958f538 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#6  0x00007fa8b20eacf5 in ?? () from /usr/lib/libQtCore.so.4
#7  0x00007fa8b0b5fcb0 in start_thread () from /lib/libpthread.so.0
#8  0x00007fa8b0e4995d in clone () from /lib/libc.so.6
#9  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fa880bd6700 (LWP 4311)):
#0  0x00007fa8b0b6434c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fa8b20eb3db in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fa8a958e034 in ?? () from /usr/lib/libthreadweaver.so.4
#3  0x00007fa8a95906c3 in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007fa8a95906dc in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007fa8a958f4af in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00007fa8a958f538 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#7  0x00007fa8b20eacf5 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007fa8b0b5fcb0 in start_thread () from /lib/libpthread.so.0
#9  0x00007fa8b0e4995d in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fa883f63700 (LWP 5164)):
#0  0x00007fa8b0b6434c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fa8b20eb3db in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fa8a958e034 in ?? () from /usr/lib/libthreadweaver.so.4
#3  0x00007fa8a95906c3 in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007fa8a95906dc in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007fa8a958f4af in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00007fa8a958f538 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#7  0x00007fa8b20eacf5 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007fa8b0b5fcb0 in start_thread () from /lib/libpthread.so.0
#9  0x00007fa8b0e4995d in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fa8803d5700 (LWP 5165)):
#0  0x00007fa8b0b6434c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fa8b20eb3db in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fa8a958e034 in ?? () from /usr/lib/libthreadweaver.so.4
#3  0x00007fa8a95906c3 in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007fa8a95906dc in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007fa8a958f4af in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00007fa8a958f538 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#7  0x00007fa8b20eacf5 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007fa8b0b5fcb0 in start_thread () from /lib/libpthread.so.0
#9  0x00007fa8b0e4995d in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fa87fbd4700 (LWP 5166)):
#0  0x00007fa8b0b6434c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fa8b20eb3db in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fa8a958e034 in ?? () from /usr/lib/libthreadweaver.so.4
#3  0x00007fa8a95906c3 in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007fa8a958f4af in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007fa8a958f538 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#6  0x00007fa8b20eacf5 in ?? () from /usr/lib/libQtCore.so.4
#7  0x00007fa8b0b5fcb0 in start_thread () from /lib/libpthread.so.0
#8  0x00007fa8b0e4995d in clone () from /lib/libc.so.6
#9  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fa8b3be8760 (LWP 3994)):
#0  0x00007fa8b0e1a99d in nanosleep () from /lib/libc.so.6
#1  0x00007fa8b0e43cd4 in usleep () from /lib/libc.so.6
#2  0x00007fa8ae7947ce in KDevelop::DUChainLock::lockForWrite(unsigned int) () from /usr/lib/libkdevplatformlanguage.so.3
#3  0x00007fa8ae794994 in KDevelop::DUChainWriteLocker::lock() () from /usr/lib/libkdevplatformlanguage.so.3
#4  0x00007fa8ae76ce50 in KDevelop::TopDUContext::Cache::Cache(KDevelop::DUChainPointer<KDevelop::TopDUContext>) () from /usr/lib/libkdevplatformlanguage.so.3
#5  0x00007fa882c01e98 in ?? () from /usr/lib/kde4/kdevcpplanguagesupport.so
#6  0x00007fa8ae84d2df in KDevelop::CodeCompletionWorker::computeCompletions(KDevelop::DUChainPointer<KDevelop::DUContext>, KTextEditor::Cursor const&, KTextEditor::View*) ()
   from /usr/lib/libkdevplatformlanguage.so.3
#7  0x00007fa8ae84d6b4 in KDevelop::CodeCompletionWorker::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdevplatformlanguage.so.3
#8  0x00007fa8b21e7c6a in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#9  0x00007fa8b15986a4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#10 0x00007fa8b159d26a in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#11 0x00007fa8b29c0d46 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#12 0x0000000000404b89 in _start ()


Reproducible: Couldn't Reproduce

Steps to Reproduce:
Imported a project, typed something, kdevelop froze



OS: Linux (x86_64) release 2.6.37-ARCH
Compiler: gcc
Comment 1 Milian Wolff 2011-03-29 11:50:26 UTC
can you reproduce these warnings:
Application asked to unregister timer 0x1900002f which is not registered in
this thread. Fix application.

if so - how? Q_FATAL_WARNINGS=1 might help, but of course there seem to be other qWarnings for you, which need to be fixed...
Comment 2 Albert Astals Cid 2011-03-29 22:49:39 UTC
I can reproduce the warning (not the hang) but my Qt is not build with debug so Q_FATAL_WARNINGS doens't help :-/
Comment 3 Claudio Bantaloukas 2011-07-20 16:25:24 UTC
Hi, I'm seeing similar behaviour on kubuntu 10.04, kdevelop 4.2.2, kde 4.6.4 from kubuntu ppa:
I ran strace on kdevelop and saw that it's constantly in nanosleep, so I ran kdevelop in gdb and got the following backtrace by interrupting when I got the freeze:
0x00007ffff51b25ad in nanosleep () at ../sysdeps/unix/syscall-template.S:82
82      ../sysdeps/unix/syscall-template.S: File o directory non esistente.
        in ../sysdeps/unix/syscall-template.S
(gdb) thread apply all bt

Thread 17 (Thread 0x7fffb9edb700 (LWP 19672)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fffed65b832 in ?? () from /usr/lib/libQtWebKit.so.4
#2  0x00007ffff4573d8c in start_thread (arg=0x7fffb9edb700) at pthread_create.c:304
#3  0x00007ffff51eb04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 16 (Thread 0x7fffba6dc700 (LWP 19670)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007ffff64b482b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fffedeb00b4 in ?? () from /usr/lib/libthreadweaver.so.4
#3  0x00007fffedeb2723 in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007fffedeb273c in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007fffedeb153f in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00007fffedeb15cb in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#7  0x00007ffff64b4175 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007ffff4573d8c in start_thread (arg=0x7fffba6dc700) at pthread_create.c:304
#9  0x00007ffff51eb04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 15 (Thread 0x7fffbaedd700 (LWP 19669)):
#0  0x00007ffff2b281e6 in ?? () from /usr/lib/libkdevplatformlanguage.so.3
#1  0x00007ffff2b1ea59 in KDevelop::Identifier::makeConstant() const () from /usr/lib/libkdevplatformlanguage.so.3
#2  0x00007ffff2b1ec49 in KDevelop::Identifier::index() const () from /usr/lib/libkdevplatformlanguage.so.3
#3  0x00007ffff2b1f1fd in KDevelop::IndexedIdentifier::IndexedIdentifier(KDevelop::Identifier const&) ()
   from /usr/lib/libkdevplatformlanguage.so.3
#4  0x00007ffff2b20103 in KDevelop::QualifiedIdentifier::push(KDevelop::Identifier const&) () from /usr/lib/libkdevplatformlanguage.so.3
#5  0x00007ffff2b20cd6 in KDevelop::QualifiedIdentifier::QualifiedIdentifier(QString const&, bool) () from /usr/lib/libkdevplatformlanguage.so.3
#6  0x00007ffff2b20d03 in KDevelop::IndexedTypeIdentifier::IndexedTypeIdentifier(QString const&, bool) ()
   from /usr/lib/libkdevplatformlanguage.so.3
#7  0x00007ffff2b8811e in KDevelop::InstantiationInformation::applyToIdentifier(KDevelop::QualifiedIdentifier const&) const ()
   from /usr/lib/libkdevplatformlanguage.so.3
#8  0x00007fffc2d2d0b3 in CppClassType::toString() const () from /usr/lib/libkdev4cppduchain.so
#9  0x00007ffff2b8810a in KDevelop::InstantiationInformation::applyToIdentifier(KDevelop::QualifiedIdentifier const&) const ()
   from /usr/lib/libkdevplatformlanguage.so.3
#10 0x00007ffff2b40fc8 in KDevelop::DeclarationId::qualifiedIdentifier() const () from /usr/lib/libkdevplatformlanguage.so.3
---Type <return> to continue, or q <return> to quit---
#11 0x00007ffff2b917a8 in KDevelop::IdentifiedType::qualifiedIdentifier() const () from /usr/lib/libkdevplatformlanguage.so.3
#12 0x00007fffc2d2d014 in CppClassType::toString() const () from /usr/lib/libkdev4cppduchain.so
#13 0x00007ffff2b8810a in KDevelop::InstantiationInformation::applyToIdentifier(KDevelop::QualifiedIdentifier const&) const ()
   from /usr/lib/libkdevplatformlanguage.so.3
#14 0x00007ffff2b40fc8 in KDevelop::DeclarationId::qualifiedIdentifier() const () from /usr/lib/libkdevplatformlanguage.so.3
#15 0x00007ffff2b917a8 in KDevelop::IdentifiedType::qualifiedIdentifier() const () from /usr/lib/libkdevplatformlanguage.so.3
#16 0x00007fffc2d2d014 in CppClassType::toString() const () from /usr/lib/libkdev4cppduchain.so
#17 0x00007ffff2b8810a in KDevelop::InstantiationInformation::applyToIdentifier(KDevelop::QualifiedIdentifier const&) const ()
   from /usr/lib/libkdevplatformlanguage.so.3
#18 0x00007ffff2b40fc8 in KDevelop::DeclarationId::qualifiedIdentifier() const () from /usr/lib/libkdevplatformlanguage.so.3
#19 0x00007ffff2b917a8 in KDevelop::IdentifiedType::qualifiedIdentifier() const () from /usr/lib/libkdevplatformlanguage.so.3
#20 0x00007fffc2d2d014 in CppClassType::toString() const () from /usr/lib/libkdev4cppduchain.so
#21 0x00007ffff2b8810a in KDevelop::InstantiationInformation::applyToIdentifier(KDevelop::QualifiedIdentifier const&) const ()
   from /usr/lib/libkdevplatformlanguage.so.3
#22 0x00007fffc2d2d0b3 in CppClassType::toString() const () from /usr/lib/libkdev4cppduchain.so
#23 0x00007ffff2b8810a in KDevelop::InstantiationInformation::applyToIdentifier(KDevelop::QualifiedIdentifier const&) const ()
   from /usr/lib/libkdevplatformlanguage.so.3
#24 0x00007fffc2d2d0b3 in CppClassType::toString() const () from /usr/lib/libkdev4cppduchain.so
#25 0x00007ffff2b8810a in KDevelop::InstantiationInformation::applyToIdentifier(KDevelop::QualifiedIdentifier const&) const ()
   from /usr/lib/libkdevplatformlanguage.so.3
#26 0x00007fffc2d2d0b3 in CppClassType::toString() const () from /usr/lib/libkdev4cppduchain.so
#27 0x00007ffff2b8810a in KDevelop::InstantiationInformation::applyToIdentifier(KDevelop::QualifiedIdentifier const&) const ()
   from /usr/lib/libkdevplatformlanguage.so.3
#28 0x00007fffc2d2d0b3 in CppClassType::toString() const () from /usr/lib/libkdev4cppduchain.so
#29 0x00007ffff2b8810a in KDevelop::InstantiationInformation::applyToIdentifier(KDevelop::QualifiedIdentifier const&) const ()
   from /usr/lib/libkdevplatformlanguage.so.3
#30 0x00007fffc2d2d0b3 in CppClassType::toString() const () from /usr/lib/libkdev4cppduchain.so
#31 0x00007ffff2b8810a in KDevelop::InstantiationInformation::applyToIdentifier(KDevelop::QualifiedIdentifier const&) const ()
   from /usr/lib/libkdevplatformlanguage.so.3
#32 0x00007fffc2d2d0b3 in CppClassType::toString() const () from /usr/lib/libkdev4cppduchain.so
#33 0x00007ffff2b8810a in KDevelop::InstantiationInformation::applyToIdentifier(KDevelop::QualifiedIdentifier const&) const ()
   from /usr/lib/libkdevplatformlanguage.so.3
#34 0x00007fffc2d2d0b3 in CppClassType::toString() const () from /usr/lib/libkdev4cppduchain.so
#35 0x00007ffff2b8810a in KDevelop::InstantiationInformation::applyToIdentifier(KDevelop::QualifiedIdentifier const&) const ()
   from /usr/lib/libkdevplatformlanguage.so.3
#36 0x00007ffff2b40fc8 in KDevelop::DeclarationId::qualifiedIdentifier() const () from /usr/lib/libkdevplatformlanguage.so.3
#37 0x00007ffff2b917a8 in KDevelop::IdentifiedType::qualifiedIdentifier() const () from /usr/lib/libkdevplatformlanguage.so.3
---Type <return> to continue, or q <return> to quit---
#38 0x00007fffc2d2d014 in CppClassType::toString() const () from /usr/lib/libkdev4cppduchain.so
#39 0x00007ffff2b8810a in KDevelop::InstantiationInformation::applyToIdentifier(KDevelop::QualifiedIdentifier const&) const ()
   from /usr/lib/libkdevplatformlanguage.so.3
#40 0x00007ffff2b40fc8 in KDevelop::DeclarationId::qualifiedIdentifier() const () from /usr/lib/libkdevplatformlanguage.so.3
#41 0x00007ffff2b917a8 in KDevelop::IdentifiedType::qualifiedIdentifier() const () from /usr/lib/libkdevplatformlanguage.so.3
#42 0x00007fffc2d2d014 in CppClassType::toString() const () from /usr/lib/libkdev4cppduchain.so
#43 0x00007ffff2b8810a in KDevelop::InstantiationInformation::applyToIdentifier(KDevelop::QualifiedIdentifier const&) const ()
   from /usr/lib/libkdevplatformlanguage.so.3
#44 0x00007fffc2d2d0b3 in CppClassType::toString() const () from /usr/lib/libkdev4cppduchain.so
#45 0x00007ffff2b8810a in KDevelop::InstantiationInformation::applyToIdentifier(KDevelop::QualifiedIdentifier const&) const ()
   from /usr/lib/libkdevplatformlanguage.so.3
#46 0x00007fffc2d2d0b3 in CppClassType::toString() const () from /usr/lib/libkdev4cppduchain.so
#47 0x00007ffff2b8810a in KDevelop::InstantiationInformation::applyToIdentifier(KDevelop::QualifiedIdentifier const&) const ()
   from /usr/lib/libkdevplatformlanguage.so.3
#48 0x00007ffff2b40fc8 in KDevelop::DeclarationId::qualifiedIdentifier() const () from /usr/lib/libkdevplatformlanguage.so.3
#49 0x00007ffff2b917a8 in KDevelop::IdentifiedType::qualifiedIdentifier() const () from /usr/lib/libkdevplatformlanguage.so.3
#50 0x00007fffc2d2d014 in CppClassType::toString() const () from /usr/lib/libkdev4cppduchain.so
#51 0x00007ffff2b8810a in KDevelop::InstantiationInformation::applyToIdentifier(KDevelop::QualifiedIdentifier const&) const ()
   from /usr/lib/libkdevplatformlanguage.so.3
#52 0x00007ffff2b40fc8 in KDevelop::DeclarationId::qualifiedIdentifier() const () from /usr/lib/libkdevplatformlanguage.so.3
#53 0x00007ffff2b917a8 in KDevelop::IdentifiedType::qualifiedIdentifier() const () from /usr/lib/libkdevplatformlanguage.so.3
#54 0x00007fffc2cf0ffd in ?? () from /usr/lib/libkdev4cppduchain.so
#55 0x00007fffc2d55772 in Cpp::instantiateDeclarationAndContext(KDevelop::DUContext*, KDevelop::TopDUContext const*, KDevelop::DUContext*, KDevelop::InstantiationInformation const&, KDevelop::Declaration*, KDevelop::Declaration*, bool) () from /usr/lib/libkdev4cppduchain.so
#56 0x00007fffc2cf20dc in ?? () from /usr/lib/libkdev4cppduchain.so
#57 0x00007fffc2d5581a in Cpp::instantiateDeclarationAndContext(KDevelop::DUContext*, KDevelop::TopDUContext const*, KDevelop::DUContext*, KDevelop::InstantiationInformation const&, KDevelop::Declaration*, KDevelop::Declaration*, bool) () from /usr/lib/libkdev4cppduchain.so
#58 0x00007fffc2d54b43 in Cpp::TemplateDeclaration::instantiate(KDevelop::InstantiationInformation const&, KDevelop::TopDUContext const*, bool) ()
   from /usr/lib/libkdev4cppduchain.so
#59 0x00007fffc2d56918 in Cpp::SpecialTemplateDeclaration<KDevelop::ForwardDeclaration>::resolve(KDevelop::TopDUContext const*) const ()
   from /usr/lib/libkdev4cppduchain.so
#60 0x00007ffff2b0863f in KDevelop::Declaration::logicalDeclaration(KDevelop::TopDUContext const*) () from /usr/lib/libkdevplatformlanguage.so.3
#61 0x00007fffc2d6ab01 in Cpp::ExpressionVisitor::computeConstructedType() () from /usr/lib/libkdev4cppduchain.so
#62 0x00007fffc2d6cf49 in Cpp::ExpressionVisitor::visitInitDeclarator(InitDeclaratorAST*) () from /usr/lib/libkdev4cppduchain.so
#63 0x00007fffc2d6531b in Cpp::ExpressionVisitor::visitSimpleDeclaration(SimpleDeclarationAST*) () from /usr/lib/libkdev4cppduchain.so
#64 0x00007fffc2d6420a in Cpp::ExpressionVisitor::parse(AST*) () from /usr/lib/libkdev4cppduchain.so
#65 0x00007fffc2d293d6 in UseBuilder::visitSimpleDeclaration(SimpleDeclarationAST*) () from /usr/lib/libkdev4cppduchain.so
---Type <return> to continue, or q <return> to quit---
#66 0x00007fffc80f8bce in ?? () from /usr/lib/libkdev4cppparser.so
#67 0x00007fffc2ceae12 in ContextBuilder::visitClassSpecifier(ClassSpecifierAST*) () from /usr/lib/libkdev4cppduchain.so
#68 0x00007fffc2d29dd8 in UseBuilder::visitClassSpecifier(ClassSpecifierAST*) () from /usr/lib/libkdev4cppduchain.so
#69 0x00007fffc80f89ae in DefaultVisitor::visitSimpleDeclaration(SimpleDeclarationAST*) () from /usr/lib/libkdev4cppparser.so
#70 0x00007fffc2d29700 in UseBuilder::visitSimpleDeclaration(SimpleDeclarationAST*) () from /usr/lib/libkdev4cppduchain.so
#71 0x00007fffc80f8bce in ?? () from /usr/lib/libkdev4cppparser.so
#72 0x00007fffc2ce9995 in ContextBuilder::visitNamespace(NamespaceAST*) () from /usr/lib/libkdev4cppduchain.so
#73 0x00007fffc80f8bce in ?? () from /usr/lib/libkdev4cppparser.so
#74 0x00007fffc2ce9995 in ContextBuilder::visitNamespace(NamespaceAST*) () from /usr/lib/libkdev4cppduchain.so
#75 0x00007fffc80f8bce in ?? () from /usr/lib/libkdev4cppparser.so
#76 0x00007fffc2d28702 in UseBuilder::buildUses(AST*) () from /usr/lib/libkdev4cppduchain.so
#77 0x00007fffc858812a in ?? () from /usr/lib/kde4/kdevcpplanguagesupport.so
#78 0x00007fffc858b817 in ?? () from /usr/lib/kde4/kdevcpplanguagesupport.so
#79 0x00007fffc8342cc4 in rpp::pp::handle_include(bool, rpp::Stream&, rpp::Stream&) () from /usr/lib/libkdev4cpprpp.so
#80 0x00007fffc83456f1 in rpp::pp::handle_directive(unsigned int, rpp::Stream&, rpp::Stream&) () from /usr/lib/libkdev4cpprpp.so
#81 0x00007fffc8345e4b in rpp::pp::operator()(rpp::Stream&, rpp::Stream&) () from /usr/lib/libkdev4cpprpp.so
#82 0x00007fffc8346083 in rpp::pp::processFileInternal(QString const&, QByteArray const&, QVector<unsigned int>&) ()
   from /usr/lib/libkdev4cpprpp.so
#83 0x00007fffc8346105 in rpp::pp::processFile(QString const&, QByteArray const&) () from /usr/lib/libkdev4cpprpp.so
#84 0x00007fffc858d9d3 in ?? () from /usr/lib/kde4/kdevcpplanguagesupport.so
#85 0x00007fffedeb1c21 in ?? () from /usr/lib/libthreadweaver.so.4
#86 0x00007fffedeb1d4c in ThreadWeaver::Job::execute(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4
#87 0x00007fffedeb2ff3 in ?? () from /usr/lib/libthreadweaver.so.4
#88 0x00007fffedeb150f in ?? () from /usr/lib/libthreadweaver.so.4
#89 0x00007fffedeb15cb in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#90 0x00007ffff64b4175 in ?? () from /usr/lib/libQtCore.so.4
#91 0x00007ffff4573d8c in start_thread (arg=0x7fffbaedd700) at pthread_create.c:304
#92 0x00007ffff51eb04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#93 0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7fffbb6de700 (LWP 19618)):
#0  0x00007ffff51ddf03 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=<value optimized out>)
    at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007ffff0378104 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff0378639 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff65c63ef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007ffff659a882 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
---Type <return> to continue, or q <return> to quit---
#5  0x00007ffff659aabc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007ffff64b1924 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007ffff657cc2f in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007ffff64b4175 in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007ffff4573d8c in start_thread (arg=0x7fffbb6de700) at pthread_create.c:304
#10 0x00007ffff51eb04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7fffc08c1700 (LWP 19584)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fffe06792a2 in ?? () from /usr/lib/libQtScript.so.4
#2  0x00007fffe06792d9 in ?? () from /usr/lib/libQtScript.so.4
#3  0x00007ffff4573d8c in start_thread (arg=0x7fffc08c1700) at pthread_create.c:304
#4  0x00007ffff51eb04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7fffc2c89700 (LWP 19569)):
#0  0x00007ffff51ddf03 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=<value optimized out>)
    at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007ffff0378104 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff0378639 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff65c63ef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007ffff659a882 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007ffff659aabc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007ffff64b1924 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007ffff64b4175 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007ffff4573d8c in start_thread (arg=0x7fffc2c89700) at pthread_create.c:304
#9  0x00007ffff51eb04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7fffcc4dc700 (LWP 19568)):
#0  0x00007ffff51ddf03 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=<value optimized out>)
    at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007ffff0378104 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff0378639 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff65c63ef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007ffff659a882 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
---Type <return> to continue, or q <return> to quit---
#5  0x00007ffff659aabc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007ffff64b1924 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007ffff64b4175 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007ffff4573d8c in start_thread (arg=0x7fffcc4dc700) at pthread_create.c:304
#9  0x00007ffff51eb04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7fffcbcdb700 (LWP 19567)):
#0  0x00007ffff51ddf03 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=<value optimized out>)
    at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007ffff0378104 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff0378639 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff65c63ef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007ffff659a882 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007ffff659aabc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007ffff64b1924 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007ffff657cc2f in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007ffff64b4175 in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007ffff4573d8c in start_thread (arg=0x7fffcbcdb700) at pthread_create.c:304
#10 0x00007ffff51eb04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fffd7916700 (LWP 19365)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007ffff64b482b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fffedeb00b4 in ?? () from /usr/lib/libthreadweaver.so.4
#3  0x00007fffedeb2723 in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007fffedeb153f in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007fffedeb15cb in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#6  0x00007ffff64b4175 in ?? () from /usr/lib/libQtCore.so.4
#7  0x00007ffff4573d8c in start_thread (arg=0x7fffd7916700) at pthread_create.c:304
#8  0x00007ffff51eb04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fffd836d700 (LWP 19363)):
#0  0x00007ffff51e3143 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007ffff657c501 in ?? () from /usr/lib/libQtCore.so.4
---Type <return> to continue, or q <return> to quit---
#2  0x00007ffff64b4175 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007ffff4573d8c in start_thread (arg=0x7fffd836d700) at pthread_create.c:304
#4  0x00007ffff51eb04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fffde60e700 (LWP 19361)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:216
#1  0x00007ffff64b479e in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007ffff2adb22b in ?? () from /usr/lib/libkdevplatformlanguage.so.3
#3  0x00007ffff64b4175 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007ffff4573d8c in start_thread (arg=0x7fffde60e700) at pthread_create.c:304
#5  0x00007ffff51eb04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffff7faf780 (LWP 19358)):
#0  0x00007ffff51b25ad in nanosleep () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007ffff51e3984 in usleep (useconds=<value optimized out>) at ../sysdeps/unix/sysv/linux/usleep.c:33
#2  0x00007ffff2b1bcec in KDevelop::DUChainLock::lockForWrite(unsigned int) () from /usr/lib/libkdevplatformlanguage.so.3
#3  0x00007ffff2b1beb4 in KDevelop::DUChainWriteLocker::lock() () from /usr/lib/libkdevplatformlanguage.so.3
#4  0x00007ffff2af4aeb in KDevelop::TopDUContext::Cache::Cache(KDevelop::DUChainPointer<KDevelop::TopDUContext>) ()
   from /usr/lib/libkdevplatformlanguage.so.3
#5  0x00007fffc85a7683 in ?? () from /usr/lib/kde4/kdevcpplanguagesupport.so
#6  0x00007ffff2bd2669 in KDevelop::CodeCompletionWorker::computeCompletions(KDevelop::DUChainPointer<KDevelop::DUContext>, KTextEditor::Cursor const&, KTextEditor::View*) () from /usr/lib/libkdevplatformlanguage.so.3
#7  0x00007ffff2bd2a64 in KDevelop::CodeCompletionWorker::qt_metacall(QMetaObject::Call, int, void**) ()
   from /usr/lib/libkdevplatformlanguage.so.3
#8  0x00007ffff65af49a in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#9  0x00007ffff59589f4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#10 0x00007ffff595d3ba in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#11 0x00007ffff6d83716 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#12 0x0000000000404bf6 in _start ()
(gdb) 
(gdb)
Comment 4 Milian Wolff 2011-07-20 22:55:43 UTC
ok, instantiation of some template pared with code completion. both need the duchain lock and hence can lead to ui freezes - damn.

is the project you are working on foss? i.e. can I access it? I wonder which template takes such an amount of time to instantiate, maybe I can try to optimize that.
Comment 5 Claudio Bantaloukas 2011-07-21 07:50:40 UTC
Hi, unfortunately it's not oss, so I can't give the exact source, but something "similar" to the file I was working on ;)

If this does not trigger, I can send more, but I need to "cleanup" names and sensitive data first... thanks!

#ifndef A_HPP
#define A_HPP
#include <boost/functional/hash.hpp>
#include <string>

namespace Comp {
namespace Prod {

struct A {
    std::string code;
    bool operator==(const A& rhs) const
    {
        return (code == rhs.code);
    }

};

std::size_t hash_value(A const& b)
{
    boost::hash<std::string> hasher;
    return hasher(b.code);
}

} // namespace Prod
} // namespace Comp

#endif // A_HPP


#ifndef B_HPP
#define B_HPP

#include <string>
#include <boost/flyweight.hpp>
#include <ostream>
#include "A.hpp"

namespace Comp {
namespace Prod {

struct B {
    std::string a;
    std::string b;
    std::string c;
    std::string d;
    std::string e;
    std::string f;
    std::string g;
    boost::flyweight<A> h;


    bool operator==(const B& rhs) const
    {
	if (h!=rhs.h)
	  return false;
        if (!a.empty()) {
            return a == rhs.a;
        }
        if (!b.empty()) {
            return b == rhs.b;
        }
        return (c==rhs.c)&&(d==rhs.d)&&(e==rhs.e)&&(f==rhs.f);
    }

};

std::ostream & operator<<(std::ostream& out,const B& ins) {
    out << "B ";
    if (!ins.a.empty()) {
        out << "a["<< ins.a << "] ";
    }
    if (!ins.b.empty()) {
        out << "b["<< ins.b << "] ";
    }
    if (!ins.c.empty()) {
        out << "c["<< ins.c << "] ";
    }
    return out;
};

std::size_t hash_value(B const& b)
{
    std::size_t seed = 0;
    if (!b.g.get().code.empty()) {
        boost::hash_combine(seed, b.g.get().code);
    }
    if (!b.a.empty()) {
        boost::hash_combine(seed, b.a);
        return seed;
    }
    if (!b.b.empty()) {
        boost::hash_combine(seed, b.b);
        return seed;
    }

}

} // namespace Prod
} // namespace Comp

#endif // B_HPP
Comment 6 Kevin Funk 2012-12-20 23:46:20 UTC
This is rather hard to debug without a MWE. Closing. Reopen if wanted.
Comment 7 Albert Astals Cid 2012-12-21 08:10:48 UTC
Hilarious, so one year and a half after the contents of a file that reproduces the crash the bug gets closed with a random comment about MWE (whatever that might be).

You need to improve your user communication skills, closing as INVALID a bug people failed to provide information you asked for is understandable, but Claudio said he would provide more information if the contents of the file do not reproduce the crash, and instead asking for more data, you just close the bug...
Comment 8 Milian Wolff 2012-12-21 11:27:27 UTC
What Kevin probably failed to mention is that he cannot reproduce the freeze with the provided sample.

Can someone of you still reproduce this issue? I can't either with the information presented here I'm afraid.

Cheers

PS: Changing Invalid to WorksForMe.