From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alex =?utf-8?Q?Benn=C3=A9e?= Newsgroups: gmane.emacs.devel Subject: libxft crash with current Emacs master branch Date: Sat, 18 Jan 2014 07:56:37 +0000 Message-ID: <87a9etlo3u.fsf@linaro.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1390031815 24326 80.91.229.3 (18 Jan 2014 07:56:55 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 18 Jan 2014 07:56:55 +0000 (UTC) To: Emacs developers Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jan 18 08:57:01 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1W4Qm1-0003RO-MA for ged-emacs-devel@m.gmane.org; Sat, 18 Jan 2014 08:56:57 +0100 Original-Received: from localhost ([::1]:41528 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W4Qm1-0004QA-CC for ged-emacs-devel@m.gmane.org; Sat, 18 Jan 2014 02:56:57 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59144) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W4Qlu-0004Q3-8p for emacs-devel@gnu.org; Sat, 18 Jan 2014 02:56:54 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W4Qlp-0002BS-SA for emacs-devel@gnu.org; Sat, 18 Jan 2014 02:56:50 -0500 Original-Received: from static.88-198-71-155.clients.your-server.de ([88.198.71.155]:35652 helo=socrates.bennee.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W4Qlp-0002BF-IX for emacs-devel@gnu.org; Sat, 18 Jan 2014 02:56:45 -0500 Original-Received: from localhost ([127.0.0.1]) by socrates.bennee.com with esmtp (Exim 4.80) (envelope-from ) id 1W4Qob-0003hP-Of for emacs-devel@gnu.org; Sat, 18 Jan 2014 08:59:38 +0100 User-agent: mu4e 0.9.9.6pre2; emacs 24.3.50.1 X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: kernel-hacker@bennee.com X-SA-Exim-Scanned: No (on socrates.bennee.com); SAEximRunCond expanded to false X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 88.198.71.155 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:168651 Archived-At: Hi, I've been seeing crashes in the last few weeks while tracking the Emacs master branch. #0 0x00007fa172105c05 in ?? () from /usr/lib/x86_64-linux-gnu/libXft.so.2 #1 0x00007fa172101e37 in ?? () from /usr/lib/x86_64-linux-gnu/libXft.so.2 #2 0x00007fa1725334f2 in XCloseDisplay () from /usr/lib/x86_64-linux-gnu/libX11.so.6 #3 0x00007fa172c8ffd5 in ?? () from /usr/lib/x86_64-linux-gnu/libXt.so.6 #4 0x00007fa172c90b6c in XtCloseDisplay () from /usr/lib/x86_64-linux-gnu/libXt.so.6 #5 0x00000000004b7e1a in x_delete_terminal (terminal=) at xterm.c:10331 #6 0x00000000004aa506 in Fdelete_terminal (terminal=terminal@entry=87945245, force=) at terminal.c:348 #7 0x0000000000421268 in delete_frame (frame=, force=) at frame.c:1400 #8 0x000000000054bc58 in Ffuncall (nargs=nargs@entry=1, args=args@entry=0x7fff1cf10710) at eval.c:2809 #9 0x0000000000548050 in Fcall_interactively (function=, record_flag=, keys=) at callint.c:836 #10 0x000000000054bc48 in Ffuncall (nargs=, args=) at eval.c:2813 #11 0x000000000057fbbd in exec_byte_code (bytestr=0, vector=140733678945484, maxdepth=0, args_template=78271296, nargs=140733678946512, args=0x4) at bytecode.c:919 #12 0x000000000054b7a7 in funcall_lambda (fun=9555397, nargs=nargs@entry=1, arg_vector=arg_vector@entry=0x7fff1cf10a78) at eval.c:2974 #13 0x000000000054ba7b in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7fff1cf10a70) at eval.c:2867 #14 0x000000000054bdaa in call1 (fn=, arg1=) at eval.c:2605 #15 0x00000000004e914d in command_loop_1 () at keyboard.c:1552 #16 0x000000000054a0be in internal_condition_case (bfun=bfun@entry=0x4e8dc0 , handlers=, hfun=hfun@entry=0x4dfd70 ) at eval.c:1345 #17 0x00000000004db40e in command_loop_2 (ignore=ignore@entry=12108018) at keyboard.c:1170 #18 0x0000000000549fcb in internal_catch (tag=12155426, func=func@entry=0x4db3f0 , arg=12108018) at eval.c:1109 #19 0x00000000004df997 in command_loop () at keyboard.c:1149 #20 recursive_edit_1 () at keyboard.c:777 #21 0x00000000004dfc82 in Frecursive_edit () at keyboard.c:841 #22 0x0000000000413b65 in main (argc=, argv=0x7fff1cf10e18) at emacs.c:1637 #5 0x00000000004b7e1a in x_delete_terminal (terminal=) at xterm.c:10331 With additional debug symbols I saw this: #0 XftFontManageMemory (dpy=dpy@entry=0x321c690) at ../../src/xftfreetype.c:1115 #1 0x00007f1449f09e37 in _XftCloseDisplay (dpy=0x321c690, codes=) at ../../src/xftdpy.c:40 #2 0x00007f144a33b4f2 in XCloseDisplay () from /usr/lib/x86_64-linux-gnu/libX11.so.6 #3 0x00007f144aa97fd5 in ?? () from /usr/lib/x86_64-linux-gnu/libXt.so.6 #4 0x00007f144aa98b6c in XtCloseDisplay () from /usr/lib/x86_64-linux-gnu/libXt.so.6 #5 0x00000000005148cf in x_delete_terminal () #6 0x00000000004f305f in Fdelete_terminal () #7 0x00000000004232b6 in delete_frame () #8 0x00000000004235c9 in Fdelete_frame () #9 0x00000000005cebab in Ffuncall () #10 0x00000000005c93fe in Fcall_interactively () #11 0x00000000005cebda in Ffuncall () #12 0x0000000000610bb3 in exec_byte_code () #13 0x00000000005cf266 in funcall_lambda () #14 0x00000000005ced6d in Ffuncall () #15 0x00000000005ce502 in call1 () #16 0x000000000053a8c0 in command_loop_1 () #17 0x00000000005cb9e8 in internal_condition_case () #18 0x0000000000539eee in command_loop_2 () #19 0x00000000005cb1fa in internal_catch () #20 0x0000000000539e9c in command_loop () #21 0x000000000053967e in recursive_edit_1 () #22 0x00000000005397eb in Frecursive_edit () #23 0x00000000005377f3 in main () #0 XftFontManageMemory (dpy=dpy@entry=0x321c690) at ../../src/xftfreetype.c:1115 1115 in ../../src/xftfreetype.c $1 = (Display *) 0x321c690 $2 = {ext_data = 0x2c77a60, free_funcs = 0x3765ad0, fd = 11, conn_checker = 0, proto_major_version = 11, proto_minor_version = 0, vendor = 0x3a48cf0 "The X.Org Foundation", resource_base = 12582912, resource_mask = 2097151, resource_id = 0, resource_shift = 0, resource_alloc = 0x7f144a35d2d0 <_XAllocID>, byte_order = 0, bitmap_unit = 32, bitmap_pad = 32, bitmap_bit_order = 0, nformats = 7, pixmap_format = 0x3a28c00, vnumber = 11, release = 11204000, head = 0x0, tail = 0x0, qlen = 0, last_request_read = 6434, request = 6435, last_req = 0x2d5ba70 "\217\023\002", buffer = 0x2d5ba70 "\217\023\002", bufptr = 0x2d5ba78 "<", bufmax = 0x2d5fa70 "", max_request_size = 65535, db = 0x0, synchandler = 0x0, display_name = 0x399c8a0 ":0", default_screen = 0, nscreens = 1, screens = 0x3b97e40, motion_buffer = 256, flags = 2, min_keycode = 8, max_keycode = 255, keysyms = 0x0, modifiermap = 0x0, keysyms_per_keycode = 0, xdefaults = 0x0, scratch_buffer = 0x0, scratch_length = 0, ext_number = 4, ext_procs = 0x3687980, event_vec = { 0x7f144a35ed30 <_XUnknownWireEvent>, 0x7f144a35ed30 <_XUnknownWireEvent>, 0x7f144a35ed70 <_XWireToEvent> , 0x7f144a35ed30 <_XUnknownWireEvent> , 0x7f144a3b0750, 0x7f144a35ed30 <_XUnknownWireEvent> }, wire_vec = {0x7f144a35ed60 <_XUnknownNativeEvent>, 0x7f144a35ed60 <_XUnknownNativeEvent>, 0x0 , 0x7f144a35ed60 <_XUnknownNativeEvent> }, lock_meaning = 0, lock = 0x0, async_handlers = 0x0, bigreq_size = 4194303, lock_fns = 0x0, idlist_alloc = 0x7f144a35d320 <_XAllocIDs>, key_bindings = 0x0, cursor_font = 12582913, atoms = 0x2808260, mode_switch = 0, num_lock = 0, context_db = 0x2cb1160, error_vec = 0x0, cms = {defaultCCCs = 0x38f5150 "\220\306!\003", clientCmaps = 0x38f50d0 " ", perVisualIntensityMaps = 0x0}, im_filters = 0x0, qfree = 0x3a5f5c0, next_event_serial_num = 78, flushes = 0x0, im_fd_info = 0x0, im_fd_length = 0, conn_watchers = 0x3946be0, watcher_count = 1, filedes = 0x25a7450 "\v", savedsynchandler = 0x0, resource_max = 2097146, xcmisc_opcode = 0, xkb_info = 0x3a3a720, trans_conn = 0x0, xcb = 0x2c189e0, next_cookie = 0, generic_event_vec = {0x0 }, generic_event_copy_vec = {0x0 }, cookiejar = 0x0} Source directories searched: /home/alex/src/pkgs/xft-2.3.1/src:$cdir:$cwd #0 XftFontManageMemory (dpy=dpy@entry=0x321c690) at ../../src/xftfreetype.c:1115 1115 for (prev = &info->fontHash[font->info.hash % XFT_NUM_FONT_HASH]; $3 = (XftDisplayInfo *) 0x3a944d0 $4 = {next = 0x0, display = 0x321c690, codes = 0x3687988, defaults = 0x2d39930, hasRender = 1, fonts = 0x3f325d0, solidFormat = 0x38fa090, glyph_memory = 72652, max_glyph_memory = 4194304, use_free_glyphs = 1, num_unref_fonts = 2, max_unref_fonts = 0, colors = {{color = { red = 31868, green = 47288, blue = 48059, alpha = 65535}, screen = 0, pict = 12582984}, {color = {red = 56540, green = 56540, blue = 52428, alpha = 65535}, screen = 0, pict = 12582994}, {color = {red = 18036, green = 28271, blue = 116, alpha = 65535}, screen = -1, pict = 0}, {color = {red = 22704, green = 687, blue = 0, alpha = 0}, screen = -1, pict = 0}, {color = {red = 2, green = 47011, blue = 0, alpha = 65535}, screen = -1, pict = 0}, {color = {red = 32639, green = 40863, blue = 32639, alpha = 65535}, screen = 0, pict = 12582969}, {color = {red = 57311, green = 44975, blue = 36751, alpha = 65535}, screen = 0, pict = 12582979}, {color = {red = 60138, green = 47031, blue = 0, alpha = 65535}, screen = 0, pict = 12582992}, {color = { red = 24415, green = 32639, blue = 24415, alpha = 65535}, screen = 0, pict = 12582962}, {color = {red = 16191, green = 16191, blue = 16191, alpha = 65535}, screen = 0, pict = 12582989}, {color = {red = 65535, green = 65535, blue = 65535, alpha = 65535}, screen = 0, pict = 12582966}, {color = {red = 39321, green = 39321, blue = 39321, alpha = 65535}, screen = 0, pict = 12582964}, { color = {red = 32639, green = 32639, blue = 32639, alpha = 65535}, screen = 0, pict = 12582976}, {color = {red = 49087, green = 60395, blue = 49087, alpha = 65535}, screen = 0, pict = 12582972}, {color = {red = 37779, green = 57568, blue = 58339, alpha = 65535}, screen = 0, pict = 12582986}, {color = {red = 61680, green = 57311, blue = 44975, alpha = 65535}, screen = 0, pict = 12583002}}, fontHash = {0x0 , 0x3f325d0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3cd0c00, 0x0 }} There is no member named fonthash. $5 = {0x0 , 0x3f325d0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3cd0c00, 0x0 } $6 = (XftFontInt *) 0x0 #0 XftFontManageMemory (dpy=dpy@entry=0x321c690) at ../../src/xftfreetype.c:1115 #1 0x00007f1449f09e37 in _XftCloseDisplay (dpy=0x321c690, codes=) at ../../src/xftdpy.c:40 #2 0x00007f144a33b4f2 in XCloseDisplay () from /usr/lib/x86_64-linux-gnu/libX11.so.6 #3 0x00007f144aa97fd5 in ?? () from /usr/lib/x86_64-linux-gnu/libXt.so.6 #4 0x00007f144aa98b6c in XtCloseDisplay () from /usr/lib/x86_64-linux-gnu/libXt.so.6 #5 0x00000000005148cf in x_delete_terminal () #6 0x00000000004f305f in Fdelete_terminal () #7 0x00000000004232b6 in delete_frame () #8 0x00000000004235c9 in Fdelete_frame () #9 0x00000000005cebab in Ffuncall () #10 0x00000000005c93fe in Fcall_interactively () #11 0x00000000005cebda in Ffuncall () #12 0x0000000000610bb3 in exec_byte_code () #13 0x00000000005cf266 in funcall_lambda () #14 0x00000000005ced6d in Ffuncall () #15 0x00000000005ce502 in call1 () #16 0x000000000053a8c0 in command_loop_1 () #17 0x00000000005cb9e8 in internal_condition_case () #18 0x0000000000539eee in command_loop_2 () #19 0x00000000005cb1fa in internal_catch () #20 0x0000000000539e9c in command_loop () #21 0x000000000053967e in recursive_edit_1 () #22 0x00000000005397eb in Frecursive_edit () #23 0x00000000005377f3 in main () Stack level 0, frame at 0x7fff63f5ab20: rip = 0x7f1449f0dc05 in XftFontManageMemory (../../src/xftfreetype.c:1115); saved rip 0x7f1449f09e37 called by frame at 0x7fff63f5ab40 source language c. Arglist at 0x7fff63f5aae8, args: dpy=dpy@entry=0x321c690 Locals at 0x7fff63f5aae8, Previous frame's sp is 0x7fff63f5ab20 Saved registers: rbx at 0x7fff63f5aaf8, rbp at 0x7fff63f5ab00, r12 at 0x7fff63f5ab08, r13 at 0x7fff63f5ab10, rip at 0x7fff63f5ab18 1110 *prev = font->next; 1111 break; 1112 } 1113 } 1114 /* Unhook from hash list */ 1115 for (prev = &info->fontHash[font->info.hash % XFT_NUM_FONT_HASH]; 1116 *prev; 1117 prev = &(*(XftFontInt **) prev)->hash_next) 1118 { 1119 if (*prev == public) 1095 while (info->num_unref_fonts > info->max_unref_fonts) 1096 { 1097 public = XftFontFindNthUnref (info, rand() % info->num_unref_fonts); 1098 font = (XftFontInt *) public; 1099 1100 if (XftDebug () & XFT_DBG_CACHE) 1101 printf ("freeing unreferenced font %s/%d size %dx%d\n", 1102 font->info.file->file, font->info.file->id, 1103 (int) font->info.xsize >> 6, (int) font->info.ysize >> 6); 1104 $7 = (XftDisplayInfo *) 0x3a944d0 $8 = {next = 0x0, display = 0x321c690, codes = 0x3687988, defaults = 0x2d39930, hasRender = 1, fonts = 0x3f325d0, solidFormat = 0x38fa090, glyph_memory = 72652, max_glyph_memory = 4194304, use_free_glyphs = 1, num_unref_fonts = 2, max_unref_fonts = 0, colors = {{color = { red = 31868, green = 47288, blue = 48059, alpha = 65535}, screen = 0, pict = 12582984}, {color = {red = 56540, green = 56540, blue = 52428, alpha = 65535}, screen = 0, pict = 12582994}, {color = {red = 18036, green = 28271, blue = 116, alpha = 65535}, screen = -1, pict = 0}, {color = {red = 22704, green = 687, blue = 0, alpha = 0}, screen = -1, pict = 0}, {color = {red = 2, green = 47011, blue = 0, alpha = 65535}, screen = -1, pict = 0}, {color = {red = 32639, green = 40863, blue = 32639, alpha = 65535}, screen = 0, pict = 12582969}, {color = {red = 57311, green = 44975, blue = 36751, alpha = 65535}, screen = 0, pict = 12582979}, {color = {red = 60138, green = 47031, blue = 0, alpha = 65535}, screen = 0, pict = 12582992}, {color = { red = 24415, green = 32639, blue = 24415, alpha = 65535}, screen = 0, pict = 12582962}, {color = {red = 16191, green = 16191, blue = 16191, alpha = 65535}, screen = 0, pict = 12582989}, {color = {red = 65535, green = 65535, blue = 65535, alpha = 65535}, screen = 0, pict = 12582966}, {color = {red = 39321, green = 39321, blue = 39321, alpha = 65535}, screen = 0, pict = 12582964}, { color = {red = 32639, green = 32639, blue = 32639, alpha = 65535}, screen = 0, pict = 12582976}, {color = {red = 49087, green = 60395, blue = 49087, alpha = 65535}, screen = 0, pict = 12582972}, {color = {red = 37779, green = 57568, blue = 58339, alpha = 65535}, screen = 0, pict = 12582986}, {color = {red = 61680, green = 57311, blue = 44975, alpha = 65535}, screen = 0, pict = 12583002}}, fontHash = {0x0 , 0x3f325d0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3cd0c00, 0x0 }} This is while running Emacs in a crouton chroot on a Chromebook. Is this something Emacs may have introduced or should I be looking lower down in the stack. I haven't updated the chroot for some time but I suppose it could be a new interaction with the ChromeOS X server which Emacs is running under. Any ideas or hints on debugging this? Cheers, -- Alex Bennée http://www.bennee.com/~alex