pyfuse3 autopkgtest failure on armhf

Bug #2060963 reported by Mate Kukri
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
cython (Ubuntu)
New
Undecided
Unassigned
pyfuse3 (Ubuntu)
New
Undecided
Unassigned
Revision history for this message
Mate Kukri (mkukri) wrote :

Upon further digging it seems one of the tests try to put the newly 64-bit timestamps into a sqlite3 database's INT type:

root@autopkgtest-lxd-dmjxfz:/tmp/autopkgtest.c6ltL9/build.h9M/src# Traceback (most recent call last):
  File "/tmp/autopkgtest.c6ltL9/build.h9M/src/examples/tmpfs.py", line 454, in <module>
    trio.run(pyfuse3.main)
  File "/usr/lib/python3/dist-packages/trio/_core/_run.py", line 2275, in run
    raise runner.main_task_outcome.error
  File "/tmp/autopkgtest.c6ltL9/build.h9M/src/src/_pyfuse3.py", line 43, in wrapper
    await fn(*args, **kwargs)
  File "src/pyfuse3.pyx", line 781, in main
    async with trio.open_nursery() as nursery:
  File "/usr/lib/python3/dist-packages/trio/_core/_run.py", line 971, in __aexit__
    raise combined_error_from_nursery
  File "/tmp/autopkgtest.c6ltL9/build.h9M/src/src/_pyfuse3.py", line 43, in wrapper
    await fn(*args, **kwargs)
  File "src/internal.pxi", line 272, in _session_loop
    await py_retval
  File "src/handlers.pxi", line 168, in fuse_setattr_async
    entry = <EntryAttributes?> await operations.setattr(c.ino, entry, fields, fh, ctx)
  File "/tmp/autopkgtest.c6ltL9/build.h9M/src/examples/tmpfs.py", line 308, in setattr
    self.cursor.execute('UPDATE inodes SET mtime_ns=? WHERE id=?',
OverflowError: Python int too large to convert to SQLite INTEGER

Revision history for this message
Mate Kukri (mkukri) wrote :

Actually it might a time_t abi problem.

the sqlite3 integers are 64-bit, and in the file creation function it produces a value such as
1712840079336130048 with length 61 bits which fits.

however the mtime attribute update in the same tmpfs example produces a 91 bit timestamp such as
1442900879053675920712840079

Revision history for this message
Mate Kukri (mkukri) wrote :

Looks like the time_t type and struct stat structure known to cython is wrong and that is resulting in bad values:
https://github.com/cython/cython/blob/master/Cython/Includes/posix/types.pxd

Mate Kukri (mkukri)
tags: added: update-excuse
Revision history for this message
Mate Kukri (mkukri) wrote :
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.