Change theme
Help
Press space for more information.
Show links for this issue (Shortcut: i, l)
Copy issue ID
Previous Issue (Shortcut: k)
Next Issue (Shortcut: j)
Sign in to use full features.
Vote: I am impacted
Notification menu
Refresh (Shortcut: Shift+r)
Go home (Shortcut: u)
Use Markdown for this comment
Set severity, which reflects how much the issue affects the use of the product
Change issue status back to 'Assigned'
Pending code changes (auto-populated)
[ID: 84651]
Story points rate the relative effort of work in a Fibonacci-like format: 0, 0.5, 1, 2, 3, 5, 8, 13, 20, 40, 100. Each team will estimate work on a slightly different scale, which means the values in this field are likely only meaningful to the team that owns the Buganizer component in which the issue resides.
See Atlassian's Agile Coach for more information on how to use story points for estimation: https://www.atlassian.com/agile/project-management/estimation [ID: 746686]
Set the version(s) of the product affected by this issue (comma-separated list)
Set the version(s) of the product in which the issue should be fixed (comma-separated list)
Set the version(s) of the product in which the issue fix was verified (comma-separated list)
Set if this issue occurs in production
[ID: 85206]
Set Reporter
Set Type
Set priority, which reflects how soon the issue should be fixed
Set Status
Set Assignee
Set Verifier
Remove item
View or edit staffing
View issue level access limits(Press Alt + Right arrow for more information)
Description
#1Version used: 23.1.1
Devices/Android versions reproduced on: Genymotion with 5.0 image, Nexus 6P with Android 6.0
Source code:
Steps to reproduce:
1. Start the application
2. You should see "Loading, Slow, Fast" on the screen
3. Rotate the screen
Expected results:
4. You should see "Loading, Slow, Slow, Fast" on the screen (although I'm not 100% sure the duplicated "Slow" caused by onLoadFinished called twice on screen rotation is not another bug).
Actual results:
4. You see "Loading, Slow, Slow" sometimes (reproduction rate probably depends on the device, on my devices it happens once every ~5 times).
More info:
The issue happens only if the "fast" loader finished its background job before it's cancelled inside LoaderManagerImpl.restartLoader call. Here's the sample logcat output when the issue happens:
V/LoaderManager( 1133): Retaining in LoaderManager{38b61f33 in HostCallbacks{1f86268}}
V/LoaderManager( 1133): Retaining: LoaderInfo{1f882bb2 #1 : FastLoader{27f70703}}
V/LoaderManager( 1133): Retaining: LoaderInfo{9999069 #0 : SlowLoader{3a98aaee}}
V/LoaderManager( 1133): Destroying Inactive in LoaderManager{38b61f33 in HostCallbacks{1f86268}}
V/LoaderManager( 1133): initLoader in LoaderManager{38b61f33 in HostCallbacks{9f451f1}}: args=null
V/LoaderManager( 1133): Re-using existing loader LoaderInfo{9999069 #0 : SlowLoader{3a98aaee}}
V/LoaderManager( 1133): Starting in LoaderManager{38b61f33 in HostCallbacks{9f451f1}}
V/LoaderManager( 1133): onLoadFinished in SlowLoader{3a98aaee id=0}: String{2dcc41ab}
V/LoaderManager( 1133): restartLoader in LoaderManager{38b61f33 in HostCallbacks{9f451f1}}: args=null
V/LoaderManager( 1133): Making last loader inactive: LoaderInfo{1f882bb2 #1 : FastLoader{27f70703}}
V/LoaderManager( 1133): Starting: LoaderInfo{3f6481d6 #1 : FastLoader{1edeac57}}
V/LoaderManager( 1133): Finished Retaining in LoaderManager{38b61f33 in HostCallbacks{9f451f1}}
D/LoaderManager( 1133): Start loadInBackground FastLoader{1edeac57 id=1}
D/LoaderManager( 1133): Finished loadInBackground FastLoader{1edeac57 id=1}
V/LoaderManager( 1133): Finished Retaining: LoaderInfo{9999069 #0 : SlowLoader{3a98aaee}}
V/LoaderManager( 1133): onLoadFinished in SlowLoader{3a98aaee id=0}: String{2dcc41ab}
V/LoaderManager( 1133): restartLoader in LoaderManager{38b61f33 in HostCallbacks{9f451f1}}: args=null
V/LoaderManager( 1133): Current loader is running; attempting to cancel
V/LoaderManager( 1133): Canceling: LoaderInfo{3f6481d6 #1 : FastLoader{1edeac57}}
V/LoaderManager( 1133): onLoadCanceled: LoaderInfo{3f6481d6 #1 : FastLoader{1edeac57}}
V/LoaderManager( 1133): Enqueuing as new pending loader
I have implemented the fix/workaround here: