GNOME Bugzilla – Bug 739811
Crash after writing dot from keyboard
Last modified: 2014-11-10 16:26:41 UTC
Created attachment 290212 [details] Core dump of gnome-calculator Hi all, gnome-calculator crashes (SIGSEGV) writing a dot from keyboard (not numeric keypad) after writing any number. As example try to write: (using numeric keypad)3.14+3(using keyboard). It could be a libgtk-3.so issue, too. Core dump in attachment. Best Regards, Luigi PS: last few strace lines before crash are following: write(2, "\n(gnome-calculator:21146): Gtk-W"..., 545 (gnome-calculator:21146): Gtk-WARNING **: Invalid text buffer iterator: either the iterator is uninitialized, or the characters/pixbufs/widgets in the buffer have been modified since the iterator was created. You must use marks, character numbers, or line numbers to preserve a position across buffer modifications. You can apply tags and insert marks without invalidating your iterators, but any mutation that affects 'indexable' buffer contents (contents that can be referred to by character offset) will invalidate all outstanding iterators ) = 545 write(2, "\n(gnome-calculator:21146): Gtk-W"..., 545 (gnome-calculator:21146): Gtk-WARNING **: Invalid text buffer iterator: either the iterator is uninitialized, or the characters/pixbufs/widgets in the buffer have been modified since the iterator was created. You must use marks, character numbers, or line numbers to preserve a position across buffer modifications. You can apply tags and insert marks without invalidating your iterators, but any mutation that affects 'indexable' buffer contents (contents that can be referred to by character offset) will invalidate all outstanding iterators ) = 545 write(2, "\n(gnome-calculator:21146): Gtk-C"..., 131 (gnome-calculator:21146): Gtk-CRITICAL **: gtk_text_buffer_set_mark: assertion 'gtk_text_iter_get_buffer (iter) == buffer' failed ) = 131 write(2, "\n(gnome-calculator:21146): GLib-"..., 107 (gnome-calculator:21146): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed ) = 107 poll([{fd=8, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=8, revents=POLLOUT}]) writev(8, [{"\22\0\7\0\t\0\200\3\234\1\0\0\6\0\0\0 \0\0\0\1\0\0\0\300\n\216\10", 28}, {NULL, 0}, {"", 0}], 3) = 28 recvmsg(8, 0x7fff0dde3c30, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}, {fd=3, events=POLLIN}], 3, 0) = 0 (Timeout) recvmsg(8, 0x7fff0dde3c30, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}, {fd=3, events=POLLIN}], 3, 0) = 0 (Timeout) recvmsg(8, 0x7fff0dde2b80, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(8, 0x7fff0dde2b80, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=8, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=8, revents=POLLOUT}]) writev(8, [{"\206\3\4\0\v\0\200\3\0\0\0\0G\0\0\0005 \4\0\262\1\200\3\10\0\200\3*\1$\0"..., 856}, {NULL, 0}, {"", 0}], 3) = 856 recvmsg(8, 0x7fff0dde3c30, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}, {fd=3, events=POLLIN}], 3, 0) = 1 ([{fd=8, revents=POLLIN}]) recvmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{"A\0~\10\264\1\200\3\3\0\202\0.\0\200\3\0@8\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 64 recvmsg(8, 0x7fff0dde3c50, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(8, 0x7fff0dde3b00, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(8, 0x7fff0dde3c30, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}, {fd=3, events=POLLIN}], 3, 0) = 0 (Timeout) recvmsg(8, 0x7fff0dde3c30, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}, {fd=3, events=POLLIN}], 3, 0) = 0 (Timeout) recvmsg(8, 0x7fff0dde3c30, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}, {fd=3, events=POLLIN}], 3, 238) = 1 ([{fd=8, revents=POLLIN}]) recvmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{"\241 \241\10\10\0\200\3\250\1\0\0J\0\0\0\0\0\0\0\36@\332j!\0\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32 recvmsg(8, 0x7fff0dde3c50, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(8, 0x7fff0dde3b00, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(8, 0x7fff0dde3c30, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}, {fd=3, events=POLLIN}], 3, 237) = 1 ([{fd=8, revents=POLLIN}]) recvmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{"\241 \241\10\10\0\200\3\251\1\0\0J\0\0\0\0\0\0\0\0\0\0\0\32A\0\0\320\7\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32 recvmsg(8, 0x7fff0dde3c50, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(8, 0x7fff0dde3b00, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(8, 0x7fff0dde3c30, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}, {fd=3, events=POLLIN}], 3, 236) = 1 ([{fd=8, revents=POLLIN}]) recvmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{"#\203\241\10\26\0\0\0\3\0\3\0\7\v\216\10<\0\0\0\204\2\0\0\t\0\200\3\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 120 recvmsg(8, 0x7fff0dde3c50, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(8, 0x7fff0dde3c30, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}, {fd=3, events=POLLIN}], 3, 182) = 0 (Timeout) write(2, "\n(gnome-calculator:21146): GtkSo"..., 85 (gnome-calculator:21146): GtkSourceView-WARNING **: Completion context without mark ) = 85 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x50} --- +++ killed by SIGSEGV (core dumped) +++
Thanks for taking the time to report this bug. I can't reproduce this issue, so can you please attach a stack trace? Without a stack trace from the crash it's very hard to determine what caused it. You can generate a stack trace for the crash on your computer using the core dump you attached in the first post. Please see http://live.gnome.org/GettingTraces for more information on how to do so. Thanks in advance! Also, please let us know whether you're using 3.14.0 or 3.14.1, that might possibly be relevant here.
Also, can you please post the output of the 'locale' command, as that might possibly be relevant as well.
Created attachment 290240 [details] nosym gdb backtrace
Hi, the package coming from the ppa:gnome3-team/gnome3-staging repository on ubuntu 14.10 (it is latest package version gnome-calculator-1:3.14.0-1ubuntu1~utopic2) and i'm searching for the package with debug symbols but i cannot find it at now (and unfortunately i have no time to compile by source at now). Please, can you give me some hints on how i can download the package compiled with debug symbols ? My locale and localectl output is as follow: root@hurricane:/tmp# locale LANG=it_IT.UTF-8 LANGUAGE= LC_CTYPE="it_IT.UTF-8" LC_NUMERIC="it_IT.UTF-8" LC_TIME="it_IT.UTF-8" LC_COLLATE="it_IT.UTF-8" LC_MONETARY="it_IT.UTF-8" LC_MESSAGES="it_IT.UTF-8" LC_PAPER="it_IT.UTF-8" LC_NAME="it_IT.UTF-8" LC_ADDRESS="it_IT.UTF-8" LC_TELEPHONE="it_IT.UTF-8" LC_MEASUREMENT="it_IT.UTF-8" LC_IDENTIFICATION="it_IT.UTF-8" LC_ALL= root@hurricane:/tmp# localectl System Locale: LANG=it_IT.UTF-8 VC Keymap: it2 X11 Layout: it,us,gb X11 Variant: ,, Best Regards, Luigi
Created attachment 290243 [details] gdb backtrace with syms i'm just doing it
Created attachment 290244 [details] Core dump of gnome-calculator (bt@290243)
Hi, i'm adding also the messages after crash when executing from terminal. Really it could be related to the locale, because if i use comma (which is the locale symbol for decimal place separator, while dot is thousand separator) instead of dot nothing happens. I think also dot and comma keys could have the same function because in almost all real calculators (and keypads) comma is not a provided key. ---------------------- from terminal (gnome-calculator:26585): Gtk-WARNING **: Invalid text buffer iterator: either the iterator is uninitialized, or the characters/pixbufs/widgets in the buffer have been modified since the iterator was created. You must use marks, character numbers, or line numbers to preserve a position across buffer modifications. You can apply tags and insert marks without invalidating your iterators, but any mutation that affects 'indexable' buffer contents (contents that can be referred to by character offset) will invalidate all outstanding iterators (gnome-calculator:26585): Gtk-WARNING **: Invalid text buffer iterator: either the iterator is uninitialized, or the characters/pixbufs/widgets in the buffer have been modified since the iterator was created. You must use marks, character numbers, or line numbers to preserve a position across buffer modifications. You can apply tags and insert marks without invalidating your iterators, but any mutation that affects 'indexable' buffer contents (contents that can be referred to by character offset) will invalidate all outstanding iterators (gnome-calculator:26585): Gtk-CRITICAL **: gtk_text_buffer_set_mark: assertion 'gtk_text_iter_get_buffer (iter) == buffer' failed (gnome-calculator:26585): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed (gnome-calculator:26585): GtkSourceView-WARNING **: Completion context without mark Best Regards, Luigi
OK, based on that backtrace, this is bug #737291, which is *probably* fixed in 3.14.1. After you get 3.14.1, please do respond to let me know if it's fixed or if it's still broken. Thanks! *** This bug has been marked as a duplicate of bug 737291 ***
Ok, i got it. You are welcome. Best Regards, Luigi