Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

context overflow definition seems like it is off by 1 #576

Open
dclements opened this issue Aug 15, 2023 · 0 comments
Open

context overflow definition seems like it is off by 1 #576

dclements opened this issue Aug 15, 2023 · 0 comments

Comments

@dclements
Copy link

dclements commented Aug 15, 2023

The Context Overflow definition from the Context Processing Algorithm, 5.2.3 reads as follows:

If the number of entries in the remote contexts array exceeds a processor defined limit, a context overflow error has been detected and processing is aborted; otherwise, add context to remote contexts.

Technically what this would seem to mean is that if your processor defined limit is 3 then:

  • [a; b; c] -> no error because the number of entries is equal to the limit. Then after this step it will be [a; b; c; d] and will not fail until it reaches this code the next time (presumably while processing e).
  • [a; b; c; d] -> throws an error but only when the first part of this statement is encountered.

In this edge case this could produce a valid resulting context that has a remote contexts array one larger than the processor defined limit.

It would seem that one of three things should happen here:

  1. Switch the order of the statements. Add context to remote contexts and then make the statement that "if the number of entries in the remote contexts array exceeds…"
  2. Change the language to be "equal to" instead of "exceeds." So it would now read "if the number of entries in the remote contexts array is equal to a processor defined limit…" This does not allow for duplicate entries in the array to be merged together if read strictly (and there is no indication of deduplication anywhere I can see in the description of remote contexts at this time)
  3. Define the size of the remote context array as having an event (possibly expressed somewhere else) that reads "if the size of the remote contexts array is ever made to be greater than a processor defined limit, then generate a context overflow error…"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Errata
Development

No branches or pull requests

2 participants