Tcl Source Code

Check-in [a0ef399dee]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Another segfault demo test, this one with [close] during [gets].
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | core-8-5-branch
Files: files | file ages | folders
SHA1: a0ef399dee1115fa11ac6af54823d5054c5203f2
User & Date: dgp 2014-04-30 19:12:37
Context
2014-04-30
19:33
Panic message to pinpoint the cause of iocmd-21.23 segfault. check-in: 7bbdf769a2 user: dgp tags: core-8-5-branch
19:12
Another segfault demo test, this one with [close] during [gets]. check-in: a0ef399dee user: dgp tags: core-8-5-branch
2014-04-29
17:40
Make sure no shared ChannelBuffers get recycled. check-in: c101f46322 user: dgp tags: core-8-5-branch
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to tests/ioCmd.test.

798
799
800
801
802
803
804
















805
806
807
808
809
810
811
	    catch {close $chan}
	    return a
	}
    }
    set ch [chan create read foo]
} -body {
    read $ch 1
















} -returnCodes error -cleanup {
    catch {close $ch}
    rename foo {}
} -match glob -result {*invalid argument*}

# --- --- --- --------- --------- ---------
# Helper commands to record the arguments to handler methods.







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
	    catch {close $chan}
	    return a
	}
    }
    set ch [chan create read foo]
} -body {
    read $ch 1
} -returnCodes error -cleanup {
    catch {close $ch}
    rename foo {}
} -match glob -result {*invalid argument*}
test iocmd-21.23 {[close] in [gets] segfaults} -setup {
    proc foo {method chan args} {
	switch -- $method initialize {
	    return {initialize finalize watch read}
	} finalize {} watch {} read {
	    catch {close $chan}
	    return \n
	}
    }
    set ch [chan create read foo]
} -body {
    gets $ch
} -returnCodes error -cleanup {
    catch {close $ch}
    rename foo {}
} -match glob -result {*invalid argument*}

# --- --- --- --------- --------- ---------
# Helper commands to record the arguments to handler methods.