_pygi_argument_from_g_value: code should not be reached

Bug #818857 reported by clockworkpc
50
This bug affects 11 people
Affects Status Importance Assigned to Milestone
gedit (Ubuntu)
Invalid
Low
Unassigned

Bug Description

Was working on a text file (Haskell actually) when gedit crashed repeatedly on a particular line.

ERROR:/build/buildd/pygobject-2.28.6/gi/pygi-argument.c:1881:_pygi_argument_from_g_value: code should not be reached
Aborted (core dumped)

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. Please try to obtain a backtrace following the instructions at http://wiki.ubuntu.com/DebuggingProgramCrash and upload the backtrace (as an attachment) to the bug report. This will greatly help us in tracking down your problem.

Changed in gedit (Ubuntu):
importance: Undecided → Low
status: New → Incomplete
Revision history for this message
Tobias Wolf (towolf) wrote :

I get this error as well using the revamped gedit-latex plugin from git.gnome.org.

I don't have time to debug now, but I get an additional line of output before the segfault:

** (gedit:4312): CRITICAL **: Converting of type 'error' is not implemented
**
ERROR:/build/buildd/pygobject-2.28.6/gi/pygi-argument.c:1881:_pygi_argument_from_g_value: code should not be reached
Aborted (core dumped)

Revision history for this message
Andrea Cimitan (cimi) wrote :

(gdb) r
Starting program: /usr/bin/gedit
[Thread debugging using libthread_db enabled]
[New Thread 0xb7d93b70 (LWP 22942)]
[New Thread 0xb7592b70 (LWP 22943)]
[New Thread 0xb6bffb70 (LWP 22944)]
WARNING:SourceCodeBrowserPlugin:Settings schema not installed. Plugin will not be configurable.
/usr/lib/python2.7/dist-packages/gi/types.py:44: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  return info.invoke(*args)

** (gedit:22939): CRITICAL **: Converting of type 'error' is not implemented
**
ERROR:/build/buildd/pygobject-2.28.6/gi/pygi-argument.c:1881:_pygi_argument_from_g_value: code should not be reached

Program received signal SIGABRT, Aborted.
0x00130416 in __kernel_vsyscall ()
(gdb) bt
#0 0x00130416 in __kernel_vsyscall ()
#1 0x00d06c8f in raise () from /lib/i386-linux-gnu/libc.so.6
#2 0x00d0a2b5 in abort () from /lib/i386-linux-gnu/libc.so.6
#3 0x00c02f0e in g_assertion_message () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4 0x0193ffda in ?? () from /usr/lib/python2.7/dist-packages/gi/_gi.so
#5 0x01943b71 in ?? () from /usr/lib/python2.7/dist-packages/gi/_gi.so
#6 0x00b4ea5c in g_closure_invoke () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#7 0x00b62ec0 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#8 0x00b6bb8f in g_signal_emit_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#9 0x00b6bd03 in g_signal_emit () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#10 0x080768f1 in ?? ()
#11 0x080a066a in gedit_marshal_VOID__BOOLEAN_POINTER ()
#12 0x00b4ea5c in g_closure_invoke () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#13 0x00b62ec0 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#14 0x00b6bb8f in g_signal_emit_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#15 0x00b6bd03 in g_signal_emit () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#16 0x08077e12 in gedit_document_loader_loading ()
#17 0x08077ec5 in ?? ()
#18 0x08078127 in ?? ()
#19 0x009eeeab in ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
#20 0x00a01172 in g_simple_async_result_complete () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
#21 0x00a011f3 in ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
#22 0x00bd96e0 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#23 0x00bdd81f in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#24 0x00bddf50 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#25 0x00bde55b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#26 0x0033b7a5 in gtk_main () at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkmain.c:1367
#27 0x08067048 in main ()

Revision history for this message
Andrea Cimitan (cimi) wrote :

It's the SourceCodeBrowserPlugin.

Changed in gedit (Ubuntu):
status: Incomplete → Invalid
Revision history for this message
John M (jwmwalrus) wrote :

@Andrea Cimitan: No, it's not. I have both the gedit-latex and the source code browser plugins from git. I only get that error when opening a .tex file (even wit the source code browser plugin disabled or completely removed).

Revision history for this message
Tobias Wolf (towolf) wrote :

I don’t have the browser plugin at all.

Revision history for this message
Tobias Wolf (towolf) wrote :
Download full text (6.3 KiB)

Why is this invalid, Andrea? Different plugins can crash Gedit, that should not be possible.

You conclusion seems premature.

Here's a traceback just using the new LaTeX plugin:

$ gdb gedit
GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08
Copyright (C) 2011 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 "i686-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /usr/bin/gedit...(no debugging symbols found)...done.
(gdb) thread apply all bt
(gdb) run latex.tex
Starting program: /usr/bin/gedit latex.tex
[Thread debugging using libthread_db enabled]
[New Thread 0xb7d48b70 (LWP 4867)]
[New Thread 0xb7547b70 (LWP 4868)]
[New Thread 0xb6bffb70 (LWP 4869)]
2011-08-22 12:58:36,886 ERROR Environment - /etc/texmf/texmf.cnf not found, using default search paths ['/usr/share/texmf-texlive', '/kyb/agbu/towolf/texmf']
2011-08-22 12:58:36,891 DEBUG latex.preferences - Prefs singleton constructed
2011-08-22 12:58:36,891 DEBUG latex.preferences - Prefs get: latex-extensions
2011-08-22 12:58:36,892 DEBUG latex.preferences - Prefs get: latex-extensions
2011-08-22 12:58:36,893 DEBUG latex.preferences - Prefs get: latex-extensions
2011-08-22 12:58:36,906 DEBUG latex.preferences - Prefs get: latex-extensions
2011-08-22 12:58:37,058 DEBUG JobManager - Created JobManager instance 140746444
2011-08-22 12:58:37,059 DEBUG latex.preferences - Prefs get: light-foreground-color
2011-08-22 12:58:37,471 DEBUG ToolPreferences - Constructed
2011-08-22 12:58:37,472 DEBUG WindowContext - init
2011-08-22 12:58:37,571 DEBUG latex.preferences - Prefs get: toolbar-mode
2011-08-22 12:58:37,716 DEBUG LaTeXWindowActivatable - _init_tab_decorators: initialized 0 decorators
2011-08-22 12:58:37,896 DEBUG LaTeXWindowActivatable - tab_added
2011-08-22 12:58:37,913 DEBUG GeditTabDecorator - Created <latex.base.decorators.GeditTabDecorator object at 0x883ed6c>
2011-08-22 12:58:37,962 DEBUG LaTeXWindowActivatable - active_tab_changed
2011-08-22 12:58:37,962 DEBUG LaTeXWindowActivatable - ---------- ADJUST: None
2011-08-22 12:58:37,963 DEBUG latex.preferences - Prefs get: latex-extensions

** (gedit:4863): CRITICAL **: Converting of type 'error' is not implemented
**
ERROR:/build/buildd/pygobject-2.28.6/gi/pygi-argument.c:1881:_pygi_argument_from_g_value: code should not be reached

Program received signal SIGABRT, Aborted.
0x00130416 in __kernel_vsyscall ()
(gdb) bt
#0 0x00130416 in __kernel_vsyscall ()
#1 0x00d06c8f in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2 0x00d0a2b5 in __GI_abort () at abort.c:92
#3 0x00c02f0e in g_assertion_message (domain=0x0, file=
    0x19682dc "/build/buildd/pygobject-2.28.6/gi/pygi-argument.c", line=1881, func=
    0x19688ef "_pygi_argument_from_g_value", message=<optimized out>)
    at /build/buildd/glib2.0-2.29.16/./glib/gtestutils.c:1425
#4 0x01961fda ...

Read more...

Revision history for this message
Tobias Wolf (towolf) wrote :

So I get a different error now:

TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
**
ERROR:/build/buildd/pygobject-2.90.3/gi/_gobject/pygobject.c:904:pygobject_new_full: assertion failed: (tp != NULL)

Program received signal SIGABRT, Aborted.

GDB log attached

Revision history for this message
walterclozet (walterclozet-u) wrote :

gdb rhythmbox info

** (rhythmbox:6848): CRITICAL **: Converting of type 'void' is not implemented
**
ERROR:../../gi/pygi-argument.c:1903:_pygi_argument_from_g_value: code should not be reached

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fff98b6a700 (LWP 6898)]
0x00007ffff6c64037 in raise () from /lib/x86_64-linux-gnu/libc.so.6

Revision history for this message
Andrey Gelman (andrey-gelman) wrote :

The same behaviour here.
Just to provide additional debugging information, I have run it with gdb:

$ gdb /usr/bin/gedit
(gdb) run 1.txt
Starting program: /usr/bin/gedit 1.txt
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

** (gedit:9452): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
[New Thread 0x7fffed3dc700 (LWP 9456)]
[New Thread 0x7fffe79e4700 (LWP 9458)]
[New Thread 0x7fffd5599700 (LWP 9459)]
[New Thread 0x7fffcf7e7700 (LWP 9471)]
[New Thread 0x7fffce964700 (LWP 9472)]
**
ERROR:../../gi/pygi-argument.c:1583:_pygi_argument_to_object: code should not be reached

Program received signal SIGABRT, Aborted.
0x00007ffff4a53f79 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007ffff4a53f79 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007ffff4a57388 in __GI_abort () at abort.c:89
#2 0x00007ffff5374175 in g_assertion_message () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ffff537420a in g_assertion_message_expr () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007fffe64515bd in ?? () from /usr/lib/python3/dist-packages/gi/_gi.cpython-34m-x86_64-linux-gnu.so
#5 0x00007fffe64551e3 in ?? () from /usr/lib/python3/dist-packages/gi/_gi.cpython-34m-x86_64-linux-gnu.so
#6 0x00007ffff561f3b8 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7 0x00007ffff5630d3d in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8 0x00007ffff5638a29 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9 0x00007ffff5638ce2 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x0000000000430462 in ?? ()
#11 0x0000000000dcf180 in ?? ()
#12 0x000000000112cc00 in ?? ()
#13 0x0000000000000000 in ?? ()
(gdb)

Note:
The 1.txt file is attached.

Revision history for this message
Marv-CZ (marek-manet) wrote :

This is caused by multiedit plugin, see https://bugzilla.redhat.com/show_bug.cgi?id=1036235#c10

Revision history for this message
Weslley da Silva Pereira (weslley-spereira) wrote :

It worked!
Just turn off the plugin.
Thanks Marv-CZ.

Revision history for this message
positivek (anonyhole) wrote :

I also got Gedit to not crash by turning off the "Multi Edit" plugin.

Gedit: 3.10.4

Ubuntu:
Description: Ubuntu 14.04.2 LTS
Release: 14.04
Codename: trusty

Revision history for this message
marseille (marseille) wrote :

Thanks! Turning off the mutli-edit stopped gedit 3.10.4 from crashing when I open certain html files with dirty code.

I was getting a slight variation of the error:
----------------------------------------------------------------

$ gedit

ERROR:../../gi/pygi-argument.c:1583:_pygi_argument_to_object: code should not be reached
Aborted (core dumped)

Revision history for this message
CarlosAJY (carloskl12) wrote :

El error lo analicé con cierto detalle, pues me ha afectado mucho en mi trabajo, la discusión del mismo es algo extensa, así que publiqué algo al respecto:
<http://elpodmanos.blogspot.com.co/2017/01/bug-de-gedit-pygi-argumentc1583.html>

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.