[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: