plymouth-splash can't be displayed due to race condition with plymouth-stop

Bug #1293906 reported by Franz Hsieh on 2014-03-18
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OEM Priority Project
Undecided
Unassigned
Precise
Undecided
Unassigned
Plymouth
New
Undecided
Unassigned

Bug Description

OS version: Ubuntu 12.04.4 Precise
Package version: plymouth 0.8.2-2ubuntu31.1

There might be race condition between plymouth-splash and plymouth-stop.

Normally the calling sequence should be:
plymouth
...
plymouth-splash
...
plymouth-stop

On the fail unit it looks like:
plymouth
...
plymouth-stop
...
plymouth-splash

Therefore the splash screen can't be displayed.

The timing that plymouth-splash would be executed relies on these conditions: (ref: /etc/init/plymouth-splash.conf)
  1) plymouth should be executed and,
  2) graphics-device-added or drm-device-added event has been emitted.

Condition 1 is always satisfied, so the possible reason of why plymouth-splash is not executed might be the graphic takes too many time to initial.

affects: plymouth (Ubuntu) → oem-priority
tags: removed: oem-priority
Franz Hsieh (franz-hsieh) wrote :

I wrote a patch to check plymouth-splash status before plymouth quit is fired to prevent the race condition. It seems work on my machine:

=== modified file 'debian/plymouth.plymouth-stop.upstart'
--- debian/plymouth.plymouth-stop.upstart 2013-05-03 02:49:34 +0000
+++ debian/plymouth.plymouth-stop.upstart 2014-03-14 09:25:29 +0000
@@ -24,6 +24,7 @@
  exit 0
  ;;
     *)
+ status plymouth-splash | grep -q 'start/running' && \
  exec /bin/plymouth quit
  ;;
     esac

Ara Pulido (ara) wrote :

What release of Ubuntu is this for?
Can you file the bug against the package in Ubuntu, instead the project? What version?
Is this happening in Trusty?

Changed in oem-priority:
status: New → Incomplete
description: updated
Franz Hsieh (franz-hsieh) wrote :

@Ara

The issue only happens on some specific platforms with Ubuntu 12.04 (Precise), it cannot be reproduced on Trusty.
Additionally, it should be Synaptics' driver that cause the issue. We have asked Synaptics to solve the issue.

The patch in #1 seems no help to the issue.

Ara Pulido (ara) wrote :

Marking as Invalid as it has been identified that the problem is a driver issue

Changed in oem-priority:
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers