Subject: bug#69762: X11 versions of Emacs 29 on sparc fail at startup

From: Ali Bahrami <[email-masked]>
Date: Fri, 15 Mar 2024 10:37:13 -0600

On 3/15/24 12:42 AM, Po Lu wrote:
> Ali Bahrami <[email-masked]> writes:
> 
>> I'm running it as 'src/emacs', out of the workspace
>> that I built with the patch applied, as well as configured
>> with --without-xinput2. Did I miss a step, or should I be
>> running it differently?
> 
> Nevermind, the code to print this information wasn't installed in the
> Emacs 29 branch, being written awfully close to the time of the release.
> 
> Please apply this patch and respond with the error message the patched
> Emacs generates:
> 
> diff --git a/src/xterm.c b/src/xterm.c
> index acb008475c7..9f6d5196720 100644
> --- a/src/xterm.c
> +++ b/src/xterm.c
> @@ -26300,8 +26300,10 @@ x_error_handler (Display *display, XErrorEvent *event)
>   static void NO_INLINE
>   x_error_quitter (Display *display, XErrorEvent *event)
>   {
> -  char buf[256], buf1[400 + INT_STRLEN_BOUND (int)
> -		      + INT_STRLEN_BOUND (unsigned long)];
> +  char buf[256], buf1[800 + INT_STRLEN_BOUND (int)
> +		      + INT_STRLEN_BOUND (unsigned long)
> +		      + INT_STRLEN_BOUND (XID)
> +		      + INT_STRLEN_BOUND (int)];
>   
>     /* Ignore BadName errors.  They can happen because of fonts
>        or colors that are not defined.  */
> @@ -26314,8 +26316,12 @@ x_error_quitter (Display *display, XErrorEvent *event)
>   
>     XGetErrorText (display, event->error_code, buf, sizeof (buf));
>     sprintf (buf1, "X protocol error: %s on protocol request %d\n"
> -	   "Serial no: %lu\n", buf, event->request_code,
> -	   event->serial);
> +	   "Serial no: %lu\n"
> +	   "Failing resource ID (if any): 0x%lx\n"

> +	   "This is a bug!  Please report this to [email-masked]!\n"
> +	   buf, event->request_code, event->serial, event->resourceid,
> +	   event->minor_code);
>     x_connection_closed (display, buf1, false);
>   }

    This output is from emacs-x with both patches
applied:

     % src/emacs
     X protocol error: BadDrawable (invalid Pixmap or Window parameter) on protocol request 134
     Serial no: 1318
     Failing resource ID (if any): 0x5901a002
     Minor code: 14
     This is a bug!  Please report this to [email-masked]!

Note that I had to move the comma at the end of

     > +	   "Minor code: %d\n",

to the end of the following line. I only mention it in case
it's a sign that something else was intended.

Standing by for the next iteration. Thank you!

- Ali