Bug 994612

Summary: [abrt] kdevelop-4.5.1-1.fc19: operator==: Process /usr/bin/kdevelop was killed by signal 11 (SIGSEGV)
Product: [Fedora] Fedora Reporter: Andrew Boettcher <a.boettcher>
Component: kdevelopAssignee: Than Ngo <than>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 19CC: a.boettcher, jgrulich, kevin, ltinkl, rdieter, rnovacek, smparrish, than
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:9189f95e395a74f8ac3ef94c409db107423b6503
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-02-09 11:57:51 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File: backtrace
none
File: cgroup
none
File: core_backtrace
none
File: dso_list
none
File: environ
none
File: limits
none
File: maps
none
File: open_fds
none
File: proc_pid_status
none
File: var_log_messages
none
File: xsession_errors
none
Crashing c++11 source none

Description Andrew Boettcher 2013-08-07 15:30:23 UTC
Description of problem:
I have not yet found a minimum skeleton of code to reproduce the problem, but it seems to happen when parsing some very templated c++11 code. Even opening files that contain a certain type on construct in the project seems to crash kdevelop.

From the backtrace it seems to be a problem parsing the template specializations in the files in question. I will attempt to widdle down the code to something that reproduces the crash and append it to this ticket.

Version-Release number of selected component:
kdevelop-4.5.1-1.fc19

Additional info:
reporter:       libreport-2.1.4
backtrace_rating: 4
cmdline:        /usr/bin/kdevelop
crash_function: operator==
executable:     /usr/bin/kdevelop
kernel:         3.9.4-301.fc19.x86_64
runlevel:       N 5
uid:            1000

Truncated backtrace:
Thread no. 1 (5 frames)
 #0 operator== at ../../../../libstdc++-v3/libsupc++/typeinfo:124
 #1 __cxxabiv1::__class_type_info::__do_dyncast at ../../../../libstdc++-v3/libsupc++/class_type_info.cc:86
 #2 __cxxabiv1::__vmi_class_type_info::__do_dyncast at ../../../../libstdc++-v3/libsupc++/vmi_class_type_info.cc:163
 #4 __cxxabiv1::__dynamic_cast at ../../../../libstdc++-v3/libsupc++/dyncast.cc:60
 #5 Cpp::TemplateDeclaration::setSpecializedFrom at /usr/src/debug/kdevelop-4.5.1/languages/cpp/cppduchain/templatedeclaration.cpp:384

Comment 1 Andrew Boettcher 2013-08-07 15:30:33 UTC
Created attachment 783976 [details]
File: backtrace

Comment 2 Andrew Boettcher 2013-08-07 15:30:37 UTC
Created attachment 783977 [details]
File: cgroup

Comment 3 Andrew Boettcher 2013-08-07 15:30:41 UTC
Created attachment 783978 [details]
File: core_backtrace

Comment 4 Andrew Boettcher 2013-08-07 15:30:45 UTC
Created attachment 783979 [details]
File: dso_list

Comment 5 Andrew Boettcher 2013-08-07 15:30:48 UTC
Created attachment 783980 [details]
File: environ

Comment 6 Andrew Boettcher 2013-08-07 15:30:52 UTC
Created attachment 783981 [details]
File: limits

Comment 7 Andrew Boettcher 2013-08-07 15:30:56 UTC
Created attachment 783982 [details]
File: maps

Comment 8 Andrew Boettcher 2013-08-07 15:31:01 UTC
Created attachment 783983 [details]
File: open_fds

Comment 9 Andrew Boettcher 2013-08-07 15:31:04 UTC
Created attachment 783984 [details]
File: proc_pid_status

Comment 10 Andrew Boettcher 2013-08-07 15:31:08 UTC
Created attachment 783985 [details]
File: var_log_messages

Comment 11 Andrew Boettcher 2013-08-07 15:31:14 UTC
Created attachment 783986 [details]
File: xsession_errors

Comment 12 Andrew Boettcher 2013-08-07 16:09:28 UTC
Created attachment 783988 [details]
Crashing c++11 source

This code when CMakeLists.txt has

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

will crash KDevelop's parser

Comment 13 Andrew Boettcher 2013-08-07 16:13:12 UTC
The crash seems to come from template specializations when the template declaration is not available in the file with the specialization. If I delete the DataSource<double> specialization, I can recreate the crash by typing that definition up to the DataSource keyword.

If the file is already loaded then I can cause a crash by typing the template keyword anywhere in the file.

Note the c++11 source in crash.cpp does not crash if the template forward declaration is uncommented. It will still crash if that forward declaration is located in another file. This code is valid c++11.

Comment 14 Fedora End Of Life 2015-01-09 19:20:35 UTC
This message is a notice that Fedora 19 is now at end of life. Fedora 
has stopped maintaining and issuing updates for Fedora 19. It is 
Fedora's policy to close all bug reports from releases that are no 
longer maintained. Approximately 4 (four) weeks from now this bug will
be closed as EOL if it remains open with a Fedora 'version' of '19'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 19 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.