After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 773187 - seg fault when changing typeface
seg fault when changing typeface
Status: RESOLVED DUPLICATE of bug 773029
Product: gucharmap
Classification: Core
Component: general
9.0.x
Other Linux
: Normal critical
: ---
Assigned To: gucharmap maintainers
gucharmap maintainers
Depends on:
Blocks:
 
 
Reported: 2016-10-18 20:47 UTC by Justin C.
Modified: 2016-10-18 21:41 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch - remove infinite recursion (912 bytes, text/plain)
2016-10-18 20:47 UTC, Justin C.
Details
software version list (2.16 KB, text/plain)
2016-10-18 20:48 UTC, Justin C.
Details
gucharmap coredumpctl backtrack (8.08 KB, text/plain)
2016-10-18 20:52 UTC, Justin C.
Details
gucharmap gdb backtrace full (191.50 KB, text/plain)
2016-10-18 21:32 UTC, Justin C.
Details

Description Justin C. 2016-10-18 20:47:27 UTC
Created attachment 337976 [details]
patch - remove infinite recursion

Disclaimer:

This bug is likely a duplicate of #773029

Overview:

gucharmap segfaults when I change the typeface via the drop-down select widget.


Steps to Reproduce:

1) run gucharmap
2) click on typeface drop-down select widget.
3) observe that list of typefaces appears.
4) select a different typeface.
5) observe gucharmap crashes.


Actual Results:

gucharmap crashes.


Expected Results:

I expected the Character Table grid to display the typeface I selected.


Build and Hardware:

Arch Linux x86_64


Additional Information:

This is likely a duplicate of bug 773029.  In the event it's not, I didn't want to clutter the bug 773029 with my details.

Best I can figure--and I'm fairly inexperienced--the segfault is caused by an infinite loop due to some [glib?] closure invoked repeatedly.  I disabled one of the call paths (see attached patch) and the segfault no longer occurs, and gucharmap appears to run correctly.

I have no idea if my patch is the proper fix or what that disabled code was intended to do.  This is offered as a starting point for further testing.
Comment 1 Justin C. 2016-10-18 20:48:14 UTC
Created attachment 337977 [details]
software version list
Comment 2 Justin C. 2016-10-18 20:52:39 UTC
Created attachment 337979 [details]
gucharmap coredumpctl backtrack
Comment 3 Christian Persch 2016-10-18 20:59:22 UTC
Not reproducible here with steps 1-4, no step 5 (crash) here. I have gtk+ 3.20 while you have 3.22, so possibly it's a gtk+ bug introduced in 3.22.

As for patch, gucharmap_charmap_update_text_tags does not call gucharmap_charmap_set_font_desc_internal, so removing the call of the former from the latter wouldn't appear to solve any recursion problem.

Indeed a duplicate of bug 773029.

*** This bug has been marked as a duplicate of bug 773029 ***
Comment 4 Justin C. 2016-10-18 21:23:29 UTC
I just noticed my coredump backtrace attachment doesn't contain the details I saw in my gdb backtrace, which better demonstrates the indirect invocation of gucharmap_charmap_set_font_desc_internal via some closure.

Shall I submit the gdb backtrace here or on bug 773029?
Comment 5 Christian Persch 2016-10-18 21:27:30 UTC
Here, please.
Comment 6 Justin C. 2016-10-18 21:32:46 UTC
Created attachment 337983 [details]
gucharmap gdb backtrace full
Comment 7 Justin C. 2016-10-18 21:41:06 UTC
Bah.  disregard comment 4.  `gucharmap_charmap_set_font_desc_internal` IS NOT called recursively.  it kicked off one of the calls to `gucharmap_charmap_update_text_tags` which is why I tested the app with that call removed.

Sorry for any mixed signals.