Re: Re: y fails to start but gives no useful error message

Jerrit Erickson <[email protected]> Sun, 22 Jan 2006 23:19:16 -0500
Newsgroups gmane.comp.graphics.y.devel
Message-ID <[email protected]>
I'm not entirely sure what I did differently this time, but I got it
to start and background. My startY is modified to tell me how far it's
getting...

localhost ~ # ./bin/startY
Using config /root/etc/Y/server.conf
PID is 31276
Display socket is unix:/tmp/.Y-unix/31276
Starting yiterm...
Should have opened a yiterm by now...

And the appropriate processes appear in ps:
root     31276  0.1  0.7   7060  3860 ?        Ss   04:19   0:00
/root/bin/Y --emit-pid --config /root/etc/Y/
root     31277  0.0  0.4   3768  2056 pts/0    S    04:19   0:00
/root/bin/yiterm
root     31278  0.0  0.2   2212  1256 pts/1    Ss+  04:19   0:00  \_ -/bin/=
bash

But I get only a my console, Y doesn't appear. So I look for errors:

localhost ~ # grep 31276 /var/log/syslog
Jan 23 04:19:01 localhost Y[31276]: Error: ykbLoadMapSet: Error
loading keymap /root/etc/Y/keymaps/us.ykb: No such file or directory
Jan 23 04:19:01 localhost Y[31276]: Error: initialise: sdl: Unable to
init: No available video device
Jan 23 04:19:01 localhost Y[31276]: clientRegister:116: Registering
client with ID: 1
Jan 23 04:19:01 localhost Y[31276]: clientAddObject:211: Adding object
2 [Window] to client 1
Jan 23 04:19:01 localhost Y[31276]: clientAddObject:211: Adding object
3 [Console] to client 1


I built libsdl myself using only the --enable-video-fbcon option to
configure, and framebuffer itself is most cerntainly working. So now
it's an SDL problem of some sort, not a problem with Y. For what it's
worth, I can get the "yellow lines" screen if I switch to the fbcon
driver. Have I missed something with the SDL setup? The mailing list
archives don't seem to mention Y starting cleanly but without any
video.

On 1/22/06, Kristian Mueller <[email protected]> wrote:
> Hi Jerrit
>
> On So, 2006-01-22 at 22:09 -0500, Jerrit Erickson wrote:
> > 187           else if (pid !=3D 0)
> > 192               close (pipedes[1]);
> > 197               ssize_t ret =3D read (pipedes[0], returns, sizeof (in=
t) * 2);
> > 198               if (ret > 0)
> > 217                   if (ret =3D=3D 0 || errno =3D=3D EPIPE)
> > 219                       fprintf (stderr, "Y: server exited before sta=
rting up\n");
> > Y: server exited before starting up
>
> it seems, that you've got a problem creating the pipe. I don't know the
> source of Y but maybe you can provide information about the file it
> happens in and I can have a look at the pipe creation part.
>
> I am not shure if we have multitrading here - at least in your strace
> output you see it is a forked process.
>
> Hmm, wait:
> Maybe the indention is missleading here, and we are past the (ret > 0)
> then it could be a problem in the parent process. Meaning that the child
> process (which would be the server) just died.
>
> In that case you have to find out, why the child process has finished. -
> maybe you could debug using DDD. And maybe you have the font problem
> there. I don't know the code.
>
>
> hope that helps
>
> Kristian
>
>