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++/6787: seg fault when loading dynamic library that contains dynamic_cast



>Number:         6787
>Category:       c++
>Synopsis:       seg fault when loading dynamic library that contains dynamic_cast
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu May 23 12:26:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Dirk Walther
>Release:        3.1 and 2.96
>Organization:
>Environment:
RedHat linux 7.1 on a i686
>Description:
A dynamic library loader that has been compiled with g++-2.96 crashes with a segmentation fault when loading a dynamic library that has been compiled with g++-3.1 and that contains dynamic_cast.

The problem does not occur when the library loader is compiled using g++-3.1 - in this case it loads and executes libraries compiled with g++-2.96 or g++-3.1 just fine. Also, the problem does not occur when both library loader and library are compiled with g++-2.96.

I have attached the code for simple examples for the library loader, the library, and a log of a debug attempt.

In real life, the library loader is Matlab (compiled with g++-2.95.2) which I cannot recompile. The library is a MEX function that needs to use g++-3.x
>How-To-Repeat:
Use the code and the compiler flags as mentioned in the attached file.
>Fix:
The library loader should be recompiled using g++-3.x. Unfortunately, this is not possible for me with Matlab.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="bug_report"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="bug_report"

LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KQSBsb2cgb2YgYSBjb21waWxlIGFuZCBkZWJ1ZzoKLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQolIGcrKy0yLjk2IC1vIGR5bmxkIGR5bmxkLmMgLWxkbAolIGcrKy0zLjEg
LXNoYXJlZCBteWh3LmMgLW8gbXlody5zbwolIGdkYiAuL2R5bmxkCkdOVSBnZGIgNS4wcmgtNSBS
ZWQgSGF0IExpbnV4IDcuMQpDb3B5cmlnaHQgMjAwMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4KR0RCIGlzIGZyZWUgc29mdHdhcmUsIGNvdmVyZWQgYnkgdGhlIEdOVSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlLCBhbmQgeW91IGFyZQp3ZWxjb21lIHRvIGNoYW5nZSBpdCBhbmQvb3IgZGlz
dHJpYnV0ZSBjb3BpZXMgb2YgaXQgdW5kZXIgY2VydGFpbiBjb25kaXRpb25zLgpUeXBlICJzaG93
IGNvcHlpbmciIHRvIHNlZSB0aGUgY29uZGl0aW9ucy4KVGhlcmUgaXMgYWJzb2x1dGVseSBubyB3
YXJyYW50eSBmb3IgR0RCLiAgVHlwZSAic2hvdyB3YXJyYW50eSIgZm9yIGRldGFpbHMuClRoaXMg
R0RCIHdhcyBjb25maWd1cmVkIGFzICJpMzg2LXJlZGhhdC1saW51eCIuLi4KKGdkYikgcnVuClN0
YXJ0aW5nIHByb2dyYW06IC9jaXQvd2FsdGhlci9zY3JhdGNoL21leC8uL2R5bmxkIApFcnJvciB3
aGlsZSByZWFkaW5nIHNoYXJlZCBsaWJyYXJ5IHN5bWJvbHM6CkR3YXJmIEVycm9yOiBDYW5ub3Qg
aGFuZGxlIERXX0ZPUk1fc3RycCBpbiBEV0FSRiByZWFkZXIuCkVycm9yIHdoaWxlIHJlYWRpbmcg
c2hhcmVkIGxpYnJhcnkgc3ltYm9sczoKRHdhcmYgRXJyb3I6IENhbm5vdCBoYW5kbGUgRFdfRk9S
TV9zdHJwIGluIERXQVJGIHJlYWRlci4KRXJyb3Igd2hpbGUgcmVhZGluZyBzaGFyZWQgbGlicmFy
eSBzeW1ib2xzOgpEd2FyZiBFcnJvcjogQ2Fubm90IGhhbmRsZSBEV19GT1JNX3N0cnAgaW4gRFdB
UkYgcmVhZGVyLgpFcnJvciB3aGlsZSByZWFkaW5nIHNoYXJlZCBsaWJyYXJ5IHN5bWJvbHM6CkR3
YXJmIEVycm9yOiBDYW5ub3QgaGFuZGxlIERXX0ZPUk1fc3RycCBpbiBEV0FSRiByZWFkZXIuCgpo
ZWxsbyB3b3JsZAoyCgpQcm9ncmFtIHJlY2VpdmVkIHNpZ25hbCBTSUdTRUdWLCBTZWdtZW50YXRp
b24gZmF1bHQuCjB4NDAwMWExMDggaW4gdHlwZWluZm8gZm9yIEEgKCkgYXQgZXZhbC5jOjQxCjQx
CWV2YWwuYzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeS4KCWluIGV2YWwuYwooZ2RiKSBiYWNr
dHJhY2UKIzAgIDB4NDAwMWExMDggaW4gdHlwZWluZm8gZm9yIEEgKCkgYXQgZXZhbC5jOjQxCiMx
ICAweDQwMDRlMGNhIGluIF9fZHluYW1pY19jYXN0IChmcm9tPTB4ODA0YTNmOCwgdG89MHg0MDAx
YTEwNCA8dHlwZWluZm8gZm9yIEE+LCByZXF1aXJlX3B1YmxpYz0xMDczODQ4NTY4LCBhZGRyZXNz
PTB4MCwgCiAgICBzdWI9MHg0MDAyMzYzNCA8ZGxzeW0+LCBzdWJwdHI9MHg4MDRhM2Y4KSBmcm9t
IC91c3IvbGliL2xpYnN0ZGMrKy1saWJjNi4yLTIuc28uMwojMiAgMHg0MDAxOGY3MiBpbiBlbnRy
eXB0ICgpIGF0IGV2YWwuYzo0MQojMyAgMHgwODA0ODgwMyBpbiBtYWluICgpIGF0IGV2YWwuYzo0
MQojNCAgMHg0MDBhOTE3NyBpbiBfX2xpYmNfc3RhcnRfbWFpbiAobWFpbj0weDgwNDg3MTAgPG1h
aW4+LCBhcmdjPTEsIHVicF9hdj0weGJmZmZmN2FjLCBpbml0PTB4ODA0ODU0NCA8X2luaXQ+LCAK
ICAgIGZpbmk9MHg4MDQ4OGUwIDxfZmluaT4sIHJ0bGRfZmluaT0weDQwMDBlMTg0IDxfZGxfZmlu
aT4sIHN0YWNrX2VuZD0weGJmZmZmNzljKSBhdCAuLi9zeXNkZXBzL2dlbmVyaWMvbGliYy1zdGFy
dC5jOjEyOQooZ2RiKSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpUaGUgY29kZSBmb3IgdGhlIGxpYnJhcnkg
bG9hZGVyOgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovKgogICogZHlubGQuYyAt
IGR5bmFtaWMgbG9hZCBhbmQgZXhlY3V0ZSBwcm9ncmFtIGZvciBhIEMrKyBzaGFyZWQgb2JqZWN0
CiAgKgogICogVG8gY29tcGlsZToKICAqCiAgKiBnKysgLW8gZHlubGQgZHlubGQuYyAtbGRsCiAg
KgogICovCi8qCiAgKiBzeXN0ZW0gaW5jbHVkZXMKICAqLwojaW5jbHVkZSA8ZGxmY24uaD4gICAg
ICAvKiBuZWVkZWQgZm9yIHByb3RvdHlwaW5nIG9mIGR5bmFtaWMgbG9hZGVyIGZ1bmN0aW9ucyAq
LwojaW5jbHVkZSA8aW9zdHJlYW0uaD4gICAvKiBjb3V0ICovCiNpbmNsdWRlIDxzdGRpby5oPgoj
aW5jbHVkZSA8c3RkbGliLmg+CgojZGVmaW5lIGxpYm5hbWUgIi4vbXlody5zbyIKCi8qCiAgKiBM
b2FkIGZpbGUgaW50byBtZW1vcnkKICAqLwoKbWFpbigpCnsKICAgICB2b2lkICpoYW5kbGU7CiAg
ICAgdm9pZCAqYWRkcmVzczsKICAgICB2b2lkICgqZW50cnlfcHQpKHZvaWQpOwogICAgIGludCBp
OwoKICAgICBpZigoaGFuZGxlID0gZGxvcGVuKGxpYm5hbWUsIFJUTERfTk9XKSk9PU5VTEwpIHsK
ICAgICAgIGNvdXQgPDwgIlVuYWJsZSB0byBsb2FkIHNoYXJlZCBsaWJyYXJ5IGZpbGU6XG4iOwog
ICAgICAgY291dCA8PCBkbGVycm9yKCk7CiAgICAgICBjb3V0IDw8ICJcbiI7CiAgICAgICBleGl0
KDApOwogICAgIH0KICAgICBpZigoYWRkcmVzcyA9IGRsc3ltKGhhbmRsZSwgImVudHJ5cHQiKSk9
PU5VTEwpIHsKICAgICAgIGNvdXQgPDwgImVudHJ5IHBvaW50IGlzIG1pc3Npbmc6XG4iOwogICAg
ICAgY291dCA8PCBkbGVycm9yKCk7CiAgICAgICBjb3V0IDw8ICJcbiI7CiAgICAgICBleGl0KDAp
OwogICAgIH0KICAgICBlbnRyeV9wdCA9ICggdm9pZCgqKSh2b2lkKSApIGFkZHJlc3M7CiAgICAg
KCooZW50cnlfcHQpKSgpOwogICAgIGlmKGRsY2xvc2UoaGFuZGxlKSkgewogICAgICAgY291dCA8
PCAgIlVuYWJsZSB0byBjbG9zZSBzaGFyZWQgbGlicmFyeSAiIDw8IGxpYm5hbWUgPDwgIlxuIjsK
ICAgICAgIGNvdXQgPDwgZGxlcnJvcigpOwogICAgICAgY291dCA8PCAiXG4iOwogICAgICAgZXhp
dCgxKTsKICAgICB9CiAgICAgZXhpdCgwKTsKfQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpU
aGUgY29kZSBmb3IgdGhlIGR5bmFtaWMgbGlicmFyeToKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tIAovKgogICogbXlody5jCiAgKiBUbyBjb21waWxlOgogICoKICAqIGcrKyAtc2hh
cmVkIG15aHcuYyAtbyBteWh3LnNvCiAgKgogICovCiNpbmNsdWRlIDxpb3N0cmVhbT4KIApjbGFz
cyBBCnsKcHVibGljOgogIHZpcnR1YWwgaW50IGdldCAoKSB7IHJldHVybiAxOyB9Cn07CgpjbGFz
cyBCIDogcHVibGljIEEKewpwdWJsaWM6CiAgdmlydHVhbCBpbnQgZ2V0ICgpIHsgcmV0dXJuIDI7
IH0KICBpbnQgZ2V0MiAoKSB7IHJldHVybiAzOyB9Cn07CgpleHRlcm4gIkMiIAp2b2lkIGVudHJ5
cHQodm9pZCkKewogIHN0ZDo6Y291dCA8PCAiXG5oZWxsbyB3b3JsZFxuIjsKICBBKiBhID0gbmV3
IEI7CiAgc3RkOjpjb3V0IDw8IGEtPmdldCgpIDw8ICJcbiI7CiAgQiogYiA9IGR5bmFtaWNfY2Fz
dDxCKj4oYSk7CiAgc3RkOjpjb3V0IDw8IGItPmdldDIoKSA8PCAiXG4iOwogIHJldHVybjsKfQo=


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