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 732440 - 'gi.repository.Vte' object has no attribute 'TerminalCursorBlinkMode'
'gi.repository.Vte' object has no attribute 'TerminalCursorBlinkMode'
Status: RESOLVED NOTGNOME
Product: gobject-introspection
Classification: Platform
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gobject-introspection Maintainer(s)
gobject-introspection Maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2014-06-29 18:34 UTC by Igor Gnatenko
Modified: 2015-02-07 16:57 UTC
See Also:
GNOME target: ---
GNOME version: 3.13/3.14



Description Igor Gnatenko 2014-06-29 18:34:28 UTC
Error launching details: 'gi.repository.Vte' object has no attribute 'TerminalCursorBlinkMode'

Traceback (most recent call last):
  • File "/usr/share/virt-manager/virtManager/engine.py", line 786 in _show_vm_helper
    details.activate_default_page()
  • File "/usr/share/virt-manager/virtManager/details.py", line 1389 in activate_default_page
    self.activate_default_console_page()
  • File "/usr/share/virt-manager/virtManager/details.py", line 1383 in activate_default_console_page
    self.console.activate_default_console_page()
  • File "/usr/share/virt-manager/virtManager/console.py", line 1599 in activate_default_console_page
    self._show_serial_tab(name, serialidx)
  • File "/usr/share/virt-manager/virtManager/console.py", line 1658 in _show_serial_tab
    serial = vmmSerialConsole(self.vm, target_port, name)
  • File "/usr/share/virt-manager/virtManager/serialcon.py", line 319 in __init__
    self.init_terminal()
  • File "/usr/share/virt-manager/virtManager/serialcon.py", line 329 in init_terminal
    self.terminal.set_cursor_blink_mode(Vte.TerminalCursorBlinkMode.ON)
  • File "/usr/lib64/python2.7/site-packages/gi/module.py", line 320 in __getattr__
    return getattr(self._introspection_module, name)
  • File "/usr/lib64/python2.7/site-packages/gi/module.py", line 139 in __getattr__
    self.__name__, name))
AttributeError: 'gi.repository.Vte' object has no attribute 'TerminalCursorBlinkMode'

Comment 1 Christian Persch 2014-06-29 19:36:01 UTC
This seems like a virt-manager (or gobject-introspection) problem?

Alternatively, you're trying to run this programme depending on vte 0.36's gir against vte 0.37's gir. But that shouldn't happen by accident.
Comment 2 Igor Gnatenko 2014-06-29 19:40:17 UTC
(In reply to comment #1)
> This seems like a virt-manager (or gobject-introspection) problem?
I think gobject-introspection, but I'm not sure. Therefore sent bug for vte. I don't know how works gir.
> Alternatively, you're trying to run this programme depending on vte 0.36's gir
> against vte 0.37's gir. But that shouldn't happen by accident.
Comment 4 Cole Robinson 2014-07-02 13:36:09 UTC
This bug should be reopened, it is either a VTE or gobject-introspection issue.

The root problem is that the introspected enum name is now Vte.CursorBlinkMode, while previously (and for the past 3 Fedora versions at least) it was Vte.TerminalCursorBlinkMode. Same with Vte.TerminalEraseBinding/Vte.EraseBinding

Additionally the Vte.Terminal.set_emulation API seems to be entirely missing, both from introspection and from the public API docs here:

https://developer.gnome.org/vte/unstable/VteTerminal.html

Despite there being no previous deprecation warning that I can tell, at least not in the 0.36 docs.
Comment 5 Colin Walters 2014-07-02 13:41:22 UTC
Maybe fallout from https://git.gnome.org/browse/vte/commit/?id=97f610ba1b9a0fac1382636e4ed9baad20209d24 ?

But I'm pretty sure g-i *should* have originally exported it as Vte.CursorBlinkMode, so there may be something else going on.
Comment 6 Cole Robinson 2014-07-02 15:55:40 UTC
The actual culprit is:

commit 8d7f0d7f0ee36698d7de3db7aba737e342a27766
Author: Christian Persch <chpe@gnome.org>
Date:   Mon Apr 7 09:40:53 2014 +0200

    all: Rename API

Where TerminalCursorBlinkMode was renamed to CursorBlinkMode
Comment 7 Christian Persch 2014-08-16 18:03:51 UTC
Um, we changed vte API/ABI and bumped the API version from 2.90 to 2.91, so where's the problem?
Comment 8 Cole Robinson 2014-08-19 14:32:36 UTC
I didn't realize at the time of my comment that the API version was also bumped. I thought that commit was internal code movement that affected the gi output. So nothing is wrong with VTE here
Comment 9 Egmont Koblinger 2014-11-06 12:13:55 UTC
Linking back to https://bugzilla.redhat.com/show_bug.cgi?id=1114379 where the real bug was spotted in comment 9.

Brain-damaged python gir doesn't depend on a particular version number of vte by default, but tries to include the newest found on the system. Such a horrible design! We should really follow up with them to fix this crap.
Comment 10 Egmont Koblinger 2014-11-06 13:30:26 UTC
Python-introspection bugreport: https://bugzilla.gnome.org/show_bug.cgi?id=727379
Comment 11 André Klapper 2015-02-07 16:57:31 UTC
[Mass-moving gobject-introspection tickets to its own Bugzilla product - see bug 708029. Mass-filter your bugmail for this message: introspection20150207 ]