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

Race conditions: Certain log in use cases intermittently cause the extension to fail initialization #42

Open
abdulazizali77 opened this issue Oct 19, 2020 · 1 comment
Assignees

Comments

@abdulazizali77
Copy link
Owner

abdulazizali77 commented Oct 19, 2020

  • Use Case 15 - Log in. Enable extension. Play. Disable extension. Click logout. Enable extension (without logging in)
  • Use Case 39 - Tab2 icon is still active whereas Tab1 icon is inactive
  • Use Case 40 - Tab1 overwrites Tab2 ranges
  • Use Case 41-51 - Tab1 state becomes incorrect (active)
  • Use Case 52 - Tab2 fails to go through auth flow, fails to setup slider but is recoverable; Tab1 state becomes unavailable

Use Cases

1 | One tab, logs in, plays track, enables extension, disables extension, logs out
2 | One tab, logs in, enables extension, plays track, disables extension, logs out
3 | One tab, logs in, plays track, enables extension, logs out
4 | One tab, logs in, enables extension, plays track, logs out
5 | One tab, logs in, plays track, enables extension, disables extension, closes tab
6 | One tab, logs in, enables extension, plays track, disables extension, closes tab
7 | One tab, logs in, plays track, enables extension, closes tab
8 | One tab, logs in, enables extension, plays track, closes tab
9 | One tab, is logged out, enables extension, plays track, disables extension, logs out
10 | One tab, is logged out, enables extension, plays track, logs out
11 | One tab, is logged out, enables extension, plays track, disables extension, closes tab
12 | One tab, is logged out, enables extension, plays track, closes tab
13 | One tab, logs in, plays track, enables extension, disables extension, logs out,  logs in again, plays track, enables extension
14 | One tab, logs in, plays track, enables extension, disables extension, logs out,  logs in again, enables extension, plays track
15 | One tab,  logs in, plays track, enables extension, disables extension, logs out, enables extension, plays track
16 | One tab,  logs in, plays track, enables extension, logs out, logs in again, plays track, enables extension
17 | One tab,  logs in, plays track, enables extension, logs out, logs in again, enables extension, plays track
18 | One tab,  logs in, plays track, enables extension, logs out, enables extension, plays track
19 | One tab,  logs in, plays track, enables extension, disables extension, closes tab logs in again, plays track, enables extension
20 | One tab,  logs in, plays track, enables extension, disables extension, closes tab logs in again, enables extension, plays track
21 | One tab,  logs in, plays track, enables extension, disables extension, closes tab enables extension, plays track
22 | One tab,  logs in, plays track, enables extension, closes tab logs in again, plays track, enables extension
23 | One tab,  logs in, plays track, enables extension, closes tab logs in again, enables extension, plays track
24 | One tab,  logs in, plays track, enables extension, closes tab enables extension, plays track
25 | One tab,  is logged out, enables extension, plays track, disables extension, logs out logs in again, plays track, enables extension
26 | One tab,  is logged out, enables extension, plays track, disables extension, logs out logs in again, enables extension, plays track
27 | One tab,  is logged out, enables extension, plays track, disables extension, logs out enables extension, plays track
28 | One tab,  is logged out, enables extension, plays track, logs out, logs in again, plays track, enables extension
29 | One tab,  is logged out, enables extension, plays track, logs out, logs in again, enables extension, plays track
30 | One tab,  is logged out, enables extension, plays track, logs out, enables extension, plays track
31 | One tab,  is logged out, enables extension, plays track, disables extension, closes tab, logs in again, plays track, enables extension
32 | One tab,  is logged out, enables extension, plays track, disables extension, closes tab, logs in again, enables extension, plays track
33 | One tab,  is logged out, enables extension, plays track, disables extension, closes tab, enables extension, plays track
34 | One tab,  is logged out, enables extension, plays track, closes tab, logs in again, plays track, enables extension
35 | One tab,  is logged out, enables extension, plays track, closes tab, logs in again, enables extension, plays track
36 | One tab,  is logged out, enables extension, plays track, closes tab, enables extension, plays track

37 | Two tabs; Tab 1 logs in, plays track, enables extension, disables extension, closes tab; Tab 2 plays track, enables extension
38 | Two tabs; Tab 1 logs in, plays track, enables extension, closes tab; Tab 2 plays track, enables extension
39 | Two tabs; Tab 1 logs in, plays track, enables extension, disables extension, closes tab; Tab 2 plays track, enables extension Tab 1 enables extension, plays track
40 | Two tabs; Tab 1 logs in, plays track, enables extension, closes tab; Tab 2 plays track, enables extension Tab 1 enables extension, plays track
 
41 | Two tabs; Tab 1 logs in, plays track, enables extension, disables extension; Tab 2 logs out; Tab 1 logs in again, plays track, enables extension
42 | Two tabs; Tab 1 logs in, plays track, enables extension, disables extension; Tab 2 logs out; Tab 1 logs in again, enables extension, plays track
43 | Two tabs; Tab 1 logs in, plays track, enables extension, disables extension; Tab 2 logs out; Tab 1 enables extension, plays track
44 | Two tabs; Tab 1 logs in, plays track, enables extension, disables extension; Tab 2 logs out; Tab 2 logs in again, plays track, enables extension
45 | Two tabs; Tab 1 logs in, plays track, enables extension, disables extension; Tab 2 logs out; Tab 2 logs in again, enables extension, plays track
46 | Two tabs; Tab 1 logs in, plays track, enables extension, disables extension; Tab 2 logs out; Tab 2 enables extension, plays track
47 | Two tabs; Tab 1 logs in, plays track, enables extension; Tab 2 logs out Tab 1 logs in again, plays track, enables extension
48 | Two tabs; Tab 1 logs in, plays track, enables extension; Tab 2 logs out Tab 1 logs in again, enables extension, plays track
49 | Two tabs; Tab 1 logs in, plays track, enables extension; Tab 2 logs out Tab 1 enables extension, plays track
50 | Two tabs; Tab 1 logs in, plays track, enables extension; Tab 2 logs out Tab 2 logs in again, plays track, enables extension
51 | Two tabs; Tab 1 logs in, plays track, enables extension; Tab 2 logs out Tab 2 logs in again, enables extension, plays track
52 | Two tabs; Tab 1 logs in, plays track, enables extension; Tab 2 logs out Tab 2 enables extension, plays track

@abdulazizali77 abdulazizali77 self-assigned this Oct 19, 2020
abdulazizali77 added a commit that referenced this issue Oct 19, 2020
@abdulazizali77
Copy link
Owner Author

Single try of UC15 seems to work. There might be certain load/client/server conditions which actually exhibit the the race condition.

@abdulazizali77 abdulazizali77 changed the title Certain log in use cases intermittently cause the extension to fail initialization Race conditions: Certain log in use cases intermittently cause the extension to fail initialization Apr 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant