Subject: 24.2.50; Segfaults for xwidget-demo-basic
From: Arthur Andersen <[email-masked]>
To: [email-masked]
Date: Sun, 28 Oct 2012 20:21:22 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Package: emacs-xwidgets 

I used the latest version of the emacs-xwidget branch.

What I did was:

M-X xwidget-webkit-browse-url

That worked. So I tried:

(load-library "xwidget-test")
(xwidget-demo-basic)

An empty buffer pops up and the segfault happens.

$ gdb -ex run src/emacs
GNU gdb (GDB) 7.5
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/arthur/setup/emacs/src/emacs...done.
Starting program: /home/arthur/setup/emacs/src/emacs 
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib/libgobject-2.0.so.0.3200.4-gdb.py", line 9, in <module>
    from gobject import register
  File "/usr/share/glib-2.0/gdb/gobject.py", line 3, in <module>
    import gdb.backtrace
ImportError: No module named backtrace
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Fontconfig warning: "/etc/fonts/conf.d/44-wqy-microhei.conf", line 6: Having multiple values in <test> isn't supported and may not works as expected
[New Thread 0x7fffe2f4b700 (LWP 9009)]
[New Thread 0x7fffe274a700 (LWP 9010)]
lookup_xwidget xwidget_id:39484016 type:17077426 found:0 1 0 title:'' (50,40)
produce_xwidget_glyph:
lookup_xwidget xwidget_id:18483696 type:16357474 found:0 1 0 title:'' (30,60)
produce_xwidget_glyph:
lookup_xwidget xwidget_id:40672040 type:13205922 found:0 1 0 title:'' (50,100)
produce_xwidget_glyph:
lookup_xwidget xwidget_id:40631048 type:13205970 found:0 1 0 title:'' (200,400)
produce_xwidget_glyph:
lookup_xwidget xwidget_id:40667552 type:13205970 found:0 1 0 title:'' (400,400)
produce_xwidget_glyph:
BUILD_XWIDGET_GLYPH_STRING
fill_xwidget_glyph_string: width:40 
BUILD_XWIDGET_GLYPH_STRING
fill_xwidget_glyph_string: width:60 
BUILD_XWIDGET_GLYPH_STRING
fill_xwidget_glyph_string: width:100 
BUILD_XWIDGET_GLYPH_STRING
fill_xwidget_glyph_string: width:45 
xv init for xw 39484016

Program received signal SIGSEGV, Segmentation fault.
0x00007fffee871da8 in vfprintf ()
   from /usr/lib/libc.so.6
(gdb) bt full
#0  0x00007fffee871da8 in vfprintf ()
   from /usr/lib/libc.so.6
No symbol table info available.
#1  0x00007fffee877199 in printf ()
   from /usr/lib/libc.so.6
No symbol table info available.
#2  0x000000000067b3fb in xwidget_init_view (xww=
    0x25a7a70, s=0x7fffffffbf60, x=448, y=75)
    at xwidget.c:912
        xv = 0xc3bfc8 <xwidget_views+104>
        color = {pixel = 4294950952, red = 32767, 
          green = 0, blue = 2096}
#3  0x000000000067b88e in x_draw_xwidget_glyph_string
    (s=0x7fffffffbf60) at xwidget.c:985
        box_line_hwidth = 0
        box_line_vwidth = 0
        height = 200
        xww = 0x25a7a70
        xv = 0x0
        clip_right = 7
        clip_bottom = 1
        clip_top = 0
        clip_left = 37
        x = 448
        y = 75
        moved = 0
#4  0x000000000052820a in x_draw_glyph_string (s=
    0x7fffffffbf60) at xterm.c:2778
---Type <return> to continue, or q <return> to quit---
        relief_drawn_p = 0
#5  0x000000000049954d in draw_glyphs (w=0x254d0d0, 
    x=875, row=0x28b4970, area=TEXT_AREA, start=0, 
    end=30, hl=DRAW_NORMAL_TEXT, overlaps=0)
    at xdisp.c:23760
        head = 0x7fffffffbf60
        tail = 0x7fffffffb850
        s = 0x7fffffffbf60
        clip_head = 0x0
        clip_tail = 0x0
        i = -1
        j = -15408
        x_reached = 875
        last_x = 875
        area_left = 448
        f = 0x1254b50
#6  0x00000000004a02c6 in x_write_glyphs (start=
    0x27f50a0, len=30) at xdisp.c:25584
        x = 0
        hpos = 0
        chpos = 0
#7  0x000000000044423f in update_text_area (w=
    0x254d0d0, vpos=0) at dispnew.c:3720
        current_row = 0x27f2090
        desired_row = 0x28b4970
        rif = 0x911ec0 <x_redisplay_interface>
        changed_p = false
#8  0x0000000000444b9a in update_window_line (w=
---Type <return> to continue, or q <return> to quit---
    0x254d0d0, vpos=0, mouse_face_overwritten_p=
    0x7fffffffc4cf) at dispnew.c:3966
        current_row = 0x27f2090
        desired_row = 0x28b4970
        rif = 0x911ec0 <x_redisplay_interface>
        changed_p = false
#9  0x0000000000443de9 in update_window (w=
    0x254d0d0, force_p=true) at dispnew.c:3577
        vpos = 0
        i = 0
        end = 0x28b7770
        mode_line_row = 0x28b7770
        header_line_row = 0x0
        changed_p = false
        mouse_face_overwritten_p = false
        row = 0x28b4970
        yb = 645
        n_updated = 0
        desired_matrix = 0x27079f0
        paused_p = false
        preempt_count = 9
        rif = 0x911ec0 <x_redisplay_interface>
#10 0x00000000004434e7 in update_window_tree (w=
    0x254d0d0, force_p=true) at dispnew.c:3285
        paused_p = false
#11 0x000000000044346f in update_window_tree (w=
    0xf16de0, force_p=true) at dispnew.c:3281
        paused_p = false
---Type <return> to continue, or q <return> to quit---
#12 0x000000000044326e in update_frame (f=0x1254b50, 
    force_p=true, inhibit_hairy_id_p=false)
    at dispnew.c:3214
        paused_p = false
        root_window = 0xf16de0
#13 0x0000000000478c65 in redisplay_internal ()
    at xdisp.c:13549
        f = 0x1254b50
        tail = 16660918
        frame = 19221333
        w = 0x254d0d0
        sw = 0x254d0d0
        fr = 0x1254b50
        pending = 0
        must_finish = 1
        tlbufpos = {charpos = 1, bytepos = 1}
        tlendpos = {charpos = 0, bytepos = 0}
        number_of_visible_frames = 1
        count = 2
        count1 = 4
        sf = 0x1254b50
        polling_stopped_here = 1
        old_frame = 19221333
        backtrace = {next = 0x0, function = 
    0xbb4a60 <Qautomatic_redisplay>, args = 
    0xbb4a60 <Qautomatic_redisplay>, nargs = 0, 
          debug_on_exit = 0}
        consider_all_windows_p = 1
---Type <return> to continue, or q <return> to quit---
        update_miniwindow_p = 0
#14 0x0000000000476816 in redisplay ()
    at xdisp.c:12705
No locals.
#15 0x0000000000568c52 in read_char (commandflag=1, 
    nmaps=7, maps=0x7fffffffd910, prev_event=
    12902322, used_mouse_menu=0x7fffffffdb24, 
    end_time=0x0) at keyboard.c:2451
        echo_current = 0
        c = 12902322
        jmpcount = 140737488345296
        local_getcjmp = {{__jmpbuf = {
    140737488344768, 6721254, 12902322, 12902322, 
    140737488344816, 6733680, 12902322, 38926853}, 
            __mask_was_saved = 12935218, 
            __saved_mask = {__val = {156, 
    140737488345296, 6223603, 31103171, 
    0 <repeats 12 times>}}}}
        save_jump = {{__jmpbuf = {12902322, 
    41409096, 72198331526272560, 38926853, 
    140737488344608, 6712502, 13087522, 38926853}, 
            __mask_was_saved = 38926848, 
            __saved_mask = {__val = {41409096, 
    140737488344720, 6729736, 4294956624, 
    140737488344744, 12902322, 12935218, 
    140737488344736, 6721492, 31103171, 4294967335, 
    12935218, 12902322, 12902322, 12902322, 
    140737488344768}}}}
---Type <return> to continue, or q <return> to quit---
        key_already_recorded = 0
        tem = 131072
        save = 12935218
        previous_echo_area_message = 12902322
        also_record = 12902322
        reread = 0
        gcpro1 = {next = 0x277da48, var = 0x251fa05, 
          nvars = 38926848}
        gcpro2 = {next = 0x100000000000000, var = 
    0x251fa05, nvars = 140737488344496}
        polling_stopped_here = 0
        orig_kboard = 0x15a3220
#16 0x00000000005763f5 in read_key_sequence (keybuf=
    0x7fffffffdda0, bufsize=30, prompt=12902322, 
    dont_downcase_last=0, can_return_switch_frame=1, 
    fix_current_buffer=1) at keyboard.c:9281
        interrupted_kboard = 0x15a3220
        interrupted_frame = 0x1254b50
        key = 13020178
        used_mouse_menu = 0
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = 0
        local_first_binding = 0
        from_string = 12902322
        count = 2
        t = 0
        echo_start = 0
---Type <return> to continue, or q <return> to quit---
        keys_start = 0
        nmaps = 7
        nmaps_allocated = 7
        defs = 0x7fffffffd8c0
        submaps = 0x7fffffffd910
        orig_local_map = 19842150
        orig_keymap = 12902322
        localized_local_map = 0
        first_binding = 0
        first_unbound = 31
        mock_input = 0
        fkey = {parent = 19910822, map = 19910822, 
          start = 0, end = 0}
        keytran = {parent = 12881334, map = 
    12881334, start = 0, end = 0}
        indec = {parent = 19910806, map = 19910806, 
          start = 0, end = 0}
        shift_translated = 0
        delayed_switch_frame = 12902322
        original_uppercase = 0
        original_uppercase_position = -1
        dummyflag = 0
        starting_buffer = 0x251fa00
        fake_prefixed_keys = 12902322
        gcpro1 = {next = 0xe9b9d0, var = 0xc57e00, 
          nvars = 0}
#17 0x0000000000566bfc in command_loop_1 ()
    at keyboard.c:1477
---Type <return> to continue, or q <return> to quit---
        cmd = 26800690
        keybuf = {536871392, 16, 13038418, 
    140737488346800, 12902370, 40618262, 4446960, 
    4101363195, 140737488346608, 5709873, 
    140737488346640, 9541206, 12955122, 
    140737488346496, 2, 9, 9569281, 7156093, 
    140737488346240, 12902322, 12902322, 9541217, 
    140737488346768, 5661746, 140737488346800, 
    40618262, 12902322, 19221328, 140737488346768, 0}
        i = 1
        prev_modiff = 80
        prev_buffer = 0xd57640
        already_adjusted = 0
#18 0x00000000005ff4ba in internal_condition_case (
    bfun=0x566809 <command_loop_1>, handlers=
    12954066, hfun=0x5660fd <cmd_error>)
    at eval.c:1288
        val = 1
        c = {tag = 12902322, val = 12902322, next = 
    0x7fffffffe0e0, gcpro = 0x0, jmp = {{__jmpbuf = {
    0, 983983304961599554, 4446960, 140737488348256, 
    0, 0, 983983305043388482, -983982805379667902}, 
              __mask_was_saved = 0, __saved_mask = {
                __val = {17462761268329883714, 
    140733193388032, 6153072, 140737488347216, 12, 
    0, 9484856, 0, 140737488348256, 0, 0, 
    140737488347648, 140737351945221, 
    140733193388033, 0, 16478870}}}}, backlist = 
---Type <return> to continue, or q <return> to quit---
    0x0, handlerlist = 0x0, lisp_eval_depth = 0, 
          pdlcount = 2, poll_suppress_count = 1, 
          interrupt_input_blocked = 0, byte_stack = 
    0x0}
        h = {handler = 12954066, var = 12902322, 
          chosen_clause = 12902370, tag = 
    0x7fffffffdf60, next = 0x0}
#19 0x0000000000566521 in command_loop_2 (ignore=
    12902322) at keyboard.c:1182
        val = 0
#20 0x00000000005fee8b in internal_catch (tag=
    12949986, func=0x5664fb <command_loop_2>, arg=
    12902322) at eval.c:1059
        c = {tag = 12949986, val = 12902322, next = 
    0x0, gcpro = 0x0, jmp = {{__jmpbuf = {0, 
    983983304877713474, 4446960, 140737488348256, 0, 
    0, 983983304969988162, -983982805169035198}, 
              __mask_was_saved = 0, __saved_mask = {
                __val = {0, 144, 0, 0, 0, 
    140737488347616, 6189935, 4294967696, 12902322, 
    12902322, 13139250, 14, 0, 12279968, 12929088, 
    140737488347664}}}}, backlist = 0x0, 
          handlerlist = 0x0, lisp_eval_depth = 0, 
          pdlcount = 2, poll_suppress_count = 1, 
          interrupt_input_blocked = 0, byte_stack = 
    0x0}
#21 0x00000000005664d1 in command_loop ()
    at keyboard.c:1161
---Type <return> to continue, or q <return> to quit---
No locals.
#22 0x0000000000565c3c in recursive_edit_1 ()
    at keyboard.c:782
        count = 1
        val = 12902322
#23 0x0000000000565de2 in Frecursive_edit ()
    at keyboard.c:846
        count = 0
        buffer = 12902322
#24 0x0000000000563c74 in main (argc=1, argv=
    0x7fffffffe468) at emacs.c:1531
        dummy = 4342602
        stack_bottom_variable = 0 '\000'
        do_initial_setlocale = true
        dumping = false
        skip_args = 0
        rlim = {rlim_cur = 8720000, rlim_max = 
    18446744073709551615}
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 
    0x7fffffffe478 "\332\347\377\377\377\177"
(gdb) xbacktrace
Undefined command: "xbacktrace".  Try "help".
(gdb) quit

In GNU Emacs 24.2.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.4.4)
 of 2012-10-28 on crank
Windowing system distributor `The X.Org Foundation', version 11.0.11204000
System Description:	Arch Linux

Configured using:
 `configure '--with-xwidgets' '--enable-asserts' '--with-x-toolkit=gtk3'
 'CFLAGS= -g''

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Org

Minor modes in effect:
  ruby-block-mode: t
  which-function-mode: t
  global-auto-complete-mode: t
  helm-match-plugin-mode: t
  projectile-mode: t
  projectile-global-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  icomplete-mode: t
  volatile-highlights-mode: t
  global-hl-line-mode: t
  show-paren-mode: t
  shell-dirtrack-mode: t
  recentf-mode: t
  savehist-mode: t
  electric-layout-mode: t
  electric-pair-mode: t
  global-auto-revert-mode: t
  delete-selection-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  auto-fill-function: org-auto-fill-function
  transient-mark-mode: t

Recent input:
<down-mouse-1> <mouse-1> <down-mouse-1> <mouse-1> <down-mouse-1> 
<mouse-1> <down-mouse-1> <mouse-1> M-x r e p o r t 
- e m a c s <return>

Recent messages:
OVERVIEW
Starting new Ispell process [aspell::default] ...
Error enabling Flyspell mode:
(Error: No word lists can be found for the language "en_US".)
(No changes need to be saved) [5 times]
Emacs is ready!
Starting new Ispell process [aspell::default] ...
Error enabling Flyspell mode:
(Error: No word lists can be found for the language "en_US".)
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
/home/arthur/.emacs.d/elpa/magit-20121014.1043/.dir-locals hides /home/arthur/setup/emacs/lisp/gnus/.dir-locals
/home/arthur/.emacs.d/vendor/ledger/timeclock hides /home/arthur/setup/emacs/lisp/calendar/timeclock

Features:
(shadow sort mail-extr emacsbug message rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mail-utils melpa tex-mode latexenc
vc-git org-wl org-w3m org-vm org-rmail org-mhe org-mew org-irc
org-jsinfo org-infojs org-html org-info org-gnus org-docview org-bibtex
bibtex org-bbdb paredit rainbow-mode eldoc disp-table whitespace
flyspell ispell ezbl leoc-slime leoc-subversion leoc-xml leoc-ruby
ruby-block ruby-tools ruby-end inf-ruby ruby-mode-expansions ruby-mode
leoc-processing leoc-programming which-func imenu leoc-org org-clock
org-exp ob-exp org-exp-blocks find-func weblock org-pomodoro notify dbus
org-timer org-helpers org-habit org-agenda org-mode-expansions org
ob-emacs-lisp ob-tangle ob-ref ob-lob ob-table org-footnote org-src
ob-comint ob-keys ob ob-eval org-pcomplete org-list org-faces org-compat
org-entities org-macs noutline outline cal-menu calendar cal-loaddefs
leoc-malabar leoc-ledger ledger derived esh-arg esh-util leoc-lisp
elisp-slime-nav slime easy-mmode pp hyperspec leoc-latex leoc-javascript
leoc-css leoc-coffee leoc-cc leoc-auto-complete auto-complete-config
auto-complete popup leoc-flymake leoc-global-keybindings leoc-editor
key-chord multiple-cursors rectangular-region-mode mc-mark-more
mc-cycle-cursors mc-edit-lines multiple-cursors-core rect revive
re-builder midnight helm-projectile helm-config helm-misc helm-files
image-dired dired-x dired-aux ffap helm-tags helm-bookmark
helm-adaptative helm-info helm-net browse-url xml url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util url-parse url-vars mailcap helm-plugin helm-locate helm-help
helm-match-plugin helm-external helm-buffers helm-grep helm-regexp grep
helm-elscreen helm-utils dired compile helm projectile s yasnippet
edmacro kmacro help-mode expand-region text-mode-expansions
expand-region-custom expand-region-core icomplete etags
volatile-highlights hl-line paren windmove tramp-cache tramp-sh tramp
tramp-compat auth-source gnus-util mm-util mail-prsvr password-cache
tramp-loaddefs shell pcomplete comint ansi-color ring format-spec
recentf tree-widget wid-edit easymenu savehist saveplace uniquify
electric autorevert delsel leoc-core smex ido repeat repeatable
thingatpt leoc-ui summered-theme leoc-packages ac-slime-autoloads
ack-and-a-half-autoloads auto-complete-autoloads
auto-complete-clang-autoloads clojure-mode-autoloads
coffee-mode-autoloads elisp-slime-nav-autoloads expand-region-autoloads
flymake-coffee-autoloads flymake-css-autoloads flymake-haml-autoloads
flymake-ruby-autoloads flymake-shell-autoloads gist-autoloads
gh-autoloads eieio haskell-mode-autoloads helm-projectile-autoloads
helm-autoloads inf-ruby-autoloads less-css-mode-autoloads
logito-autoloads lua-mode-autoloads magit-autoloads
markdown-mode-autoloads melpa-autoloads byte-opt warnings bytecomp
byte-compile cconv advice help-fns advice-preload
multiple-cursors-autoloads paredit-autoloads pcache-autoloads finder-inf
popup-autoloads projectile-autoloads rainbow-mode-autoloads
revive-autoloads ruby-block-autoloads ruby-end-autoloads
ruby-tools-autoloads rvm-autoloads s-autoloads sass-mode-autoloads
haml-mode-autoloads scss-mode-autoloads slime-autoloads smex-autoloads
volatile-highlights-autoloads yaml-mode-autoloads yasnippet-autoloads
zenburn-theme-autoloads package cl-macs gv cl cl-lib time-date tooltip
ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment lisp-mode
register page menu-bar rfn-eshadow timer select scroll-bar mouse
jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer loaddefs button faces cus-face macroexp files text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
dynamic-setting system-font-setting font-render-setting xwidget-internal
move-toolbar gtk x-toolkit x multi-tty emacs)