Bug 1591223 - emacs SIGABRT after XProtocolError on displaying an email in Gnus
Summary: emacs SIGABRT after XProtocolError on displaying an email in Gnus
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: emacs
Version: 28
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Jan Synacek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-06-14 10:25 UTC by Karl Mikaelsson
Modified: 2018-07-01 02:37 UTC (History)
5 users (show)

Fixed In Version: emacs-26.1-3.fc28
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-07-01 02:37:16 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Karl Mikaelsson 2018-06-14 10:25:56 UTC
Description of problem:

When trying to view a specific HTML message in Gnus, Emacs receives an X error and aborts.

> X protocol error: BadLength (poly request too large or internal Xlib length error) on protocol request 138


Version-Release number of selected component (if applicable):

> $ rpm -q emacs
> emacs-26.1-1.fc28.x86_64


How reproducible:

Seems to be 100% reproducable for me with this specific email.

It was also reproducible with "emacs -q" after loading only my gnus configuration.


Steps to Reproduce:

1. Browse to message in gnus
2. Press enter to view


Actual results:

Emacs disappears.


Expected results:

That I could see the selected message.


Additional info:

Tried to run emacs through gdb, got this backtrace.

> Thread 1 "emacs" received signal SIGABRT, Aborted.
> 0x00007fffec582e5b in raise () from /lib64/libpthread.so.0
> (gdb) bt
> #0  0x00007fffec582e5b in raise () at /lib64/libpthread.so.0
> #1  0x00000000004fac6b in terminate_due_to_signal ()
> #2  0x00000000005157c9 in  ()
> #3  0x00000000004c7063 in x_connection_closed ()
> #4  0x00000000004caf49 in x_error_quitter.isra ()
> #5  0x00000000004cafcb in x_error_handler ()
> #6  0x00007ffff447dec2 in _XError () at /lib64/libX11.so.6
> #7  0x00007ffff447ad67 in handle_error () at /lib64/libX11.so.6
> #8  0x00007ffff447ae0d in handle_response () at /lib64/libX11.so.6
> #9  0x00007ffff447b72d in _XEventsQueued () at /lib64/libX11.so.6
> #10 0x00007ffff445cd5e in XFlush () at /lib64/libX11.so.6
> #11 0x00007ffff449ace6 in _XimProtoDestroyIC () at /lib64/libX11.so.6
> #12 0x00007ffff4488b76 in XDestroyIC () at /lib64/libX11.so.6
> #13 0x00000000004dccc0 in free_frame_xic ()
> #14 0x00000000004d4c5c in x_free_frame_resources ()
> #15 0x00000000004d534f in x_destroy_window ()
> #16 0x0000000000429cc5 in delete_frame ()
> #17 0x00000000004c6ff3 in x_connection_closed ()
> #18 0x00000000004caf49 in x_error_quitter.isra ()
> #19 0x00000000004cafcb in x_error_handler ()
> #20 0x00007ffff447dec2 in _XError () at /lib64/libX11.so.6
> #21 0x00007ffff447ad67 in handle_error () at /lib64/libX11.so.6
> #22 0x00007ffff447ae0d in handle_response () at /lib64/libX11.so.6
> #23 0x00007ffff447b72d in _XEventsQueued () at /lib64/libX11.so.6
> #24 0x00007ffff446d257 in XPending () at /lib64/libX11.so.6
> #25 0x00007ffff6701f85 in gdk_event_source_prepare () at /lib64/libgdk-3.so.0
> #26 0x00007ffff4ded129 in g_main_context_prepare () at /lib64/libglib-2.0.so.0
> #27 0x00007ffff4dedb1b in  () at /lib64/libglib-2.0.so.0
> #28 0x00007ffff4dedcbb in g_main_context_pending () at /lib64/libglib-2.0.so.0
> #29 0x00007ffff6bc6881 in gtk_events_pending () at /lib64/libgtk-3.so.0
> #30 0x00000000004c7a77 in XTread_socket ()
> #31 0x0000000000502079 in gobble_input ()
> #32 0x0000000000502685 in process_pending_signals ()
> #33 0x00000000005e709b in xftfont_open ()
> #34 0x000000000058d4b4 in font_open_entity ()
> #35 0x00000000005e9c2a in fontset_find_font ()
> #36 0x00000000005e9eb1 in fontset_font ()
> #37 0x00000000005ea1c0 in face_for_char ()
> #38 0x00000000004499a3 in get_next_display_element ()
> #39 0x0000000000450d50 in display_line ()
> #40 0x0000000000455bab in try_window ()
> #41 0x00000000004698a2 in redisplay_window ()
> #42 0x000000000046d473 in redisplay_window_0 ()
> #43 0x0000000000572b9e in internal_condition_case_1 ()
> #44 0x0000000000435972 in redisplay_windows ()
> #45 0x000000000043597d in redisplay_windows ()
> #46 0x00000000004593f5 in redisplay_internal ()
> #47 0x0000000000504dbf in read_char ()
> #48 0x0000000000508890 in read_key_sequence.constprop ()
> #49 0x0000000000509f64 in command_loop_1 ()
> #50 0x0000000000572b06 in internal_condition_case ()
> #51 0x00000000004fb074 in command_loop_2 ()
> #52 0x0000000000572a75 in internal_catch ()
> #53 0x00000000004fb013 in command_loop ()
> #54 0x00000000005001d7 in recursive_edit_1 ()
> #55 0x0000000000500538 in Frecursive_edit ()
> #56 0x000000000041bca8 in main ()

Comment 1 Karl Mikaelsson 2018-06-18 10:56:41 UTC
Just for claritys sake: "emacs -nw" does not crash.

Comment 2 Karl Mikaelsson 2018-06-19 10:29:45 UTC
I've received a second mail which also crashes Emacs, but this time from viewing the subject in the summary view, rather than when opening the mail in the article view.

This is the subject line from the second mail. It includes a three uncommon Unicode characters: REGIONAL INDICATOR SYMBOL LETTER S, REGIONAL INDICATOR SYMBOL LETTER E and a SOCCER BALL.

> Subject: =?utf-8?B?SGVqYSBTdmVyaWdlISBNYXQgdGlsbCBtYXRjaGVuIGbDtnIgZW5k?=                                                                     
>         =?utf-8?B?YXN0IDE5a3IgbGV2ZXJhbnNnaWZ0IPCfh7jwn4eqIOKave+4jw==?=        

The first mail also included the same SOCCER BALL character, but also a GRINNING FACE character, apart from all the other text. I've tried reproducing the problem by sending myself a mail with these characters but I have not been successful so far.

Comment 3 Karl Mikaelsson 2018-06-25 14:30:07 UTC
FWIW, this does not seem to be a regression in emacs 26.

I did the dnf downgrade dance and found that emacs-25.3-5.fc28.x86_64 also crashes.

Comment 4 Glenn Morris 2018-06-26 00:00:29 UTC
I imagine this is a duplicate of bug 1519038 .
See upstream report https://debbugs.gnu.org/30874 .

Comment 5 Jan Synacek 2018-06-26 07:27:27 UTC
(In reply to Glenn Morris from comment #4)
> I imagine this is a duplicate of bug 1519038 .
> See upstream report https://debbugs.gnu.org/30874 .

Was that not fixed in emacs 26.1?

Comment 6 Karl Mikaelsson 2018-06-26 08:31:48 UTC
(In reply to Jan Synacek from comment #5)
> (In reply to Glenn Morris from comment #4)
> > I imagine this is a duplicate of bug 1519038 .
> > See upstream report https://debbugs.gnu.org/30874 .
> 
> Was that not fixed in emacs 26.1?

Apparently not - I noticed the rpm changelog entry mentioning 1519038 but I could still reproduce the problems mentioned on the upstream bug report with this command:

> emacs -Q --eval="(switch-to-buffer \"*scratch*\")" --eval="(insert-char #x274c)" --eval="(set-fontset-font \"fontset-default\" 'unicode \"Dejavu Sans Mono\")"

I can verify that applying the upstream fix[1] to the emacs-26.1.fc28 package solves the problem. (after cutting away the etc/NEWS change that did not apply cleanly).

1) https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=408bf21a8c8b5bf5a78785608255463ad1038871

Comment 7 Jan Synacek 2018-06-26 08:37:17 UTC
Ok, my bad, I should have checked that the patch made it into the stable branch. Sorry about the breakage.

Comment 8 Fedora Update System 2018-06-26 16:31:35 UTC
emacs-26.1-3.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-25555f4fe7

Comment 9 Karl Mikaelsson 2018-06-27 07:26:39 UTC
The emacs-26.1-3 package works great for me. Thanks Jan!

Comment 10 Fedora Update System 2018-06-28 15:02:45 UTC
emacs-26.1-3.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-25555f4fe7

Comment 11 Fedora Update System 2018-07-01 02:37:16 UTC
emacs-26.1-3.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.