This is the mail archive of the gdb-prs@sources.redhat.com mailing list for the GDB 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]

gdb/602: infinite recursion while looking for a


>Number:         602
>Category:       gdb
>Synopsis:       infinite recursion while looking for a
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jul 05 05:48:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Alexander Darovsky Jr
>Release:        gdb 5.2, and gdb 20020705
>Organization:
>Environment:
linux, but it doesn't matter, I suppose
>Description:
an infinite recursion with virtual inheritance:
gnuv3_baseclass_offset calls value_cast to get an virtual base, (gnu-v3-abi.c:396)

value_cast tries to find a struct field with baseclass search flag on search_struct_field(..., 1) (valops.c:245)

search_struct_field tries to find baseclass_offset (valops.c:2094) 
and goes to the infinite loop.
>How-To-Repeat:
g++ -g derive.cpp -o derive
gdb
file derive
b 102
r
p *t
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="derive.cpp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="derive.cpp"

I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCmNsYXNzIEdyYW5kQmFz
ZSB7CiAgICBpbnQgaTsKcHVibGljOgogICAgR3JhbmRCYXNlKCk7ICAgICAgICAgICAgICAgIC8v
IHt9CiAgICB2aXJ0dWFsIHZvaWQgbmFtZSgpIHsgY291dCA8PCAiTmFtZSIgPDwgZW5kbDsgfQog
ICAgdmlydHVhbCB+R3JhbmRCYXNlKCkge30gICAgICAgLy8ge30KfTsKCmNsYXNzIEEgewpwdWJs
aWM6CiAgICBBKCk7Cn07CgpjbGFzcyBCIHsKICAgIGRvdWJsZSBkOwpwdWJsaWM6CiAgICBCKCk7
CiAgICB2aXJ0dWFsICB+QigpICB7fQp9OwoKY2xhc3MgQzogdmlydHVhbCBwdWJsaWMgQiwKICAg
ICAgICAgICAgICAgICBwdWJsaWMgQSwKICAgICAgICAgICAgICAgICB2aXJ0dWFsIHB1YmxpYyBH
cmFuZEJhc2UgewpwdWJsaWM6CiAgICBDKCk7Cn07CgpjbGFzcyBEOiB2aXJ0dWFsIHB1YmxpYyBD
IHsKcHVibGljOgogICAgRCgpOwp9OwoKY2xhc3MgRTogcHVibGljIEQgewpwdWJsaWM6CiAgICBF
KCkgeyBjb3V0IDw8ICJFIiA8PCBlbmRsO30KfTsKCmNsYXNzICBGIHsKcHVibGljOgogICAgRigp
IHsgY291dCA8PCAiRiIgPDwgZW5kbDt9Cn07CgpjbGFzcyBHOiBwdWJsaWMgdmlydHVhbCBDIHsK
cHVibGljOgogICAgRygpICB7IGNvdXQgPDwgIkciIDw8IGVuZGw7fQp9OwoKY2xhc3MgSDogcHVi
bGljIHZpcnR1YWwgRSwKICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBHLAogICAgICAg
ICAgICAgICAgICAgICAgICAgcHVibGljIEYgewpwdWJsaWM6CiAgICBIKCkgeyBjb3V0IDw8ICJI
IiA8PCBlbmRsO30KfTsKCmNsYXNzIFRPdE5vZGU6IHZpcnR1YWwgcHVibGljIEMgewpwdWJsaWM6
CiAgICBUT3ROb2RlKCkgeyBjb3V0IDw8ICJUT3ROb2RlIiA8PCBlbmRsO30KfTsKCmNsYXNzIEk6
IHB1YmxpYyBILAogICAgICAgICAgICAgICBwdWJsaWMgVE90Tm9kZXsKcHVibGljOgogICAgSSgp
IHsgY291dCA8PCAiSSIgPDwgZW5kbDt9Cn07CgpCOjpCKCkKewogICAgZCA9IDQuNTsKICAgIGNv
dXQgPDwgIkI6OkIoKSIgPDwgZW5kbDsKfQoKCkdyYW5kQmFzZTo6R3JhbmRCYXNlKCkKewogICAg
aSA9IDM7CiAgICBjb3V0IDw8ICJHcmFuZEJhc2U6OkdyYW5kQmFzZSgpIiA8PCBlbmRsOwp9CgpB
OjpBKCkKewogICAgY291dCA8PCAiQTo6QSgpIiA8PCBlbmRsOwp9CgpDOjpDKCkKewogICAgY291
dCA8PCAiQzo6QygpIiA8PCBlbmRsOwp9CgpEOjpEKCkKewogICAgY291dCA8PCAiRDo6RCgpIiA8
PCBlbmRsOwp9CgoKCm1haW4oKQp7CiAgICBJKiB0ID0gbmV3IEkoKTsKICAgIHQtPm5hbWUoKTsK
ICAgIGNvdXQgPDwgKEMqKXQgPDwgZW5kbDsKICAgIGNvdXQgPDwgKEdyYW5kQmFzZSopdCA8PCBl
bmRsOwp9Cg==


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