FS#71754 - [iio-sensor-proxy] version 3.1 broke autorotation. 3.0 doesn't have the problem.

Attached to Project: Community Packages
Opened by Paul (Plx) - Friday, 06 August 2021, 14:21 GMT
Last edited by Antonio Rojas (arojas) - Sunday, 13 March 2022, 19:47 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Filipe Laíns (FFY00)
Architecture x86_64
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

Description:
after upgrading to iio-sensor-proxy 3.1-1, autorotation stops working.
monitor-sensor command detects accelerometer but with "orientation : undefined"
Switching between stock and LTS kernel does not change results.

Downgrading to 3.0 solves the problem.
monitor-sensor shows "orientation : normal" and detects laptop movements, autorotation reworks.


This task depends upon

Closed by  Antonio Rojas (arojas)
Sunday, 13 March 2022, 19:47 GMT
Reason for closing:  Fixed
Additional comments about closing:  iio-sensor-proxy 3.3-1
Comment by loqs (loqs) - Friday, 06 August 2021, 22:41 GMT Comment by Vojtěch Gondžala (vogo) - Sunday, 15 August 2021, 08:07 GMT
There is woraround by editing systemd uint, run
# systemctl edit iio-sensor-proxy.service
and enter:
[Service]
Environment="LANG=C"
Comment by Erik Stein (eriks) - Monday, 20 September 2021, 19:59 GMT
Upgrading to the current release of iio-sensor-proxy (3.3) also solves the problem (I had difficulties to run the test suite with makepkg though).
Comment by Erik Stein (eriks) - Wednesday, 13 October 2021, 21:29 GMT
@FFY00 How can I help you to make a new package release? As written 09/20 the current upstream release 3.3 fixes the issues, see e.g. https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/issues/336
Comment by Filipe Laíns (FFY00) - Thursday, 14 October 2021, 00:27 GMT
Sorry, I have been very busy. The issue with updating to 3.3 (and 3.2 IIRC) is that the tests are failing, and I haven't had time to sit down and look into it. If anyone could help out, it would be very helpful.

https://paste.xinu.at/Jcz/

Currently:

$ extra-x86_64-build
...
==> Starting check()...
[0/1] Running all tests.
1/1 iio-sensor-proxy-integration-test FAIL 17.97s exit status 1
>>> MALLOC_PERTURB_=240 top_srcdir=/build/iio-sensor-proxy/src/iio-sensor-proxy-3.3 top_builddir=/build/iio-sensor-proxy/src/iio-sensor-proxy-3.3/build /build/iio-sensor-proxy/src/iio-sensor-proxy-3.3/tests/integration-test
――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――
Listing only the last 100 lines from a long log.
testbed wrapped openat64(devices) -> devices
testbed wrapped openat64(iio-accel) -> iio-accel
testbed wrapped readlinkat (iio-accel) -> iio-accel
trap_path relative .. -> absolute /build/iio-sensor-proxy/src/iio-sensor-proxy-3.3
testbed wrapped openat64(..) -> ..
trap_path relative .. -> absolute /build/iio-sensor-proxy/src/iio-sensor-proxy-3.3
testbed wrapped openat64(..) -> ..
trap_path relative .. -> absolute /build/iio-sensor-proxy/src/iio-sensor-proxy-3.3
testbed wrapped openat64(..) -> ..
testbed wrapped openat64(devices) -> devices
testbed wrapped openat64(iio-accel) -> iio-accel
testbed wrapped readlinkat (/sys/devices/iio-accel/subsystem) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel/subsystem
testbed wrapped open64(/sys/devices/iio-accel/uevent) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel/uevent
testbed wrapped fopen64(/run/udev/data/+iio:iio-accel) -> /run/udev/data/+iio:iio-accel
testbed wrapped opendir(/sys/class) -> /tmp/umockdev.H3N1A1/sys/class
testbed wrapped open64(/) -> /
script_record_open: fd 8 on device 0:0 is not recorded
testbed wrapped openat64(sys) -> /tmp/umockdev.H3N1A1/sys
testbed wrapped openat64(devices) -> devices
testbed wrapped openat64(iio-accel) -> iio-accel
testbed wrapped opendir(/sys/bus) -> /tmp/umockdev.H3N1A1/sys/bus
testbed wrapped opendir(/sys/class) -> /tmp/umockdev.H3N1A1/sys/class
testbed wrapped opendir(/sys/bus) -> /tmp/umockdev.H3N1A1/sys/bus
testbed wrapped opendir(/sys/class) -> /tmp/umockdev.H3N1A1/sys/class
testbed wrapped open64(/sys/devices/iio-accel/uevent) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel/uevent
testbed wrapped readlinkat (/sys/devices/iio-accel/subsystem) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel/subsystem
testbed wrapped fopen64(/run/udev/data/+iio:iio-accel) -> /run/udev/data/+iio:iio-accel
testbed wrapped fopen64(/run/udev/data/+iio:iio-accel) -> /run/udev/data/+iio:iio-accel
isatty(1): real function result: 0, returning that
testbed wrapped fopen64(/usr/lib/charset.alias) -> /usr/lib/charset.alias
** (iio-sensor-proxy:1891): DEBUG: 01:25:15.380: Found IIO poll accelerometer at /sys/devices/iio-accel
testbed wrapped fopen64(/run/udev/data/+iio:iio-accel) -> /run/udev/data/+iio:iio-accel
testbed wrapped lstat64(/sys/devices/iio-accel/label) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel/label
testbed wrapped lstat64(/sys/devices/iio-accel/location) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel/location
isatty(1): real function result: 0, returning that
** (iio-sensor-proxy:1891): DEBUG: 01:25:15.381: No auto-detected location, falling back to display location
isatty(1): real function result: 0, returning that
** (iio-sensor-proxy:1891): DEBUG: 01:25:15.381: Found device /sys/devices/iio-accel of type accelerometer at IIO Poll accelerometer
testbed wrapped fopen64(/run/udev/data/+iio:iio-accel) -> /run/udev/data/+iio:iio-accel
testbed wrapped fopen64(/run/udev/data/+iio:iio-accel) -> /run/udev/data/+iio:iio-accel
testbed wrapped fopen64(/run/udev/data/+iio:iio-accel) -> /run/udev/data/+iio:iio-accel
testbed wrapped fopen64(/run/udev/data/+iio:iio-accel) -> /run/udev/data/+iio:iio-accel
testbed wrapped fopen64(/run/udev/data/+iio:iio-accel) -> /run/udev/data/+iio:iio-accel
testbed wrapped opendir(/sys/devices/iio-accel) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel
testbed wrapped lstat64(/sys/devices/iio-accel/sampling_frequency) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel/sampling_frequency
testbed wrapped open64(/sys/devices/iio-accel/sampling_frequency) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel/sampling_frequency
testbed wrapped fopen64(/sys/devices/iio-accel/sampling_frequency) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel/sampling_frequency
testbed wrapped fopen64(/run/udev/data/+iio:iio-accel) -> /run/udev/data/+iio:iio-accel
testbed wrapped fopen64(/run/udev/data/+iio:iio-accel) -> /run/udev/data/+iio:iio-accel
testbed wrapped lstat64(/sys/devices/iio-accel/mount_matrix) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel/mount_matrix
testbed wrapped lstat64(/sys/devices/iio-accel/in_accel_mount_matrix) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel/in_accel_mount_matrix
testbed wrapped lstat64(/sys/devices/iio-accel/in_mount_matrix) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel/in_mount_matrix
isatty(1): real function result: 0, returning that
** (iio-sensor-proxy:1891): DEBUG: 01:25:15.381: Failed to auto-detect mount matrix, falling back to identity
testbed wrapped fopen64(/run/udev/data/+iio:iio-accel) -> /run/udev/data/+iio:iio-accel
isatty(1): real function result: 0, returning that
** (iio-sensor-proxy:1891): DEBUG: 01:25:15.381: No auto-detected location, falling back to display location
testbed wrapped lstat64(/sys/devices/iio-accel/in_accel_x_scale) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel/in_accel_x_scale
testbed wrapped lstat64(/sys/devices/iio-accel/in_accel_scale) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel/in_accel_scale
testbed wrapped open64(/sys/devices/iio-accel/in_accel_scale) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel/in_accel_scale
isatty(1): real function result: 0, returning that
** (iio-sensor-proxy:1891): DEBUG: 01:25:15.381: Attribute in_accel_scale ('0.000001') found on sysfs
isatty(1): real function result: 0, returning that
** (iio-sensor-proxy:1891): DEBUG: 01:25:15.478: Handling driver refcounting method 'ClaimAccelerometer' for accelerometer device
testbed wrapped open64(/sys/devices/iio-accel/in_accel_x_raw) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel/in_accel_x_raw
testbed wrapped open64(/sys/devices/iio-accel/in_accel_y_raw) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel/in_accel_y_raw
testbed wrapped open64(/sys/devices/iio-accel/in_accel_z_raw) -> /tmp/umockdev.H3N1A1/sys/devices/iio-accel/in_accel_z_raw
isatty(1): real function result: 0, returning that
** (iio-sensor-proxy:1891): DEBUG: 01:25:16.179: Accel read from IIO on '"IIO Accelerometer"': 0, -256000000, 0 (scale 0.000001,0.000001,0.000001)
isatty(1): real function result: 0, returning that
** (iio-sensor-proxy:1891): DEBUG: 01:25:16.179: Accel sent by driver (quirk applied): 0, -256000000, 0 (scale: 0.000001,0.000001,0.000001)
isatty(1): real function result: 0, returning that
** (iio-sensor-proxy:1891): DEBUG: 01:25:16.179: Emitted orientation changed: from undefined to normal
------------------------------
F../usr/lib/python3.9/subprocess.py:1052: ResourceWarning: subprocess 1913 is still running
_warn("subprocess %s is still running" % self.pid,
ResourceWarning: Enable tracemalloc to get the object allocation traceback
.
======================================================================
FAIL: test_iio_scale_decimal_separator (__main__.Tests)
scale decimal separator
----------------------------------------------------------------------
Traceback (most recent call last):
File "/build/iio-sensor-proxy/src/iio-sensor-proxy-3.3/tests/integration-test", line 595, in test_iio_scale_decimal_separator
self.assertEqual(self.have_text_in_log('scale: 0,000010,0,000010,0,000010'), True)
AssertionError: False != True

======================================================================
FAIL: test_iio_scale_decimal_separator2 (__main__.Tests)
scale decimal separator polling
----------------------------------------------------------------------
Traceback (most recent call last):
File "/build/iio-sensor-proxy/src/iio-sensor-proxy-3.3/tests/integration-test", line 658, in test_iio_scale_decimal_separator2
self.assertEqual(self.have_text_in_log('scale 0,000001,0,000001,0,000001'), True)
AssertionError: False != True

----------------------------------------------------------------------
Ran 13 tests in 17.755s

FAILED (failures=2)
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――


Summary of Failures:

1/1 iio-sensor-proxy-integration-test FAIL 17.97s exit status 1


Ok: 0
Expected Fail: 0
Fail: 1
Unexpected Pass: 0
Skipped: 0
Timeout: 0

Full log written to /build/iio-sensor-proxy/src/iio-sensor-proxy-3.3/build/meson-logs/testlog.txt
FAILED: meson-test
/usr/bin/meson test --no-rebuild --print-errorlogs
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in check().
Aborting...
==> ERROR: Build failed, check /var/lib/archbuild/extra-x86_64/anubis/build
Comment by Antonio Rojas (arojas) - Sunday, 13 March 2022, 19:46 GMT
The test fails because it assumes the fr_FR locale, which is not available on the build root

https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/blob/master/tests/integration-test.py#L667

Loading...