On first boot, HomeScreen sometimes starts without apps being ready
Fixed
Description
This issue appears to occur only on first boot. Sometimes HomeScreen will start, but there will be no icons because the apps are not yet initialized. If you then do:
systemctl restart user@
Then HomeScreen will restart with the apps visible.
Given that this occurs only on first boot, I'm guessing it is caused by some race condition between agl-postinsts and HomeScreen.service, and then we need to explicitly mark some dependency.
I've noticed that this issue appears to reproduce better using Qt 5.8. I'm guessing Qt 5.8 exposes some race condition that was previously hidden, due to timing differences.
To reproduce, just build qemux86-64 with this branch for meta-agl-demo:
sandbox/mkelly/qt58
And this branch for meta-qt5:
github/master
commit 5f837b4
If it doesn't immediately reproduce, also try doing runqemu with kvm, as it will change the timing.
Environment
None
Attachments
1
Activity
Show:
Walt Miner
May 24, 2017 at 8:56 PM
Close for Dab RC1
Martin Kelly
May 22, 2017 at 10:50 PM
Awesome, thanks!
Scott Murray
May 22, 2017 at 10:27 PM
The discussed change has been merged. There was some discussion about dependencies and potential error-handling problems in Gerrit, I will do some experiments and open another issue if there seems to be another problem.
Jan-Simon Moeller
May 18, 2017 at 6:38 AM
+1 . Please submit a patch for this to gerrit.
Martin Kelly
May 17, 2017 at 10:57 PM
That solution is fine with me for fixing this particular bug; I think first boot is much less important than subsequent boots. I think we still should audit the service dependencies (and should have an issue tracking that), but I think the change you suggest is an improvement (I would +1 it ).
This issue appears to occur only on first boot. Sometimes HomeScreen will start, but there will be no icons because the apps are not yet initialized. If you then do:
systemctl restart user@
Then HomeScreen will restart with the apps visible.
Given that this occurs only on first boot, I'm guessing it is caused by some race condition between agl-postinsts and HomeScreen.service, and then we need to explicitly mark some dependency.
I've noticed that this issue appears to reproduce better using Qt 5.8. I'm guessing Qt 5.8 exposes some race condition that was previously hidden, due to timing differences.
To reproduce, just build qemux86-64 with this branch for meta-agl-demo:
sandbox/mkelly/qt58
And this branch for meta-qt5:
github/master
commit 5f837b4
If it doesn't immediately reproduce, also try doing runqemu with kvm, as it will change the timing.