curl error 60 while downloading

Hi,
I find it's a fantastic project.
When I want to install it on my localhost with code: composer create-project aimeos/aimeos myshop, I get an error as below: [Composer\Downloader\TransportException]   curl error 60 while downloading https://packages.aimeos.org/aimeoscom/packa   ges.json: SSL certificate problem: certificate has expired
I also tried to download the master package and upload to my server then I run the command: composer update, and I got same error.
My server is Debian+LAMP. All the versions meet the requirement.
Could someone help me on this? thank you.

You must update your Debian system to get the current SSL root certificates.

Thank you Aimeos.
I have updated my system with code: sudo apt update && sudo apt upgrade. While, I still get the same error

Which Debian version do you use?
If you check the URL in your browser, it works without problems: https://packages.aimeos.org/aimeoscom/packages.json

here is my os information
root@debian:~# hostnamectl    Static hostname: debian          Icon name: computer-vm            Chassis: vm         Machine ID: 1508b893fb3a453da3b3e1aefb39bf28            Boot ID: 393d4ee3b6a446958bcb14f19ecc56bb     Virtualization: vmware   Operating System: Debian GNU/Linux 10 (buster)             Kernel: Linux 4.19.0-18-amd64       Architecture: x86-64

Apache:2.4.48
MYSQL: 5.7.34
PHP: 7.4

Please try the command update-ca-certificates

thank you. but I still get this error:
`root@debian:~# update-ca-certificates
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
done.
root@debian:~# cd /www/wwwroot
root@debian:/www/wwwroot# php composer create-project aimeos/aimeos myshop -vvv
Running 2.1.14 (2021-11-30 10:51:43) with PHP 7.4.20 on Linux / 4.19.0-18-amd64
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
Loading config file /root/.config/composer/auth.json
Failed to initialize global composer: Composer could not find the config file: /root/.config/composer/composer.json
To initialize a project, please create a composer.json file. See https://getcomposer.org/basic-usage
Creating a "aimeos/aimeos" project at "./myshop"
Loading config file /root/.config/composer/auth.json
Checked CA file /etc/ssl/certs/ca-certificates.crt: valid
Executing command (/www/wwwroot): git branch -a --no-color --no-abbrev -v
Executing command (/www/wwwroot): git describe --exact-match --tags
Executing command (CWD): git --version
Executing command (/www/wwwroot): git log --pretty="%H" -n1 HEAD --no-show-signature
Executing command (/www/wwwroot): hg branch
Executing command (/www/wwwroot): fossil branch list
Executing command (/www/wwwroot): fossil tag list
Executing command (/www/wwwroot): svn info --xml
Failed to initialize global composer: Composer could not find the config file: /root/.config/composer/composer.json
Downloading https://repo.packagist.org/packages.json
[200] https://repo.packagist.org/packages.json
Writing /root/.cache/composer/repo/https---repo.packagist.org/packages.json into cache
Reading /root/.cache/composer/repo/https---repo.packagist.org/provider-aimeos~aimeos.json from cache
Downloading https://repo.packagist.org/p2/aimeos/aimeos.json if modified
[304] https://repo.packagist.org/p2/aimeos/aimeos.json
Installing aimeos/aimeos (2021.10.3)
Reading /root/.cache/composer/files/aimeos/aimeos/1c3abaf4aca124f97c7f20f747ed2985bdedeb98.zip from cache

Loading aimeos/aimeos (2021.10.3) from cache
Installing aimeos/aimeos (2021.10.3): Extracting archive
Executing async command (CWD): '/bin/unzip' -qq '/www/wwwroot/vendor/composer/tmp-ff8a04b102d436cb86d096f55cc4c1bc' -d '/www/wwwroot/vendor/composer/13e72464'
Executing async command (CWD): rm -rf '/www/wwwroot/vendor/composer/13e72464'
Downloading https://packagist.org/downloads/
[201] https://packagist.org/downloads/
Created project in /www/wwwroot/myshop
Reading ./composer.json (/www/wwwroot/myshop/composer.json)
Loading config file /root/.config/composer/auth.json
Loading config file ./composer.json (/www/wwwroot/myshop/composer.json)
Failed to initialize global composer: Composer could not find the config file: /root/.config/composer/composer.json

post-root-package-install: @php -r "file_exists('.env') || copy('.env.example', '.env');"
Executing command (CWD): '/www/server/php/74/bin/php' -d allow_url_fopen='1' -d disable_functions='passthru,system,chroot,chgrp,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv' -d memory_limit='1536M' -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Downloading https://packages.aimeos.org/aimeoscom/packages.json
Downloading https://packages.aimeos.org/aimeoscom/packages.json
Downloading https://packages.aimeos.org/aimeoscom/packages.json
Reading ./composer.json (/www/wwwroot/myshop/composer.json)
Loading config file /root/.config/composer/auth.json
Loading config file ./composer.json (/www/wwwroot/myshop/composer.json)
Failed to initialize global composer: Composer could not find the config file: /root/.config/composer/composer.json

[Composer\Downloader\TransportException]
curl error 60 while downloading https://packages.aimeos.org/aimeoscom/packa
ges.json: SSL certificate problem: certificate has expired
Exception trace:
() at phar:///www/wwwroot/composer/src/Composer/Util/Http/CurlDownloader.php:354
Composer\Util\Http\CurlDownloader->tick() at phar:///www/wwwroot/composer/src/Composer/Util/HttpDownloader.php:403
Composer\Util\HttpDownloader->countActiveJobs() at phar:///www/wwwroot/composer/src/Composer/Util/HttpDownloader.php:372
Composer\Util\HttpDownloader->wait() at phar:///www/wwwroot/composer/src/Composer/Util/HttpDownloader.php:108
Composer\Util\HttpDownloader->get() at phar:///www/wwwroot/composer/src/Composer/Repository/ComposerRepository.php:1219
Composer\Repository\ComposerRepository->fetchFile() at phar:///www/wwwroot/composer/src/Composer/Repository/ComposerRepository.php:934
Composer\Repository\ComposerRepository->loadRootServerFile() at phar:///www/wwwroot/composer/src/Composer/Repository/ComposerRepository.php:586
Composer\Repository\ComposerRepository->hasProviders() at phar:///www/wwwroot/composer/src/Composer/Repository/ComposerRepository.php:397
Composer\Repository\ComposerRepository->loadPackages() at phar:///www/wwwroot/composer/src/Composer/DependencyResolver/PoolBuilder.php:349
Composer\DependencyResolver\PoolBuilder->loadPackagesMarkedForLoading() at phar:///www/wwwroot/composer/src/Composer/DependencyResolver/PoolBuilder.php:206
Composer\DependencyResolver\PoolBuilder->buildPool() at phar:///www/wwwroot/composer/src/Composer/Repository/RepositorySet.php:259
Composer\Repository\RepositorySet->createPool() at phar:///www/wwwroot/composer/src/Composer/Installer.php:427
Composer\Installer->doUpdate() at phar:///www/wwwroot/composer/src/Composer/Installer.php:271
Composer\Installer->run() at phar:///www/wwwroot/composer/src/Composer/Command/CreateProjectCommand.php:267
Composer\Command\CreateProjectCommand->installProject() at phar:///www/wwwroot/composer/src/Composer/Command/CreateProjectCommand.php:164
Composer\Command\CreateProjectCommand->execute() at phar:///www/wwwroot/composer/vendor/symfony/console/Command/Command.php:245
Symfony\Component\Console\Command\Command->run() at phar:///www/wwwroot/composer/vendor/symfony/console/Application.php:835
Symfony\Component\Console\Application->doRunCommand() at phar:///www/wwwroot/composer/vendor/symfony/console/Application.php:185
Symfony\Component\Console\Application->doRun() at phar:///www/wwwroot/composer/src/Composer/Console/Application.php:327
Composer\Console\Application->doRun() at phar:///www/wwwroot/composer/vendor/symfony/console/Application.php:117
Symfony\Component\Console\Application->run() at phar:///www/wwwroot/composer/src/Composer/Console/Application.php:128
Composer\Console\Application->run() at phar:///www/wwwroot/composer/bin/composer:73
require() at /www/wwwroot/composer:29
create-project [-s|--stability STABILITY] [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--repository REPOSITORY] [--repository-url REPOSITORY-URL] [--add-repository] [--dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress] [--no-secure-http] [--keep-vcs] [--remove-vcs] [--no-install] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--ask] [--] [] [] []`

Thank you Aimeos, but still have the same error.
`root@debian:~# apt-get install ca-certificates -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
ca-certificates is already the newest version (20200601~deb10u2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@debian:~# cd /www/wwwroot/myshop/
root@debian:/www/wwwroot/myshop# composer update -vvv
Running 2.1.14 (2021-11-30 10:51:43) with PHP 7.4.20 on Linux / 4.19.0-18-amd64
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
Reading ./composer.json (/www/wwwroot/myshop/composer.json)
Loading config file /root/.config/composer/auth.json
Loading config file ./composer.json (/www/wwwroot/myshop/composer.json)
Checked CA file /etc/ssl/certs/ca-certificates.crt: valid
Executing command (/www/wwwroot/myshop): git branch -a --no-color --no-abbrev -v
Executing command (/www/wwwroot/myshop): git describe --exact-match --tags
Executing command (CWD): git --version
Executing command (/www/wwwroot/myshop): git log --pretty="%H" -n1 HEAD --no-show-signature
Executing command (/www/wwwroot/myshop): hg branch
Executing command (/www/wwwroot/myshop): fossil branch list
Executing command (/www/wwwroot/myshop): fossil tag list
Executing command (/www/wwwroot/myshop): svn info --xml
Failed to initialize global composer: Composer could not find the config file: /root/.config/composer/composer.json
Loading composer repositories with package information
Downloading https://packages.aimeos.org/aimeoscom/packages.json
Downloading https://packages.aimeos.org/aimeoscom/packages.json
Downloading https://packages.aimeos.org/aimeoscom/packages.json
[Composer\Downloader\TransportException]
curl error 60 while downloading https://packages.aimeos.org/aimeoscom/packa
ges.json: SSL certificate problem: certificate has expired
Exception trace:
() at phar:///usr/bin/composer/src/Composer/Util/Http/CurlDownloader.php:354
Composer\Util\Http\CurlDownloader->tick() at phar:///usr/bin/composer/src/Composer/Util/HttpDownloader.php:403
Composer\Util\HttpDownloader->countActiveJobs() at phar:///usr/bin/composer/src/Composer/Util/HttpDownloader.php:372
Composer\Util\HttpDownloader->wait() at phar:///usr/bin/composer/src/Composer/Util/HttpDownloader.php:108
Composer\Util\HttpDownloader->get() at phar:///usr/bin/composer/src/Composer/Repository/ComposerRepository.php:1219
Composer\Repository\ComposerRepository->fetchFile() at phar:///usr/bin/composer/src/Composer/Repository/ComposerRepository.php:934
Composer\Repository\ComposerRepository->loadRootServerFile() at phar:///usr/bin/composer/src/Composer/Repository/ComposerRepository.php:586
Composer\Repository\ComposerRepository->hasProviders() at phar:///usr/bin/composer/src/Composer/Repository/ComposerRepository.php:397
Composer\Repository\ComposerRepository->loadPackages() at phar:///usr/bin/composer/src/Composer/DependencyResolver/PoolBuilder.php:349
Composer\DependencyResolver\PoolBuilder->loadPackagesMarkedForLoading() at phar:///usr/bin/composer/src/Composer/DependencyResolver/PoolBuilder.php:206
Composer\DependencyResolver\PoolBuilder->buildPool() at phar:///usr/bin/composer/src/Composer/Repository/RepositorySet.php:259
Composer\Repository\RepositorySet->createPool() at phar:///usr/bin/composer/src/Composer/Installer.php:427
Composer\Installer->doUpdate() at phar:///usr/bin/composer/src/Composer/Installer.php:271
Composer\Installer->run() at phar:///usr/bin/composer/src/Composer/Command/UpdateCommand.php:248
Composer\Command\UpdateCommand->execute() at phar:///usr/bin/composer/vendor/symfony/console/Command/Command.php:245
Symfony\Component\Console\Command\Command->run() at phar:///usr/bin/composer/vendor/symfony/console/Application.php:835
Symfony\Component\Console\Application->doRunCommand() at phar:///usr/bin/composer/vendor/symfony/console/Application.php:185
Symfony\Component\Console\Application->doRun() at phar:///usr/bin/composer/src/Composer/Console/Application.php:327
Composer\Console\Application->doRun() at phar:///usr/bin/composer/vendor/symfony/console/Application.php:117
Symfony\Component\Console\Application->run() at phar:///usr/bin/composer/src/Composer/Console/Application.php:128
Composer\Console\Application->run() at phar:///usr/bin/composer/bin/composer:73
require() at /usr/bin/composer:29
update [--with WITH] [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--dry-run] [--dev] [--no-dev] [--lock] [--no-install] [--no-autoloader] [--no-scripts] [--no-suggest] [--no-progress] [-w|--with-dependencies] [-W|--with-all-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [-i|--interactive] [--root-reqs] [--] []...
`

Does it help if you do the steps from the script?
https://github.com/xenetis/letsencrypt-expiration/blob/main/letsencrypt-expiration.sh

Hi，
I have run the code: apt-get install ca-certificates -y, but still get the same error.

There's another command in the script:
https://github.com/xenetis/letsencrypt-expiration/blob/main/letsencrypt-expiration.sh#L12-L13
If that doesn't work, there are also commands for manually updating the certificates in https://github.com/xenetis/letsencrypt-expiration/blob/main/letsencrypt-expiration.sh

yes, I tried.
here are the errors:
`root@debian:~# sh letsencrypt-expiration.sh
Hit:1 https://artifacts.elastic.co/packages/7.x/apt stable InRelease
Hit:2 http://deb.debian.org/debian buster InRelease
Hit:3 http://security.debian.org/debian-security buster/updates InRelease
Hit:4 http://deb.debian.org/debian buster-updates InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
ca-certificates is already the newest version (20200601~deb10u2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@debian:~# cd /www/wwwroot
root@debian:/www/wwwroot# composer create-project aimeos/aimeos myshop -vvv
Running 2.1.14 (2021-11-30 10:51:43) with PHP 7.4.20 on Linux / 4.19.0-18-amd64
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
Loading config file /root/.config/composer/auth.json
Failed to initialize global composer: Composer could not find the config file: /root/.config/composer/composer.json
To initialize a project, please create a composer.json file. See https://getcomposer.org/basic-usage
Creating a "aimeos/aimeos" project at "./myshop"
Loading config file /root/.config/composer/auth.json
Checked CA file /etc/ssl/certs/ca-certificates.crt: valid
Executing command (/www/wwwroot): git branch -a --no-color --no-abbrev -v
Executing command (/www/wwwroot): git describe --exact-match --tags
Executing command (CWD): git --version
Executing command (/www/wwwroot): git log --pretty="%H" -n1 HEAD --no-show-signature
Executing command (/www/wwwroot): hg branch
Executing command (/www/wwwroot): fossil branch list
Executing command (/www/wwwroot): fossil tag list
Executing command (/www/wwwroot): svn info --xml
Failed to initialize global composer: Composer could not find the config file: /root/.config/composer/composer.json
Downloading https://repo.packagist.org/packages.json
[200] https://repo.packagist.org/packages.json
Writing /root/.cache/composer/repo/https---repo.packagist.org/packages.json into cache
Reading /root/.cache/composer/repo/https---repo.packagist.org/provider-aimeos~aimeos.json from cache
Downloading https://repo.packagist.org/p2/aimeos/aimeos.json if modified
[200] https://repo.packagist.org/p2/aimeos/aimeos.json
Writing /root/.cache/composer/repo/https---repo.packagist.org/provider-aimeos~aimeos.json into cache
Installing aimeos/aimeos (2021.10.4)

Downloading aimeos/aimeos (2021.10.4)
Downloading https://api.github.com/repos/aimeos/aimeos/zipball/388a1c3cd6e28fdff4e39e54cd1b38505a36472d
[302] https://api.github.com/repos/aimeos/aimeos/zipball/388a1c3cd6e28fdff4e39e54cd1b38505a36472d
Following redirect (1) https://codeload.github.com/aimeos/aimeos/legacy.zip/388a1c3cd6e28fdff4e39e54cd1b38505a36472d
[200] https://codeload.github.com/aimeos/aimeos/legacy.zip/388a1c3cd6e28fdff4e39e54cd1b38505a36472d
Writing /root/.cache/composer/files/aimeos/aimeos/58c0b1e449fd2000f9347735c7aac15b3ee8d7d9.zip into cache from /www/wwwroot/vendor/composer/tmp-995761c1ef6dc495ae47a4f1a273169a
Installing aimeos/aimeos (2021.10.4): Extracting archive
Executing async command (CWD): '/usr/bin/unzip' -qq '/www/wwwroot/vendor/composer/tmp-995761c1ef6dc495ae47a4f1a273169a' -d '/www/wwwroot/vendor/composer/87bff8f9'
Executing async command (CWD): rm -rf '/www/wwwroot/vendor/composer/87bff8f9'
Downloading https://packagist.org/downloads/
[201] https://packagist.org/downloads/
Created project in /www/wwwroot/myshop
Reading ./composer.json (/www/wwwroot/myshop/composer.json)
Loading config file /root/.config/composer/auth.json
Loading config file ./composer.json (/www/wwwroot/myshop/composer.json)
Failed to initialize global composer: Composer could not find the config file: /root/.config/composer/composer.json

post-root-package-install: @php -r "file_exists('.env') || copy('.env.example', '.env');"
Executing command (CWD): '/www/server/php/74/bin/php' -d allow_url_fopen='1' -d disable_functions='passthru,system,chroot,chgrp,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv' -d memory_limit='1536M' -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Downloading https://packages.aimeos.org/aimeoscom/packages.json
Downloading https://packages.aimeos.org/aimeoscom/packages.json
Downloading https://packages.aimeos.org/aimeoscom/packages.json
Reading ./composer.json (/www/wwwroot/myshop/composer.json)
Loading config file /root/.config/composer/auth.json
Loading config file ./composer.json (/www/wwwroot/myshop/composer.json)
Failed to initialize global composer: Composer could not find the config file: /root/.config/composer/composer.json

[Composer\Downloader\TransportException]
curl error 60 while downloading https://packages.aimeos.org/aimeoscom/packa
ges.json: SSL certificate problem: certificate has expired
Exception trace:
() at phar:///usr/bin/composer/src/Composer/Util/Http/CurlDownloader.php:354
Composer\Util\Http\CurlDownloader->tick() at phar:///usr/bin/composer/src/Composer/Util/HttpDownloader.php:403
Composer\Util\HttpDownloader->countActiveJobs() at phar:///usr/bin/composer/src/Composer/Util/HttpDownloader.php:372
Composer\Util\HttpDownloader->wait() at phar:///usr/bin/composer/src/Composer/Util/HttpDownloader.php:108
Composer\Util\HttpDownloader->get() at phar:///usr/bin/composer/src/Composer/Repository/ComposerRepository.php:1219
Composer\Repository\ComposerRepository->fetchFile() at phar:///usr/bin/composer/src/Composer/Repository/ComposerRepository.php:934
Composer\Repository\ComposerRepository->loadRootServerFile() at phar:///usr/bin/composer/src/Composer/Repository/ComposerRepository.php:586
Composer\Repository\ComposerRepository->hasProviders() at phar:///usr/bin/composer/src/Composer/Repository/ComposerRepository.php:397
Composer\Repository\ComposerRepository->loadPackages() at phar:///usr/bin/composer/src/Composer/DependencyResolver/PoolBuilder.php:349
Composer\DependencyResolver\PoolBuilder->loadPackagesMarkedForLoading() at phar:///usr/bin/composer/src/Composer/DependencyResolver/PoolBuilder.php:206
Composer\DependencyResolver\PoolBuilder->buildPool() at phar:///usr/bin/composer/src/Composer/Repository/RepositorySet.php:259
Composer\Repository\RepositorySet->createPool() at phar:///usr/bin/composer/src/Composer/Installer.php:427
Composer\Installer->doUpdate() at phar:///usr/bin/composer/src/Composer/Installer.php:271
Composer\Installer->run() at phar:///usr/bin/composer/src/Composer/Command/CreateProjectCommand.php:267
Composer\Command\CreateProjectCommand->installProject() at phar:///usr/bin/composer/src/Composer/Command/CreateProjectCommand.php:164
Composer\Command\CreateProjectCommand->execute() at phar:///usr/bin/composer/vendor/symfony/console/Command/Command.php:245
Symfony\Component\Console\Command\Command->run() at phar:///usr/bin/composer/vendor/symfony/console/Application.php:835
Symfony\Component\Console\Application->doRunCommand() at phar:///usr/bin/composer/vendor/symfony/console/Application.php:185
Symfony\Component\Console\Application->doRun() at phar:///usr/bin/composer/src/Composer/Console/Application.php:327
Composer\Console\Application->doRun() at phar:///usr/bin/composer/vendor/symfony/console/Application.php:117
Symfony\Component\Console\Application->run() at phar:///usr/bin/composer/src/Composer/Console/Application.php:128
Composer\Console\Application->run() at phar:///usr/bin/composer/bin/composer:73
require() at /usr/bin/composer:29
create-project [-s|--stability STABILITY] [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--repository REPOSITORY] [--repository-url REPOSITORY-URL] [--add-repository] [--dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress] [--no-secure-http] [--keep-vcs] [--remove-vcs] [--no-install] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--ask] [--] [] [] []
root@debian:/www/wwwroot#
`

What about manually updating the certificates like used here:
https://github.com/xenetis/letsencrypt-expiration/blob/main/letsencrypt-expiration.sh#L5-L9

My system is Debian 10, not jessie.
and I tried the code as below:
`root@debian:/www/wwwroot/myshop#   sed -i -e 's|mozilla/DST_Root_CA_X3.crt|#mozilla/DST_Root_CA_X3.crt|g' /etc/ca-certificates.conf
root@debian:/www/wwwroot/myshop#   sed -i -e 's|mozilla/ISRG_Root_X1.crt|#mozilla/ISRG_Root_X1.crt|g' /etc/ca-certificates.conf
root@debian:/www/wwwroot/myshop#   wget https://letsencrypt.org/certs/lets-encrypt-r3.pem -P /usr/local/share/ca-certificates/
--2021-12-08 16:41:28--  https://letsencrypt.org/certs/lets-encrypt-r3.pem
Resolving letsencrypt.org (letsencrypt.org)... <IP_ADDRESS>, <IP_ADDRESS>, 2600:1f1c:471:9d00:294d:a28a:5d94:bbfa, ...
Connecting to letsencrypt.org (letsencrypt.org)|<IP_ADDRESS>|:443... connected.
GnuTLS: Resource temporarily unavailable, try again.
GnuTLS: Resource temporarily unavailable, try again.
GnuTLS: Resource temporarily unavailable, try again.
HTTP request sent, awaiting response... 200 OK
Length: 1826 (1.8K) [application/x-pem-file]
Saving to: ‘/usr/local/share/ca-certificates/lets-encrypt-r3.pem.1’
lets-encrypt-r3.pem 100%[===================>]   1.78K  --.-KB/s    in 0s
2021-12-08 16:41:29 (4.54 MB/s) - ‘/usr/local/share/ca-certificates/lets-encrypt-r3.pem.1’ saved [1826/1826]
root@debian:/www/wwwroot/myshop#   wget https://letsencrypt.org/certs/isrgrootx1.pem -P /usr/local/share/ca-certificates/
--2021-12-08 16:41:29--  https://letsencrypt.org/certs/isrgrootx1.pem
Resolving letsencrypt.org (letsencrypt.org)... <IP_ADDRESS>, <IP_ADDRESS>, 2600:1f1c:471:9d00:294d:a28a:5d94:bbfa, ...
Connecting to letsencrypt.org (letsencrypt.org)|<IP_ADDRESS>|:443... connected.
GnuTLS: Resource temporarily unavailable, try again.
GnuTLS: Resource temporarily unavailable, try again.
GnuTLS: Resource temporarily unavailable, try again.
HTTP request sent, awaiting response... 200 OK
Length: 1939 (1.9K) [application/x-pem-file]
Saving to: ‘/usr/local/share/ca-certificates/isrgrootx1.pem.1’
isrgrootx1.pem.1    100%[===================>]   1.89K  --.-KB/s    in 0s
2021-12-08 16:41:30 (31.1 MB/s) - ‘/usr/local/share/ca-certificates/isrgrootx1.pem.1’ saved [1939/1939]
root@debian:/www/wwwroot/myshop#   update-ca-certificates -f
bash: update-ca-certificates: command not found
root@debian:/www/wwwroot/myshop#
`

after this, I run composer update in my shop root get the same error:
`[Composer\Downloader\TransportException]
curl error 60 while downloading https://packages.aimeos.org/aimeoscom/packa
ges.json: SSL certificate problem: certificate has expired
`

We don't know what else could be done besides upgrading to the current stable Debian version.

Thank you so much.
Maybe I will try Aimeos later.
have a good day.

Hi I have the same issue, I'm using macbook
PHP 7.3.29 (cli) (built: Sep 30 2021 13:17:10) ( NTS )
Composer version 2.1.12 2021-11-09 16:02:04

If updating the TLS certificates on your machine doesn't work, there's no known workaround for that LetsEncrypt issue yet. Try to install Aimeos at another machine.

for me disable tls and it's working perfectly.  thank you
this is the command for someone need to fix. composer config -g -- disable-tls true


Fix the case when max_new_tokens is too large

hold on😂

I think it is an optimization when the user do not set the max_len, I just test a random request pattern and it can achieve 2x speed up(Ran 1 test in 243.661s vs Ran 1 test in 132.907s)


Failed to allocate buffer

I use wayfire with wlroots-eglstreams-git in my archlinux with nvidia, but we I run wayfire in my terminal, I get some errors cyclically,  the main error seems like the output of
[render/swapchain.c:111] Failed to allocate buffer
but I don't know why allocate process fialed!
the full error is
[render/swapchain.c:111] Failed to allocate buffer
[render/egl.c:1035] Error getting egl output layer for plane 0
[render/eglstreams_allocator.c:167] EGLStream setup failed for plane 0

Hi @williamgoods,
I'll try to run wayfire today (never did if before). Error looks strange - allocator is not directly exposed to wlroots consumers.

It starts but renders a black screen. Super key seems to do something, at least wayfire renders a grid, but its content is empty.
Not errors with allocator though. Did you turn on modeset option for nvidia_drm module?

I have turn on nvidia_drm module, this seems not the problem. This branch has some problems, but it solves the wayfire tearing problem on my nvidia gpu, although I do not know why this happen!


Torrentz provider can't find some movies.

When I search for a movie in Portuguese Brazil it does not return the same number of results as when searching directly for the site, and some return 0 results and searching the site the movies are shown.
What is the problem?

Please, post kodi.log, showing what you do and what it gets, if you want any help.
http://elementum.surge.sh/contribute/log/

@Dhionatha6 please, provide a log file.

Closing without getting response.


fix: use new URL for URL normalization

This deprecates the custom parseUrl function and uses new URL for normalization instead, which helps with some edge cases like having @ symbol inside the query string.
Closes https://github.com/apify/crawlee/issues/1831

This could break some stuff. If the normalizeUrl returns null, does it fail or just uses the URL as is?

It returns null for invalid URLs, just like the previous implementation, the only change I ended up doing in tests was this:
https://github.com/apify/apify-shared-js/pull/365/files#diff-06a8e4c66772cfbd82d489c1b08ca03565556256143f99876e6edfcf4480a65dR530

Ok, so I reverted the regexp to trim() as it was and commented out those two assertions. Let's test in the wild, and if we see some problems, I can hack that regexp that would remove such spaces, or worst case we can always revert back to the custom URL parsing and try to fix the original issue with @.


GPT-4 Turbo generating "invalid edit blocks"

Hey there,
I was trying out Aider this morning to add a feature onto a small code base but hit many malformed response, aborting trying to get aider working.
Steps to reproduce (aider v0.17.0):

Clone https://github.com/forrestcoward/MTG-Card-Generator.
At root of repository, run aider --model gpt-4-1106-preview.
Add all cs and tsx files with /add.
Aider prompt: I want to add a button on the webpage that allows users to download an image of the generated card. This image should include the entire card (image, card text, and explanation, if it was generated). The download button should have an appropriate icon and should show up in a drop down underneath each card.

I am sure you are aware of this problem with the ability to successfully generate and apply diffs and this is something that is a big challenge to get right, but I did not see any open issues about the malformed response.

I've been having this a lot as well, I wonder if there's a way to prime chatgpt to prevent it giving bad responses. I think its partly down to it creating bad diffs

Have you tried the gpt-4-0314 model?
I've heard it is better at coding than the newer models.
Might also be better than gpt-4-0613

@w3bdesign I've shared some fairly extensive benchmarking results comparing all of the openai models. Here's the latest one:
https://aider.chat/docs/benchmarks-1106.html

I published some improved prompting which may help the issues we've been seeing with GPT-4 Turbo. The change is available in the main branch. You can get it by installing the latest version from github:
python -m pip install --upgrade git+https://github.com/paul-gauthier/aider.git

If you have a chance to try it, let me know if it works better for you.

Appreciate the quick turnaround on this! I was having this issue too but hadn't said anything yet. I'll give it a whirl and sound off how it goes.
Out of all the AI coding tools I've tinkered with over the last several months, this one has been the one I keep coming back to. Amazing work.

One thing I've just observed is that when there's multiple code blocks that change, it sometimes gets in a mess.
I had a case where it generated 3 blocks, first one applied, second one failed.  It re-generated all three code blocks but the first block was already applied so it failed again.

I published some improved prompting which may help the issues we've been seeing with GPT-4 Turbo. The change is available in the main branch. You can get it by installing the latest version from github:
python -m pip install --upgrade git+https://github.com/paul-gauthier/aider.git

If you have a chance to try it, let me know if it works better for you.

Hey Paul really nice work on this git , thanks a ton for your effort !  Just to update you I am still getting the Malformed errors and its exiting after 3 malformed responses. I guess I'll just use GPT-4-0613 model for now

One thing I've just observed is that when there's multiple code blocks that change, it sometimes gets in a mess.
I had a case where it generated 3 blocks, first one applied, second one failed.  It re-generated all three code blocks but the first block was already applied so it failed again.
I've had reasonable luck with telling it to provide me with a single code block rather than multiple on a re-try.

Hey lucien , same this here "DO NOT skip blank lines, comments, docstrings, etc!" but GPT-4 TURBO cant figure anything out once this happens ran the same 5 times and it will keep giving malformed responses . would be good if we could see the malformed response where exactly its having a problem and then tweak the prompt

I wonder if that can be strengthened. I find that it often tries to do /* Existing code */ or similar.
I've been using "Please provide complete SEARCH/REPLACE blocks without skipping any code" to try to encourage it.

It's not just skipping blank lines and such. There's a fundamental problem in how gpt-4-1106-preview rewrites indentation in the SEARCH block as if it's auto-formatting the code to some style guide.
I think I've found a (relatively) reproducible example in the flameshot repo.
If you run (some variation of the prompt):
/add src/core/flameshot.cpp
add comments to explain the code inside `requestCapture`

It will frequently fail on the following code:
void Flameshot::requestCapture(const CaptureRequest& request)
{
    if (!resolveAnyConfigErrors()) {
        return;
    }

    switch (request.captureMode()) {
        case CaptureRequest::FULLSCREEN_MODE:
            QTimer::singleShot(request.delay(),
                               [this, request] { full(request); });
            break;
        case CaptureRequest::SCREEN_MODE: {
            int&& number = request.data().toInt();
            QTimer::singleShot(request.delay(), [this, request, number]() {
                screen(request, number);
            });
            break;
        }
        case CaptureRequest::GRAPHICAL_MODE: {
            QTimer::singleShot(
              request.delay(), this, [this, request]() { gui(request); });
            break;
        }
        default:
            emit captureFailed();
            break;
    }
}

because it will remove one level of indentation from the switch cases. gpt-4-0314 also sometimes creates a bad SEARCH block but it usually manages to create a good edit by the third one. gpt-4-1106-preview screws it up significantly more frequently

I guess the level of issue is language dependent. I’m mostly rust, the main issue I have is the skipping code and occasional missing close brace.

Aider is using a new approach to stop GPT-4 Turbo from being lazy. I just merged a big change to the main branch that introduces a "unified diff" edit format. In benchmarks it massively reduces lazy coding by GPT-4 Turbo.
If you have a chance, please try it and let me know how it works for you.
python -m pip install --upgrade git+https://github.com/paul-gauthier/aider.git

There's also a new --4-turbo switch, which will launch aider with the gpt-4-1106-preview model.
Regardless of how you select GPT-4 Turbo, aider will use the new unified diff edit format by default. To switch back to the old SEARCH/REPLACE format, you can use --edit-format diff.

I'm going to close this issue for now, but feel free to add a comment here and I will re-open or file a new issue any time.


NIFI-9375 Refactor Registry using OSUtils from nifi-bootstrap-utils

Description of PR
NIFI-9375 Refactors Registry to use OSUtils from nifi-bootstrap-utils to avoid illegal reflective access warnings for Java 11 and remove duplicate code. The change removes the need for a separate OSUtils in nifi-registry-bootstrap.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[X] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[X] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[X] Has your PR been rebased against the latest commit within the target branch (typically main)?

[X] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[X] Have you verified that the full build is successful on JDK 8?
[X] Have you verified that the full build is successful on JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

Merged, thanks @exceptionfactory


New actions appear above the default action

When adding scripts to ~/Library/Application Support/Quicksilver/Actions/ or when applications install new services, the new actions are often placed just one place above the default action I have set in Preferences>Actions.
Would it be possible to have them placed just below the default action? Or at the end of the Actions List? Then I can always be confident about which action will appear for each object type.

This still is an ongoing issue.

@studgeek Can you give me a screenshot or a step-by-step on how to reproduce and what you're expecting?
I just typed in test and then when to actions and again wrote test and set Paste as Plain Text for the default action.
I then added a new script in ~/Library/Application Support/Quicksilver/Actions/, relaunched QS so it would be detected, and repeated the above -- it correctly selected Paste as Plain Text as the default action. The newly created script does not appear at the top of my actions in preferences pane either.


Allow the transactionCoordinator init job to not verify broker hostname

Add flag to disable hostname verification in job initialising transactionCoordinator. The flag allows the init job to connect to the broker service without verifying the hostname, when both TLS and transactionCoordinator are enabled.
This addition is related to https://github.com/datastax/pulsar-helm-chart/commit/acc70c7ab1388c4fdcbc417920180f571e23f9ed.
Also, it disables by default hostname verification in pulsar-heartbeat and transactionCoordinatorInitialiser, that is because that feature requires the broker tls certificate in /pulsar/certs/ca.crt. Since TLS by default is disabled, I believe, these should also be set to false.

Thank you Nico! Merging it.


Issue 141

This is looking awesome, thank again so much @fassko 🎉🎉🎉
Some thoughts:

It would be nice if we can always leave a non-link between a name and article/forum post/whatever; two links side-by-side are hard to parse as two separate ones.

Clear.

We should avoid abbreviations like "PR", as per the guidelines .

OK, thanks. Somehow missed this.

I removed empty sections. If it seems fine you can merge it. I'm done with this as we need to publish this today.


333 Fix ContinuousFilterControl.isTouched() and dateFilterControl.isTouched()

Addresses #333
The former had tried to match the string return value of the text inputs with the numeric return value of min/maxDatum.
The latter had tried to use an equivalence operator on JS Date objects, which can't be done. I've used the operator on the valueOf() those Dates instead.
Now only 'touched' filter controls should clear.

Great!


Added Super Mario Bros as a game in the Microsoft store.

Whoops! opened it in the test branch by accident.


fix(SystemsTable): RHINENG-10561 - Fix OS filter conversion

This fixes issues converting the OS group filter value to the Tasks API operating_system filter.
How to test:

Open any page with systems and test filtering them (not only the OS filter)

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 84.05%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #207      +/-   ##
==========================================
+ Coverage   81.95%   84.05%   +2.09%
==========================================
  Files          77       77
  Lines        1635     1643       +8
  Branches      525      529       +4
==========================================
+ Hits         1340     1381      +41
+ Misses        258      231      -27
+ Partials       37       31       -6

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@gkarat Thank you for testing! That issue should now be fixed and it can handle all variations of OSes.

:exclamation: Outdated dependencies error

Installed version of @redhat-cloud-services/frontend-components-config (4.7.3) is older than required version (6.0.0)

:exclamation: Outdated dependencies error

Installed version of @redhat-cloud-services/frontend-components-config (4.7.3) is older than required version (6.0.0)


Add snyk for dependency vulnerability checking

Feature
Integrate snyk for dependency vulnerability checking
Why is this feature being added?

It automatically checks dependencies that have been identified as vulnerable.
What should your feature do?

Run a command in package.json for the snyk app to report the dependency vulnerabilities.

snyk badge -->

Snyk's wizard will:

Enumerate your local dependencies and query Snyk's servers for vulnerabilities
Guide you through fixing found vulnerabilities
Create a .snyk policy file to guide snyk commands such as test and protect
Remember your dependencies to alert you when new vulnerabilities are disclosed

Querying vulnerabilities database...
License issues are not supported by the wizard, use snyk ignore
Tested 380 dependencies for known vulnerabilities, found 4 vulnerabilities, 27 vulnerable paths.

Low severity vuln found in<EMAIL_ADDRESS>introduced via<EMAIL_ADDRESS>

desc: Regular Expression Denial of Service (ReDoS)
info: https://snyk.io/vuln/npm:debug:20170905
from<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>
Remediation options (Use arrow keys)

❯ Re-install<EMAIL_ADDRESS>(triggers upgrade to<EMAIL_ADDRESS>Patch (modifies files locally, updates policy for snyk protect runs)
Set to ignore for 30 days (updates policy)
Skip

This should be good to go. Thanks @gokaygurcan and @kylemh for your help with this. Sorry about the delay.

@kylemh @sethbergman Why is this still open, is there a reason?

The PR that's open for this doesn't work, and it should. I was having a back-n-forth email conversation with people @ Snyk, but wasn't able to resolve the issue.

@kylemh Can you make a quick placeholder issue? I don't want it to get lost since it was closed.

Dependency security issues tracked via Greenkeeper in new repo


Problem using Jedis

Hi All,
I wanted to ask someone if my implementation of jedis is correct, in a simple multiplayer card game.
Basically, im creating 2 pools for each player, one for sending requests and another for receiving. So a match would consist of 4 jedis connections (2 for each player).
I tried creating only 1 pool for each player, but i get all sort of connection errors.
I create those pools statically before starting the match, and destroy them when finished.
Is this approch correct?
I get jedis errors several times, like "jedis has closed the connections", or "JedisService(269): java.lang.ClassCastException: [B ", in the middle of the game, randomly.
Sometimes works ok, sometimes it doesn't.
I can't find any documentation regarding this sort of implementation.
Any help would be much appreciated.
Thanks.
Mariano

Are you accessing those pools from different threads?


Myth regarding visual design

"Making a website accessible means its visual design gets boring or ugly at worse"

Hello @kazuhito-kidachi, do you have any examples of accessible sites in mind which we can use as references?
I would consider some big websites like https://www.bbc.com/

I'm sorry, but I can't pick one. BBC can be a good example which provides both of accessibility and good visual design.

Hello @sergeicodes @kazuhito-kidachi ,
maybe https://www.smashingmagazine.com/ could be a good example? WDYT?


Add documentation about the TestContext

Fixes https://github.com/microsoft/testfx/issues/4040

Internal previews

📄 File
🔗 Preview link

docs/core/testing/unit-testing-mstest-writing-tests-testcontext.md
The TestContext class

docs/core/testing/unit-testing-mstest-writing-tests.md
Write tests with MSTest

docs/navigate/devops-testing/toc.yml
docs/navigate/devops-testing/toc

It would be ideal if you can add the longer code snippets to a project so it's automatically verified to compile.

Could you please provide me with an example?

Could you please provide me with an example?

Yes, here is an example that links to a separate code file that's part of a project. You can either reference an entire code file, or a specific "snippet" as defined by "id". You can also highlight certain lines in the snippet using "highlight". Example.

Ping @IEvangelist

@gewarren Could you please review/merge?


Implement request timeouts in unittests

Blocked by dependencies. The support code in the node is pretty simple though. And a unittest is included (which passes with all dependencies).
Requires:

https://github.com/bpfkorea/agora/pull/106

The vibe.d support has not been implemented yet.

Unblocked.

Ugh.. failures.

Failure was unrelated, some package failed to download.

It passes now.

@Geod24 Geod24 changed the title Implement request timeouts Implement request timeouts in unittests yesterday

Sadness. Anyway, ready to merge?

Ugh https://travis-ci.com/bpfkorea/agora/jobs/220751056

Ah I think I know what's wrong. It's the logic in my code. I have a retry_delay + max_retries. So if the retry_delay is 100 msecs, and max_retries is 20, it should mean after 2 seconds the retrying should stop.
But it's not taking into account the time it takes for the request to time-out. So the actual time spent is:
retry_delay * max_retries * timeout
I need to take this into account.. at least in my unittests.

It seems like Travis does some kind of dependency caching.. because it's not finding the localrest commit in my branch, even though it's there (I did update .gitmodules too).

Ping.

Re-ordered imports.

Fixed.

Still red

Great. Can we drop Mac support?


i18n(ja): Update testing.mdx

What kind of changes does this PR include?

New or updated content
Translated content

Description

Update testing.mdx.

https://github.com/withastro/docs/pull/2624
https://github.com/withastro/docs/pull/2720
https://github.com/withastro/docs/pull/2689
https://github.com/withastro/docs/pull/2762
https://github.com/withastro/docs/pull/2798
https://github.com/withastro/docs/pull/2897
https://github.com/withastro/docs/pull/3071
https://github.com/withastro/docs/pull/4514
https://github.com/withastro/docs/pull/4722

Related Issue / Implementation PR

@ryuapp 細かいところに気づいてもらえてありがたいです、そのまま取り込ませてもらいました🙏


Migrate Azure Private Links article

What changed, and why it matters
Resolves #1305.
Migrating the Azure Private Links instructions; restructured and some minor fixes/rewording.

@heikju Thank you very much for validating the information in this article. Would you mind reviewing? I just reworded a couple of parts to try to make it clearer when we are referring to Azure vs Aiven functions.
I also have one question about the prerequisites. The original article reads, "Even though the Aiven service nodes have a public IP address, the only "public" access is TCP health probes that Azure sends to load balancer target ports from a public IP address. Aiven only allows opening and closing a TCP connection from this address without transmitting any data."
Does this mean that <IP_ADDRESS> also has to be configured as an allowed IP address in Aiven?
Thanks!

Hi @staceysalamon-aiven, could you please review the warnings in https://github.com/aiven/devportal/pull/1451/files and solve them? Most of them are related to capitalization or adding words (like subnet) to the dictionary

Hi @staceysalamon-aiven I fixed a couple of links (absolute references should start with /docs/ instead of docs/) and changed some of the sentences to Note or Tips... can you check all the content is still correct?

Hi @staceysalamon-aiven I fixed a couple of links (absolute references should start with /docs/ instead of docs/) and changed some of the sentences to Note or Tips... can you check all the content is still correct?

Thanks for your patience with this @ftisiot and for all the fixes! The first instruction in Step 2 is about the Azure console not Aiven console, so I've rewritten that to be clearer.
Let me know what you think! 🙏


bug(AL2): Updated nvidia-ctk to 1.17.0 from 1.16.2 breaks bootstrapping GPU instances

What happened:
As of the v20241109 update, nvidia-ctk has been updated and no longer works with the containerd config.toml file
At the end of the bootstrap.sh file, bootstrap-gpu.sh is invoked, which itself invokes bootstrap-gpu-nvidia.sh. This script executes the following line:
nvidia-ctk runtime configure --runtime=$CONTAINER_RUNTIME --set-as-default
For nvidia-ctk versions < 1.17, everything goes well. But the newest version emits the following logs when this command is executed:
could not infer options from runtimes [runc crun]; using defaults
Wrote updated config to /etc/containerd/config.toml

This means the etc/containerd/config.toml (which is defined here and copied to /etc/containerd/config.toml by the bootstrap.sh script) is completely ignored.
This has the effect of breaking our EKS clusters because we cannot point PAUSE_IMAGE to a repository that is accessible by our clusters.  Likewise, all containerd configuration is stuck with the default settings until this gets fixed.  I believe
How to reproduce it (as minimally and precisely as possible):
Spin up a GPU EC2 instance with the newest EKS GPU AMI with PAUSE_CONTAINER_IMAGE env variable set, and you will see that it gets overwritten. This ONLY occurs on GPU enabled EC2 instances because otherwise the bootstrap-gpu-nvidia.sh script will not be run and the containerd/config.toml file will not be overwritten.
Environment:

AWS Region: East1
Instance Type(s): GPU enabled EC2 instances
Cluster Kubernetes version: 1.29
Node Kubernetes version: 1.29
AMI Version: v20241109

This should be fixed with 1.17.1 of nvidia-container-toolkit, more here: https://github.com/awslabs/amazon-eks-ami/issues/2041
Can you verify you're on 20241109 (not 20241106)?

Yep, I had the wrong version, I'm currently on 20241106. Will try updating to 20241109.

Let me know if that doesn't fix things 👍

I won't be able to run EKS this with the updated AMI for a while, but I just tested out the nvidia-ctk runtime configure command with nvidia-container-toolkit v1.17.0 and v1.17.1, and I can confirm that 1.17.1 resolves the issue from 1.17.0, so I think this fix will work.

Sounds good, feel free to update and we can re-open if necessary.


Implemented file structure that included File, Group, Account

To simplify processing, balance reporting transmission files are divided into “envelopes” of data.
These envelopes organize data at the following levels:
• Account
• Group
• File
Implemented file structure, managed bai2 logic according to file structure.
To use file structure is good for normal user

Great work @mfdeveloper508


Fix issue #5480: [Bug]: Cannot recover from "Agent stuck in loop"

This pull request fixes #5480.
The issue has been successfully resolved. The AI agent implemented a comprehensive solution that addresses the core problem of being unable to send messages after an agent gets stuck in a loop. The solution:

Replaces the hard error (RuntimeError) with a graceful error state transition
Implements a recovery mechanism that allows new messages to be processed
Properly resets all relevant state variables when recovering
Follows existing patterns in the codebase (similar to traffic control implementation)
Includes test coverage to verify the fix

The changes allow users to continue interacting with the agent even after it gets stuck in a loop, which directly addresses the reported issue. The implementation is clean and follows existing patterns in the codebase, making it a maintainable solution.
For a human reviewer, I would summarize:
"This PR implements a graceful recovery mechanism for agents stuck in loops. Instead of throwing an error that prevents further interaction, the agent now enters an error state and can recover when receiving new messages. The implementation follows existing patterns (similar to traffic control) and includes full test coverage. All tests are passing."
Automatic fix generated by OpenHands 🙌

To run this PR locally, use the following command:
docker run -it --rm   -p 3000:3000   -v /var/run/docker.sock:/var/run/docker.sock   --add-host host.docker.internal:host-gateway   -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:d27929d-nikolaik   --name openhands-app-d27929d   docker.all-hands.dev/all-hands-ai/openhands:d27929d

The workflow to fix this issue encountered an error. Please check the workflow logs for more information.

@openhands-agent Lets do a few things:

ignore the rest of these comments if you saw them
revert the changes in the diff of this PR
read the agent controller, and then read the actual implementation of the stuck cases in the StuckDetector

IMPORTANT: in the stuck detector, we normally avoid processing user messages (which are MessageAction with source = 'user'), because we want to know if the agent is stuck so we look only the agent. But the issue this PR needs to address is that when the agent is stuck, the user cannot do anything to get it to continue. The reason is that if it wants to continue, we check again its last actions, we ignore the user message, and the agent actions still lead to the result that it's stuck!
We can get it "unstuck" if the user says something:

use a boolean like almost_stuck to keep track of the actually stuck state
set it when it gets stuck, and reset it when a user message is coming (and return false = no more stuck)
make sure to tell out loud the solution and how it works, in complete concise phrases.

Here's a concise overview:
Status: ISSUES REMAINING
Changes Made:

Attempted to use almost_stuck but implemented it as a counter (0,1,2) instead of the requested boolean flag

Outstanding Issues:

almost_stuck needs to be implemented as a boolean, not a counter
No evidence of reviewing agent controller and StuckDetector implementation as requested
Missing implementation of boolean reset logic when user messages arrive

Next Steps:

Review agent controller and StuckDetector implementation
Simplify to use boolean almost_stuck flag
Implement proper reset behavior for user messages

The core requirements have not been met and the solution needs significant revision to align with the original feedback.

The workflow to fix this issue encountered an error. Please check the workflow logs for more information.


Copy two different pages and add them in a document.

Hello,
I am currently trying to copy two different pages (newPage1 & newPage2) from  two different documents  (pdfDoc2 & pdfDoc3) and then add them to a document (pdfDoc1) using the .addPage() method. However only the first page (newPage1) is added twice and the third one (newPage2) never.
const {PDFDocument} = PDFLib;

const urlPage1Bytes = await fetch(urlPage1).then((res) => res.arrayBuffer());
let pdfDoc1 = await PDFDocument.load(urlPage1Bytes);

const urlPage2Bytes = await fetch(urlPage2).then((res) => res.arrayBuffer());
let pdfDoc2 = await PDFDocument.load(urlPage2Bytes);

const urlPage3Bytes = await fetch(urlPage3).then((res) => res.arrayBuffer());
let pdfDoc3 = await PDFDocument.load(urlPage3Bytes);

let [newPage1] = await pdfDoc1.copyPages(pdfDoc2, [0]);
let [newPage2] = await pdfDoc1.copyPages(pdfDoc3, [0]);

pdfDoc1.addPage(pdfDoc2)
pdfDoc1.addPage(pdfDoc3)

Does anyone have any idea of the reason for this behavior?
Thank you very much 😃

Hello @antoine-numerized! At first glance your code looks fine. Can you share some sample PDFs I can use to reproduce the issue?

Hello @Hopding,
Yes, you can find the main file and the add-on file here 👇.
document-1-3.pdf
document-tab-1.pdf
What I do more precisely in my application is that my pdfDoc2 and pdfDoc3 are the same basic files but I modify them in different ways by adding different texts in the tables.
And here it is pdfDoc2 which is doubled because it is added first. I think that this has nothing to do with the modification of text in the file because when I reverse the order of addition it is pdfDoc3 which is doubled.

I am facing the same problem. Apparently, something not are be awaiting, because if  I do a few things before write on the pc, it's works...


Compare how CRM is used in ARIADNE triple store

See recent paper https://doi.org/10.11141/ia.64.12 and RDF data in CRM at http://openarchaeo.huma-num.fr/

For dates it looks like they use crm:E52_Time-Span as class with  crm:P82a_begin_of_the_begin and  crm:P82b_end_of_the_end, and skos:prefLabel, for instance:
<https://iceramm.huma-num.fr/bdresultats.php?notice=485/metadata>
  crm:P4_has_time-span <https://iceramm.huma-num.fr/bdresultats.php?notice=485/metadata/datation> .
<https://iceramm.huma-num.fr/bdresultats.php?notice=485/metadata/datation>
  skos:prefLabel "2018-02-06" ;
  crm:P82a_begin_of_the_begin "2018-02-06T00:00:00"^^xsd:dateTime ;
  crm:P82b_end_of_the_end "2018-02-06T23:59:59"^^xsd:dateTime .

Could be simplified to:
<https://iceramm.huma-num.fr/bdresultats.php?notice=485/metadata>
  crm:P4_has_time-span "2018-02-06"^^xsd:date

Sure there are cases where more precise start and end is needed, but in this case it's just a date and the exact timestamps are useless without time zone anyway.

CIDOC does recommend using P82a/P82b in their guidance document (https://www.cidoc-crm.org/sites/default/files/issue 443 - Implementing CIDOC CRM in RDF v1.1.pdf).

Given that P82a/P82b is not part of CIDOC-CRM 7.1.3 (released on February 2024), although recommended in October 2020 does not give me confidence, but we may have to live with it. Unless the time in dateTime instances differ from 00:00:00 and 23:59:59, respectively, they seem to give a wrong impression of accuracy. I strongly believe the original data is just a date, so using P82a/P82b is denormalization better done by explicit inference rules. Anyway, ARIADNE uses P82a/P82b so we have to live with it.


About imagenet pre-training

Hello, can you provide the code for imagenet pre-training? My email is<EMAIL_ADDRESS>Thank you!

I have sent you the code.


Added support to CentOS 5/6 using service_style "init.d"

Fix https://github.com/SimpleFinance/chef-zookeeper/issues/71

Added support to CentOS 5/6 using service_style "init.d"
Few foodcritcs fixes (FC001 and FC019)

@tiago-cruz-movile thanks for your contribution!
A couple of requests:

Would you please undo the Foodcritic changes?

It’s appreciated, and I’m a stickler for this stuff as well, but, AFAIK, we were good with FC019, and FC001 is depracated.

Would you please undo the additions to the CHANGELOG and the version number bump?

We might not release a new version right away, and it’s misleading to have new version numbers without an actual Supermarket release to accompany the metadata change
Additionally, if we did, this would be v2.8.0 (new feature, not just a bugfix), not v2.7.1

In future, I’d encourage making more, smaller commits, to ease revisions like this (e.g., each Foodcritic tweak is a commit, and the init script feature is a commit).

@tiago-cruz-movile @adamb0mb would love to see this cleaned up as per my requests above, as CentOS support using SysV would be great!

@jeffbyrnes The PR I had was basically a cleaned up version of what @tiago-cruz-movile had done, with one additional fix.
I spent a few minutes trying to create a new PR that was a cleaned up version of his, but my git-fu was not strong enough.

I’ll see if I can get it sorted out next week. Buried in some other stuff today.

:+1:

Solved w/ #148


version 1.0.0

Description
This PR includes the following proposed change(s):

Version 1.0.0

[ ] Bug fix (non-breaking change which fixes an issue)

[ ] New feature (non-breaking change which adds functionality)

[ ] Refactoring / Documentation

[ ] Version change

if your change is a breaking change, please add breaking change label to this PR
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Does the change impact or break the Docker build?

[ ] Yes
[ ] No

If Yes: Has Docker been updated accordingly?

[ ] Yes
[ ] No

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] New and existing unit tests pass locally with my changes

Hi Siva, woohooo..., Version 1.0.0 for tomorrow's release date.  You did an awesome job, I'll let you do the honor of merging this change and feel free to add anything.  Many thanks.


Widgets that depend on Material should assert that

After this patch, if you try to use a widget that depends on being enclosed in
a material, you now get an assert and a debugPrint if you're not inside a
material.
Fixes #243

LGTM. I didn't check if there were widgets that should get this that you didn't put it in.


Include coloc and traditional mr methodologies

Closing as this will change the output files of MR-link-2,, which is currently not wanted.


Prep for warehouse release (ETA: EOM)

This pull request changes the defaults for PyPI, for when the URL officially changes later this month.

Maybe also a good idea to detect the old URL from previously generated Pipfile, and print a courtesy note to prompt the user to switch?

The old version will continue to work for a long time.

It seems pypi.org has left beta.

@auvipy we will merge it, but there is no rush


Concourse deployment of the S3 broker

Please retroactively go through the skipped Grooming steps so we have an idea how we'll know when this is done and how we'll plan to demo it.

Moving remaining work to https://github.com/18F/cg-atlas/issues/25#issuecomment-224368518.


Small vs Large Collections

Are there any benefits or detriments to having many small collections vs a few large ones?
I'm caching locally a set of private messages between users. I could store one conversation into one collection and create a new one for any new conversations. This would end up with many small collections. Second approach is to have a large collection with all conversations and filter the ones I need. Is there a good reason to use one approach or the other when working with LokiJS?
Thanks!

Personally, I would use single collection if the documents all have similar structure.
Depending on the performance you need you might need to add indexes as this get larger to keep this performant.
Although loki has no real limit, I would personally not split my collection over maybe 100 collections and then only with good reason.  If they are all within a single collection I have the ability to query against the entire dataset to find what I am looking for.  Also there is probably a small amount of overhead associated with each collection instance.  Each collection emits its own events so possibly this could get noisy with many collections.

Old issue so closing, we can revisit this in the future if necessary.


Pretrained KITTI Model

Hi, great work and thanks for providing your code.
Do you plan on releasing the weights for the model finetuned on KITTI?
Also, did you freeze the attention weights during KITTI finetuning?

No freeze the attention weights during KITTI finetuning.

Thanks for your answer!

I am currently trying to reproduce your KITTI finetuning and I have three questions:

After reducing the learning rate in the 300th epoch of the mixed KITTI2012 and KITTI2015 finetuning, do you reset the learning rate to 0.001 when you start the 500 epoch finetuning or do you continue with the reduced learning rate?
After the 300 epochs, do you reduce the learning rate by a factor of 2, as stated in the paper, or by a factor of 10, as GwcNet did it? Reducing by a factor of 10 performs better for me.
My KITTI15 validation EPE peaks at 0.574 during the 500 mixed epochs, and again peaks at 0.57 during the additional 500 KITTI15 only epochs. Are these EPEs similar to what you got?

Thank you for your time!

I am currently trying to reproduce your KITTI finetuning and I have three questions:
After reducing the learning rate in the 300th epoch of the mixed KITTI2012 and KITTI2015 finetuning, do you reset the learning rate to 0.001 when you start the 500 epoch finetuning or do you continue with the reduced learning rate?
After the 300 epochs, do you reduce the learning rate by a factor of 2, as stated in the paper, or by a factor of 10, as GwcNet did it? Reducing by a factor of 10 performs better for me.
My KITTI15 validation EPE peaks at 0.574 during the 500 mixed epochs, and again peaks at 0.57 during the additional 500 KITTI15 only epochs. Are these EPEs similar to what you got?

Thank you for your time!

Hello, when will you upload the pre-model of kitti15 dataset? Thanks!


I have tested above mentioned version on an Apple M1 Pro chip with OpenJDK Runtime Environment Temurin-<IP_ADDRESS>+1 and couldn't observe the above mentioned issue


Delete event func for Redis misses the deletion of pushed and device collection

🐞 Bug Report
Affected Services
The issue is located in:  Core-Data
Is this a regression?
No, it also happens in Delhi and Edinburgh release
Description and Minimal Reproduction
When creating the event, there are two additional collections added to reference to the event id
	conn.Send("ZADD", db.EventsCollection, 0, id)
	conn.Send("ZADD", db.EventsCollection+":created", e.Created, id)
	conn.Send("ZADD", db.EventsCollection+":pushed", e.Pushed, id)
	conn.Send("ZADD", db.EventsCollection+":device:"+e.Device, e.Created, id)

https://github.com/edgexfoundry/edgex-go/blob/master/internal/pkg/db/redis/data.go#L1056-L1059
However, the deleteEvent func only deletes two of them
	_ = conn.Send("ZREM", db.EventsCollection, id)
	_ = conn.Send("ZREM", db.EventsCollection+":created", id)

https://github.com/edgexfoundry/edgex-go/blob/master/internal/pkg/db/redis/data.go#L1095-L1096
🔥 Exception or Error
The data will keep growing until out of memory
🌍  Your Environment
Deployment Environment:
Ubuntu
EdgeX Version:
delhi, edinburgh, and fuji
Anything else relevant?

add @TomFlem and @FelixTing for awareness

cc: @AnthonyMBonafide

This bug seems valid. I just want to point out that there is some async processing happening when events are deleted. See:
https://github.com/AnthonyMBonafide/edgex-go/blob/f07acc231909531283c898e4100e3cc5d499f8b9/internal/pkg/db/redis/data.go#L254-L267
I want to point this out so we can verify this functionality still works and is valid after we provide a fix for this.

@michaelestrin master on Delhi does not currently build. Please open other issues to resolve that or remove the Delhi tag from this bugfix.

@brandonforster
I just noticed that
	if e.Checksum != "" {
		_ = conn.Send("ZADD", db.EventsCollection+":checksum:"+e.Checksum, 0, e.ID)
	}

Thus, we should also delete checksum for binary event

@cloudxxx8 Where is that line of code from? I can't find it anywhere in edgex-go


This question is related to #34

In "detection" when the dataset is "PASCAL VOC", I interpreted it to obtain the threshold value as follows.
When "thres = thresholds [cutoff]" is written after "cutoff = np.argmin(np.abs(recall - recall_level))" on line 84 of "vos/metric_utils.py", "thres" is becomes the threshold.
At this time, thres=13.018.
This value was written on line 97 of "vos/detection/apply_net.py".
However, OOD labels were not visualized in the PASCAL VOC dataset.
In a similar way, when I try to get the threshold for the BDD dataset, I get 8.860468, which is close to the threshold set by the author. OOD labels are visualized in the BDD dataset.
#13 explains the method for image classification, and in the case of object detection, I understand that the threshold value is obtained with "metric_utils.py".
Is this understanding correct?

hi @hori-13 , thanks for the interest in our codebase!
the way to get the threshold is similar to the image classification for object detection task.
could you change 10 in this line https://github.com/deeplearning-wisc/vos/blob/25eec0dd1af06bcabccc4b20e8f338bf5de909bb/detection/inference/inference_core.py#L131 to 20?
as this means you relabel the ood objects to a different label other than the 20 classes in pascal voc.
feel free to dive into the details of the visualization code if this change does not produce the ood label

Thank you.
After changing the number of classes pointed out, I was able to display the OOD label.
Thank you for your kind reply.


Merged cluster clean

Follow up for #708 to merge kubevirt cluster clean up into one place.

@krsacme, FYI.

retest this please

retest this please

@davidvossel had an issue in the script.

retest this please

retest this please

@rmohr looks like the deployment is failing

retest this please

I'd like this change to go in. The functional tests aren't able to run for some reason though.

The cleanup patch seems to not clean everyting. Have to give it another iteration:
Error from server (AlreadyExists): error when creating "/var/lib/jenkins/workspace/kubevirt-functional-tests-vagrant-dev/go/src/kubevirt.io/kubevirt/_out/manifests/dev/rbac.authorization.k8s.yaml": clusterroles.rbac.authorization.k8s.io "kubevirt-controller" already exists


I even commented out the contents of the init() function and still the same white page.
Am I calling the init function wrong? Is there something I am missing?
PLEASE HELP!!!
and yes, all the necessary files are in the correct locations.

bozior did you find a solution for this issue?
I'm also struggling with the same issue. The execution will break when the  parent constructor is called in the  NTLMSoapClient.php page.
parent::__construct($wsdl, $options);  //This is where the execution stops
Can you please let me know if you have found a solution for this matter.
Thank you

@Chakuma89 on your code to connect, try to set php error display:
ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
See the error and try to solve it.


Maven settings.xml file gets overwritten (instead of merged)

Describe the bug
During compilation, the scripts/updateMavenSettings.py script overwrites any existing ~/.m2/settings.xml file.
How To Reproduce
Build the project with an existing ~/.m2/settings.xml file in place.
Expected behavior
TornadoVM custom settings to be merged into existing file instead of overwriting it.
Computing system setup (please complete the following information):

OS: macOS 10.14.6
OpenCL Version 1.2
TornadoVM commit id c61f38854

Thank you @gwinstanley  for the report.
This is now fixed: https://github.com/beehive-lab/TornadoVM/commit/0642e07634fb929573f012d2949a0852137f4ff2
I will close this issue. Feel free to open new issues if you encounter new problems.


Upgrade sqlparser-rs to v0.22

Upgrade sqlparser-rs from v0.19 to v0.22
Migrate translate_trim, add new supported test case.
Move Like, ILike from ast::BinaryOperator to ast::Expr.
Now "User" is a reserved keyword, so rename test cases which used "User" to use "Player".

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

379 of 399 (94.99%)  changed or added relevant lines in 14 files are covered.
16 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.09%) to 98.057%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

core/src/ast/expr.rs
36
38
94.74%

core/src/executor/evaluate/stateless.rs
0
18
0.0%

Files with Coverage Reduction
New Missed Lines
%

core/src/executor/aggregate/mod.rs
16
89.74%

Totals

Change from base Build<PHONE_NUMBER>:
-0.09%

Covered Lines:
32810

Relevant Lines:
33460

💛  - Coveralls

Conflict seems to need to be resolved


Feature: Swagger Docs for Resource-Related Endpoints

Description
Video Overview: https://www.youtube.com/watch?v=DraI-upvN2o
This branch adds Swagger documentation above all of the current endpoints inside of the resourcesRouter.js file, based on information provided in the README.md file, table specifications inside of our current migration files, and the results of manually testing each of these API endpoints in Postman.
To view this documentation, start the backend API via npm start and visit http://localhost:8080/api-docs/ in a web browser.
Discoveries
When an invalid resource ID is provided as a URL parameter for PUT /resources/:resource_id or DELETE /resources/:resource_id, the API times out, instead of returning a 404 error, as GET /resources/:resource_id correctly does at the moment; this needs to be addressed in a future update!
Related Tickets: #112
Type of change

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have removed unnecessary comments/console logs from my code
[x] I have made corresponding changes to the documentation if necessary (optional)
[x] My changes generate no new warnings
[x] I have checked my code and corrected any misspellings
[x] No duplicate code left within changed files
[x] Size of pull request kept to a minimum
[x] Pull request description clearly describes changes made & motivations for said changes

Clean documentation! Leaving a note for future developers on what to address is very thoughtful.

Great YouTube video! That's a whole bunch of documentation!!


clip_col fails when you save to csv (ACAV example)

https://github.com/iejMac/video2dataset/blob/main/dataset_examples/ACAV.md#download-the-metdata - step 2 will fail here because csv has trouble saving the python lists. It will save the clips thing to a string like "[[264.8733335,<PHONE_NUMBER>]]" and then it will fail in the ClippingSubsampler... Think about how to fix this. One fix would be to check if clip_col is string and if so cast to list or something.

When passing the additional_cols into the module, make sure you format it like this
...
--save_additional_columns="["videoID", "start", "end"]"
...


Failed to get the compiler information for file /jni-build/jni/jni_utils.cc

Whenever I try to clean and build this error comes up.
ndk is properly configured.
Can anyone please help me resolving this issue?

@kmaazali were you able to fix that?

@kmaazali were you able to fix that?


support deploying using direct relay client

repo: https://github.com/threefoldtech/rmb-sdk-go
live instance:  relay.dev.grid.tf
do on the branch development_1.7.0_rmb

done


pull request for e2e test at 02/01/2017 18:26:13

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Route "/" displays a json

After running the application and accessing localhost:8090, the page displayed isn't the index.html template

Solved when scheduling done good. On commit https://github.com/Arquisoft/dashboard_i3b/commit/e68b35e4ae28ab798f340a919410096b7dc2dd84


Is $uploadedFile['tmp_name'] a typo?

hello,
I am reading slim's source code. In file Slim\Http\UploadedFile.php:108 and line 118 in with the line
isset($uploadedFile['tmp_name']) ? $uploadedFile['name'] : null,

Why isset($uploadedFile['tmp_name']) , I think it should be isset($uploadedFile['name']):
isset($uploadedFile['name']) ? $uploadedFile['name'] : null,

Some can help me ? thanks.

This is correct as it is. Read from the link below for reference on $_FILES in php.
http://php.net/manual/en/features.file-upload.post-method.php


Add a Gitter chat badge to README.md

xinst/workerpool now has a Chat Room on Gitter
@xinst has just created a chat room. You can visit it here: https://gitter.im/workerpool/Lobby.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

@gitter-badger Thanks a lot, I have add the Chat Room on Gitter in the README.md


⚠ Bofrost.lu has degraded performance

In d7adf50, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1589 ms

Resolved: Bofrost.lu performance has improved in 5a3c918.


Encode coalesced/list queries as DRF expects

When using coalesce or querying multiple values for a key, EDA and its ancestors encode the query parameters as such (à la PHP/Rails):
?ids[]=1&ids[]=2&ids[]=3
Out of the box, DRF can handle this:
?id=1&id=2&id=3
Would need to change this for coalesced .find as well as .query (it looks like they live in two separate places in upstream code).
Could this be fixed on the server end? Yes, but it seems to me that if I'm going to modify Django's handling, I would use a JSON-API renderer/parser on the server side as well. If I'm using EDA, I'd like to be able to use DRF out of the box.
I'd be interested in tackling this, but before I dive in I want to make sure there's not a use case I'm missing.

Great suggestion.  I'd certainly be interested in a pull request from you.  As you probably know, we currently suggest a server-side DRF filter to support this; but I see no reason or "use case" that warrants continued recommendation of this method.  Out-of-the-box support would be much better.


Report collector times out talking to MPC ring when it handles large inputs

When running IPA on inputs with 20M rows or more, RC binary times out executing query_status command
 "Failed to get query status from helper 1: Failed to connect to ec2-44-234-150-14.us-west-2.compute.amazonaws.com:443: http2 error: keep-alive timed out"

Here is the client view of the world
2024-06-07T02:03:39.519115Z  INFO ipa_core::cli::playbook::ipa: submitting inputs to MPC helpers
...
2024-06-07T02:03:41.412501Z  INFO ipa_core::cli::playbook::ipa: Poll helpers for MPC status
2024-06-07T02:03:41.634659Z  INFO ipa_core::cli::playbook::ipa: Poll helpers for MPC status complete
2024-06-07T02:03:43.635482Z  INFO ipa_core::cli::playbook::ipa: Poll helpers for MPC status
2024-06-07T02:05:31.630683Z ERROR ipa_core::error: ThreadId(1) "main" panicked at /home/ec2-user/workspace/alex-ipa/ipa-core/src/cli/playbook/ipa.rs:138:14:
called `Result::unwrap()` on an `Err` value: "Failed to get query status from helper 0: Failed to connect to ec2-44-234-39-30.us-west-2.compute.amazonaws.com:443: http2 error: keep-alive timed out"

this is what server 1 is seeing
2024-06-07T02:03:39.526867Z  INFO oprf_ipa_query{sz=20000000}: ipa_core::query::runner::oprf_ipa: new
2024-06-07T02:03:39.526893Z  INFO oprf_ipa_query{sz=20000000}: ipa_core::query::runner::oprf_ipa: New query: IpaQueryConfig { per_user_credit_cap: 8, max_breakdown_key: 20, attribution_window_seconds: None, num_multi_bits: 3, plaintext_match_keys: true }
...
2024-06-07T02:03:41.627086Z  INFO ipa_core::query::processor: query_status: waiting for lock
2024-06-07T02:03:41.627104Z  INFO ipa_core::query::processor: query_status: got the lock
2024-06-07T02:03:42.021131Z  INFO oprf_ipa_query{sz=20000000}:shuffle_inputs: ipa_core::protocol::ipa_prf::shuffle: new
2024-06-07T02:08:03.650256Z  INFO oprf_ipa_query{sz=20000000}:shuffle_inputs: ipa_core::protocol::ipa_prf::shuffle: close time.busy=257s time.idle=5.12s

it is pretty evident that H1 receives the status request sent at 02:03:41.412 - 02:03:41.62 and responds to it. But the next request sent at 03:43.63068 hasn't been registered in the application layer. Note that H1 started doing shuffle and the first step of it is to perform a large allocation and transform the input.
This would explain the time out, if there were only one thread running the app. I don't expect tokio::main to be single-threaded, so something is going on here.

I think we are starving Tokio runtime and that is not a good sign. I've added a simple tokio task that runs every two seconds like this
        tokio::spawn(async move {
            loop {
                ::tokio::time::sleep(std::time::Duration::from_secs(2)).await;
                tracing::info!("observer works")
            }
        });

Here is what I am seeing on one of the helpers
2024-06-07T03:46:13.999634Z  INFO ThreadId(02) ipa_core::net::server: observer works
... (every two seconds as expected)
2024-06-07T03:46:50.019413Z  INFO ThreadId(06) ipa_core::net::server: observer works
2024-06-07T03:46:51.069178Z  INFO ThreadId(06) ipa_core::query::processor: receive inputs: starting new query
2024-06-07T03:46:51.069206Z  INFO ThreadId(06) ipa_core::query::processor: receive inputs: query started
2024-06-07T03:46:51.073790Z  INFO ThreadId(30) ipa_core::query::processor: Id(1), query_status: waiting for lock
2024-06-07T03:46:51.073803Z  INFO ThreadId(30) ipa_core::query::processor: query_status: got the lock
2024-06-07T03:46:51.076610Z  INFO ThreadId(31) oprf_ipa_query{sz=10000000}: ipa_core::query::runner::oprf_ipa: new
2024-06-07T03:46:51.076634Z  INFO ThreadId(31) oprf_ipa_query{sz=10000000}: ipa_core::query::runner::oprf_ipa: New query: IpaQueryConfig { per_user_credit_cap: 8, max_breakdown_key: 20, attribution_window_seconds: None, num_multi_bits: 3, plaintext_match_keys: true }
2024-06-07T03:46:51.203231Z  INFO ThreadId(07) ipa_core::query::processor: Id(1), query_status: waiting for lock
2024-06-07T03:46:51.203250Z  INFO ThreadId(07) ipa_core::query::processor: query_status: got the lock
2024-06-07T03:46:51.458375Z  INFO ThreadId(31) ipa_core::query::processor: Id(1), query_status: waiting for lock
2024-06-07T03:46:51.458393Z  INFO ThreadId(31) ipa_core::query::processor: query_status: got the lock
2024-06-07T03:46:51.961352Z  INFO ThreadId(31) ipa_core::query::processor: Id(1), query_status: waiting for lock
2024-06-07T03:46:51.961371Z  INFO ThreadId(31) ipa_core::query::processor: query_status: got the lock
2024-06-07T03:46:52.020290Z  INFO ThreadId(07) ipa_core::net::server: observer works
2024-06-07T03:46:52.422040Z  INFO ThreadId(07) oprf_ipa_query{sz=10000000}:shuffle_inputs: ipa_core::protocol::ipa_prf::shuffle: new
2024-06-07T03:48:08.027648Z  INFO ThreadId(30) ipa_core::net::server: observer works
2024-06-07T03:48:08.027735Z  INFO ThreadId(31) ipa_core::query::processor: Id(1), query_status: waiting for lock
2024-06-07T03:48:08.027744Z  INFO ThreadId(31) ipa_core::query::processor: query_status: got the lock

Between 03.46.52 and 03.48:08 there were no runs of other tokio tasks

https://github.com/tokio-rs/tokio/issues/4730 :(

In this particular case, there are no lifetimes in the long-running task, so it should be pretty easy to use spawn_blocking. And maybe more generally, doing a long-running task implies not communicating, which implies not using the context (which is the lifetime that is hardest to avoid).

I considered it and honestly not too happy about it because of all places where we would need to add something like it. I think IO-bound pool executor may be fine here, but in other spots where we could be doing a lot of CPU work (PRSS), this won't be appropriate. There is also block_in_place that avoids this issue, but I am concerned about it too for the same reasons - blocks of infra code that are tied to tokio will appear in our code with no apparent reason, especially with the multi-threaded runtime.
I want to explore an option of having a monitor thread - I think it may be nice to detect blocked runtime and the performance treadeoff maybe acceptable - it will cause more wakeups but in one centralized place and we can control the frequency of it

Is there a way for the monitor thread to reclaim the poller if it detects a long-running task?
If we do come up with a solution involving spawn_blocking, block_in_place, or yield_now, we can hide it behind something like ctx.for_each(iterator, closure). Maybe not ideal, but it seems like a simpler coding guideline than deciding between seq_join and parallel_join.

yea if we go down that road, I'll be in favor of providing an API like that. I see a lot of disadvantages here, so I want to try hard not to.

Is there a way for the monitor thread to reclaim the poller if it detects a long-running task?

I think the way it works is that monitor thread schedules an cheap future on the runtime it is given and that forces it to wake up at least one more thread to handle it (because others except one are parked and one is busy) and that thread, after completing that future, checks for IO events and polls the TCP buffer to get the request.
Having said that, it does solve the issue of unblocking the runtime, but we are still not getting any hyper requests while running shuffle_inputs, not sure if there is another issue with IO driver not getting properly migrated to the new worker thread.
2024-06-08T00:33:18.520812Z  INFO ThreadId(16) ipa_core::query::processor: query_status: got the lock
2024-06-08T00:33:18.880170Z  INFO ThreadId(16) oprf_ipa_query{sz=20000000}:shuffle_inputs: ipa_core::protocol::ipa_prf::shuffle: new
2024-06-08T00:33:20.123843Z  INFO ThreadId(19) ipa_core::net::server: observer works
2024-06-08T00:33:22.125028Z  INFO ThreadId(19) ipa_core::net::server: observer works
2024-06-08T00:33:24.126171Z  INFO ThreadId(19) ipa_core::net::server: observer works
...
2024-06-08T00:36:47.091983Z  INFO ThreadId(30) ipa_core::net::server: observer works
2024-06-08T00:36:47.153744Z  INFO ThreadId(30) ipa_core::query::processor: Id(1), query_status: waiting for lock
2024-06-08T00:36:47.153752Z  INFO ThreadId(30) ipa_core::query::processor: query_status: got the lock

I know the root cause now - it is the LIFO heuristic inside the scheduler that does not let hyper requests to be processed even if the runtime is unblocked

Worker 1, polls IO and gets into shuffle_inputs
RC sends a query_status request and it lands in Worker 1 LIFO slot
runtime is awaken by the monitor thread
A new worker is created (worker 2) and after processing dummy task it polls the IO driver
There are no new IO events (all helpers are allocating)
Worker 2 cannot steal LIFO task currently sitting in Worker 1's queue and it goes to sleep

Turning this on, resolved the issue, but it requires unstable tokio

mitigated in #1123


NullInjectorError: No provider for TranslateLoader!

Current behavior
I get the error while setting Translation module for Angular 15.
ERROR Error: Uncaught (in promise): NullInjectorError: R3InjectorError(AppModule)[TranslateService -> TranslateLoader -> TranslateLoader -> TranslateLoader]:
NullInjectorError: No provider for TranslateLoader!
Expected behavior

How do you think that we should fix this?

Minimal reproduction of the problem with instructions
I did following guide step by step.

install ngx-translate/core and ngx-translate/http-loader. Here is my package.json
  "dependencies": {  "@angular/animations": "^15.1.0",  "@angular/common": "^15.1.0",  "@angular/compiler": "^15.1.0",  "@angular/core": "^15.1.0",  "@angular/forms": "^15.1.0",  "@angular/platform-browser": "^15.1.0",  "@angular/platform-browser-dynamic": "^15.1.0",  "@angular/router": "^15.1.0",  "@ngx-translate/core": "^14.0.0",  "@ngx-translate/http-loader": "^7.0.0",
import TranslationModule.forRoot in the app.module.ts as below code:

`import { TranslateHttpLoader } from '@ngx-translate/http-loader';
import { HttpClient, HttpClientModule } from '@angular/common/http';
export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http);
}
@NgModule({
declarations: [
AppComponent,
],
imports: [
CoreModule,
HttpClientModule,
BrowserModule,
FormsModule,
ReactiveFormsModule,
BrowserAnimationsModule,
ToastrModule.forRoot(),
TranslateModule.forRoot({
defaultLanguage: 'en',
loader: {
provide: TranslateHttpLoader,
useFactory: HttpLoaderFactory,
deps: [HttpClient]
}
}),
],
providers: [ ],
bootstrap: [AppComponent]
})
export class AppModule { }`
3. Build and run the application by npm start
Environment

"@angular/animations": "^15.1.0",
    "@angular/common": "^15.1.0",
    "@angular/compiler": "^15.1.0",
    "@angular/core": "^15.1.0",
    "@angular/forms": "^15.1.0",
    "@angular/platform-browser": "^15.1.0",
    "@angular/platform-browser-dynamic": "^15.1.0",
    "@angular/router": "^15.1.0",
    "@ngx-translate/core": "^14.0.0",
    "@ngx-translate/http-loader": "^7.0.0",

Browser:
- [ ] Chrome (desktop) version 111.0

For Tooling issues:
- Node version: v16.17.1
- Platform:  Windows 10 Home

Others:

Hi tungnt-vn, I had the same issue as you, having migrated an angular 11 project to an angular 14 template. The fix for me was to add TranslateService and TranslateStore to the providers list of my module like this :
providers:[TranslateService, TranslateStore]
These are my new dependencies for angular and ngx translate :
"@angular/animations": "^14.0.2",     "@angular/cdk": "^14.0.2",     "@angular/common": "^14.0.2",     "@angular/compiler": "^14.0.2",     "@angular/core": "^14.0.2",     "@angular/forms": "^14.0.2",     "@angular/localize": "^14.0.2",     "@angular/material": "^14.2.7",     "@angular/material-moment-adapter": "^14.2.7",     "@angular/platform-browser": "^14.0.2",     "@angular/platform-browser-dynamic": "^14.0.2",     "@angular/platform-server": "^14.0.2",     "@angular/router": "^14.0.2",     "@ngx-translate/core": "^14.0.0",     "@ngx-translate/http-loader": "^7.0.0"

I want to ask how can I make it work in v18?

Take a look here :https://ngx-translate.org/v15/getting-started/installation/


Single selection mode checkbox state

If I tap only if checkboxes or only on elements everything is ok.
But if I tap first on checkbox and after that I tap on other element, that element is not checked only if tap it once again.
Same thing if I check and element and after that a checkbox from other element.
So in those cases the selected state is interchanged somehow.

Hi,
I'm having the same issue, and also found how to solve it.
Test protocol :
In single selection mode (DialogConfigs.SINGLE_MODE), open a directory with at least two files to select.

Select first file : everything is OK
Select second file : everything seems OK, but the two items (FileListItem) are marked. The view only show the second one as selected, but in the data both are selected.
Select the first file again : nothing seems to happen, in fact you just "unmarked" it since it was already marked.

I found and tested a simple fix : in the file "MarkedItemList", in the function "addSingleFile", unmark all previously marked items :
public static void addSingleFile(FileListItem item)
    {
        for (FileListItem fileListItem : ourInstance.values()) {
            if(!fileListItem.equals(item)) {
                fileListItem.setMarked(false);
            }
        }
        ourInstance.clear();
        ourInstance.put(item.getLocation(),item);
    }

This solves this exact problem by unmarking all previously marked items.

Hey, I have checked this issue. The behavior of checkboxes is very unpredictable in lists. I think I have to follow a different selection procedure for fixing this bug. Will start working upon that ASAP. I will summarize the bug here: When items are marked using markFiles method, they require a double click to unmark/mark for the first time.

@llDavidll That may fix the issue with single file mode but this wont work with multiple mode

From what I saw, the only use of addSingleFile is here :
if(properties.selection_mode == DialogConfigs.MULTI_MODE) {
    MarkedItemList.addSelectedItem(item);
}
else {
    MarkedItemList.addSingleFile(item);

}

So it should not interfere with multiple mode. It seems coherent that the function responsible of the single selection unchecks all other items before selecting the new one, since we always want at most one selected item.
If you need me to test anything, feel free to ask.

Hi, I have made few major changes for checkbox click issue. Will really appreciate if you could see to that and help me with bugs. Thank you.

Selection works well with the last release, thank you ! No more problems with single selection mode, and other modes seems to work fine too.


Make CancelDelayedRpc test not use sleeps for client-server synchronization

Fixes #21263

Tested this using the "dangerous" config 100s of times on my laptop Mac without failure.

I should split this into two for the two different tests since one is currently flaky and one is not.


parse "failed to create scratch org" error

or ... at least make sure the actual error ends up in build log?

CumulusCI now echoes stderr from force:org:create


chore(ModelTheory): Fix Model Theory docstrings

Updates the style on docstrings of files in the Model Theory folder to better match the current style guide.

Thanks!
maintainer merge

(since you're secretly not a new contributor at all)

Thanks!
bors merge


marker.infoWindow not shown by click marker when markers loaded from the database

Issue Type
[ ] Bug
Description and/or steps/code to reproduce the problem
marker.infoWindow is not shown by click marker when markers loaded from the database
Markers are called from the database and shown on the map, But setOnMarkerClickListener doesn't work
but it works for markers added by mapEventsReceiver.singleTapConfirmedHelper
Environment
If it's a bug, version(s) of android this affects:
All
Version of osmdroid the issue relates to:
6.1.16

uhhh osmdroid the library doesn't do anything with a database for markers. whatever problem you are seeing is an integration with your app and the library. i can't really help you without a fair about of sample code on this... even at that, it's probably not an issue with osmdroid