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

Ets ops badarg race status #106

Closed
aronisstav opened this issue Oct 3, 2016 · 0 comments
Closed

Ets ops badarg race status #106

aronisstav opened this issue Oct 3, 2016 · 0 comments
Labels
bug Issues where the tool is not behaving according to expectations.

Comments

@aronisstav
Copy link
Member

aronisstav commented Oct 3, 2016

Running concuerror -f tricky.erl:

-module(tricky).

-export([test/0]).

test() ->
  test(3).

test(N) ->
  table = ets:new(table, [public, named_table]),
  C = chain(N, self()),
  true = [{key, N}] =/= ets:lookup(table, key).

chain(0, Pid) ->
  Pid;
chain(N, Pid) ->
  Fun = fun() -> ets:insert(table, {key, N}) end,
  Q = spawn(Fun),
  chain(N - 1, Q).

Returns (among other stuff):

Warning: The following pair of instructions is not explicitly marked as non-racing in Concuerror's internals:
  1) Exception badarg raised by: ets:insert(table, {key,3})
  2) Exception badarg raised by: ets:insert(table, {key,2})
 Please notify the developers to add info about this pair.
 Concuerror treats such pairs as racing (--assume_racing). (No other such warnings will appear)
@aronisstav aronisstav added bug Issues where the tool is not behaving according to expectations. help wanted Issues that anyone could start working on. An invitation to the community. labels Oct 6, 2016
@aronisstav aronisstav added in progress There is someone currently working on the issue. Should have at least a branch that refers to it. and removed help wanted Issues that anyone could start working on. An invitation to the community. labels Nov 24, 2016
aronisstav added a commit to aronisstav/Concuerror that referenced this issue Nov 24, 2016
If two operations end up raising exceptions it must be the case that
they had no effect, so they cant be in a race.

Fixes parapluu#106.
@aronisstav aronisstav removed the in progress There is someone currently working on the issue. Should have at least a branch that refers to it. label Dec 3, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issues where the tool is not behaving according to expectations.
Projects
None yet
Development

No branches or pull requests

1 participant