This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/4381: Exceptions virtually inherited from a class cause segmentation fault at run time
- To: gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, nobody at gcc dot gnu dot org, rodrigc at gcc dot gnu dot org, topiolli at ee dot oulu dot fi
- Subject: Re: c++/4381: Exceptions virtually inherited from a class cause segmentation fault at run time
- From: rodrigc at gcc dot gnu dot org
- Date: 28 Sep 2001 05:27:50 -0000
Synopsis: Exceptions virtually inherited from a class cause segmentation fault at run time
State-Changed-From-To: open->analyzed
State-Changed-By: rodrigc
State-Changed-When: Thu Sep 27 22:27:49 2001
State-Changed-Why:
Verified with gcc version 3.0.2 20010927 (prerelease)
under Linux.
A backtrace of the resulting Segmentation Fault
reveals:
Program received signal SIGSEGV, Segmentation fault.
#0 __cxxabiv1::__vmi_class_type_info::__do_upcast(__cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info::__upcast_result&) const (this=0x804dca0, dst=0x804dc80, obj_ptr=0x1a,
result=@0xbffff2b0) at tinfo.cc:104
#1 0x4005f9fa in __cxxabiv1::__class_type_info::__do_upcast(__cxxabiv1::__class_type_info const*, void**) const (this=0x804dca0,
dst_type=0x804dc80, obj_ptr=0xbffff318) at tinfo.cc:228
#2 0x4005f9bb in __cxxabiv1::__class_type_info::__do_catch(std::type_info const*, void**, unsigned) const (this=0x804dc80,
thr_type=0x804dca0, thr_obj=0xbffff318, outer=1) at tinfo.cc:219
#3 0x4005ea39 in check_exception_spec(lsda_header_info*, std::type_info const*, long) (info=0xbffff3b0, throw_type=0x804dca0,
filter_value=-1) at eh_personality.cc:119
#4 0x4005ee29 in __gxx_personality_v0 (version=1, actions=2,
exception_class=5138137972254386944, ue_header=0x8050448,
context=0xbffff5c0) at eh_personality.cc:331
#5 0x400e73b5 in _Unwind_RaiseException_Phase2 (exc=0x8050448,
context=0xbffff5c0) at unwind-dw2.c:1045
#6 0x400e74fb in _Unwind_RaiseException (exc=0x8050448)
at unwind-dw2.c:1045
#7 0x4005f1a8 in __cxa_throw (obj=0x8050468, tinfo=0x804dca0,
dest=0) at eh_throw.cc:72
#8 0x0804a4f7 in func() ()
#9 0x0804a52f in main ()
#10 0x40106e5e in __libc_start_main (main=0x804a520 <main>, argc=1,
ubp_av=0xbffff7b4, init=0x804a110 <_init>,
fini=0x804cad0 <_fini>, rtld_fini=0x4000d3c4 <_dl_fini>,
stack_end=0xbffff7ac) at ../sysdeps/generic/libc-start.c:129
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=4381&database=gcc