Tcl Source Code

View Ticket
Bounty program for improvements to Tcl and certain Tcl packages.
Ticket UUID: 2713bfcb017be2405415ed136d49bef6ece05bd1
Title: TclOO: segmentation fault: deleting a class mixed into an object that calls a method on the class in a deletion trace.
Type: Bug Version: core-8-branch
Submitter: pooryorick Created on: 2017-11-29 15:15:34
Subsystem: 35. TclOO Package Assigned To: nobody
Priority: 5 Medium Severity: Important
Status: Closed Last Modified: 2018-07-12 14:06:47
Resolution: Fixed Closed By: pooryorick
    Closed on: 2018-07-12 14:06:47

With an interpreter compiled with --enable-symbols=all, the following script results in a segmentation fault:

oo::class create obj1
oo::objdefine obj1 {
	method deleted args {}
oo::copy obj1 obj2
oo::objdefine obj2 {
	mixin obj2 obj1
trace add command obj2 delete [list obj2 delete]
rename obj1 {}

User Comments: pooryorick added on 2018-07-12 14:06:47:

Fixed in [edf61054642f324e].