site  contact  subhomenews

Xvesa bugs

May 28, 2009 — BarryK
Alpha9 testers reported bugs when running the Xvesa server. I discussed the problem with Xvesa recently on my blog. In a nutshell, it has been dumped from Xorg 7.4 and although I have an older version that works, it does keep outputting this error message:

Xlib: extension "Generic Event Extension" missing on display ":0.0".

The 'pmount' scripts detects that error message and decides to terminate. I have fixed Pmount so that it will not terminate.

Actually, it is not really an error, it is just a warning that the server lacks that capability.

I'm running Xvesa right now. I booted alpha9 with "pfix=ram". I get all of the small icons in the menu. I click the Abiword icon, Abiword starts okay.

There was one person who reported that the small icons did not display. I don't understand how that can happen. I mean, they are there (16x16 icons), just as the bigger 24x24 and 48x48 icons are there, so why wouldn't they display? I cannot reproduce that bug.
Did you look in /tmp/xerrs.log?

For the person who reported that Abiword did not start from the desktop icon but did start from a terminal, I don't undestand that either.
Again, did you look at /tmp/xerrs.log?

X won't exit
There was also a report that Puppy would not shutdown when Xvesa is running. Puppy does shutdown for me. However, what does not work is "Exit to prompt" -- X just restarts.

I found the reason for this. When I first migrated to Xorg 7.4 it seemed that Xvesa was no longer supported so I would not be using it anymore -- also Xorg was promised to be "better than ever". Consequently I took out some Xvesa-specific code. I have since put it back, but I neglected to restore the code in /root/.xinitrc that starts the Xvesa Video Wizard. The Wizard is required, as it clears /tmp/videomode which in turn allows X to really exit.
Now fixed.

The above paragraph explains why other testers were getting X restarting when they tried to reboot or shutdown -- the existence of /tmp/videomode which /usr/bin/xwin tests for after X has quit.

However, in the case of my laptop, if xwin detects a LCD screen with only one native resolution then it uses that and does not create /tmp/videomode nor is the Video Wizard required. However, I was still getting X restarting when I chose "Exit to prompt" -- which seems to be defying reason.

But, the second attempt succeeds. Hmmm. So, on the first boot, before attempting to exit, I did this:

# ps -H -A

6829 tty1 00:00:00 xwin
6907 tty1 00:00:00 xwin
6993 tty1 00:00:00 xinit
6994 tty1 00:00:01 X
7004 tty1 00:00:00 jwm
7027 tty1 00:00:00 pup_event_frontend_d
10662 tty1 00:00:00 sleep
7048 tty1 00:00:00 delayedrun <defunct>
7052 tty1 00:00:00 absvolume


Now that is interesting! xwin is calling itself, so when it exits execution goes back to the first xwin, which then restarts X.

This is actually a very old bug. I have seen this situation of two instances of xwin running but never understood why. I still don't.
However, I put a workaround into xwin to detect this special situation.

Comments

..."one person"
Username: 01micko
Barry, I reported that there were no mini-icons and not in Xvesa but Xorg, on 2 machines, (totally different machines ;)) I posted my .. er .. workaround for Xvesa's Pmount problem.. worked for me, and I hope someone else out there. I'll post my 'xerrs.log' (from my fast machine, 'PC1' in the forum. Thanks

Multiple xwin
Username: Dougal
"I think this is something in the xwin/xorgwizard logic that I noticed a while ago. I think what happens is something like the xorgwizard being run as a subprocess of xwin and then exec-ing xwin when it's done -- so the second xwin takes over its PID (as the child of the first xwin...).

Re: 2 xwin's
Username: BarryK
"Yeah, but see my 'ps' output, they have different pid's. 'Exit to prompt' causes the second xwin to exit, execution is then back in the fist xwin, which immediately restarts X. As far as I know, I'm only getting this on first boot when I choose Xvesa on the first xorgwizard dialog.

PIDs
Username: Dougal
"Obviously they have different PIDs, otherwise they wouldn't appear as two processes. What I meant was that you run xorgwizard _not_ with "exec" (i.e. just run xorgwizard), which makes it a child of xwin, rather than taking over its PID), but then the xorgwizard, rather than exit, does an "exec xwin", which means the second xwin takes the PID of xorgwizard and that process never ends (unless you choose "Exit to prompt", in which case the _parent_ xwin will just continue...

Re: 2 xwin's
Username: BarryK
"Dougal, I've been off-line for a few days, just now seeing your comment. Yeah, on the weekend I figured that out, and have fixed xorgwizard. Thanks for looking into it.


Tags: woof