Summary: | Crash in CPP Parser while startup of project | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | André Stein <andre.stein.1985> |
Component: | Language Support: CPP (old) | Assignee: | kdevelop-bugs-null |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | olivier.jg |
Priority: | NOR | ||
Version: | git master | ||
Target Milestone: | 4.3.0 | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/kdevelop/c6368de73c1db6e8c0d0f1b4ea965583c1767365 | Version Fixed In: | |
Sentry Crash Report: |
Description
André Stein
2012-11-14 15:28:02 UTC
Indead the problem is repoducible. It always crashes when I have a certain file open. I can't post the source code here but it contains template specialisations. If I have time I'll try to find a reduced test case. Others have run into this as well... a fix can be provided for the symptoms, but it seems like the type builder is generating invalid types in some circumstances, and I'd like to see when. An reduced example would be very helpful. Okay ill see what I can do. Otherwise would valgrind output be useful for you? Or a full core dump? (In reply to comment #3) > Okay ill see what I can do. Otherwise would valgrind output be useful for > you? Or a full core dump? No, those won't be necessary. Got it: The problem can be reproduced every time giving the backtrace shown above, using the following code snippet: #include <boost/filesystem.hpp> void connect() { using namespace boost::filesystem; directory_iterator end; for( directory_iterator it(".") ; it != end ; ++it ) { if (is_directory(it->status())) std::cout << "yes" << std::endl; } } Make sure you have boost 1.50 installed. You didn't verify whether it crashes with other boost versions too (boost filesystem switch to v3 some versions ago, so older versions might have another code basis). Git commit c6368de73c1db6e8c0d0f1b4ea965583c1767365 by Olivier JG. Committed on 17/11/2012 at 13:56. Pushed by olivierjg into branch 'master'. Fix crash in TemplateResolver when encountering invalid type. Thanks to Kevin Funk and André Stein for investigation. REVIEW: 107175 M +7 -0 languages/cpp/cppduchain/templateresolver.cpp http://commits.kde.org/kdevelop/c6368de73c1db6e8c0d0f1b4ea965583c1767365 Moving all the bugs from the CPP Parser. It was not well defined the difference between it and C++ Language Support and people kept reporting in both places indistinctively |