Bug 471580 - mingetty --noclear tty1 (only on tty1) results in invisible cursor
Summary: mingetty --noclear tty1 (only on tty1) results in invisible cursor
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: plymouth
Version: 10
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Ray Strode [halfline]
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-11-14 13:37 UTC by Denys Vlasenko
Modified: 2009-12-18 06:50 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-12-18 06:50:47 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Denys Vlasenko 2008-11-14 13:37:33 UTC
I replaced

exec /sbin/mingetty ttyN

with

exec /sbin/mingetty --noclear ttyN

in every /etc/event.d/ttyN file. Now after boot console #1 has no cursor. I see "login:" prompt and can login and work there, but cursor is not visible. Other consoles have no such problem.

It might be a case of init scripts messing with tty and not setting it to its usual mode afterwards. In this case, please reassign the bug as appropriate.

Comment 1 Roman Rakus 2008-11-14 14:17:38 UTC
Definitely not mingetty problem. Reassignment to initscripts.

Comment 2 Mads Kiilerich 2008-11-14 14:36:52 UTC
Probably duplicate of Bug 467207 which has been marked as closed rawhide, but the fix in initscripts-8.86-1 might not have reached f10/rawhide yet.

Comment 3 Bill Nottingham 2008-11-14 16:07:53 UTC

*** This bug has been marked as a duplicate of bug 467207 ***

Comment 4 Denys Vlasenko 2008-11-17 13:37:48 UTC
Bug 467207 is allegedly fixed by /etc/event.d/quit-plymouth with the following contents:

# quit-plymouth - script to stop boot splash
#
# This service triggers plymouth to quit when we reach the
# end of the boot cycle. We start on 'stopping rcX' to make sure
# this completes before the getty starts.
# prefdm handles quit differently, though.

start on stopping rc2
start on stopping rc3
start on stopping rc4

exec /usr/bin/plymouth quit

I added it to my system, rebooted, and I still don't see the cursor on tty1.

Please try to duplicate the problem on your system before closing it and make sure it is really fixed. Duplicating it is not hard as all.

Comment 5 Mads Kiilerich 2008-11-17 14:11:24 UTC
The bug in 467207 was a race condition. I couldn't always reproduce it, and rstrode had even less "success". Your case touches the same codepaths, so actually it _is_ generally hard to duplicate. 

Apparently your problem goes further than 467207, so it wasn't a duplicate anyway.

Btw: This issue is marked as version 9 - I assume it should be rawhide/10?

Comment 6 Denys Vlasenko 2008-11-17 15:25:36 UTC
Can you reproduce _this_ bug, not bug 467207?

Just add --noclear in mingetty command line in /etc/event.d/tty1 and reboot.
Do you have cursor on tty1 after this?

Comment 7 Mads Kiilerich 2008-11-17 20:07:00 UTC
I can confirm the behaviour.

AFAICT all that the --noclear option to mingetty does is
        if (noclear == 0)
                write (0, "\033c", 2);
and apparently that enables the cursor. Something in the boot process hides the cursor, and nothing enables it before mingetty.

That escape sequence could perhaps be added to src/plugins/splash/text/plugin.c too. But why use the --noclear option when all it does is exactly what we see and don't want?

Comment 8 Denys Vlasenko 2008-11-20 15:01:59 UTC
I use --noclear option because I do not want to clear the screen. In particular, I do want to see the tail of boot messages on tty1 after boot is complete.

Comment 9 Bill Nottingham 2008-11-20 15:05:42 UTC
Right, but this almost seems like a mingetty bug. If it's what's enabling the cursor, it should do that regardless of whether it's clearing the screen or not.

Comment 10 Denys Vlasenko 2008-11-20 15:55:16 UTC
And if someone decided to run something else on tty1 instead of mingetty (say, /bin/sh), not-enabled cursor will be a bug in sh? Sounds wrong to me. Whoever played with tty is better try harder to return it to ordinary state.

Comment 11 Bill Nottingham 2008-11-20 16:01:17 UTC
Right, but if that's actually the kernel's modesetting or fbcon layer....

CC'ing plymouth maintainer.

Comment 12 Denys Vlasenko 2008-11-20 16:17:05 UTC
I do not use fbcon, it's definitely happens on a plain text mode x86 console here.

Comment 13 Ray Strode [halfline] 2008-11-20 18:11:39 UTC
so in plymouth's text plugin we have

ply_window_hide_text_cursor (plugin->window) in start_animation and no corresponding ply_window_show_text_cursor () call in stop_animation...

I'd say this is as much a plymouth bug as anything.

Comment 14 Bug Zapper 2008-11-26 05:22:24 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle.
Changing version to '10'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 15 Denys Vlasenko 2008-12-18 17:25:44 UTC
Any progress on this one?

Comment 16 Mads Kiilerich 2008-12-18 17:43:37 UTC
FWIW I tried to figure out what was going on in plymouth, but it wasn't obvious to me how the global state with cursors and animations and colors and clearing etc is maintained and which invariants applies. 

I experiemented with the following change as suggested by rstrode, but I gave up when I tried to convince my self why it did the right thing.

--- plymouth-0.6.0.org/src/plugins/splash/pulser/plugin.c	2008-11-11 19:41:12.000000000 +0100
+++ plymouth-0.6.0/src/plugins/splash/pulser/plugin.c	2008-12-18 18:36:27.000000000 +0100
@@ -162,6 +162,7 @@
   plugin->is_animating = false;
 
   ply_text_pulser_stop (plugin->pulser);
+  ply_window_show_text_cursor (plugin->window);
 }
 
 void

Comment 17 Ray Strode [halfline] 2008-12-18 18:09:54 UTC
hmm that patch is for the "pulser" plugin which we don't use by default (it's the ugly cylon looking one)

Comment 18 Denys Vlasenko 2009-01-14 13:28:49 UTC
ping...

Comment 19 Ray Strode [halfline] 2009-01-14 14:25:50 UTC
Hi Denys, 

I'm not looking at this issue at the moment.   I'm currently doing some GDM work, and won't get to this bug right away.

Comment 20 Bug Zapper 2009-11-18 08:51:34 UTC
This message is a reminder that Fedora 10 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 10.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '10'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 10's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 10 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 21 Bug Zapper 2009-12-18 06:50:47 UTC
Fedora 10 changed to end-of-life (EOL) status on 2009-12-17. Fedora 10 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.