Tcl Source Code

View Ticket
Login
2023-03-24
21:35 Ticket [6bdadfba7d] Traces crash with multi-lappend status still Closed with 4 other changes artifact: 046b8cce67 user: pooryorick
2023-03-21
23:54 Ticket [6bdadfba7d]: 4 changes artifact: 1bdfa2101d user: pooryorick
16:53 Ticket [6bdadfba7d]: 5 changes artifact: 1471ce8689 user: pooryorick
2019-06-20
19:43
[6bdadfba7d] Stop crash with multi-lappend and failing writes check-in: df1a5b5e07 user: dkf tags: trunk
19:42 Closed ticket [6bdadfba7d]: Traces crash with multi-lappend plus 5 other changes artifact: 53355ee403 user: dkf
19:42
[6bdadfba7d] Stop crash with multi-lappend and failing writes check-in: b1e3c213ae user: dkf tags: core-8-branch
19:40
[6bdadfba7d] Stop crash with multi-lappend and failing writes check-in: ca4a6f0a95 user: dkf tags: core-8-6-branch
19:40 Ticket [6bdadfba7d] Traces crash with multi-lappend status still Open with 4 other changes artifact: 628e749534 user: dkf
19:40 New ticket [6bdadfba7d]. artifact: 1839402f8b user: dkf

Ticket UUID: 6bdadfba7de3f9a8881e1ca4726f3c7fb8d5da17
Title: Traces crash with multi-lappend
Type: Bug Version: 8.6
Submitter: dkf Created on: 2019-06-20 19:40:00
Subsystem: 47. Bytecode Compiler Assigned To: dkf
Priority: 9 Immediate Severity: Severe
Status: Closed Last Modified: 2023-03-24 21:35:46
Resolution: Fixed Closed By: pooryorick
    Closed on: 2023-03-24 21:35:46
Description:

This script crashes. It shouldn't.

    set x 1
    lappend x 2 3
    set y $x
    trace add variable x write {apply {args {error boo}}}
    lappend x 4 5

User Comments: pooryorick added on 2023-03-24 21:35:46:

This was a simple programming error, not anything related to elaborate refCounting.


pooryorick added on 2023-03-21 23:54:36:

Commit [c0778ccb77b7d096] removes the unneeded calls to Tcl_IncrRefCount() and TclDecrRefCount() from the fix. TclPtrSetVarIdx() takes ownership of newValuePtr if its refCount is 0, and either stores or frees it.


pooryorick added on 2023-03-21 16:53:51:

Fixed by dkf in [ca4a6f0a9595ac1f].