-
Notifications
You must be signed in to change notification settings - Fork 181
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
Intermittent failure for NonGenericCreationSpecs.CacheSuccessfulConstructor #1443
Comments
Oh, bother. I thought the fix (wait before faking, release the lock at the end of the test) would fix it, and it seemed to in my tests. I'll take a look again. |
BTW, the failed assertion message is:
|
I don't know if it's related to your fix, but there seems to be a deadlock in the specs. I've seen it twice when building from the command line, it remains stuck at this line:
|
Well, it's reasonable to believe that it's related to my fix. But I ran 300 iterations without a hitch. Hmmm. I used a |
Are you working off develop? Do you see the problem in any particular framework? |
Yes
I don't know... It only happened twice, and I didn't keep the output. |
Ugh. Reproduced. In 461, at least. I wonder if the issue is that
I don't understand xBehave/xUnit enough to know whether it would always call the exit on the same thread as the one that called Even still, all the other |
In fact, I'm on my |
I think it should, at least as long as we're not using async code. |
Sorry, in fact that's not even true. I was working off my local develop branch, which was out of date... I'll rebase |
I ran the specs a few times, and haven't seen the deadlock again yet. |
I'm at work, and it's showing up by about the 30th run:
I've a better machine here. Maybe at home it was single-threading more often. Although I could force the old failure before my change. |
Fun fact. I just rolled back to before my change and dropped the steps that compare the contructor call counts and… hung. |
Maybe it would be easier to just remove the synchronization code and make |
@thomaslevesque, I had been considering something like that, but I don't think it's the answer. See #1451. |
Well, even it it's not actually this test that fails, it might still be a better approach than manual synchronization. |
This change has been released as part of FakeItEasy 4.9.0. |
I've seen this several times in the past few days:
So I guess the concurrency issues are not completely fixed yet...
The text was updated successfully, but these errors were encountered: