← Back to team overview

cairo-dock-team team mailing list archive

[Bug 706689] Re: segfault in clock plugin when cairo symbol is missing

 

> the dock doesn't use any private function of cairo.
> I'm surprised it compiles and doesn't link. it means we use a function that
> is defined, but does not exist.

After updating to the current cairo head, it works again, so it appears
to have been a fault in cairo rather than an intentional, incompatible
change.  No need for further investigation.

** Changed in: cairo-dock-plug-ins
       Status: New => Invalid

** Changed in: cairo-dock-core
       Status: New => Invalid

-- 
You received this bug notification because you are a member of Cairo-
Dock Team, which is subscribed to Cairo-Dock Core.
https://bugs.launchpad.net/bugs/706689

Title:
  segfault in clock plugin when cairo symbol is missing

Status in Cairo-Dock : Core:
  Invalid
Status in Cairo-Dock : Plug-ins:
  Invalid

Bug description:
  In the latest pre-release of cairo (1.11.2), a symbol which the clock
  plugin uses appears to have been removed.  Instead of gracefully
  failing to load the plugin, cairo-dock segfaults.  Unfortunately,
  cairo-dock-plugins doesn't allow for disabling the clock plugin from
  being built or being loaded, thus the only workaround is to disable
  plugins altogether, which isn't ideal.

  
  This is spat out when cairo-dock is started from a terminal:
  while opening module '/usr/lib64/cairo-dock/libcd-clock.so' : (/usr/lib64/cairo-dock/libcd-clock.so: undefined symbol: cairo_dock_reload_current_module_widget_full)
  Segmentation fault

  Further, when attempting to build cairo-dock, this is spat out:
  Linking C executable cairo-dock
  CMakeFiles/cairo-dock.dir/cairo-dock-menu.c.o: In function `_cairo_dock_launch_new':
  cairo-dock-menu.c:(.text+0x31): undefined reference to `myContainersMgr'
  CMakeFiles/cairo-dock.dir/cairo-dock-menu.c.o: In function `_add_desktops_entry':
  cairo-dock-menu.c:(.text+0x141): undefined reference to `g_desktopGeometry'
  cairo-dock-menu.c:(.text+0x1d7): undefined reference to `cairo_dock_get_icon_with_Xid'
  cairo-dock-menu.c:(.text+0x2c0): undefined reference to `cairo_dock_add_in_menu_with_stock_and_data'
  cairo-dock-menu.c:(.text+0x2e7): undefined reference to `cairo_dock_appli_is_on_desktop'
  CMakeFiles/cairo-dock.dir/cairo-dock-menu.c.o: In function `_cairo_dock_move_appli_to_desktop':
  . . . and so on.

  I presume that this is a problem in the plug-ins package as well as
  core, so I'm not sure whether there should be a bug for both(?).  The
  problem was already present in cairo revision b5152:
  http://cgit.freedesktop.org/cairo/commit/?id=b5152

  A haphazard guess: Perhaps cairo-dock was using private cairo API
  which was removed whence:
  http://cgit.freedesktop.org/cairo/commit/?id=ff9e9





References