Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Mar 2019 15:10:14 -0400
From:      Dan Langille <dan@langille.org>
To:        Pietro Cerutti <gahr@FreeBSD.org>
Cc:        freebsd-tcltk@freebsd.org
Subject:   Re: 2019Q1 - can't set "doc": var is read-only
Message-ID:  <6F6FB074-C527-4304-864B-9C3BF8E45AB7@langille.org>
In-Reply-To: <20190314093551.bsnskmsgnulvh6dw@ptrcrt.ch>
References:  <49F7A94D-FC3D-458A-B787-DF424D496E81@langille.org> <20190314093551.bsnskmsgnulvh6dw@ptrcrt.ch>

next in thread | previous in thread | raw e-mail | index | archive | help
> On Mar 14, 2019, at 5:35 AM, Pietro Cerutti <gahr@FreeBSD.org> wrote:
>=20
> On Mar 13 2019, 18:15 UTC, Dan Langille <dan@langille.org> wrote:
>> One of our in-house tcl applications is getting an error:
>>=20
>> % set sec_comp [$test createComponent security #auto 1 2]
>> can't set "doc": var is read-only
>=20
> Hi Dan,
>=20
> 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:
>=20
> http://tcl.tk/man/tcl8.7/TclLib/LinkVar.htm
>=20
> 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.

>=20
> 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=3D733,740
>=20
>> In a test environment, I have narrowed it down to something between =
2018Q4 and 2019Q1
>>=20
>> The devs say "something changed" and an internal structure they used =
to write to can no longer be written to.
>>=20
>> Does this ring any bells to folks?
>=20
> Internal to Tcl? Doesn't make any rings bell here :(
>=20
>> 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.
>>=20
>> My searches fail.
>>=20
>> Thank you.
>=20
> 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.

--=20
Dan Langille - BSDCan / PGCon
dan@langille.org





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6F6FB074-C527-4304-864B-9C3BF8E45AB7>