Opened 11 years ago

Closed 11 years ago

Last modified 7 years ago

#1404 closed defect (fixed)

metadatareader: error return without exception set

Reported by: sascha_silbe Owned by: sascha_silbe
Priority: Unspecified by Maintainer Milestone:
Component: Sugar Version: Git as of bugdate
Severity: Blocker Keywords: r+ olpc-0.84
Cc: alsroot Distribution/OS: Unspecified
Bug Status: Assigned

Description

I'm getting the following error (in shell.log) two times during startup on an ARM/EABI system (but not on an i386 system):

Traceback (most recent call last):
  File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.5/site-packages/jarabe/journal/listmodel.py", line 108, in on_iter_n_children
    return self._result_set.length
  File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.5/site-packages/jarabe/journal/model.py", line 107, in get_length
    entries, self._total_count = self.find(query)
  File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.5/site-packages/jarabe/journal/model.py", line 222, in find
    byte_arrays=True)
  File "/usr/lib/pymodules/python2.5/dbus/proxies.py", line 140, in __call__
    **keywords)
  File "/usr/lib/pymodules/python2.5/dbus/connection.py", line 622, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Python.SystemError: Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.5/dbus/service.py", line 702, in _message_cb
    retval = candidate_method(self, *args, **keywords)
  File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.5/site-packages/carquinyol/datastore.py", line 228, in find
    metadata = self._metadata_store.retrieve(uid, properties)
  File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.5/site-packages/carquinyol/metadatastore.py", line 39, in retrieve
    return metadatareader.retrieve(metadata_path, properties)
SystemError: error return without exception set

To reproduce from outside Sugar:

sascha.silbe@flatty:~/sugar-jhbuild$ dbus-launch ./sugar-jhbuild run python
Warning: unknown distro version, automatic fallback to unstable.
Python 2.5.4 (r254:67916, Feb 18 2009, 07:14:14) 
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sugar.datastore.dbus_helpers
>>> sugar.datastore.dbus_helpers.find({'order_by': ['+timestamp'], 'limit': 30}, ['fdjkfd'], None, None)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.5/site-packages/sugar/datastore/dbus_helpers.py", line 94, in find
    return _get_data_store().find(query, properties, byte_arrays=True)
  File "/usr/lib/pymodules/python2.5/dbus/proxies.py", line 68, in __call__
    return self._proxy_method(*args, **keywords)
  File "/usr/lib/pymodules/python2.5/dbus/proxies.py", line 140, in __call__
    **keywords)
  File "/usr/lib/pymodules/python2.5/dbus/connection.py", line 622, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Python.SystemError: Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.5/dbus/service.py", line 702, in _message_cb
    retval = candidate_method(self, *args, **keywords)
  File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.5/site-packages/carquinyol/datastore.py", line 228, in find
    metadata = self._metadata_store.retrieve(uid, properties)
  File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.5/site-packages/carquinyol/metadatastore.py", line 39, in retrieve
    return metadatareader.retrieve(metadata_path, properties)
SystemError: error return without exception set

Attachments (2)

0001-fix-error-return-without-exception-set-on-ARM-1404.patch (790 bytes) - added by sascha_silbe 11 years ago.
fix 'error return without exception set' on ARM
0001-fix-error-return-without-exception-set-on-ARM-1404.2.patch (782 bytes) - added by sascha_silbe 11 years ago.
backport to 0.84

Download all attachments as: .zip

Change History (13)

Changed 11 years ago by sascha_silbe

fix 'error return without exception set' on ARM

comment:1 Changed 11 years ago by sascha_silbe

  • Keywords r? added
  • Status changed from new to accepted

The previous code should never have been able to compile successfully. Probably some obscure feature of the C standard. :-/
Seems i386 and ARM have different "default return values" or whatever gets used in place of the missing value.

comment:2 Changed 11 years ago by alsroot

  • Keywords r+ added; r? removed

comment:3 Changed 11 years ago by sascha_silbe

  • Resolution set to fixed
  • Status changed from accepted to closed

comment:4 Changed 11 years ago by sascha_silbe

  • Resolution fixed deleted
  • Status changed from closed to reopened

Affects 0.84 as well, needs to be backported.

Changed 11 years ago by sascha_silbe

backport to 0.84

comment:5 Changed 11 years ago by sascha_silbe

  • Cc alsroot added
  • Keywords olpc-0.84 added
  • Status changed from reopened to accepted

0.86 commit could be applied as-is to 0.84 and works fine.
This happens at least on amd64 now, not just armel.

comment:6 Changed 11 years ago by alsroot

  • Resolution set to fixed
  • Status changed from accepted to closed

v0.86.0 includes this patch.

comment:7 Changed 11 years ago by sascha_silbe

  • Resolution fixed deleted
  • Status changed from closed to reopened

I still don't see it in sucrose-0.84, so reopening again.

comment:8 Changed 11 years ago by alsroot

  • Resolution set to fixed
  • Status changed from reopened to closed

cherry-picked to sucrose-0.84

comment:9 Changed 11 years ago by sascha_silbe

Thanks!

comment:10 Changed 7 years ago by dnarvaez

  • Component changed from sugar-datastore to Sugar

comment:11 Changed 7 years ago by dnarvaez

  • Milestone 0.86 deleted

Milestone 0.86 deleted

Note: See TracTickets for help on using tickets.