On Thu, 11 Dec 2008, Guillaume Emont wrote:

Le jeudi 11 décembre 2008 à 12:42 +0100, Dag Wieers a écrit :

- try to ensure you have the debugging symbols for about all the libs
involved, run gdb --args elisa, type "run", wait for it to segfault,
type "thread apply all backtrace" and send us the output (on the mailing
list or in a bug report).

I don't have all the debugging symbols, but I can already send you this:

------
(...)
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1209035072 (LWP 5012)]
0x03ef2b23 in gst_element_register () from /usr/lib/libgstreamer-0.10.so.0

Aha! Looking at the stuff below, this happens in the main thread, and is
called by some python code. But gst.element_register() is broken in old
versions of gst-python. The only such register we still do is in
elisa-plugins/elisa/plugins/gstreamer/changestride.py (line 125), and it
is not needed since we don't use that element from the registry, but we
instantiate it directly (and we don't use it on linux anyway). So my
advice is: comment out the call to gst.element_register() and that
segfault should disappear. I'm about to do that in trunk.

Perfect. It does no longer segfault now, but we get to another batch of problems ;-)

Some are related to plugins that have missin dependencies (which I am aware of). I don't think these are fatal, but I cannot find how to disable those plugins from the elisa configuration.

The generated config-file gives no clues what form the list should be in.
I tried this, but it fails:

    disabled_plugins = [ 'ipod' ]

It would be useful if the generated config file would have a comment or two ;-)

Now I end up with the following output. The screen is black after it has shown the splash-screen. The splash-screen is flickering on my i915-based laptop (I just realized this is because of compiz, no worries)

The screen stays black when this is on the terminal output:

------
[EMAIL PROTECTED] ~]$ elisa
GTK Accessibility Module initialized
/usr/lib/python2.4/site-packages/elisa/core/utils/classinit.py:34: UserWarning: 
ClassInitMeta class is deprecated
  warn("ClassInitMeta class is deprecated")
libGL warning: 3D driver claims to not support visual 0x5b
WARN  MainThread      resource_manager            Dec 11 13:48:58  Creating 
elisa.plugins.ipod.ipod_resource:IpodResource failed. A full traceback can be 
found at /tmp/elisa_lKCTaD.txt (elisa/core/manager.py:96)
/usr/lib/python2.4/site-packages/elisa/core/service_manager.py:27: 
DeprecationWarning: ServiceProvider.start is deprecated.
  warn("ServiceProvider.%s is deprecated." % attr, DeprecationWarning)
WARN  MainThread      resource_manager            Dec 11 13:48:58  Creating 
elisa.plugins.database.media_scanner:MediaScanner failed. A full traceback can 
be found at /tmp/elisa_gMPu-x.txt (elisa/core/manager.py:96)
Launcher core version: 0.5.21
Current core version: 0.5.21
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/twisted/internet/gtk2reactor.py", line 
226, in simulate
    self.runUntilCurrent()
  File "/usr/lib/python2.4/site-packages/twisted/internet/base.py", line 705, 
in runUntilCurrent
    call.func(*call.args, **call.kw)
  File "/usr/lib/python2.4/site-packages/twisted/internet/task.py", line 251, 
in _tick
    result = iterator.next()
  File "/usr/lib/python2.4/site-packages/elisa/core/manager.py", line 101, in 
load_components_iter
    dfr = plugin_registry.create_component(component_name)
--- <exception caught here> ---
  File "/usr/lib/python2.4/site-packages/elisa/core/plugin_registry.py", line 
940, in create_component
    component_class = reflect.namedAny('%s.%s' % (module, klass))
  File "/usr/lib/python2.4/site-packages/twisted/python/reflect.py", line 426, 
in namedAny
    topLevelPackage = _importAndCheckStack(trialname)
  File "/usr/lib/python2.4/site-packages/elisa/plugins/ipod/ipod_resource.py", 
line 28, in ?
    import gpod
exceptions.ImportError: No module named gpod

Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/twisted/internet/gtk2reactor.py", line 
226, in simulate
    self.runUntilCurrent()
  File "/usr/lib/python2.4/site-packages/twisted/internet/base.py", line 705, 
in runUntilCurrent
    call.func(*call.args, **call.kw)
  File "/usr/lib/python2.4/site-packages/twisted/internet/task.py", line 251, 
in _tick
    result = iterator.next()
  File "/usr/lib/python2.4/site-packages/elisa/core/manager.py", line 101, in 
load_components_iter
    dfr = plugin_registry.create_component(component_name)
--- <exception caught here> ---
  File "/usr/lib/python2.4/site-packages/elisa/core/plugin_registry.py", line 
940, in create_component
    component_class = reflect.namedAny('%s.%s' % (module, klass))
  File "/usr/lib/python2.4/site-packages/twisted/python/reflect.py", line 426, 
in namedAny
    topLevelPackage = _importAndCheckStack(trialname)
  File "/usr/lib/python2.4/site-packages/twisted/python/reflect.py", line 377, 
in _importAndCheckStack
    return __import__(importName)
  File 
"/usr/lib/python2.4/site-packages/elisa/plugins/database/media_scanner.py", 
line 40, in ?
    from elisa.plugins.database.database_parser import DatabaseParser
  File 
"/usr/lib/python2.4/site-packages/elisa/plugins/database/database_parser.py", 
line 27, in ?
    from elisa.plugins.gstreamer.amp_master import GstMetadataAmpClient
  File 
"/usr/lib/python2.4/site-packages/elisa/plugins/gstreamer/amp_master.py", line 
29, in ?
    from elisa.plugins.gstreamer.gst_metadata import able_to_handle, \
  File 
"/usr/lib/python2.4/site-packages/elisa/plugins/gstreamer/gst_metadata.py", 
line 35, in ?
    from elisa.plugins.gstreamer.thumbnail import get_thumbnail_location
  File "/usr/lib/python2.4/site-packages/elisa/plugins/gstreamer/thumbnail.py", 
line 126, in ?
    class PngImageSnapshotBin(ImageSnapshotMixIn, gst.Bin, Loggable):
  File "/usr/lib/python2.4/site-packages/gtk-2.0/gobject/__init__.py", line 37, 
in __init__
    cls._type_register(cls.__dict__)
  File "/usr/lib/python2.4/site-packages/gtk-2.0/gobject/__init__.py", line 49, 
in _type_register
    type_register(cls, namespace.get('__gtype_name__'))
exceptions.OverflowError: long int too large to convert to int (while 
registering property 'width' for GType 
'elisa+plugins+gstreamer+thumbnail+PngImageSnapshotBin')

Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/twisted/internet/gtk2reactor.py", line 
226, in simulate
    self.runUntilCurrent()
  File "/usr/lib/python2.4/site-packages/twisted/internet/base.py", line 705, 
in runUntilCurrent
    call.func(*call.args, **call.kw)
  File "/usr/lib/python2.4/site-packages/twisted/internet/task.py", line 251, 
in _tick
    result = iterator.next()
  File "/usr/lib/python2.4/site-packages/elisa/core/manager.py", line 101, in 
load_components_iter
    dfr = plugin_registry.create_component(component_name)
--- <exception caught here> ---
  File "/usr/lib/python2.4/siteWARN  MainThread      resource_manager           
 Dec 11 13:48:58  Creating elisa.plugins.hal.hal_resource:HALResource failed. A full 
traceback can be found at /tmp/elisa_QPRScP.txt (elisa/core/manager.py:96)
WARN  MainThread      input_manager               Dec 11 13:48:58  Creating 
elisa.plugins.lirc.lirc_input:LircInput failed. A full traceback can be found 
at /tmp/elisa_O6xMil.txt (elisa/core/manager.py:96)
WARN  MainThread      resource_manager            Dec 11 13:48:58  Creating 
elisa.plugins.avahi.avahi_resource_provider:AvahiResourceProvider failed. A 
full traceback can be found at /tmp/elisa_8ggS1-.txt (elisa/core/manager.py:96)
WARN  MainThread      plugin_registry             Dec 11 13:48:58  Callback <bound 
method ServiceManager.plugin_status_changed_cb of 
<elisa.core.service_manager.ServiceManager object at 0x94fab2c>>(elisa-plugin-osso 
0.1, True) failed: [Failure instance: Traceback: exceptions.AttributeError: 'module' object 
has no attribute 'BUS_DAEMON_NAME'
/usr/lib/python2.4/site-packages/twisted/internet/gtk2reactor.py:114:wrapper
/usr/lib/python2.4/site-packages/twisted/internet/gtk2reactor.py:218:callback
/usr/lib/python2.4/site-packages/twisted/internet/gtk2reactor.py:226:simulate
/usr/lib/python2.4/site-packages/twisted/internet/base.py:705:runUntilCurrent
--- <exception caught here> ---
/usr/lib/python2.4/site-packages/twisted/internet/task.py:251:_tick
/usr/lib/python2.4/site-packages/elisa/core/manager.py:101:load_components_iter
/usr/lib/python2.4/site-packages/elisa/core/plugin_registry.py:947:create_component
/usr/lib/python2.4/site-packages/elisa/core/component.py:128:create
/usr/lib/python2.4/site-packages/elisa/plugins/osso/osso_service.py:66:initialize
/usr/lib/python2.4/site-packages/elisa/core/utils/misc.py:149:is_hildon_desktop_running
] (elisa/core/plugin_registry.py:445)
Unhandled error in Deferred:
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/twisted/internet/gtk2reactor.py", line 
226, in simulate
    self.runUntilCurrent()
  File "/usr/lib/python2.4/site-packages/twisted/internet/base.py", line 705, 
in runUntilCurrent
    call.func(*call.args, **call.kw)
  File 
"/usr/lib/python2.4/site-packages/elisa/plugins/pigment/pigment_frontend.py", 
line 527, in _load_first_controller
    dfr = self.create_controller(controller_path)
  File 
"/usr/lib/python2.4/site-packages/elisa/plugins/pigment/pigment_frontend.py", 
line 161, in create_controller
    dfr = plugin_registry.create_component(controller, config, **kwargs)
--- <exception caught here> ---
  File "/usr/lib/python2.4/site-packages/elisa/core/plugin_registry.py", line 
940, in create_component
    component_class = reflect.namedAny('%s.%s' % (module, klass))
  File "/usr/lib/python2.4/site-packages/twisted/python/reflect.py", line 426, 
in namedAny
    topLevelPackage = _importAndCheckStack(trialname)
  File "/usr/lib/python2.4/site-packages/twisted/python/reflect.py", line 377, 
in _importAndCheckStack
    return __import__(importName)
  File "/usr/lib/python2.4/site-packages/elisa/plugins/poblesec/main.py", line 
23, in ?
    from elisa.plugins.gstreamer.amp_master import GstMetadataAmpClient
  File 
"/usr/lib/python2.4/site-packages/elisa/plugins/gstreamer/amp_master.py", line 
29, in ?
    from elisa.plugins.gstreamer.gst_metadata import able_to_handle, \
  File 
"/usr/lib/python2.4/site-packages/elisa/plugins/gstreamer/gst_metadata.py", 
line 35, in ?
    from elisa.plugins.gstreamer.thumbnail import get_thumbnail_location
  File "/usr/lib/python2.4/site-packages/elisa/plugins/gstreamer/thumbnail.py", 
line 126, in ?
    class PngImageSnapshotBin(ImageSnapshotMixIn, gst.Bin, Loggable):
  File "/usr/lib/python2.4/site-packages/gtk-2.0/gobject/__init__.py", line 37, 
in __init__
    cls._type_register(cls.__dict__)
  File "/usr/lib/python2.4/site-packages/gtk-2.0/gobject/__init__.py", line 49, 
in _type_register
    type_register(cls, namespace.get('__gtype_name__'))
exceptions.OverflowError: long int too large to convert to int (while 
registering property 'width' for GType 
'elisa+plugins+gstreamer+thumbnail+PngImageSnapshotBin-v2')
WARN  MainThread      flickr_resource_provider    Dec 11 13:49:00  Login to 
Flickr failed. Full output at /tmp/elisa_3jwaKX.txt 
(elisa/plugins/flickr/resource_provider.py:90)
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/twisted/internet/gtk2reactor.py", line 
186, in run
    self.__run()
  File "/usr/lib/python2.4/site-packages/twisted/internet/gtk2reactor.py", line 
226, in simulate
    self.runUntilCurrent()
  File "/usr/lib/python2.4/site-packages/twisted/internet/base.py", line 705, 
in runUntilCurrent
    call.func(*call.args, **call.kw)
  File "/usr/lib/python2.4/site-packages/twisted/internet/base.py", line 545, 
in fireSystemEvent
    event.fireEvent()
--- <exception caught here> ---
  File "/usr/lib/python2.4/site-packages/twisted/internet/base.py", line 368, 
in fireEvent
    result = callable(*args, **kwargs)
  File "/usr/lib/python2.4/site-packages/elisa/core/application.py", line 562, 
in stop
    dfr = self.interface_controller.stop()
  File "/usr/lib/python2.4/site-packages/elisa/core/interface_controller.py", 
line 141, in stop
    dfr = frontend.clean()
  File 
"/usr/lib/python2.4/site-packages/elisa/plugins/pigment/pigment_frontend.py", 
line 695, in clean
    if self.controller:
exceptions.AttributeError: 'PigmentFrontend' object has no attribute 
'controller'
-packages/elisa/core/plugin_registry.py", line 940, in create_component
    component_class = reflect.namedAny('%s.%s' % (module, klass))
  File "/usr/lib/python2.4/site-packages/twisted/python/reflect.py", line 426, 
in namedAny
    topLevelPackage = _importAndCheckStack(trialname)
  File "/usr/lib/python2.4/site-packages/elisa/plugins/hal/hal_resource.py", 
line 27, in ?
    raise ImportError, "This plugin needs dbus > 0.82"
exceptions.ImportError: This plugin needs dbus > 0.82

Traceback (most recent call last):
Failure: elisa.plugins.lirc.lirc_input.NoMappingsFound: Given InputMap 
'streamzap.map' not found

Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/twisted/internet/gtk2reactor.py", line 
226, in simulate
    self.runUntilCurrent()
  File "/usr/lib/python2.4/site-packages/twisted/internet/base.py", line 705, 
in runUntilCurrent
    call.func(*call.args, **call.kw)
  File "/usr/lib/python2.4/site-packages/twisted/internet/task.py", line 251, 
in _tick
    result = iterator.next()
  File "/usr/lib/python2.4/site-packages/elisa/core/manager.py", line 101, in 
load_components_iter
    dfr = plugin_registry.create_component(component_name)
--- <exception caught here> ---
  File "/usr/lib/python2.4/site-packages/elisa/core/plugin_registry.py", line 
940, in create_component
    component_class = reflect.namedAny('%s.%s' % (module, klass))
  File "/usr/lib/python2.4/site-packages/twisted/python/reflect.py", line 426, 
in namedAny
    topLevelPackage = _importAndCheckStack(trialname)
  File 
"/usr/lib/python2.4/site-packages/elisa/plugins/avahi/avahi_resource_provider.py",
 line 36, in ?
    import dbus, avahi
exceptions.ImportError: No module named avahi

==> at 
https://login.yahoo.com/config/login?.src=flickr&.pc=5134&.scrumb=0&.pd=c%3DE0.GahOp2e4MjkX.5l2HgAoLkpmyPvccpVM-&.intl=us&.done=https%3A%2F%2Flogin.yahoo.com%2Fconfig%2Fvalidate%3F.src%3Dflickr%26.pc%3D5134%26.scrumb%3D0%26.pd%3Dc%253DE0.GahOp2e4MjkX.5l2HgAoLkpmyPvccpVM-%26.intl%3Dus%26.done%3Dhttp%253A%252F%252Fwww.flickr.com%252Fsignin%252Fyahoo%252F%253Fredir%253D%25252Fservices%25252Fauth%25252F%25253Fperms%25253Ddelete%252526api_key%25253Def2cc311ac8916c794b436bf482c5de5%252526frob%25253D72157611073983360-9c37d17c697d9fee-34553%252526api_sig%25253D2bc7a4a1f86e071df996ca9002681def
Note: submit is using submit button: name=".save", value="Sign In"

Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line 614, 
in gotResult
    _deferGenerator(g, deferred)
  File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line 591, 
in _deferGenerator
    deferred.callback(result)
  File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line 243, 
in callback
    self._startRunCallbacks(result)
  File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line 312, 
in _startRunCallbacks
    self._runCallbacks()
--- <exception caught here> ---
  File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line 328, 
in _runCallbacks
    self.result = callback(self.result, *args, **kw)
  File 
"/usr/lib/python2.4/site-packages/elisa/plugins/flickr/resource_provider.py", 
line 269, in response_read
    raise ValueError('%s: %s' %(err_code, err_msg))
exceptions.ValueError: 108: Invalid frob

Exception exceptions.AttributeError: "'NoneType' object has no attribute 'bus_release_name'" in 
<bound method BusName.__del__ of <dbus.service.BusName com.fluendo.Elisa on <dbus.Bus on SESSION 
at 0x95debac> at 0x9f50f0c>> ignored
------

From this output, it is hard to see which traceback is the fatal one. It
obviously is not the gpod/flickr stuff. But might it still be dbus or avahi related ? Are these mandatory afterall ?

According to the README dbus was optional (and that was my main motivation to try and get elisa working). If we could patch elisa to work with an older dbus, would those patches be accepted ?


Would it be worthwhile to add the patch to "support" incompatible
python-dbus versions in one form or another ?

I have no idea how hard this would be, nor if someone has the time to do
it, but patches doing this would most certainly be considered.

In the thread from last night I added a small patch to do this. I attached it to this mail. This simply disabled dbus support (much as would happen when no dbus python module was found on the system).

Thanks again,
--
--   dag wieers,  [EMAIL PROTECTED],  http://dag.wieers.com/   --
[Any errors in spelling, tact or fact are transmission errors]
--- /usr/lib/python2.4/site-packages/elisa/plugins/pigment/pigment_frontend.py.orig	2008-12-11 14:01:57.000000000 +0100
+++ /usr/lib/python2.4/site-packages/elisa/plugins/pigment/pigment_frontend.py	2008-12-11 05:02:22.000000000 +0100
@@ -747,25 +747,36 @@
             # no dbus support
             return
 
-        bus = dbus.SessionBus()
-        self.bus_name = \
-                dbus.service.BusName('com.fluendo.Elisa', bus)
-        self.dbus_frontend = DBusFrontend(self, bus, 
-                '/com/fluendo/Elisa/Plugins/Pigment/Frontend', self.bus_name)
+        try:
+            bus = dbus.SessionBus()
+            self.bus_name = \
+                    dbus.service.BusName('com.fluendo.Elisa', bus)
+            self.dbus_frontend = DBusFrontend(self, bus, 
+                    '/com/fluendo/Elisa/Plugins/Pigment/Frontend', self.bus_name)
+        except:
+            # dbus support incompatible
+            del self.bus_name
+            return
+
 
     def _clean_dbus(self):
         if 'dbus' not in sys.modules:
             # no dbus support
             return
 
-        bus = dbus.SessionBus()
-        self.dbus_frontend.remove_from_connection(bus,
-                '/com/fluendo/Elisa/Plugins/Pigment/Frontend')
-        # BusName implements __del__, eew
-        del self.bus_name
+        try:
+            bus = dbus.SessionBus()
+            self.dbus_frontend.remove_from_connection(bus,
+                    '/com/fluendo/Elisa/Plugins/Pigment/Frontend')
+            # BusName implements __del__, eew
+            del self.bus_name
     
-        # remove the reference cycle
-        del self.dbus_frontend
+            # remove the reference cycle
+            del self.dbus_frontend
+        except:
+            # dbus support incompatible
+            return
+
         
     def _viewport_drag_motion_event(self, viewport, event):
         if not self._in_drag:

Reply via email to