2019Q1 - can't set "doc": var is read-only

Dan Langille dan at langille.org
Thu Mar 14 19:10:18 UTC 2019


> On Mar 14, 2019, at 5:35 AM, Pietro Cerutti <gahr at FreeBSD.org> wrote:
> 
> On Mar 13 2019, 18:15 UTC, Dan Langille <dan at langille.org> wrote:
>> One of our in-house tcl applications is getting an error:
>> 
>> % set sec_comp [$test createComponent security #auto 1 2]
>> can't set "doc": var is read-only
> 
> Hi Dan,
> 
> which version of Tcl are you using?

8.6.9

> I assume your in-house application uses the C interface to Tcl, not just Tcl as a scripting language. If that's the case, the error you're seeing is similar to what you'd get if you tryied to write to a linked variable defined as read-only:
> 
> http://tcl.tk/man/tcl8.7/TclLib/LinkVar.htm
> 
> Does this sound familiar?

I think this is all Tcl.  I'm not the dev, I'm just trying to help them figure out why the code stopped working on 2019Q1.

> 
> Alternatively, you might have a trace set up to intercept writes to a variable, but that'd need to be either in your code or in some Tcl code you're using as a pkg. Example:
> http://core.tcl.tk/tcl/artifact/a057a170260b246e?ln=733,740
> 
>> In a test environment, I have narrowed it down to something between 2018Q4 and 2019Q1
>> 
>> The devs say "something changed" and an internal structure they used to write to can no longer be written to.
>> 
>> Does this ring any bells to folks?
> 
> Internal to Tcl? Doesn't make any rings bell here :(
> 
>> I'm going to start updating pkgs one by one to see which one breaks it, but wanted feedkback in case this is a known issue.
>> 
>> My searches fail.
>> 
>> Thank you.
> 
> Let me know if I can help any further.


I've been on #tcl on FreeNode, conversing with the tDOM maintainer.  They have been able to create a test case which reproduces the issue on 0.9.1, but not on 0.9.0

The change was done to produce an error if the code was doing the wrong thing. My issue: we're using third party code which is unlikely to get updated any time soon.

I've been pointed to a non-release branch, so we see if that helps.

-- 
Dan Langille - BSDCan / PGCon
dan at langille.org




More information about the freebsd-tcltk mailing list