Migration to open telemetry broke 32bit server

Since cdd7ad020e165fe680703b6d3319b908b682fb7a I’ve been hitting this:
[Sun Oct 22 00:33:18.853266 2023] [php7:error] [pid 18674] [client 192.168.72.19:36692] PHP Fatal error: Uncaught TypeError: Argument 2 passed to OpenTelemetry\SDK\Common\Time\SystemClock::calculateReferenceTime() must be of the type int, float given, called in /www/rss/htdocs/tt-rss/vendor/open-telemetry/sdk/Common/Time/SystemClock.php on line 38 and defined in /www/rss/htdocs/tt-rss/vendor/open-telemetry/sdk/Common/Time/SystemClock.php:45
Stack trace:
#0 /www/rss/htdocs/tt-rss/vendor/open-telemetry/sdk/Common/Time/SystemClock.php(38): OpenTelemetry\SDK\Common\Time\SystemClock::calculateReferenceTime()
#1 /www/rss/htdocs/tt-rss/vendor/open-telemetry/sdk/Common/Time/SystemClock.php(16): OpenTelemetry\SDK\Common\Time\SystemClock::init()
#2 /www/rss/htdocs/tt-rss/vendor/open-telemetry/sdk/Common/Time/ClockFactory.php(18): OpenTelemetry\SDK\Common\Time\SystemClock->__construct()
#3 /www/rss/htdocs/tt-rss/vendor/open-telemetry/sdk/Common/Time/ClockFactory.php(23): OpenTelemetry\SDK\Common\Time\ClockFactory->build()
#4 /www/rss/htdocs/tt-rss/vendor/open-telemetry/sdk/Trace/Span.php(138): OpenTelemetry\SDK\Common\Time in /www/rss/htdocs/tt-rss/vendor/open-telemetry/sdk/Common/Time/SystemClock.php on line 45

And Opentelemetry not working with php version 7.1 in laravel · Issue #900 · open-telemetry/opentelemetry-php · GitHub points that it isn’t made for 32bit machines. Reverting to 45a9ff0c88cbd33892ff16ab837e9059937d656e fixes the issue.

Debian bullseye, i386
PHP 7.4.33-1+deb11u4
MySQL/MariaDB 1:10.5.21-0+deb11u1

well. not sure what to tell you. i guess we’re incompatible with x86 now.

Hello,
since years I’runnning TTRSS as a docker-container on my RaspberryPi. Today I restartet the container and nothing was working anymore. Therefore I restartet with the docker-compose given on the TTRSS site. But now the container ttrss-app-1 is restarting in a loop with the following error
What can I do?

PHP Fatal error:  Uncaught TypeError: OpenTelemetry\SDK\Common\Time\SystemClock::calculateReferenceTime(): Argument #2 ($upTime) must be of type int, float given, called in /var/www/html/tt-rss/vendor/open-telemetry/sdk/Common/Time/SystemClock.php on line 36 and defined in /var/www/html/tt-rss/vendor/open-telemetry/sdk/Common/Time/SystemClock.php:45
Stack trace:
#0 /var/www/html/tt-rss/vendor/open-telemetry/sdk/Common/Time/SystemClock.php(36): OpenTelemetry\SDK\Common\Time\SystemClock::calculateReferenceTime()
#1 /var/www/html/tt-rss/vendor/open-telemetry/sdk/Common/Time/SystemClock.php(16): OpenTelemetry\SDK\Common\Time\SystemClock::init()
#2 /var/www/html/tt-rss/vendor/open-telemetry/sdk/Common/Time/ClockFactory.php(18): OpenTelemetry\SDK\Common\Time\SystemClock->__construct()
#3 /var/www/html/tt-rss/vendor/open-telemetry/sdk/Common/Time/ClockFactory.php(23): OpenTelemetry\SDK\Common\Time\ClockFactory->build()
#4 /var/www/html/tt-rss/vendor/open-telemetry/sdk/Trace/Span.php(138): OpenTelemetry\SDK\Common\Time\ClockFactory::getDefault()
#5 /var/www/html/tt-rss/vendor/open-telemetry/sdk/Trace/SpanBuilder.php(175): OpenTelemetry\SDK\Trace\Span::startSpan()
#6 /var/www/html/tt-rss/classes/tracer.php(60): OpenTelemetry\SDK\Trace\SpanBuilder->startSpan()
#7 /var/www/html/tt-rss/classes/tracer.php(96): Tracer->__construct()
#8 /var/www/html/tt-rss/classes/tracer.php(91): Tracer::get_instance()
#9 /var/www/html/tt-rss/classes/pluginhost.php(448): Tracer::start()
#10 /var/www/html/tt-rss/include/functions.php(437): PluginHost->load()
#11 /var/www/html/tt-rss/update.php(78): init_plugins()
#12 {main}
  thrown in /var/www/html/tt-rss/vendor/open-telemetry/sdk/Common/Time/SystemClock.php on line 45

yet another 32 bit platform i guess? armv7?

yes, exactly - I’m running docker on debian buster

i’ll try too cook up some kind of no-op shim for opentelemetry when it is not enabled, not sure how annoying it would be.

i have no 32bit platforms to test this either. :frowning:

1 Like

lets use this as a main opentelemetry/32bit thread.

What about the two following images for the use on a RaspberryPi?

cthulhoo/ttrss-fpm-pgsql-static:latest
cthulhoo/ttrss-web-nginx:latest

In Docker Hub these are tagged only with amd64.

see here - The case for multi-arch images [ed: ARM is no more]

i wonder if this https://gitlab.tt-rss.org/tt-rss/tt-rss/-/commit/3d5308a6e5f2b3bbfc307716292d1cc98e424edb would make 32bit work again

What do I have to do for testing - just restart with docker-compose?

pull latest source, build images, restart?

No errors again - it’s working! Thank you very much!

I’m an unholy user (not using docker) so if it works for Yogi43 I’ll be able to make it work here.
Consider it solved for me too.