Bug#486330: just saw this now
On Tue, Aug 4, 2009 at 18:26:20 +0200, Josip Rodin wrote:
> On Tue, Aug 04, 2009 at 06:06:23PM +0200, Josip Rodin wrote:
> > > (EE) Error compiling keymap (server-0)
> > > (EE) XKB: Couldn't compile keymap
> >
> > Oh, ffs, I figured it out. The machine had no free space (for users) on
> > the root partition, more exactly the partition holding /var/tmp, and yet
> > these XKB tools didn't seem to think that the inability to write files
> > was a useful thing to report. Let's go with the generic error message
> > instead, yay. >:<
>
> Part of the culprit is in xorg-server-*/xkb/ddxLoad.c function
> XkbDDXCompileKeymapByNames() where our code path says:
>
> out= Popen(buf,"w");
> if (out!=NULL) {
> XkbWriteXKBKeymapForNames(out,names,NULL,xkb,want,need);
> if (fclose(out)==0 && System(buf) >= 0)
> {
> ...
> else
> LogMessage(X_ERROR, "Error compiling keymap (%s)\n", keymap);
> }
> else {
> LogMessage(X_ERROR, "XKB: Could not invoke xkbcomp\n");
> }
>
> The inner error message needs to say that it was invoking xkbcomp as well,
> also how it was doing it (include 'buf'), and obviously also it should
> record the actual exit code from System(buf) and include that as well.
>
> This code is the same in 1.4.2 (lenny) and 1.6.3 (current sid).
>
Yeah, error reporting from xkbcomp has always been pretty bad.
Hopefully this is going away in the not too far future, by moving
necessary code from xkbcomp into the server or a library so we don't
need to fork/exec... There's work on this upstream, although I don't
know the status at this point.
Cheers,
Julien
Reply to: