[mediacard/*-*-after-suspend] Tests are not running after suspend due to something with insert test

Bug #990075 reported by Jeff Lane 
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Checkbox
Fix Released
High
Marc Tardif

Bug Description

Noticed on the inspiron 15R (201012-6931) that when I run the mediacard after suspend tests they do not behave as expected.

When I run the test, the following happens:

mediacard/mmc-insert-after-suspend loads
click test and insert mmc card
card is detected, test exits and highlights Yes.
Cursor continues with the busy indicator for several seconds.
Click next
mediacard/mmc-storage-after-suspend and mediacard/mmc-remove-after-suspend both fail to run.

I haven't looked too deeply into this but it seems like the insert card isn't exiting properly for some reason. I don't know that this is related to the machine, as these tests worked flawlessly prior to the suspend.

so it could be a genuine bug, though the OS is registering the events properly.

Also, this occurred with SD and SDHC, so it's not just an MMC problem.

Related branches

Revision history for this message
Jeff Lane  (bladernr) wrote :

Same thing occurs on the Lenovo E320 (201106-8229) which has a completely different card reader.

Revision history for this message
Jeff Lane  (bladernr) wrote :

After looking deeper into this, I still don't know just what's going on here, but during hte mediacard/*-insert-after-suspend test successfully runs, checkbox decides to skip the other two tests (storage-after-suspend and remove-after-suspend). It's setting their status to unitiated. Perhaps its interpreting the result from insert-after-suspend as a failure?

In any case, I've recreated this on every system tested so far.

Revision history for this message
Brendan Donegan (brendan-donegan) wrote :

The storage-after-suspend and remove-after-suspend tests, because they don't depend on the suspend/suspend_advanced test itself will run before it and therefore before the insert-after-suspend tests which they do depend on. It seems to be suggested that this shouldn't be allowed by Checkbox, but it seems the most plausible explanation.

Revision history for this message
Javier Collado (javier.collado) wrote :

Indeed there's a problem with dependencies as pointed out by Brendan.

After reproducing the problem I tried to add a dependency against `suspend/suspend_advanced` for both `mediacard/storage-after-suspend` and `mediacard/remove-after-suspend` and I was able to execute them successfully. After that, I tried to remove the dependency just for `mediacard/remove-after-suspend` and again the test case result was uninitiated as expected.

Regarding the root cause of this problem, I still need to investigate further, since I didn't see clue in the logs. Anyway, for now, a workaround to the problem is specify that dependency.

Changed in checkbox:
status: New → Confirmed
Revision history for this message
Javier Collado (javier.collado) wrote :

I added a complete description about the changes in the merge proposal.
https://code.launchpad.net/~javier.collado/checkbox/bug990075/+merge/104369

Regarding the testing to verify the correctness of the bug, I used the attached whitelist and also the smoke whitelist successfully in a laptop and a virtual machine.

Changed in checkbox:
status: Confirmed → Triaged
importance: Undecided → Low
assignee: nobody → Javier Collado (javier.collado)
status: Triaged → In Progress
Revision history for this message
Brendan Donegan (brendan-donegan) wrote :

This should definitely be high - it needs to be fixed soon

Changed in checkbox:
importance: Low → High
Revision history for this message
Javier Collado (javier.collado) wrote :

Please have a look at the branch and the merge proposal for information about the latest commit that has worked fine for me also for the client-cert whitelist.

As a summary, the whitelist is assumed to be almost correctly ordered and the only changes are that the jobs that have some dependency broken aren't executed in the same order, but as soon as possible (that is, just after their dependencies have been executed).

Also, find attached the final ordering for the client-cert whitelist that looks to be nice (let me know otherwise).

Changed in checkbox:
assignee: Javier Collado (javier.collado) → Marc Tardif (cr3)
Revision history for this message
Javier Collado (javier.collado) wrote :

I've run the whitelist in #7 with the latest changes from trunk and I got this feedback (after setting log level to debug) regarding the whitelist ordering:

--- old whitelist
+++ new whitelist
@@ -1,14 +1,14 @@
 __mediacard__
+__networking__
+__power-management__
+__suspend__
+networking/detect
+suspend/network_before_suspend
+suspend/suspend_advanced
 mediacard/mmc-insert-after-suspend
 mediacard/mmc-storage-after-suspend
 mediacard/mmc-remove-after-suspend
-__networking__
-networking/detect
-__power-management__
 power-management/rtc
-__suspend__
-suspend/network_before_suspend
-suspend/resolution_before_suspend
 suspend/cpu_before_suspend
 suspend/memory_before_suspend
-suspend/suspend_advanced
+suspend/resolution_before_suspend

Given that now the mediacard test cases are correctly ordered, you shouldn't get any problem in running them because of bad dependency handling, so I'm setting the status as 'Fix Committed'.

Changed in checkbox:
status: In Progress → Fix Committed
Marc Tardif (cr3)
Changed in checkbox:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.