2024-04-19
| ||
08:34 | • Ticket [080f846fd5] Channel system generating writable events BEFORE channel is open (refchan) status still Open with 3 other changes artifact: 1d6bd02ad7 user: pooryorick | |
2024-04-18
| ||
15:04 | • Ticket [080f846fd5]: 3 changes artifact: 85049380dd user: jan.nijtmans | |
2024-03-31
| ||
01:12 | • Ticket [de232b49f2] write-only nonblocking refchan and Tcl internal buffers status still Open with 3 other changes artifact: 838d4d73fe user: pooryorick | |
2021-06-20
| ||
05:15 | • Closed ticket [67a5eabbd3]: refchan, coroutine, and postevent from the "watch" proc plus 4 other changes artifact: 71eea3d9e2 user: pooryorick | |
05:14 | • Ticket [67a5eabbd3]: 3 changes artifact: 1804967dd5 user: pooryorick | |
2021-06-16
| ||
21:24 | • Ticket [67a5eabbd3]: 3 changes artifact: 472da83a75 user: pooryorick | |
17:15 | • Ticket [67a5eabbd3]: 3 changes artifact: 46c4cc07ea user: dgp | |
16:06 | Re-apply fix for [67a5eabbd3d1]: refchan, coroutine, and postevent from the "watch" proc check-in: f6aa52e243 user: pooryorick tags: core-8-branch | |
13:23 | Re-apply fix for [67a5eabbd3d1]: refchan, coroutine, and postevent from the "watch" proc Leaf check-in: 0037b3d176 user: jan.nijtmans tags: bug-67a5eabbd3d1 | |
10:30 | • Open ticket [18f4a94d03]: 8.7 : a blocking memory channel no longer works. plus 5 other changes artifact: b9c8e0111c user: pooryorick | |
2021-06-15
| ||
14:58 | • Pending ticket [67a5eabbd3]: refchan, coroutine, and postevent from the "watch" proc plus 6 other changes artifact: f2c6446ced user: jan.nijtmans | |
12:46 | • Ticket [18f4a94d03] 8.7 : a blocking memory channel no longer works. status still Open with 4 other changes artifact: c3d29a0d48 user: jan.nijtmans | |
2019-04-29
| ||
09:07 | • Ticket [67a5eabbd3] refchan, coroutine, and postevent from the "watch" proc status still Closed with 4 other changes artifact: c19eb03a7a user: pooryorick | |
2019-04-26
| ||
20:42 | • Closed ticket [67a5eabbd3]. artifact: bd098f6728 user: pooryorick | |
2019-04-24
| ||
04:57 | • Pending ticket [ef28eb1f15]: TCL_FILE_EVENTS cannot drive async I/O alone plus 4 other changes artifact: e3eeb351db user: pooryorick | |
04:53 | • Pending ticket [67a5eabbd3]: refchan, coroutine, and postevent from the "watch" proc plus 2 other changes artifact: 9c1e691b06 user: pooryorick | |
2019-04-23
| ||
13:02 | • Ticket [67a5eabbd3]: 3 changes artifact: ade7a3766c user: pooryorick | |
11:29 | Fix for [67a5eabbd3d1], refchan, coroutine, and postevent from the "watch" proc. check-in: e066e24f36 user: pooryorick tags: bug-67a5eabbd3d1 | |
2016-10-09
| ||
15:47 | • Ticket [67a5eabbd3] refchan, coroutine, and postevent from the "watch" proc status still Open with 3 other changes artifact: fefa233cb0 user: dkf | |
2016-09-06
| ||
23:43 | • Ticket [67a5eabbd3]: 3 changes artifact: fd3dd8909f user: ferrieux | |
20:36 | • Ticket [67a5eabbd3]: 4 changes artifact: ea38695639 user: pooryorick | |
2016-08-15
| ||
12:03 | • Ticket [67a5eabbd3]: 3 changes artifact: 3b3d6f403f user: ferrieux | |
11:58 | • Ticket [67a5eabbd3]: 3 changes artifact: 68f70483aa user: ferrieux | |
11:53 | • Ticket [67a5eabbd3]: 3 changes artifact: 69ab5e522b user: aspect | |
10:31 | • New ticket [67a5eabbd3]. artifact: c68462dbc9 user: pooryorick | |
Ticket UUID: | 67a5eabbd3d195915d3ccc13246bdecf10e20726 | |||
Title: | refchan, coroutine, and postevent from the "watch" proc | |||
Type: | Bug | Version: | 8.6.6 | |
Submitter: | pooryorick | Created on: | 2016-08-15 10:31:45 | |
Subsystem: | 60. NRE and coroutines | Assigned To: | pooryorick | |
Priority: | 5 Medium | Severity: | Minor | |
Status: | Closed | Last Modified: | 2021-06-20 05:15:04 | |
Resolution: | Fixed | Closed By: | pooryorick | |
Closed on: | 2021-06-20 05:15:04 | |||
Description: |
The following script results in an error to the effect that the coroutine is already running.
| |||
User Comments: |
pooryorick added on 2021-06-16 21:24:47:
Yes, that's an accurate summary, as the call to Tcl_NotifyChannel is moved into a timer event handler. dgp added on 2021-06-16 17:15:04: Can the patch be described accurately as changing to operations of the [chan postevent] command from synchronous to asynchronous? jan.nijtmans added on 2021-06-15 14:58:25: Backed out because of [18f4a94d03]. Therefore re-opening this one. pooryorick added on 2019-04-23 13:02:56:
Fixed in [e066e24f36f67a8d] by using ferrieux added on 2016-09-06 23:43:17: FWIW, some time ago, async fcopy suffered from a similar "premature callback" issue: in some circumstances, where the copy was provably complete, the completion callback fired from within fcopy instead of from the event loop (despite the async flag). It was Obviously Wrong, and fixed. I'm tempted to follow your suggestion and propose the same here, though I don't know the details of the refchan enough to be sure of the analogy. Maybe Andreas could chime in. pooryorick added on 2016-09-06 20:36:03:
This happens because ferrieux added on 2016-08-15 12:03:52: Hum, never mind, simple interp bgerror playing its role, sorry. ferrieux added on 2016-08-15 11:58:39: Interesting: it's not even a vanilla error, it's uncatchable ! It sorta reaches the default "spit out errorInfo and exit(1)", regardless of any [catch] range. Digging... aspect added on 2016-08-15 11:53:46: The stack trace of the error is: c1 chan event schan::watch c1 (boom!) ie, yield is not even reached. schan::watch should not immediately call [chan postevent]. Wrapping that in [after 0] removes the crash, but I'm not sure this is correct behaviour for postevent either. See tcllib or http://chiselapp.com/user/aspect/repository/tcl-hacks/artifact/6cb89e9c9ebb6800 for other strategies (but I now see potentially a similar bug in the chiselapp link ..) |