This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

c++/5453: Compiled program crash - inheritance/template/friend class problem



>Number:         5453
>Category:       c++
>Synopsis:       Compiled program crash - inheritance/template/friend class problem
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jan 22 06:46:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     kgardas@iol.cz
>Release:        gcc version 3.1 20020121 (experimental)
>Organization:
>Environment:
Debian GNU/Linux 3.0 on x86 machine
>Description:

 I've compiled attached program with:

thinkpad:~/mujprog/c-cc/tests/gcc31/crash-out-types$ c++ -v -o crash2 crash2.cc 
Reading specs from /home/karel/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1/specs
Configured with: ./../gcc3.1/configure --prefix=/home/karel/usr/local --enable-shared --enable-threads --enable-languages=c++
Thread model: posix
gcc version 3.1 20020121 (experimental)
 /home/karel/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1/cc1plus -v -D__GNUC__=3 -D__GNUC_MINOR__=1 -D__GNUC_PATCHLEVEL__=0 -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_GNU_SOURCE -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ crash2.cc -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -D__GXX_ABI_VERSION=100 -quiet -dumpbase crash2.cc -version -o /tmp/ccddBPcT.s
GNU CPP version 3.1 20020121 (experimental) (cpplib) (i386 Linux/ELF)
GNU C++ version 3.1 20020121 (experimental) (i686-pc-linux-gnu)
        compiled by GNU C version 3.1 20020121 (experimental).
ignoring nonexistent directory "/home/karel/usr/local/i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /home/karel/usr/local/include/g++-v3
 /home/karel/usr/local/include/g++-v3/i686-pc-linux-gnu
 /home/karel/usr/local/include/g++-v3/backward
 /usr/local/include
 /home/karel/usr/local/include
 /home/karel/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1/include
 /usr/include
End of search list.
 as -V -Qy -o /tmp/ccozjyyR.o /tmp/ccddBPcT.s
GNU assembler version 2.11.92.0.12.3 (i386-linux) using BFD version 2.11.92.0.12.3 20011121 Debian/GNU Linux
 /home/karel/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1/collect2 -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o crash2 /usr/lib/crt1.o /usr/lib/crti.o /home/karel/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1/crtbegin.o -L/home/karel/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1 -L/home/karel/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1/../../.. /tmp/ccozjyyR.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /home/karel/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1/crtend.o /usr/lib/crtn.o


Then I started it and it crashed!


thinkpad:~/mujprog/c-cc/tests/gcc31/crash-out-types$ ./crash2 
RefCntObject::RefCntObject()
CORBA::Object::Object()
B::B()
B_impl::B_impl()
Segmentation fault
thinkpad:~/mujprog/c-cc/tests/gcc31/crash-out-types$ 


This code works well with my standard gcc 2.95.4 (Debian prerelease) - the output is below:


ReaRefCntObject::RefCntObject()
CORBA::Object::Object()
B::B()
B_impl::B_impl()
RefCntObject::RefCntObject()
CORBA::Object::Object()
A::A()
A_impl::A_impl()
RefCntObject::_deref() <- 1
RefCntObject::_deref() -> 0
A_impl::~A_impl()
A::~A()
CORBA::Object::~Object()
RefCntObject::~RefCntObject()
_refcnt(): 0
RefCntObject::_deref() <- 1
RefCntObject::_deref() -> 0
B_impl::~B_impl()
B::~B()
CORBA::Object::~Object()
RefCntObject::~RefCntObject()
_refcnt(): 0
thinkpad:~/mujprog/c-cc/tests/gcc31/crash-out-types$ 


Cheers,

Karel
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/x-c++src; name="crash2.cc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="crash2.cc"

CiNpbmNsdWRlIDxhc3NlcnQuaD4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNl
IHN0ZDsKCm5hbWVzcGFjZSBDT1JCQQp7CiAgICBjbGFzcyBSZWZDbnRPYmplY3QKICAgIHsKCWxv
bmcgX01fcmVmY250OwogICAgcHVibGljOgoJUmVmQ250T2JqZWN0KCkKCSAgICA6IF9NX3JlZmNu
dCgxKQoJewoJICAgIGNlcnIgPDwgIlJlZkNudE9iamVjdDo6UmVmQ250T2JqZWN0KCkiIDw8IGVu
ZGw7Cgl9Cgl2aXJ0dWFsIH5SZWZDbnRPYmplY3QoKQoJewoJICAgIGNlcnIgPDwgIlJlZkNudE9i
amVjdDo6flJlZkNudE9iamVjdCgpIiA8PCBlbmRsOwoJICAgIGNlcnIgPDwgIl9yZWZjbnQoKTog
IiA8PCBfTV9yZWZjbnQgPDwgZW5kbDsKCX0KCgl2b2lkCglfcmVmKCkKCXsgX01fcmVmY250Kys7
IH0KCQoJYm9vbAoJX2RlcmVmKCkKCXsgCgkgICAgY2VyciA8PCAiUmVmQ250T2JqZWN0OjpfZGVy
ZWYoKSA8LSAiIDw8IHRoaXMtPl9yZWZjbnQoKSA8PCBlbmRsOwoJICAgIF9NX3JlZmNudC0tOwoJ
ICAgIGNlcnIgPDwgIlJlZkNudE9iamVjdDo6X2RlcmVmKCkgLT4gIiA8PCB0aGlzLT5fcmVmY250
KCkgPDwgZW5kbDsKCSAgICByZXR1cm4gX01fcmVmY250IDw9IDA7Cgl9CgoJbG9uZwoJX3JlZmNu
dCgpCgl7IHJldHVybiBfTV9yZWZjbnQ7IH0KCglzdGF0aWMgUmVmQ250T2JqZWN0KgoJX25pbCgp
Cgl7IHJldHVybiAwOyB9CgoJc3RhdGljIFJlZkNudE9iamVjdCoKCV9kdXBsaWNhdGUoUmVmQ250
T2JqZWN0KiBfX29iaikKCXsKCSAgICBpZiAoX19vYmopCgkJX19vYmotPl9yZWYoKTsKCSAgICBy
ZXR1cm4gX19vYmo7Cgl9CiAgICB9OwoKICAgIHN0YXRpYyBpbmxpbmUgdm9pZCByZWxlYXNlIChS
ZWZDbnRPYmplY3QqIF9fb2JqKQogICAgewoJaWYgKF9fb2JqICYmIF9fb2JqLT5fZGVyZWYoKSkK
CSAgICBkZWxldGUgX19vYmo7CiAgICB9CgogICAgc3RhdGljIGlubGluZSBib29sIGlzX25pbCAo
UmVmQ250T2JqZWN0KiBfX29iaikKICAgIHsKCXJldHVybiAhX19vYmo7CiAgICB9Cgp9OwoKdGVt
cGxhdGU8Y2xhc3MgVD4gY2xhc3MgT2JqT3V0OwoKdGVtcGxhdGU8Y2xhc3MgVD4KY2xhc3MgT2Jq
VmFyCnsKCiAgICBmcmllbmQgY2xhc3MgT2JqT3V0PFQ+OwogICAgCnByaXZhdGU6CiAgVCogX3B0
cjsKCiAgc3RhdGljIFQqIG5pbCgpCiAgewogICAgICByZXR1cm4gMDsKICB9CgpwdWJsaWM6CiAg
ICBzdGF0aWMgVCoKICAgIGR1cGxpY2F0ZSAoVCogX190KQogICAgeyByZXR1cm4gVDo6X2R1cGxp
Y2F0ZShfX3QpOyB9CgogICAgc3RhdGljIHZvaWQKICAgIHJlbGVhc2UgKFQqIF9fdCkKICAgIHsg
Q09SQkE6OnJlbGVhc2UoX190KTsgfQoKcHJpdmF0ZToKICAgIHZvaWQKICAgIGZyZWUoKQogICAg
ewoJdGhpcy0+cmVsZWFzZShfcHRyKTsKCV9wdHIgPSBuaWwoKTsKICAgIH0KCiAgICB2b2lkCiAg
ICByZXNldChUKiBfX3B0cikKICAgIHsKCXRoaXMtPmZyZWUoKTsKCV9wdHIgPSBfX3B0cjsKICAg
IH0KICAgIApwdWJsaWM6CiAgICBPYmpWYXIoKQogICAgewoJX3B0ciA9IG5pbCgpOwogICAgfQog
ICAgT2JqVmFyKFQqIHB0cikKICAgIHsKCV9wdHIgPSBwdHI7CiAgICB9CiAgICBPYmpWYXIoIGNv
bnN0IE9ialZhcjxUPiYgdmFyICkKICAgIHsKCV9wdHIgPSB0aGlzLT5kdXBsaWNhdGUgKHZhci5f
cHRyKTsKICAgIH0KICAgIH5PYmpWYXIoKQogICAgewoJdGhpcy0+ZnJlZSgpOwogICAgfQogICAg
T2JqVmFyPFQ+JiBvcGVyYXRvcj0oIGNvbnN0IE9ialZhcjxUPiAmdmFyICkKICAgIHsKCWlmICh0
aGlzICE9ICZ2YXIpIHsKCSAgICB0aGlzLT5mcmVlKCk7CgkgICAgX3B0ciA9IHRoaXMtPmR1cGxp
Y2F0ZSggdmFyLl9wdHIgKTsKCX0KCXJldHVybiAqdGhpczsKICAgIH0KICAgIE9ialZhcjxUPiYg
b3BlcmF0b3I9KCBUKiBwdHIgKQogICAgewoJaWYgKF9wdHIgIT0gcHRyKQoJICAgIHRoaXMtPnJl
c2V0KCBwdHIgKTsKCXJldHVybiAqdGhpczsKICAgIH0KLy8gZysrIGNvbnN0IG92ZXJsb2FkIHBy
b2JsZW0KI2lmZGVmIEhBVkVfQ09OU1RfT1ZFUkxPQUQKICAgIG9wZXJhdG9yIFQqKCkgY29uc3QK
ICAgIHsKCXJldHVybiBfcHRyOwogICAgfQojZW5kaWYKICAgIG9wZXJhdG9yIFQqICgpCiAgICB7
CglyZXR1cm4gX3B0cjsKICAgIH0KICAgIFQqIG9wZXJhdG9yLT4oKSBjb25zdAogICAgewoJYXNz
ZXJ0IChfcHRyKTsKCXJldHVybiBfcHRyOwogICAgfQoKICAgIFQqIGluKCkgY29uc3QKICAgIHsK
CXJldHVybiBfcHRyOwogICAgfQogIAogICAgVComIGlub3V0KCkKICAgIHsKCXJldHVybiBfcHRy
OwogICAgfQogIAogICAgVComIG91dCgpCiAgICB7Cgl0aGlzLT5mcmVlKCk7CglyZXR1cm4gX3B0
cjsKICAgIH0KICAgIAogICAgVComIF9mb3JfZGVtYXJzaGFsKCkKICAgIHsKCXJldHVybiBvdXQo
KTsKICAgIH0KICAKICAgIFQqIF9yZXRuKCkKICAgIHsKCVQgKl9wID0gX3B0cjsKCV9wdHIgPSB0
aGlzLT5uaWwoKTsKCXJldHVybiBfcDsKICAgIH0KfTsKCgovKgogKiBUZW1wbGF0ZSB0byBnZW5l
cmF0ZSBfb3V0IHR5cGVzIGZvciBvYmplY3QgcmVmZXJlbmNlcwogKi8KdGVtcGxhdGU8Y2xhc3Mg
VD4KY2xhc3MgT2JqT3V0CnsKcHJpdmF0ZToKICAgIFQqJiBfcHRyOwogICAgCnB1YmxpYzoKICAg
IE9iak91dCAoVComIHApCgk6IF9wdHIgKHApCiAgICB7CglfcHRyID0gVDo6X25pbCgpOwogICAg
fQoKICAgIE9iak91dCAoT2JqVmFyPFQ+JiBwKQogICAgOiBfcHRyIChwLl9wdHIpCiAgICB7CglD
T1JCQTo6cmVsZWFzZSAoX3B0cik7CglfcHRyID0gVDo6X25pbCgpOwogICAgfQoKICAgIE9iak91
dCAoY29uc3QgT2JqT3V0PFQ+JiBwKQoJOiBfcHRyIChwLl9wdHIpCiAgICB7CiAgICB9CiAgICBP
YmpPdXQ8VD4mIG9wZXJhdG9yPSAoY29uc3QgT2JqT3V0PFQ+JiBwKQogICAgewoJX3B0ciA9IHAu
X3B0cjsKCXJldHVybiAqdGhpczsKICAgIH0KICAgIE9iak91dDxUPiYgb3BlcmF0b3I9IChjb25z
dCBPYmpWYXI8VD4mIHApCiAgICB7CglfcHRyID0gVDo6X2R1cGxpY2F0ZSAocC5fcHRyKTsKCXJl
dHVybiAqdGhpczsKICAgIH0KICAgIE9iak91dDxUPiYgb3BlcmF0b3I9IChUKiBwKQogICAgewoJ
X3B0ciA9IHA7CglyZXR1cm4gKnRoaXM7CiAgICB9CiAgICBvcGVyYXRvciBUJiAoKQogICAgewoJ
cmV0dXJuICpfcHRyOwogICAgfQogICAgb3BlcmF0b3IgVComICgpCiAgICB7CglyZXR1cm4gX3B0
cjsKICAgIH0KICAgIFQqIG9wZXJhdG9yLT4gKCkKICAgIHsKCWFzc2VydCAoX3B0cik7CglyZXR1
cm4gX3B0cjsKICAgIH0KICAgIFQqJiBwdHIgKCkKICAgIHsKCXJldHVybiBfcHRyOwogICAgfQp9
OwoKCm5hbWVzcGFjZSBDT1JCQQp7CgogICAgY2xhc3MgT2JqZWN0IDogcHVibGljIFJlZkNudE9i
amVjdAogICAgewogICAgcHVibGljOgoJdmlydHVhbCB+T2JqZWN0KCkKCXsKCSAgICBjZXJyIDw8
ICJDT1JCQTo6T2JqZWN0Ojp+T2JqZWN0KCkiIDw8IGVuZGw7Cgl9CglPYmplY3QoKQoJewoJICAg
IGNlcnIgPDwgIkNPUkJBOjpPYmplY3Q6Ok9iamVjdCgpIiA8PCBlbmRsOwoJfQogICAgfTsKCiAg
ICB0eXBlZGVmIE9iamVjdCogT2JqZWN0X3B0cjsKICAgIHR5cGVkZWYgT2JqVmFyPE9iamVjdD4g
T2JqZWN0X3ZhcjsKICAgIHR5cGVkZWYgT2JqT3V0PE9iamVjdD4gT2JqZWN0X291dDsKCn07CgoK
Y2xhc3MgQTsKdHlwZWRlZiBBICpBX3B0cjsKdHlwZWRlZiBBX3B0ciBBUmVmOwp0eXBlZGVmIE9i
alZhcjxBPiBBX3ZhcjsKdHlwZWRlZiBPYmpPdXQ8QT4gQV9vdXQ7CgpjbGFzcyBCOwp0eXBlZGVm
IEIgKkJfcHRyOwp0eXBlZGVmIEJfcHRyIEJSZWY7CnR5cGVkZWYgT2JqVmFyPEI+IEJfdmFyOwp0
eXBlZGVmIE9iak91dDxCPiBCX291dDsKCmNsYXNzIEEgOiB2aXJ0dWFsIHB1YmxpYyBDT1JCQTo6
T2JqZWN0CnsKcHVibGljOgogICAgdmlydHVhbCB+QSgpCiAgICB7CgljZXJyIDw8ICJBOjp+QSgp
IiA8PCBlbmRsOwogICAgfQoKICAgIEEoKQogICAgewoJY2VyciA8PCAiQTo6QSgpIiA8PCBlbmRs
OwogICAgfQoKICAgIHN0YXRpYyBBX3B0cgogICAgX2R1cGxpY2F0ZShBX3B0ciBfX29iaikKICAg
IHsgCglDT1JCQTo6T2JqZWN0OjpfZHVwbGljYXRlKF9fb2JqKTsKCXJldHVybiBfX29iajsKICAg
IH0KCiAgICBzdGF0aWMgQV9wdHIKICAgIF9uaWwoKQogICAgeyByZXR1cm4gMDsgfQp9OwoKY2xh
c3MgQiA6IHZpcnR1YWwgcHVibGljIENPUkJBOjpPYmplY3QKewpwdWJsaWM6CiAgICB2aXJ0dWFs
IH5CKCkKICAgIHsKCWNlcnIgPDwgIkI6On5CKCkiIDw8IGVuZGw7CiAgICB9CgogICAgQigpCiAg
ICB7CgljZXJyIDw8ICJCOjpCKCkiIDw8IGVuZGw7CiAgICB9CgogICAgc3RhdGljIEJfcHRyCiAg
ICBfZHVwbGljYXRlKEJfcHRyIF9fb2JqKQogICAgeyAKCUNPUkJBOjpPYmplY3Q6Ol9kdXBsaWNh
dGUoX19vYmopOwoJcmV0dXJuIF9fb2JqOwogICAgfQoKICAgIHN0YXRpYyBCX3B0cgogICAgX25p
bCgpCiAgICB7IHJldHVybiAwOyB9CgogICAgdmlydHVhbCB2b2lkCiAgICBnZXRfYShBX291dCB2
YWx1ZSkgPSAwOwp9OwoKY2xhc3MgQV9pbXBsIDogdmlydHVhbCBwdWJsaWMgQQp7CnB1YmxpYzoK
ICAgIHZpcnR1YWwgfkFfaW1wbCgpCiAgICB7CgljZXJyIDw8ICJBX2ltcGw6On5BX2ltcGwoKSIg
PDwgZW5kbDsKICAgIH0KICAgIEFfaW1wbCgpCiAgICB7CgljZXJyIDw8ICJBX2ltcGw6OkFfaW1w
bCgpIiA8PCBlbmRsOwogICAgfQp9OwoKY2xhc3MgQl9pbXBsIDogdmlydHVhbCBwdWJsaWMgQgp7
CnB1YmxpYzoKICAgIEJfaW1wbCgpCiAgICB7CgljZXJyIDw8ICJCX2ltcGw6OkJfaW1wbCgpIiA8
PCBlbmRsOwogICAgfQoKICAgIHZpcnR1YWwgfkJfaW1wbCgpCiAgICB7CgljZXJyIDw8ICJCX2lt
cGw6On5CX2ltcGwoKSIgPDwgZW5kbDsKICAgIH0KCiAgICB2b2lkCiAgICBnZXRfYShBX291dCB2
YWx1ZSkKICAgIHsgdmFsdWUgPSBuZXcgQV9pbXBsOyB9Cn07CgppbnQKbWFpbigpCnsKICAgIEJf
dmFyIF9fYiA9IG5ldyBCX2ltcGw7CiAgICAvL0JfcHRyIF9fYiA9IG5ldyBCX2ltcGw7CiAgICAv
L2NlcnIgPDwgX19iLT5fcmVmY250KCkgPDwgZW5kbDsKICAgIC8vQ09SQkE6OnJlbGVhc2UoX19i
KTsKICAgIEFfdmFyIF9fYTsKICAgIF9fYi0+Z2V0X2EoX19hKTsKICAgIHJldHVybiAwOwp9OwoK


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]