[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#707215: [kdevelop] Crashes when opening some C files



tags 707215 + patch
thanks

On Wednesday 08 May 2013 11:33:43 you wrote:
> Just updated to new libc+libstdc++ and it now starts to crash everytime I
> open a project with many C files. The culprit seems to be the cpp parser:

A rebuild against the new libraries fixed the problem for me. But now it
crashes somewhere else. (example program attached)

0x00007ffff237ed9e in std::pair<std::_Rb_tree_iterator<unsigned int>, bool> std::_Rb_tree<unsigned int, unsigned int, std::_Identity<unsigned int>, std::less<unsigned int>, std::allocator<unsigned int> >::_M_insert_unique<unsigned int>(unsigned int&&) ()
   from /usr/lib/libkdevplatformlanguage.so.5
(gdb) bt
#0  0x00007ffff237ed9e in std::pair<std::_Rb_tree_iterator<unsigned int>, bool> std::_Rb_tree<unsigned int, unsigned int, std::_Identity<unsigned int>, std::less<unsigned int>, std::allocator<unsigned int> >::_M_insert_unique<unsigned int>(unsigned int&&) ()
   from /usr/lib/libkdevplatformlanguage.so.5
#1  0x00007fffbf89da79 in insert (__x=@0x7fff2e91f30c: 74436, this=0x7fff2e91f360) at /usr/include/c++/4.7/bits/stl_set.h:424
#2  Cpp::EnvironmentFile::merge (this=0x7fffb402c9f0, file=..., env=<optimized out>)
    at ../../../../languages/cpp/cppduchain/environmentmanager.cpp:522
#3  0x00007fffbfd8a73e in PreprocessJob::run (this=0x7fffb40d9640) at ../../../languages/cpp/preprocessjob.cpp:301
#4  0x00007fffbfd8042e in CPPParseJob::parseForeground (this=0x7fffb40db3a0) at ../../../languages/cpp/cppparsejob.cpp:174
#5  0x00007fffbfd88d8c in PreprocessJob::sourceNeeded (this=0x7fffb402c620, _fileName=..., type=<optimized out>, sourceLine=384, 
    skipCurrentPath=<optimized out>) at ../../../languages/cpp/preprocessjob.cpp:579
#6  0x00007fffbfb402ec in rpp::pp::handle_include (this=this@entry=0x7fff2e920f60, skip_current_path=false, input=..., output=...)
    at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:213
#7  0x00007fffbfb407d9 in rpp::pp::handle_directive (this=this@entry=0x7fff2e920f60, directive=directive@entry=73025, input=..., 
    output=...) at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:131
#8  0x00007fffbfb40e40 in rpp::pp::operator() (this=this@entry=0x7fff2e920f60, input=..., output=...)
    at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:266
#9  0x00007fffbfb41075 in rpp::pp::processFileInternal (this=0x7fff2e920f60, fileName=..., fileContents=..., result=...)
    at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:98
#10 0x00007fffbfb41116 in rpp::pp::processFile (this=<optimized out>, fileName=..., data=...)
    at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:85
#11 0x00007fffbfd8a2f6 in PreprocessJob::run (this=0x7fffb402c620) at ../../../languages/cpp/preprocessjob.cpp:245
#12 0x00007fffbfd8042e in CPPParseJob::parseForeground (this=0x7fffb402d2c0) at ../../../languages/cpp/cppparsejob.cpp:174
#13 0x00007fffbfd88d8c in PreprocessJob::sourceNeeded (this=0x7fffb40213f0, _fileName=..., type=<optimized out>, sourceLine=370, 
    skipCurrentPath=<optimized out>) at ../../../languages/cpp/preprocessjob.cpp:579
#14 0x00007fffbfb402ec in rpp::pp::handle_include (this=this@entry=0x7fff2e922920, skip_current_path=false, input=..., output=...)
    at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:213
#15 0x00007fffbfb407d9 in rpp::pp::handle_directive (this=this@entry=0x7fff2e922920, directive=directive@entry=73025, input=..., 
    output=...) at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:131
#16 0x00007fffbfb40e40 in rpp::pp::operator() (this=this@entry=0x7fff2e922920, input=..., output=...)
    at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:266
#17 0x00007fffbfb41075 in rpp::pp::processFileInternal (this=0x7fff2e922920, fileName=..., fileContents=..., result=...)
    at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:98
#18 0x00007fffbfb41116 in rpp::pp::processFile (this=<optimized out>, fileName=..., data=...)
    at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:85
#19 0x00007fffbfd8a2f6 in PreprocessJob::run (this=0x7fffb40213f0) at ../../../languages/cpp/preprocessjob.cpp:245
#20 0x00007fffbfd8042e in CPPParseJob::parseForeground (this=0x7fffb4021590) at ../../../languages/cpp/cppparsejob.cpp:174
#21 0x00007fffbfd88d8c in PreprocessJob::sourceNeeded (this=0x7fffb4002c30, _fileName=..., type=<optimized out>, sourceLine=26, 
    skipCurrentPath=<optimized out>) at ../../../languages/cpp/preprocessjob.cpp:579
#22 0x00007fffbfb402ec in rpp::pp::handle_include (this=this@entry=0x7fff2e9242e0, skip_current_path=false, input=..., output=...)
    at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:213
#23 0x00007fffbfb407d9 in rpp::pp::handle_directive (this=this@entry=0x7fff2e9242e0, directive=directive@entry=73025, input=..., 
    output=...) at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:131
#24 0x00007fffbfb40e40 in rpp::pp::operator() (this=this@entry=0x7fff2e9242e0, input=..., output=...)
    at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:266
#25 0x00007fffbfb41075 in rpp::pp::processFileInternal (this=0x7fff2e9242e0, fileName=..., fileContents=..., result=...)
    at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:98
#26 0x00007fffbfb41116 in rpp::pp::processFile (this=<optimized out>, fileName=..., data=...)
    at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:85
#27 0x00007fffbfd8a2f6 in PreprocessJob::run (this=0x7fffb4002c30) at ../../../languages/cpp/preprocessjob.cpp:245
#28 0x00007fffbfd8042e in CPPParseJob::parseForeground (this=0x7fffb4001180) at ../../../languages/cpp/cppparsejob.cpp:174
#29 0x00007fffbfd88d8c in PreprocessJob::sourceNeeded (this=0x36acd80, _fileName=..., type=<optimized out>, sourceLine=0, 
    skipCurrentPath=<optimized out>) at ../../../languages/cpp/preprocessjob.cpp:579
#30 0x00007fffbfb402ec in rpp::pp::handle_include (this=this@entry=0x7fff2e925ca0, skip_current_path=false, input=..., output=...)
    at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:213
#31 0x00007fffbfb407d9 in rpp::pp::handle_directive (this=this@entry=0x7fff2e925ca0, directive=directive@entry=73025, input=..., 
    output=...) at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:131
#32 0x00007fffbfb40e40 in rpp::pp::operator() (this=this@entry=0x7fff2e925ca0, input=..., output=...)
    at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:266
#33 0x00007fffbfb41075 in rpp::pp::processFileInternal (this=0x7fff2e925ca0, fileName=..., fileContents=..., result=...)
    at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:98
#34 0x00007fffbfb41116 in rpp::pp::processFile (this=<optimized out>, fileName=..., data=...)
    at ../../../../../languages/cpp/parser/rpp/pp-engine.cpp:85
#35 0x00007fffbfd8a2f6 in PreprocessJob::run (this=0x36acd80) at ../../../languages/cpp/preprocessjob.cpp:245
#36 0x00007fffedd581ba in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0x7fff2e926db0, th=th@entry=0x31f7cf0, 
    job=job@entry=0x36acd80) at ../../../threadweaver/Weaver/Job.cpp:106
#37 0x00007fffedd58331 in ThreadWeaver::Job::execute (this=0x36acd80, th=0x31f7cf0) at ../../../threadweaver/Weaver/Job.cpp:135
#38 0x00007fffedd59343 in ThreadWeaver::JobCollectionJobRunner::execute (this=0x36acde0, t=0x31f7cf0)
    at ../../../threadweaver/Weaver/JobCollection.cpp:82
#39 0x00007fffedd5798f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7fff2e926e20, parent=0xa75110, 
    th=th@entry=0x31f7cf0) at ../../../threadweaver/Weaver/Thread.cpp:95
#40 0x00007fffedd57a4b in ThreadWeaver::Thread::run (this=0x31f7cf0) at ../../../threadweaver/Weaver/Thread.cpp:142
#41 0x00007ffff6435d0b in QThreadPrivate::start (arg=0x31f7cf0) at thread/qthread_unix.cpp:307
#42 0x00007ffff44a8e0e in start_thread (arg=0x7fff2e927700) at pthread_create.c:311
#43 0x00007ffff513093d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

-- 
Franz Schrober
#include <stdio.h>

int main(int argc, char *argv[])
{
	return 1;
}

Reply to: