execvp: No such file or directory

I've managed to fully run NodeOS on Docker, but vagga is giving me a strange execvp: No such file or directory error. Since NodeOS is musl-based instead of using glibc as system library, could it be that the source of the problem, by not being able to find the dynamic loader?

More lines of log would be helpful, especially if you run RUST_LOG=debug vagga
Vagga almost never uses execvp (I'm not sure, if there are any cases at all). Or you say that you can't run vagga itself?
It may happen if you build vagga with cargo directly instead of building vagga with vagga, so vagga is linked against libc (rather than being statically compiled).

The problem is not with vagga itself, in fact it starts and exec flawlessly the /init process, but the problem happens later. The image is mostly the same as the one used with Docker, so since it's doing a chroot() as first step I suspect maybe vagga is not doing it? It's the only thing I can think so far... If you have any suggestion about what I could test against for I would thank you it so much.
Anyway, the output of RUST_LOG=debug vagga run is:
INFO:vagga::process_util: Running "id" "-u" "-n"
INFO:vagga::process_util: Running "vagga_wrapper" "_build" "bootfs"
DEBUG:vagga::container::mount: Procfs mount "/home/piranna/Proyectos/NodeOS/.vagga/.mnt/proc"
DEBUG:vagga::container::mount: Pseusofs mount "/home/piranna/Proyectos/NodeOS/.vagga/.mnt/dev/pts" devpts newinstance
INFO:vagga::process_util: Running "vagga_version" "bootfs" "--settings" "{\"version_check\":true,\"proxy_env_vars\":true,\"ubuntu_mirror\":null,\"alpine_mirror\":null,\"uid_map\":null,\"push_image_script\":null,\"build_lock_wait\":false,\"auto_apply_sysctl\":false,\"environ\":{}}"
DEBUG:vagga::version::version: Versioning items: 3
DEBUG:vagga::version::version: Versioning setup: Step(Tar { url: "./out/latest/barebones.tar.gz", sha256: None, path: "/", subdir: "" })
DEBUG:vagga::version::version: Versioning setup: Step(Tar { url: "./out/latest/initramfs.tar.gz", sha256: None, path: "/", subdir: "" })
DEBUG:vagga::version::version: Versioning setup: Step(Tar { url: "./out/latest/usersfs.tar.gz", sha256: None, path: "/tmp", subdir: "" })
DEBUG:vagga::version: Got hash "e30b505619387cdc0a927dff68898c4d1dc069b13bbd86fb07d9a7d940f3cdde9b58ad457f6b1611a457e1885b4507653b64c0e1db8e99c6b40b94f28ed09b7e"
DEBUG:vagga::wrapper::build: Container path: "/vagga/base/.roots/bootfs.e30b5056" (force: false) true
DEBUG:vagga::wrapper::build: Path "/vagga/base/.roots/bootfs.e30b5056" is already built
INFO:vagga::process_util: Running "id" "-u" "-n"
INFO:vagga::process_util: Running "vagga_wrapper" "--root" "bootfs.e30b5056" "run"
DEBUG:vagga::container::mount: Procfs mount "/home/piranna/Proyectos/NodeOS/.vagga/.mnt/proc"
DEBUG:vagga::container::mount: Pseusofs mount "/home/piranna/Proyectos/NodeOS/.vagga/.mnt/dev/pts" devpts newinstance
DEBUG:vagga::container::mount: Pseusofs mount "/vagga/root/dev/pts" devpts newinstance
DEBUG:vagga::container::mount: Procfs mount "/vagga/root/proc"
INFO:vagga::process_util: Running "init"
mount procfs: Resource busy
mount devtmpfs: Operation not permitted
execvp: No such file or directory
/work: Resource busy
/sys/fs/fuse/connections: Invalid argument
/sys/kernel/debug: Invalid argument
/sys/firmware/efi/efivars: Invalid argument
/sys/fs/pstore: Invalid argument
/sys/fs/cgroup/pids: Invalid argument
/sys/fs/cgroup/freezer: Invalid argument
/sys/fs/cgroup/devices: Invalid argument
/sys/fs/cgroup/blkio: Invalid argument
/sys/fs/cgroup/cpu,cpuacct: Invalid argument
/sys/fs/cgroup/perf_event: Invalid argument
/sys/fs/cgroup/net_cls,net_prio: Invalid argument
/sys/fs/cgroup/cpuset: Invalid argument
/sys/fs/cgroup/memory: Invalid argument
/sys/fs/cgroup/hugetlb: Invalid argument
/sys/fs/cgroup/systemd: Invalid argument
/sys/fs/cgroup: Invalid argument
/sys/kernel/security: Invalid argument
/sys: Resource busy
/dev/mqueue: Invalid argument
/dev/hugepages: Invalid argument
/dev/shm: Invalid argument
/dev/pts: Invalid argument
/dev: Resource busy
/: Invalid argument
INFO:vagga::process_util: Running "id" "-u" "-n"
DEBUG:vagga::wrapper::clean: Removing "/home/piranna/Proyectos/NodeOS/.vagga/.transient/bootfs.e30b5056.28123"

The mount and unmount lines are normal and expected, they are mostly safe warnings, don't worry about them.

INFO:vagga::process_util: Running "init"
mount procfs: Resource busy
mount devtmpfs: Operation not permitted
execvp: No such file or directory

Looks strange, so it can't mount few filesystems but tries to start process anyway?
Do these mounts fail in docker too?
Actually, I suspect that the issue is barely that environment is clean. In docker all ENV directives during build are kept when your're running commands. But in vagga build-time environment (!Env) and run-time environment (environ: {..}) are separate. Try to set PATH (or maybe all the variables) as in docker.

Looks strange, so it can't mount few filesystems but tries to start process anyway?

Yes, because in Docker and vagga the filesystems would be already available. In other cases, the boot process would fail soon anyway too.

Do these mounts fail in docker too?

procfs fails because it's already available on its place, but devtmpfs success:
mount procfs: Resource busy
Hello! I'm a user init script :-)
Welcome to NodeOS!: username:  nodeos
·                 : password:
~ >

Actually, I suspect that the issue is barely that environment is clean. In docker all ENV directives during build are kept when your're running commands. But in vagga build-time environment (!Env) and run-time environment (environ: {..}) are separate. Try to set PATH (or maybe all the variables) as in docker.

I'm not paying too much attention during boot process to the environment variables, but I'll take a look on that. If it's of interest, the line dispatching the error is at https://github.com/piranna/nodeos-init/blob/ce02e341368d2bf603f8f73601d49925574fe969/init.c#L192

Sorry for the delay, I have been busy and also I was not able to correctly get the environment variables (my build system has several steps and also found a bug on one of them...). Finally I was able to get them:
root=container
TERM=xterm
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

They are somewhat expected, theroot=container is the way I have say "you are in  container so there's no need to mount it", and the other ones are fairly common, so no problem here. What I've seen is that when using printf() once the execv error doesn't show and just only start the umount messages, but after being able to print the environment variables (several calls to printf) the /sbin/init command (already written in Node.js, and executed by /init with execvp) could run, so seems there's a race condition somewhere (probably mine, I'll investigate).
On the other hand, /sbin/init shows me that the environment variables are empty (process.env = {}), while they are being set on vagga.yaml and the /init process get them. That's the first time this happens to me (both in Docker, QEmu and real hardware environment variables are preserved and inherited by the child processes, as usual), so maybe Vagga is doing something here?

Just run everything under strace. You'll see execve commands with all correct paths and environment variables. Do you know how to run vagga under strace?

Ok, don't pay attention to the last paragraph, seems that since I was moving the environ pointer to read it I got up to an empty list when it was time to exec the /sbin/init process.
Don't know why, but now I don't have the execvp problem and I'm able to normally exec /sbin/init, and by using a container I'm able to access the users folders. Now the problem I have is that this container is mounted as read-only (/etc/mtab says /dev/sda3 /tmp ext4 ro,relatime,data=ordered 0 0). My current vagga.yaml file is:
containers:
  bootfs:
    auto-clean: true
    hosts-file-path: null
    resolv-conf-path: null
    setup:
    - !Tar
      url: ./out/latest/barebones.tar.gz
    - !Tar
      url: ./out/latest/initramfs.tar.gz
#    - !Tar
#      url: ./out/latest/usersfs.tar.gz
#      path: /tmp
#    volumes:
#      /tmp: !Persistent usersfs
  usersfs:
    data-dirs: [/nodeos, /root]
    setup:
    - !Tar
      url: ./out/latest/usersfs.tar.gz

commands:
  run: !Command
    description: Start NodeOS
    container: bootfs
    volumes:
      /tmp: !Container usersfs
#    volumes:
#      /tmp: !Persistent
#        name: usersfs
    environ:
      root: 'container'
#       PWD: /
#      root: ''
#     pid1mode: exec
    run: [/init]
    write-mode: transient-hard-link-copy

Ah, yes !Container volumes are always read-only, regardless of transient-hard-link-copy

You're probably want !Persistent volume seeded from a container, if you want writable system there.

Or a !Snapshot volume if you need temporary writable system (but be careful, it's tmpfs)

Ok, I have tried so far with !Container and !Persistent in several ways without luck. I could use !Snapshot, but then the data is not persistent. I have tried to initialize the volume using a minimal container like I was proposed at https://github.com/tailhook/vagga/issues/367#issuecomment-263088528 and worked for me, but feels like using a cannon to kill a fly because I just only need to use a tarfile to fill the volume, that's why I find more simple my proposal of allowing to use tarfiles on the !Persistent.seed attribute.
Anyway, I've been able to use it and both fuse and overlayfs works, so the port is almost finished :-D But I've found another problem that's not happening on Docker: the /init child processes works without problem, but the grandchilds (the child of the child processes) don't seem to be executed. They are being executed as the root process of a new processes group, but this happens also when changing it to be on the same one. Could there be some security limitation imposed by vagga because they are executed inside a chroot? You have the code that exec them available at https://github.com/piranna/jocker/blob/master/lib/chrootSpawn, putting a trace there gets executed, but the process executed by spawn() don't print anything on the console also when it's the only thing they do (in Docker it works flawlessly) and also don't write to the filesystem, that's why I think they don't get executed at all, but the point is that there's no error at all... :-/

Could there be some security limitation imposed by vagga because they are executed inside a chroot?

There are some limitations of chroot'ed containers imposed by kernel. Usually you need to use pivot_root instead of chroot to get rid of them. But I don't remember them well enough. You can't create user namespaces inside chroot, but I don't think you're doing that.
In cany case, if node.js doesn't show you exact error, just use strace to see what happens after execve or why the the system call returns error.

I noticed that the CPU was very high, and investigating a bit found that
the ExclFS filesystem was receiving a lot of requests for /dev/srandom and
/dev/egd-pool, although they don't exists on the host system. Seems Node.js
checks on loading for several entropy generators on /dev to find what of
them are available, what I don't understand is that on Docker or real
hardware it works correctly but on vagga it start an endless loop checking
for them over and over... :-/ That's the reason why they don't print
anything, because they can't be able to continue execution :-( It's
strange, isn't it?
El 6/2/2017 0:25, "Paul Colomiets"<EMAIL_ADDRESS>escribió:
Could there be some security limitation imposed by vagga because they are
executed inside a chroot?
There are some limitations of chroot'ed containers imposed by kernel.
Usually you need to use pivot_root instead of chroot to get rid of them.
But I don't remember them well enough. You can't create user namespaces
inside chroot, but I don't think you're doing that.
In cany case, if node.js doesn't show you exact error, just use strace to
see what happens after execve or why the the system call returns error.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tailhook/vagga/issues/390#issuecomment-277559156, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAgfvkyKmKSi6ZvR2IaQbforII30uEX_ks5rZlqGgaJpZM4Lqd2z
.

Sure, it's strange. Firstly, /dev is pretty functional in container. Maybe you don't mount --bind it in chroot? Secondly, it shouldn't start endless loop for that (it's bug in node.js in this case).

Maybe you don't mount --bind it in chroot?

I have it mounted, in fact it's bind'ed to an instance of ExclFS, that's showing the content of the real /dev and where I have seen it's getting the huge loop of requests.

Secondly, it shouldn't start endless loop for that (it's bug in node.js in this case).

I think it too, just wanted to know if you could have an idea what could be making it to fail, since it only happens on vagga :-/

What does ExclFS do?

BTW, there were some issues with translating uids, gids and pids in fuse, when using user namespaces. Here is the one of them https://github.com/gittup/tup/issues/184 Maybe there are more.

What does ExclFS do?

It's a FUSE filesystem I've created. It records the files on an underlying directory (/dev in this case) that have been requested for access and show only the ones that are being used by the user or by nobody else, giving in fact access to each file to a single user each time. Doing this on /dev allow to the users to have direct access to the devices without needing explicit permissions and at the same time nobody can steal data or change the devices that are being used by others.

BTW, there were some issues with translating uids, gids and pids in fuse, when using user namespaces. Here is the one of them gittup/tup#184 Maybe there are more.

Interesting... I say that ExclFS was receiving the correct PID and uid, but didn't suspect there could be problems doing the translation in the other way, supossed it was fully supported... A good candidate for this problem, how could I be able to check it?


Test branch

test comment (should fire a webhook event)

test comment (should fire a webhook event)

test comment


C++ implementation of OTIO core

Port of the OpenTimelineIO core into C++, wrapped with pybind11 python bindings.  Only port of the core, all adapters and unit tests still run in python.
Also includes very preliminary swift bindings.

This is very exciting, I'm looking forward to playing with it.
My preliminary comments are that

I think it would make sense to start with cmake 3 (3.5 is a safe bet)
The AnyVector and AnyMap are subclassed, with using, from std containers. This will be a road block when it comes time to make this library available as a shared library for the msvc ABI, because the std containers are not decorated for shared visibility, and the ABI has rules about decorations on bases when subclasses are exported. A simple fix is to use composition instead of inheritance. That doesn't change the implementation much, as inlines are no more expensive than using hoists.
Again, very excited to see this!

A simple fix is to use composition instead of inheritance. That doesn't change the implementation much, as inlines are no more expensive than using hoists.
It’s just a lot more typing, because you have to respecify all the arguments and parameters and then make the call as an inline.  If anything is ever updated about the signatures, you’d have to make changes, while the “using” just says, yeah, use that function, whatever the heck it’s signature was.

But if we have to, we have to.

Again, very excited to see this!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/486#issuecomment-481458181, or mute the thread https://github.com/notifications/unsubscribe-auth/AMFkpUQhVAbgUQ53lV0PSFxT5LA4RcSfks5vfQ8NgaJpZM4clLi8.

Subclassing Iex::BaseExc from std::string caused crashes for years on Windows OpenEXR, we only just finally were able to merge the fixes, so it's kind of a once bitten twice shy sort of thing.

Thinking.... There might be a pattern that gives you what you need without a mess of forwarding. Maybe don't change anything until I have a play with it?

Take your time.  there’s no rush.

Codecov Report

Merging #486 into cxx will decrease coverage by 40.87%.
The diff coverage is 83.52%.

@@             Coverage Diff             @@
##              cxx     #486       +/-   ##
===========================================
- Coverage   88.23%   47.35%   -40.88%
===========================================
  Files          68       66        -2
  Lines        6900     6105      -795
===========================================
- Hits         6088     2891     -3197
- Misses        812     3214     +2402

Impacted Files
Coverage Δ

.../opentimelineio_contrib/adapters/ffmpeg_burnins.py
0% <ø> (ø)

...ntimelineio_contrib/adapters/tests/test_burnins.py
92.85% <ø> (ø)

...ntrib/opentimelineio_contrib/adapters/extern_rv.py
0% <ø> (ø)

...melineio_contrib/adapters/extern_maya_sequencer.py
0% <ø> (ø)

.../opentimelineio_contrib/adapters/maya_sequencer.py
0% <ø> (ø)

contrib/opentimelineio_contrib/adapters/rv.py
0% <ø> (ø)

...entimelineio/opentimelineio/console/otioconvert.py
93.42% <ø> (ø)

...-opentimelineio/opentimelineio/console/otiostat.py
71.76% <ø> (ø)

...-opentimelineio/opentimelineio/adapters/adapter.py
94.36% <ø> (ø)

...y-opentimelineio/opentimelineio/console/otiocat.py
96.29% <ø> (ø)

... and 85 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 878c67f...bd32b19. Read the comment docs.

@meshula I'm going to land this into the Cxx branch and then open a pull request from the cxx branch to master to leave open for a while, if you have any comments for this branch you can post them there or contact us directly!


Feature Request: IPDS Support

It would be nice if CUPS would support IPDS Emulation/IPDS Server Emulation, and accept jobs from an AS/400, IBM Mainframe, or other sources in the form of an IPDS or AFP print job, as well as be an interface for communication between the normal printer and the print job source.

Unfortunately, IPDS is not easily supported nor emulated. There are a few companies that specialize in this sort of thing but generally only for embedding in commercial products and not open source projects.
Adding IPDS support would be a project all on its own and is far outside the scope of what we are trying to do for CUPS...


Service logs - categorize by node?

Is your feature request related to a problem? Please describe.
It's currently quite frustrating to view service (swarm) logs - especially due to this issue: https://github.com/portainer/portainer/issues/1942
Furthermore, to view individual node logs - you have to currently look at the tasks, view the logs there, or if it has failed to start - go to that node and view the actual container logs / status there.
Describe the solution you'd like
It would be great to just have tabs and/or a filter on the service logs page to view logs by:

Service / all nodes/tasks
Select specific task / node and view those logs only, from the service logs page (or even just a link to go there?)

I don't think it's interesting to see the logs of all the tasks running on a specific node... it will probably be too noisy to be able to analyze anything. Although adding the ability to filter  tasks logs from a service is something that we want to add and that will be tackled in #1865
Closing this as a duplicate of #1865
Feel free to comment/re-open if you think I'm missing something.

Hi @deviantony - thanks, that solution is fine - as long as it applies to a service as well as a stack, and not only a stack as #1865 might indicate

Services as well, yes.


x/tools/imports: Problem importing encoding/base64

goimports does not seem to work with encoding/base64.
Here is the sample I tested goimports with:
package main

import (
	"fmt"
)

func main() {
	data := []byte("hello world")
	str := base64.RawURLEncoding.EncodeToString(data)
	fmt.Println(str)
}

I am using go version 1.5 darwin/amd64.

Update your goimports.


Installation failed with composer

Hello, I am trying to install this package with composer, but I get an installation error related to coinparams :
Executing command (CWD): rm -rf '/var/www/html/vendor/composer/42cd8dd4'
    Failed to extract dan-da/coinparams: (1) unzip -qq  '/var/www/html/vendor/composer/tmp-a8067dd9231928c77960ac0655afb3ca' -d '/var/www/html/vendor/composer/2d5d9835'

replace /var/www/html/vendor/composer/2d5d9835/dan-da-coinparams-ba84ace/bindings/php/coinParams.php? [y]es, [n]o, [A]ll, [N]one, [r]ename:  NULL
(EOF or read error, treating as "[N]one" ...)
    The archive may contain identical file names with different capitalization (which fails on case insensitive filesystems)
    Unzip with unzip command failed, falling back to ZipArchive class
Executing command (CWD): rm -rf '/var/www/html/vendor/dan-da/coinparams'

I tried to install coinparams alone and get this error only when using the v0.2.6. Installing the v0.2.9 is fine but coinparams-bitwasp-addon require the v0.2.6.
My environment run in a Docker Linux FROM php:7.4-apache
Is this possible to get a release in packagist with a dependency relying on coinparam v0.2.9 or is somebody able to guide me please ?

I found a workaround, but it really bugs me and I can't believe this is the above error that lead to this, but you will get the full information anyway.
Despite the error above and the mention of rm -rf '/var/www/html/vendor/dan-da/coinparams', i've first noticed that the folder coinparams in vendor/dan-da was still here. But when trying to use MultiCoinNetwork I got an Exception saying "Class CoinParams\coinParams not found" in the constructor function in MultiCoinNetwork, and the only things I have to edit to makes things work is the
use CoinParams\coinParams;
at the begining of the file by
use coinParams\coinParams;
with a lower c
So is this bug related to the The archive may contain identical file names with different capitalization things ?
thank you.


Fix up as per PHPStan/Psalm

These are fixes need for Migrations integration
https://github.com/cakephp/migrations

I fixed up also a few more PHPStan level 7
71 more issues until we can use that level (and 147 for level 8 left).


[WIP] The Rails 4 Way - Ch.1-6

I'm currently reading The Rails 4 Way by Obie Fernandez et al., and periodically finding things that could be immediately applied to the OSRA code base. To make note of some smaller tweaks, I've been making corresponding changes on a feature branch you see here. My intent is to share these small modifications and improvements with the team, but this PR is not meant to be mergeable as is. If any of the changes are deemed to be of value, they'll be extracted into their own small PRs.

generate bundler binstubs. The utility of this may be small, and inclusion of the binstubs in source control is debatable. Skip over all bin/... files, just note that they are there.
add logger.warn in partners controller. Recommended as good practice for guard clauses that, ideally, should never trigger - i.e. either the code is broken or the user did something weird or malicious. WARN in logs can be easily found and alerts for its appearance there can be set up
make a few tweaks to config/routes.rb that are largely inconsequential but interesting to note
create a redirect_to_back_or_default controller method that can be used in rescue clauses
add and return after each call to render or redirect in partners controller. Since calling these methods does not automatically terminate the controller action, this is suggested as good practice to avoid accidentally calling them more than once
make db seeing idempotent. Two different approaches - in the main seeds file, Province.create(attrs) (which really ought to be create!) replaced with Province.where(attrs).first_or_create! - i.e. create only if does not exist. In development seeds, existing records are deleted first and then reseeded. Dev seeds also tweaked to ensure that they don't create additional associated objects.

Great stuff. Thanks for sharing ! :+1:


Smarter failed moves

When a boulder caused us to fail a move and the boulder disappears, unlearn its existence.
Don't oscillate around desirable corpses that we don't want to eat (in a shop; satiated).

Regression associated with leaving levels where we feel stuck: https://github.com/tanderson11/nethack-agent/pull/142/commits/987840f5ca1b9079308475d707b905fdba192196

Revert the impatience to leave a level (which is probably good in wizard mode and bad outside) to keep the framework improvements without the regression.


Unhelpful suggestions for workbench.externalUriOpeners setting

Testing #114962

Open settings gui and search for workbench.externalUriOpeners
Click "Edit in json"

Not sure where these values are coming from, but was only able to figure out the formatting of the setting by writing something random and then hovering over it

I believe these are the cross-file word based suggestions. Let me see if I can add a snippet or something to improve this

I believe these are the cross-file word based suggestions. Let me see if I can add a snippet or something to improve this

#115648 added a visual editor for this setting. I don't think there's a way to fix the json side of things here (although there is a default snippet when you first fill in this setting)

For verification, make sure you can use the settings UI to edit workbench.externalUriOpeners


wait_for_email_verification testing and http mock

Current behavior
We dont have a unit test for wait_for_email_verification, and for some other functions on OidcService. The reason for that are the http calls,  to test it either we would use a mock library or change the code for implementing each function separately.
Proposed changes
We create the unit test for wait_for_email_verification. However, to achieve that we currently modify the code where we extract the function that performs the http call to a standalone implementation for OidcService (line 50).
This is not the ideal scenario, since to test any other function that depends on http call, we would need to restructure the code.
As a next step I'm trying to isolate the http calls to another implementation, so we can use something like mockall in the future.
Checks

[ ] All commits in this Pull Request are signed and Verified by Github.
[ ] All commits in this Pull Request follow the Ockam commit message convention.
[ ] I accept the Ockam Community Code of Conduct.
[ ] I have accepted the Ockam Contributor License Agreement by adding my Git/Github details in a row at the end of the CONTRIBUTORS.csv file in a separate pull request to the build-trust/ockam-contributors repository. The easiest way to do this is to edit the CONTRIBUTORS.csv file in the github web UI and create a PR, this will mark the commit as verified.

I agree! While we were creating this test the question on why the responsibilities weren't separated arouse. Having a httpclient would help.
How do you think we can proceed? I close this PR and open a task to refactor OidcProvider and OidcService ?


Upgrade with resolved merge conflict

/go/pkg/mod/k8s.io/component-base@v0.26.1/metrics/registry.go:35:29: undefined: atomic.Bool
note: module requires Go 1.19
it looks like prow needs to run this with Go 1.19

/retest-required

/retest-required

/override sonar-pre-submit

/override ci/prow/sonar-pre-submit

/lgtm


ManyToOne with 'required' problem

Overview of the issue

Motivation for or Use Case

Reproduce the error

Related issues

Suggest a Fix

JHipster Version(s)

JHipster configuration

Entity configuration(s) entityName.json files generated in the .jhipster directory

Browsers and Operating System

[ ] Checking this box is mandatory (this is just to show you read everything)

This ticket has been closed as the guidelines are not followed.
Tickets must follow our Guidelines, as mentioned in:

our Readme file on the front page of the project,
the "create a new ticket" page and
our Help page

We have also created a template on the "create a new ticket" page to help you follow those guidelines.
If this is indeed a JHipster bug, please open a new issue with proper details or update this issue with all details and request to reopen.
Issues opened without proper details will be closed without explanation.
If you have a question please use Stack Overflow, and tag the question with jhipster. This helps the project to keep the issue tracker clean. Also, Stack Overflow will give your question a larger audience:

This will increase your chances to get an answer
Answers will be of higher quality, as there is a voting system
This will also help other users who might have the same issue, as questions are tagged and easily searchable

not sure what happened all the content I added in the template.. seems to have dissapeared


Remove non-functional variable definition in log4j.properties

In log4j.properties, a property kafka.logs.dir was defined. However, modifying this property has no effect because log4j.properties does not support variable substitution in this manner. Rather ${kafka.logs.dir} is looked up as a System property, which is set in bin/kafka-run-class.sh, and must currently be changed there if the log4j logging location is to be modified.

Can you please close this pull request since the issue has been solved (we can't do it ourselves without asking Apache Infra via a ticket).

Done!

In log4j.properties, a property kafka.logs.dir was defined. However, modifying this property has no effect because log4j.properties does not support variable substitution in this manner. Rather ${kafka.logs.dir} is looked up as a System property, which is set in bin/kafka-run-class.sh, and must currently be changed there if the log4j logging location is to be modified.

In log4j.properties, a property kafka.logs.dir was defined. However, modifying this property has no effect because log4j.properties does not support variable substitution in this manner. Rather ${kafka.logs.dir} is looked up as a System property, which is set in bin/kafka-run-class.sh, and must currently be changed there if the log4j logging location is to be modified.

In log4j.properties, a property kafka.logs.dir was defined. However, modifying this property has no effect because log4j.properties does not support variable substitution in this manner. Rather ${kafka.logs.dir} is looked up as a System property, which is set in bin/kafka-run-class.sh, and must currently be changed there if the log4j logging location is to be modified.

In log4j.properties, a property kafka.logs.dir was defined. However, modifying this property has no effect because log4j.properties does not support variable substitution in this manner. Rather ${kafka.logs.dir} is looked up as a System property, which is set in bin/kafka-run-class.sh, and must currently be changed there if the log4j logging location is to be modified.


Additional details for view extension errors with more details

Additional details for view extension errors with more details to help debug common view name related mistakes.

@rexfordkelly this repository is being generated from https://github.com/laravel/framework , not vice-versa, github does not allow disabling pull-requests, so it might not be obvious. Submit your pull request there and close the one here if you expect it to be reviewed.

thanks, good to know.


[BUG] Parsing of init.py fails to reach _read_utf8_with_fallback at the end of file

When running Deluge 2.1.1.dev99 (https://github.com/deluge-torrent/deluge/commit/7f3f7f69ee78610e95bea07d99f699e9310c4e08) with Setuptools 70.0.0, an error occurs claiming that  _read_utf8_with_fallback is not defined in setuptools' init.py. By moving the function position to the head of the referred file, after the imports, the program runs normally. This error does not occur on Setuptools 69.x and earlier.
System: linux x64, kernel 6.9.0
Python: 3.11.9
Discussed in https://github.com/pypa/setuptools/discussions/4398

Originally posted by autogris May 24, 2024
Hi. I'm trying to debug an error that emerged since upgrading setuptools to 70.0.0. When running Deluge, it gives me the following error:
Traceback (most recent call last):
  File "/usr/bin/deluge-gtk", line 33, in <module>
    sys.exit(load_entry_point('deluge==2.1.1.dev99', 'gui_scripts', 'deluge-gtk')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/deluge/ui/gtk3/__init__.py", line 63, in start
    Gtk().start()
  File "/usr/lib/python3.11/site-packages/deluge/ui/gtk3/__init__.py", line 44, in start
    from .gtkui import GtkUI
  File "/usr/lib/python3.11/site-packages/deluge/ui/gtk3/gtkui.py", line 61, in <module>
    from .pluginmanager import PluginManager
  File "/usr/lib/python3.11/site-packages/deluge/ui/gtk3/pluginmanager.py", line 12, in <module>
    import deluge.pluginmanagerbase
  File "/usr/lib/python3.11/site-packages/deluge/pluginmanagerbase.py", line 15, in <module>
    import pkg_resources
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 3282, in <module>
    @_call_aside
     ^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 3266, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 3295, in _initialize_master_working_set
    working_set = _declare_state('object', 'working_set', WorkingSet._build_master())
                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 589, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 926, in require
    needed = self.resolve(parse_requirements(requirements))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 787, in resolve
    dist = self._resolve_dist(
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 816, in _resolve_dist
    env = Environment(self.entries)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 1014, in __init__
    self.scan(search_path)
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 1046, in scan
    for dist in find_distributions(item):
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 2091, in find_on_path
    yield from factory(fullpath)
               ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 2183, in resolve_egg_link
    return next(dist_groups, ())
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 2179, in <genexpr>
    resolved_paths = (
                     ^
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 2167, in non_empty_lines
    for line in _read_utf8_with_fallback(path).splitlines():
                ^^^^^^^^^^^^^^^^^^^^^^^^
NameError: name '_read_utf8_with_fallback' is not defined

I've tried to recompile Deluge, reinstall all python modules, to no success. The supposedly undefined function is in fact present at python3.11/site-packages/setuptools/unicode_utils.py . Is this a bug on setuptools side or Deluge? I'm on Python 3.11.9

Also getting on M3 Pro

I believe that what is happening is a circular reference: the library calls pkg_resources to load an entry-point thar itself calls pkg_resources... (this is a hypothesis,  I haven't checked).
We can avoid that by changing pkg_resources to define that method earlier in the file... However, the difficulty part here is to create a regression test based on a minimal reproducible example that does not depend on an external package.
Can anyone help to create such regression test to be added to the test suite to avoid similar problems in the future?

What is weird about this is that deluge imports pkg_resources. At that point in time all the module should have been evaluated and cached.
Later attempts of importing pkg_resources (from inside the entry-point) should not evaluate the module again...

@autogris, @areebsiddiquidbz, how did you install deluge?
Is there any package in your environment that you have installed using the deprecated/not-to-be-used method python setup.py develop?
If that is the case, what happens if you uninstall that package and install it with the recommended method (pip install -e .)?

I tried a couple of tests with python setup.py develop and I could not replicate this problem...

diff --git i/pkg_resources/tests/test_working_set.py w/pkg_resources/tests/test_working_set.py
index 57f62b549..bc685bf0e 100644
--- i/pkg_resources/tests/test_working_set.py
+++ w/pkg_resources/tests/test_working_set.py
@@ -1,9 +1,14 @@
+import functools
 import inspect
+import os
 import re
+import shutil
+import subprocess
 import textwrap
-import functools
+import venv

 import pytest
+import jaraco.path

 import pkg_resources

@@ -499,3 +504,95 @@ def test_working_set_resolve(
             resolve_call()
     else:
         assert sorted(resolve_call()) == sorted(resolved_dists_or_exception)
+
+
+class TestInteropDeprecatedEgglink:
+    """The issue pypa/setuptools#4399 reports a problem when running
+    ``import pkg_resources`` and running ``WorkingSet._build_master`` in ``_call_aside``
+    and ``resolve_egg_link``.
+    """
+
+    @pytest.fixture
+    def venv_python(self, tmp_path):
+        venv.create(tmp_path / ".venv", clear=True, with_pip=False)
+        search_path = os.pathsep.join(map(str, tmp_path.glob(".venv/*/")))
+        return shutil.which("python", path=search_path)
+
+    @pytest.fixture
+    def site_packages(self, venv_python, tmp_path):
+        getsitepackages = (
+            "import os, site;"
+            "print(next(p for p in site.getsitepackages() if os.path.isdir(p)))"
+        )
+        return subprocess.check_output(
+            [venv_python, "-c", getsitepackages],
+            text=True,
+            encoding="utf-8",
+            cwd=tmp_path,
+        ).strip()
+
+    @pytest.fixture
+    def install_pkg_resources(self, venv_python, site_packages, tmp_path, request):
+        """Install this version of pkg_resources and setuptools"""
+        with open(os.path.join(site_packages, "this.pth"), "w", encoding="utf-8") as f:
+            f.write(f"{request.config.rootdir}\n")  # Optimistic UTF-8 encoding
+
+        subprocess.run(  # sanity check
+            [venv_python, "-Wignore", "-c", "import pkg_resources, setuptools"],
+            cwd=tmp_path,
+            check=True,
+        )
+
+    @pytest.fixture
+    def simple_pkg(self, tmp_path):
+        files = {
+            "pkg_root": {
+                "pkg": {
+                    "__init__.py": "def hello(): print('world')",
+                    "other.py": "import pkg_resources\ndef world(): print('hello')",
+                },
+                "setup.cfg": inspect.cleandoc(
+                    """
+                    [options.entry_points]
+                    console_scripts =
+                        pkg = pkg.other:world
+                    pkg.other =
+                        pkg = pkg.other:world
+                    """
+                ),
+            },
+        }
+        jaraco.path.build(files, prefix=tmp_path)
+        return tmp_path / "pkg_root"
+
+    @pytest.fixture
+    def egg_link(self, simple_pkg, venv_python, install_pkg_resources, tmp_path):
+        """Install ``simple_pkg`` using an egg-link, via setuptools' develop"""
+        _ = install_pkg_resources  # install setuptools
+        cmd = "__import__('setuptools').setup()"
+        subprocess.run(
+            [venv_python, "-Wignore", "-c", cmd, "develop"], cwd=simple_pkg, check=True
+        )
+        return next(tmp_path.rglob("*.egg-link"))
+
+    def test_global_working_set(
+        self, install_pkg_resources, egg_link, venv_python, tmp_path
+    ):
+        _ = install_pkg_resources
+        assert "/.venv/" in str(egg_link).replace(os.sep, "/")
+        assert egg_link.name == "pkg.egg-link"
+        assert egg_link.exists()
+
+        cmd = "print('hello'); import pkg; pkg.hello()"
+        out = subprocess.check_output(
+            [venv_python, "-Wignore", "-c", cmd],
+            text=True,
+            encoding="utf-8",
+            cwd=tmp_path,
+        )
+        print(out)
+        assert out.strip() == "hello\nworld"
+
+        exe = shutil.which("pkg", path=os.path.dirname(venv_python))
+        out = subprocess.check_output(exe, text=True, encoding="utf-8", cwd=tmp_path)
+        assert out.strip() == "hello"

========================================= test session starts ==========================================
platform linux -- Python 3.8.10, pytest-8.2.1, pluggy-1.5.0
cachedir: .tox/py/.pytest_cache
rootdir: /home/abravalheri/workspace/setuptools
configfile: pytest.ini
plugins: checkdocs-2.13.0, enabler-3.1.1, home-0.5.1, mypy-0.10.3, ruff-0.3.2, subprocess-1.5.0, timeout-2.3.1, xdist-3.6.1, typeguard-4.2.1
16 workers [41 items]
.........................................                                                        [100%]
================================================= mypy =================================================
Success: no issues found in 1 source file
========================================= 41 passed in 15.67s ==========================================
  py: OK (26.80=setup[8.93]+cmd[17.87] seconds)
  congratulations :) (27.49 seconds)

I still need help to create a minimal reproducer for this, so we can have a test for this in the test suite.

I don't think I ever installed anything with python setup.py develop, but I'm on Slackware, everything is installed either by official packages, or through scripts of para-official repositories (slackbuild, ponce sbo) producing packages, or pip run as root.
The script for Deluge produces a package using this installation method, which then is searched for binaries and stripped with strip --unneeded:
python3 setup.py install --root=$PKG

Ok, something I noticed in the traceback is that the last called .py from Deluge side is pluginmanagerbase.py. I do have plugins installed in the .egg format, which I guess are loaded before the window is draw. I will try later to uninstall all third party plugins and see what happens, and report what happens. @areebsiddiquidbz, are you using third party plugins too?

I've removed the plugins and also tried to recreate the eggs with python3 setup.py bdist_egg, both experiments resulted in the same original error.

I've removed the plugins and also tried to recreate the eggs with python3 setup.py bdist_egg, both experiments resulted in the same original error.

I also to create a minimal reproducer using bdist_egg and then write a test case using it but still everything seems to run fine.
This means that the minimal reproducible example that I am trying to write still needs more details, and I am not managing to get it right. Specifically, I did not manage to find the condition that triggers the circular references...
I would appreciate any help writing such minimal reproducer.

(my work on the reproducer so far)
diff --git c/setuptools/tests/environment.py w/setuptools/tests/environment.py
index b9de4fda6..cb1f850d8 100644
--- c/setuptools/tests/environment.py
+++ w/setuptools/tests/environment.py
@@ -1,3 +1,4 @@
+import functools
 import os
 import sys
 import subprocess
@@ -5,6 +6,7 @@ import unicodedata
 from subprocess import Popen as _Popen, PIPE as _PIPE

 import jaraco.envs
+from path import Path

 class VirtualEnv(jaraco.envs.VirtualEnv):
@@ -33,6 +35,16 @@ class VirtualEnv(jaraco.envs.VirtualEnv):
             kwargs["env"] = env
         return subprocess.check_output(cmd, *args, **kwargs)

+    @functools.cached_property
+    def site_packages(self):
+        prefix = os.path.abspath(self.dir)
+        getsitepackages = (
+            "import os, site;"
+            "opts = site.getsitepackages();"
+            f"print(next(p for p in opts if os.path.isdir(p) and {prefix!r} in p))"
+        )
+        return Path(self.run(["python", "-I", "-c", getsitepackages]).strip())
+

 def _which_dirs(cmd):
     result = set()
diff --git c/setuptools/tests/test_bdist_egg.py w/setuptools/tests/test_bdist_egg.py
index 12ed4d328..cf8499436 100644
--- c/setuptools/tests/test_bdist_egg.py
+++ w/setuptools/tests/test_bdist_egg.py
@@ -1,10 +1,12 @@
 """develop tests"""

+import inspect
 import os
 import re
 import zipfile

 import pytest
+import jaraco.path

 from setuptools.dist import Distribution

@@ -67,3 +69,77 @@ class Test:
         names = list(zi.filename for zi in zip.filelist)
         assert 'hi.pyc' in names
         assert 'hi.py' not in names
+
+
+class TestInteropPkgResources:
+    """The issue pypa/setuptools#4399 reports a problem when running
+    ``import pkg_resources`` and running ``WorkingSet._build_master`` in ``_call_aside``
+    and ``resolve_egg_link``.
+    """
+
+    @pytest.fixture
+    def simple_pkg(self, tmp_path):
+        files = {
+            "pkg_root": {
+                "pkg": {
+                    "__init__.py": "def hello(): print('world')",
+                    "other.py": "import pkg_resources\ndef world(): print('hello')",
+                },
+                "setup.cfg": inspect.cleandoc(
+                    """
+                    [options.entry_points]
+                    console_scripts =
+                        pkg = pkg.other:world
+                    pkg.other =
+                        pkg = pkg.other:world
+                    """
+                ),
+            },
+        }
+        jaraco.path.build(files, prefix=tmp_path)
+        return tmp_path / "pkg_root"
+
+    @pytest.fixture
+    def egg(self, simple_pkg, venv):
+        """Install ``simple_pkg`` using an egg"""
+        cmd = ["python", "-Wignore", "-c", "__import__('setuptools').setup()"]
+        venv.run([*cmd, "bdist_egg"], cwd=simple_pkg)
+        file = next(simple_pkg.glob("dist/*.egg"))
+        venv.run([*cmd, "easy_install", "--prefix", venv.dir, file], cwd=simple_pkg)
+        return venv.site_packages.glob("*.egg")[0]
+
+    PY_C = ["python", "-I", "-Wignore", "-c"]
+
+    def test_installed_egg_sanity_check(self, egg, venv):
+        assert f"{venv.site_packages}/" in str(egg).replace(os.sep, "/")
+        assert egg.exists()
+        out = venv.run([*self.PY_C, "import pkg; print(pkg.__path__)"]).strip()
+        assert f"{venv.site_packages}/" in out
+        assert ".egg" in out
+
+    @pytest.mark.parametrize(
+        "cmd, output",
+        [
+            ([*PY_C, "import pkg; pkg.hello()"], "world"),
+            ([*PY_C, "import pkg_resources;from pkg.other import *;world()"], "hello"),
+            (["pkg"], "hello"),
+            (
+                [
+                    *PY_C,
+                    inspect.cleandoc(
+                        """
+                        import pkg_resources
+                        ep = next(pkg_resources.iter_entry_points("pkg.other", "pkg"))
+                        fn = ep.load()
+                        fn()
+                        """
+                    ),
+                ],
+                "hello",
+            ),
+        ],
+    )
+    def test_global_working_set(self, egg, venv, cmd, output):
+        out = venv.run(cmd).strip()
+        print(out)
+        assert out == output

pipx run --python python3.11 tox -- -p no:cov -p no:perf -p no:mypy -x -n 4 setuptools/tests/test_bdist_egg.py
# ...
16 workers [9 items]
.........                                                                                [100%]
========================================== 9 passed in 24.95s ==========================================
  py: OK (30.36=setup[3.15]+cmd[27.21] seconds)
  congratulations :) (31.68 seconds)

Sorry, I'm not really familiar with python. I could try to inspect Deluge code and see if I can identify where the thing is triggered, but I'm not sure, it seems fairly complex to my limited knowledge. I haven't seen this problem in any other python application, so maybe it is really specific to how Deluge call this library. It does not seem to be related to the .egg plugins since I've tried to run with all plugins removed and still got the same error.

Hi. I am seeing this same name '_read_utf8_with_fallback' is not defined on my end. Is there an ETA of when this would get fixed?

Hi @mcayanan , please see the discussion above  that describes what is missing for us to act on this particular problem.
A way to expedite the fix would be to provide a small minimal reproducer example that do not rely on complex and existing packages so that it can help us to understand the real root cause of the problem. Are you interested in contributing  with one?

Ok, I've done some digging and came up with a minimal reproducer: https://github.com/NiklasMM/setuptools-minimal-reproducer
It seems to have something to do with the dependency zope-interface, which we have through twisted and Deluge, which was in the original report, also seems to have.
I'm not quite sure why, but it can be defined as zope-interface or zope.interface. Having it with the dash and then importing iter_entry_points in code that is itself run through a dynamic entry point import such as a console_script seems to trigger the error.
I could only observe this behavior in Python 3.10, not it 3.12. (Others I haven't tested)
That's how war I could narrow it down so far. Hope it helps.

Hi @NiklasMM, thank you very much for having a look on this.
I still cannot reproduce this with the given example.
When I run the following:
> docker run --rm -it python:3.11-bookworm /bin/bash
git clone https://github.com/NiklasMM/setuptools-minimal-reproducer.git /tmp/repro
cd /tmp/repro
python -m venv /tmp/.venv
/tmp/.venv/bin/python -m pip install -e .
/tmp/.venv/bin/mypackage

I still get "Print me if you can". No errors raised.

Could you try again with python:3.10-bookworm?

Oh, I see no pyproject.toml.
Thank you!

Great idea to reproduce it in docker!
I can confirm the following works as a reproduction path in 3.10, 3.11 and 3.12
> docker run --rm -it python:3.11-bookworm /bin/bash
git clone https://github.com/NiklasMM/setuptools-minimal-reproducer.git /tmp/repro
cd /tmp/repro
pip install -U setuptools
pip install -e .
mypackage

Thank you, I can also see that this seems to be an "editable" install problem only:
git clone https://github.com/NiklasMM/setuptools-minimal-reproducer.git /tmp/repro
cd /tmp/repro
pip install -U setuptools
pip install .
mypackage
# => Print me if you can

If we try to make pip "more deterministic", we also don't see the error:
> docker run --rm -it python:3.11-bookworm /bin/bash
git clone https://github.com/NiklasMM/setuptools-minimal-reproducer.git /tmp/repro
cd /tmp/repro
pip install -U setuptools wheel
pip install -e . --use-pep517 --no-build-isolation
mypackage
# => Print me if you can

OR
> docker run --rm -it python:3.11-bookworm /bin/bash
git clone https://github.com/NiklasMM/setuptools-minimal-reproducer.git /tmp/repro
cd /tmp/repro
pip install -e . --use-pep517
mypackage
# => Print me if you can

OR
git clone https://github.com/NiklasMM/setuptools-minimal-reproducer.git /tmp/repro
cd /tmp/repro
cat <<EOF > pyproject.toml
[build-system]
requires = ["setuptools==70.0.0"]
build-backend = "setuptools.build_meta"
EOF
pip install -e .
mypackage
# => Print me if you can

So I suppose this only happens when pip calls python setup.py develop, which is deprecated.

Thank you very much @NiklasMM.
I still haven't managed to get into the bottom of the problem (e.g. there are some open questions: "why zope-interface and not zope.interface?", also somehow it looks like pkg_resources is being forcefully reloaded somehow...).
But it is enough to write a test case that verifies that the fix work. So I have created https://github.com/pypa/setuptools/pull/4422/files.
On a side note, this seems related to a combination of 2 deprecated things: deprecated legacy-style namespace packages and deprecated non-PEP 517 builds, so that is probably why the problem was not perceived before. Also, in the future the implementation may change as setuptools only guarantees reasonable best-effort for deprecated features.


New documentation website

This version includes a new "docs" folder including all files necessary to generate html documentation pages based on the dosctring of each module using sphinx.

the docstring of all main functions has been updated to fit the template
some generic rst files have been written to replace the previous .md files
the conf.py file has been modified to create a customed html appearance

Thanks for this major improvement of the repository !!!
A few comments after begining the review of the PR:
Main page of the doc

[ ] In "Publications citing MOSQITO" section, paper label can be removed
[ ] In "Publications citing MOSQITO" section, the link to the papers needs to be checked

How to contribute page and Architecture page

[ ] all first sentences after a title are in bold

API reference

[ ] page names in the function documentation

[ ] loudness_ecma documentation: label can be removed from the reference section

Review to be continued ...

[ ] loudness_zwst + loudness_zwst_freq + loudness_zwst_perseg: the standard ISO.532B-1:2017 should appear in the reference

[ ] standard reference in the sq_metrics section should be modified

[ ] pr_ecma_xx + tnr_ecma_xx : ECMA 418-1 should be cited in ref instead of ECMA 418-2

Thanks for the review !
All comments have been considered, and the branch has been synchronized with master.


.NET worker detectors

Issue to track the following:

Review existing detectors to identify whether any of them would need to be updated
Identify new detectors needed

Closing as stale. Detectors are in place, and any changes or new ones needed should be tracked with separate new issues.


Created a Toggle Button for dark mode

Issue #79  🎯🎯
Description
I have created a toggle button by which we can enter in dark mode.
Screenshots 📷

Change text color plz

I tried hard changing the color of the text but could'nt do it.


⚠ Turnos 24x7 has degraded performance

In 62a98fe, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 1051 ms

Resolved: Turnos 24x7 performance has improved in c0c841a.


fix-null-helm-template: warning

https://app.circleci.com/pipelines/github/premiscale/pass-operator/493/workflows/1d8ecf21-b380-4e7b-92c8-788aa4a9bceb/jobs/3664/parallel-runs/0/steps/0-105

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/premiscale/general?version=dev:ccee292526eb0c91b401c440214809efca9a19b3

Success.
kubesec: testing "./helm/operator-crds" on k8s version "1.24.17"
kubesec: testing "./helm/operator-crds" on k8s version "1.25.16"
kubesec: testing "./helm/operator-crds" on k8s version "1.26.11"
kubesec: testing "./helm/operator-crds" on k8s version "1.27.8"
kubesec: testing "./helm/operator-crds" on k8s version "1.28.4"
kubesec: testing "./helm/operator-e2e" on k8s version "1.24.17"
WARNING: 'helm template' produced no or invalid output for kubesec to scan.
kubesec: testing "./helm/operator-e2e" on k8s version "1.25.16"
WARNING: 'helm template' produced no or invalid output for kubesec to scan.
kubesec: testing "./helm/operator-e2e" on k8s version "1.26.11"
WARNING: 'helm template' produced no or invalid output for kubesec to scan.
kubesec: testing "./helm/operator-e2e" on k8s version "1.27.8"
WARNING: 'helm template' produced no or invalid output for kubesec to scan.
kubesec: testing "./helm/operator-e2e" on k8s version "1.28.4"
WARNING: 'helm template' produced no or invalid output for kubesec to scan.
kubesec: testing "./helm/operator" on k8s version "1.24.17"
kubesec: testing "./helm/operator" on k8s version "1.25.16"
kubesec: testing "./helm/operator" on k8s version "1.26.11"
kubesec: testing "./helm/operator" on k8s version "1.27.8"
kubesec: testing "./helm/operator" on k8s version "1.28.4"


az login with -t (for tenant) failed

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az login
Errors:
The command failed with an unexpected error. Here is the traceback:
WsTrust server returned error in RSTR: {'reason': 'ID3242: The security token could not be authenticated or authorized.', 'code': 'a:FailedAuthentication'}
Traceback (most recent call last):
  File "/opt/az/lib/python3.8/site-packages/knack/cli.py", line 231, in invoke
    cmd_result = self.invocation.execute(args)
  File "/opt/az/lib/python3.8/site-packages/azure/cli/core/commands/__init__.py", line 658, in execute
    raise ex
  File "/opt/az/lib/python3.8/site-packages/azure/cli/core/commands/__init__.py", line 721, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "/opt/az/lib/python3.8/site-packages/azure/cli/core/commands/__init__.py", line 692, in _run_job
    result = cmd_copy(params)
  File "/opt/az/lib/python3.8/site-packages/azure/cli/core/commands/__init__.py", line 328, in __call__
    return self.handler(*args, **kwargs)
  File "/opt/az/lib/python3.8/site-packages/azure/cli/core/commands/command_operation.py", line 121, in handler
    return op(**command_args)
  File "/opt/az/lib/python3.8/site-packages/azure/cli/command_modules/profile/custom.py", line 139, in login
    subscriptions = profile.login(
  File "/opt/az/lib/python3.8/site-packages/azure/cli/core/_profile.py", line 158, in login
    user_identity = identity.login_with_username_password(username, password, scopes=scopes, **kwargs)
  File "/opt/az/lib/python3.8/site-packages/azure/cli/core/auth/identity.py", line 156, in login_with_username_password
    result = self._msal_app.acquire_token_by_username_password(username, password, scopes, **kwargs)
  File "/opt/az/lib/python3.8/site-packages/msal/application.py", line 1420, in acquire_token_by_username_password
    response = _clean_up(self._acquire_token_by_username_password_federated(
  File "/opt/az/lib/python3.8/site-packages/msal/application.py", line 1447, in _acquire_token_by_username_password_federated
    wstrust_result = wst_send_request(
  File "/opt/az/lib/python3.8/site-packages/msal/wstrust_request.py", line 60, in send_request
    return parse_response(resp.text)
  File "/opt/az/lib/python3.8/site-packages/msal/wstrust_response.py", line 49, in parse_response
    raise RuntimeError("WsTrust server returned error in RSTR: %s" % (error or body))
RuntimeError: WsTrust server returned error in RSTR: {'reason': 'ID3242: The security token could not be authenticated or authorized.', 'code': 'a:FailedAuthentication'}

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az login --username {} -t {}

Expected Behavior
Environment Summary
Linux-<IP_ADDRESS>-microsoft-standard-WSL2-x86_64-with-glibc2.29, Debian GNU/Linux 11 (bullseye)
Python 3.8.13
Installer: DEB

azure-cli 2.36.0

Extensions:
application-insights 0.1.16
account 0.2.3

Dependencies:
msal 1.17.0
azure-mgmt-resource 20.0.0

Additional Context

@jiasli for awareness

Duplicate of #21050. Please see https://github.com/Azure/azure-cli/issues/21050#issuecomment-1017922460.

When attempting to log into a Microsoft Dynamics 365 / CRM instance, you will receive this error. ADFS has returned this message. The problem appears to be that authentication now requires a UPN (user principal name / MSDN – User Name Formats) logon since ADFS was upgraded. See here https://kodlogs.net/193/id3242-the-security-token-could-not-be-authenticated-or-authorized


snyk: 1.1292.1 -> 1.1292.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/snyk/cli/releases.
meta.description for snyk is: Scans and monitors projects for security vulnerabilities
meta.homepage for snyk is: https://snyk.io
meta.changelog for snyk is: https://github.com/snyk/cli/releases/tag/v1.1292.2
Updates performed

NPM version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.1292.2 with grep in /nix/store/m29ym494lhvzxdbgdx903y0qy09l1z0c-snyk-1.1292.2
found 1.1292.2 in filename of file in /nix/store/m29ym494lhvzxdbgdx903y0qy09l1z0c-snyk-1.1292.2

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

snyk

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/m29ym494lhvzxdbgdx903y0qy09l1z0c-snyk-1.1292.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A snyk https://github.com/r-ryantm/nixpkgs/archive/9c3ca939a8d36edabeed0148e37f95888b947fd2.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/9c3ca939a8d36edabeed0148e37f95888b947fd2#snyk

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/m29ym494lhvzxdbgdx903y0qy09l1z0c-snyk-1.1292.2
ls -la /nix/store/m29ym494lhvzxdbgdx903y0qy09l1z0c-snyk-1.1292.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

snyk

Maintainer pings

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
Result of nixpkgs-review pr 331641 run on x86_64-linux 1

1 package built:

snyk

The following issues got detected with the above build packages.
Please fix at least the ones listed with your changed packages:

snyk:

Package is missing maintainers.
If the package is using runCommand please make sure to inherit or list one or more maintainers.
warning: EvalError
Cannot evaluate attribute ‘snyk’ in ‘/nix/store/y6ldaiynbswb59jsvpjfy8h80y53p59q-nixpkgs’.


Enable CI for features/compiler branch

@dotnet/roslyn-infrastructure for review. Thanks

@jaredpar I'm not sure what the various failures ("CI Tests (dotnet-ci_)") mean. Good to merge?


Only split editor once on multiSelect + split

Please Select if your Request is Either something new or an Enhancement

[x] Enhancement of an existing Feature.
[ ] Request of a new feature.

Please select the area your request applys to. (Multiple selections are Possible)

[ ] Onboard. Initial vault setup and import/export pods
[x] Create. Note creation, lookup, snippets and templates
[x] Retrieve. Backlinks, references, graph view
[ ] Structure. Refactoring, multi-vault and schemas
[ ] Publish. Sharing your repo with the world
[ ] Misc (Choose this if your not sure)

Is your feature request related to a problem? Please describe
When using multiSelect and split modifiers together during a lookup, Dendron splits the editor as many times as the notes you've selected and you end up with multiple editor groups.
Describe the solution you'd like
I think it will be more useful to only split the editor once when using a combination of multiSelect and split modifiers and open all the selected notes in a single editor group.
Describe alternatives you've considered
There are not alternatives I can think of.
Additional context
It might be possible that splitting editor multiple times is useful sometimes, but I don't know if that warrants having two modifiers: splitOnce and splitMany.

So this is an issue with VSCode - it has its own function for highlighting which currently we are unable to override. Unfortunately there's not much we can do about it at this point besides make sure that we can support it on the nextjs client.  looping in @nickolay-kondratyev in case he has more to add


[ZEPPELIN-5901] k8s interpreter pod launch fails

What is this PR for?
A few sentences describing the overall goals of the pull request's commits.
K8S labels has specific requirement to name labels  which can be found here
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set
if Using external auth like Shiro with OIDC or JWT where principal is name / or username or email it can have special chars which then does not allow pod to launch.
io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: POST at: https://<IP_ADDRESS>/api/v1/namespaces/dbdwf06018702/pods. Message: Pod "jdbc-nrgtbo" is invalid: metadata.labels: Invalid value: "Firstname Lastname": a valid label must be an empty string or consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character ...

What type of PR is it?
Bug Fix
What is the Jira issue?
ZEPPELIN-5901
How should this be tested?

Strongly recommended: add automated unit tests for any new or changed behavior
Outline any manual steps to test the PR here.

Questions:

Does the license files need to update? -NO
Is there breaking changes for older versions? -NO
Does this needs documentation? - NO

Hello @grizzly-monkey,
thanks for your Pull Request.
We already have a sanitize method. Have a look at K8sUtils:generateK8sName. Please use this method or adapt the method to your needs.

when does it get merged ?

when does it get merged ?

When all tests have been successfully completed.

Fixed the tests.

I created https://github.com/grizzly-monkey/zeppelin/pull/1 to fix this feature.

ping @grizzly-monkey


Consider using sprig

We should spend more time looking at https://masterminds.github.io/sprig/ and determine whether/how much of https://github.com/docker-library/bashbrew/blob/8e42901deafd7baaf313ad4b655f85507b001746/pkg/templatelib/lib.go we could get rid of by using that instead (since it implements many of the same functions like first, last, ternary, etc - some just with a different name like toJson vs our json).

With the following very naive implementation, there's a ~1MB increase in binary size (from ~16M up to ~17M).
We'll need to define json as an alias for toJson and getenv will be our own custom wrapper, but otherwise this is basically a drop-in replacement from what I can tell. :sweat_smile:
diff --git a/cmd/bashbrew/cmd-cat.go b/cmd/bashbrew/cmd-cat.go
index 8edb581..46777a3 100644
--- a/cmd/bashbrew/cmd-cat.go
+++ b/cmd/bashbrew/cmd-cat.go
@@ -9,7 +9,9 @@ import (

 	"github.com/urfave/cli"
 	"github.com/docker-library/bashbrew/manifest"
-	"github.com/docker-library/bashbrew/pkg/templatelib"
+	//"github.com/docker-library/bashbrew/pkg/templatelib"
+
+	"github.com/Masterminds/sprig/v3"
 )

 var DefaultCatFormat = `
@@ -48,7 +50,7 @@ func cmdCat(c *cli.Context) error {
 	}

 	var i int
-	tmpl, err := template.New(templateName).Funcs(templatelib.FuncMap).Funcs(template.FuncMap{
+	tmpl, err := template.New(templateName).Funcs(sprig.TxtFuncMap()).Funcs(template.FuncMap{
 		"i": func() int {
 			return i
 		},
diff --git a/go.mod b/go.mod
index a03278e..f3d2c3b 100644
--- a/go.mod
+++ b/go.mod
@@ -3,6 +3,7 @@ module github.com/docker-library/bashbrew
 go 1.13

 require (
+	github.com/Masterminds/sprig/v3 v3.2.0
 	github.com/containerd/containerd v1.4.0
 	github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect
 	github.com/go-git/go-git/v5 v5.1.0


Enhance existing search bar function

Put in a regex for exactly that format, but I'd be in favour of just supporting the format CHROMOSOME_POSITION_REFALLELE_ALTALLELE. There's an example on the homepage and as you said, ExAC uses the format CHROMOSOME-POSITION-REFALLELE-ALTALLELE.
If it's necessary, @mkarmona should be able to match this on the backend.

We now support CHROM-POS-REF-ALT and CHROM:POS:REF:ALT


Incident Reporting

[ ] Bug fix?
[x ] New sample?
[ ] Related issues: fixes #X, partially #Y, mentioned in #Z
[ ] Needs API permissions?
[ x] Has other prerequisites? (Requires a sharepoint site & list.)

What's in this Pull Request?

The Incident Reporting Canvas Application is a powerful tool designed to streamline incident reporting and enhance data collection. With its unique and visually appealing phone layout UI/UX, this application provides an efficient and user-friendly solution for reporting and managing incidents. Seamlessly integrated with SharePoint, it allows users to upload incident images and related data securely.

Checklist

[ x] My pull request affects only ONE sample.
[x ] I have updated the README file.
[x ] My README has at least one static high-resolution screenshot (i.e. not a GIF)
[ x] My README contains complete setup instructions, including pre-requisites and permissions required

@Katerina-Chernevskaya oppened a new pull request after going through your instructions. Hope this is okay.

Any update?
@aprildunnam  @Warner-Digital @PopWarner

@hugoabernier Is there an issue with my submissions?

It's been over two weeks since my submission, Is there a problem that i can fix?
Thanks

@Katerina-Chernevskaya
Can you please take a look at this one? I'm sure you wont encounter any issues in this one. It's according to the latest documentations.
Also, I apologize for causing so much inconvenience in the previous pull requests. I'm new at this. I'm learning along the way. Learnt so much from you guys.
Thanks a lot.

Hi @shaheerahmadch,
I'm working on this pull request. I built the solution zip file based on the provided source code. So far so good here.
But when I tried to import the solution I was blocked due to the error: Some dependencies are missing. This is the log:
[{"SolutionValidationResultType":"Error","Message":"The following solution cannot be imported: IncidentReporting. Some dependencies are missing. The missing dependencies are : <MissingDependencies><MissingDependency><Required type=\"1\" schemaName=\"deploymentstagerun\" displayName=\"Deployment Stage Run\" solution=\"msdyn_AppDeploymentMetadata (<IP_ADDRESS>)\"><package>msdyn_AppDeploymentAnchor (<IP_ADDRESS>)</package></Required><Dependent type=\"1\" schemaName=\"systemuser\" displayName=\"Employee\" /></MissingDependency><MissingDependency><Required type=\"1\" schemaName=\"msfp_survey\" displayName=\"Customer Voice survey\" solution=\"MicrosoftFormsPro (<IP_ADDRESS>)\"><package>MicrosoftFormsPro (<IP_ADDRESS>)</package></Required><Dependent type=\"1\" schemaName=\"systemuser\" displayName=\"Employee\" /></MissingDependency></MissingDependencies> , ProductUpdatesOnly : False","ErrorCode":-2147188707,"AdditionalInfo":null}]
Could you please check and update the source code to fix this issue? Also please make sure to update your branch to reflect the lates changes from the main branch.
Thank you!

I validated this one before pulling the request. No worries I'll check again. Thanks for the update. Appreciate your time.

I have fixed the dependency issue and successfully imported it into a new trial environment. I have updated the source code as well as the solutions in the pull request. You should be able to deploy the solution now. Thanks alot

@Katerina-Chernevskaya Thanks for your time

Thanks for the suggestions. I'm working on another sample that utilizes SharePoint. I'll make sure to keep your suggestions in mind. Thanks a lot.
P.S. I have submitted another pull request.
https://github.com/pnp/powerplatform-samples/pull/47


[MM-9708] Add load more at bottom of permalink view

Summary
This is to support loading of more messages below on permalink view.

remove slicing of all posts since posts here are loaded on client demand (getPosts...) and is being emptied on channel switch or removal of focused post id.

(Note: makeGetPostsAroundPost is not being used by mobile RN so this is not expected to have breaking change with it.)
On webapp, I'll ask PM for a smoke test before releasing this for dev review.
Ticket Link
Jira ticket: MM-9708
Test Information
This PR was tested on: [Device name(s), OS version(s)]

@saturninoabril is this still a valid PR?

I'm closing this since this will be covered by the on going Scrolling Overhaul epic.


Option to disable notifications?

It would be good to have an option to disable notifications.
Where in the source should I look for the code that generates notifications?
(For now, I could just hack on that code to disable all notifications, then reinstall.)

https://github.com/goorockey/node-wechat-terminal/blob/7c27eda0cd12530f02baaa8db63cb32a35d9a927/cli.js#L27

Feel free to have a pull request for that. ：）

node-wechat-terminal/cli.js
Line 27 in 7c27eda
wechat.on(WechatClient.EVENTS.MESSAGE, (data) => {

Thanks!

Feel free to have a pull request for that. ：）

Cheers — will make time to write one up~


Server container failed to pause autosave before timeout was reached

Describe the bug or issue being faced
First time running a minecraft server, beginner docker user, and also first time creating an error report, so please bear with me. It might be important to note that I am using Portainer to deploy and setup everything. When starting a backup, this error is thrown "Server container failed to pause autosave before timeout was reached." Have been trying to figure this out for hours and have not found a solution. The server works and I am able to join and everything, I just cannot figure out the backup errors I am getting. I read somewhere that you might have to add the user in the container to the group for permissions or something since a container is trying to execute things in another container (?? could be way wrong), but I'm not sure how to do that or if it'd even work. Any help is appreciated!
Configuration  and Verbose Logs
config.yml (verified with https://www.yamllint.com/)
---
containers:
  bedrock:
    - name: mcbedrockserver-bds-1
      worlds:
        - /server/worlds/uzrealmworld
schedule:
  interval: 70s
trim:
  trimDays: 2
  keepDays: 14
  minKeep: 2
loggingLevel: trace

Docker compose file
version: '3.4'

services:
  bds:
    image: itzg/minecraft-bedrock-server
    environment:
      EULA: "TRUE"
      GAMEMODE: survival
      DIFFICULTY: normal
      OPS: "[redacted]"
      VERSION: "LATEST"
      VIEW_DISTANCE: "20"
      TICK_DISTANCE: "4"
      DEFAULT_PLAYER_PERMISSION_LEVEL: "member"

    stdin_open: true
    tty: true
    ports:
      - "19132:19132/udp"
    volumes:
      - /home/username/mcbedrock/data:/data
      - /home/username/mcbedrock/resource_packs:/resource_packs
      - /home/username/mcbedrock/behavior_packs:/behavior_packs

  backup:
    image: kaiede/minecraft-bedrock-backup
    container_name: minecraft_backup
    restart: always
    depends_on:
      bds:
        condition: service_healthy
    environment:
      TZ: "America/Chicago"
      UID: "0"
      GID: "999"
    tty: true
    stdin_open: true
    volumes:
      - /var/run/user/1000/docker.sock:/var/run/docker.sock
      - /home/username/mcbedrock/backups:/backups
      - /home/username/mcbedrock/data:/server

volumes:
  minecraftdata: {}

Verbose logs
DEBU[0000] Using /backups to match uid and gid

DEBU[0000] Resolved 0 from environment variable UID

DEBU[0000] Resolved 999 from environment variable GID

[19:24:29.769][info    ] Initializing Bedrockifier Daemon

[19:24:29.771][info    ] Configuring Bedrockifier Daemon

[19:24:29.772][info    ] Loading Configuration From: /backups/config.yml

[19:24:29.774][info    ] Configuration Loaded, Running Service... (main.swift:83)

[19:24:29.776][info    ] Host PTY Handle Opened: /dev/pts/1 (6) (Terminal.swift:141)

[19:24:29.776][info    ] Child PTY Handle Opened: /dev/pts/1 (7) (Terminal.swift:162)

[19:24:29.777][debug   ] Process attached (Terminal.swift:81)

[19:24:29.777][info    ] Checking for servers that might not be cleaned up (BackupActor.swift:73)

[19:24:29.777][info    ] Backup Interval: 70.0 seconds (Service.swift:151)

[19:24:29.777][debug   ] [interval] Registered (ServiceTimer.swift:102)

[19:24:29.777][debug   ] [interval] Event Fired. Valid Handler: false (ServiceTimer.swift:110)

[19:24:29.777][debug   ] [interval] Scheduled For Jan 6, 2024, 7:24:29 PM, Repeating 70.0 s (ServiceTimer.swift:81)

[19:24:29.778][info    ] Service Started Successfully. (Service.swift:101)
[19:25:39.777][debug   ] [interval] Event Fired. Valid Handler: true (ServiceTimer.swift:110)

[19:25:39.778][info    ] Starting Full Backup (BackupActor.swift:159)

[19:25:39.778][debug   ] Starting Container Process (ContainerConnection.swift:69)

[19:25:39.782][debug   ] Taking save hold on mcbedrockserver-bds-1 (ContainerConnection.swift:312)

[19:25:39.788][trace   ] Sending: save hold

 (Terminal.swift:181)

[19:25:39.788][debug   ] Expecting: ["Saving", "The command is already running", "Got permission denied while trying to connect to the Docker daemon"] (Terminal.swift:227)

[19:25:39.788][trace   ] Data Received on file descriptor (6) (Terminal.swift:296)

[19:25:39.788][trace   ] Adding Expectation 7CAA4FE2-FDB9-4C4F-910F-D88D4E8ED46C (Terminal.swift:265)

[19:25:39.788][debug   ] Timeout for Expectation is 10.0 s (Terminal.swift:271)

[19:25:39.805][trace   ] Data Received on file descriptor (6) (Terminal.swift:296)

[19:25:39.805][trace   ] Processing 1 Expects (Terminal.swift:311)

[19:25:39.805][debug   ] Content Read: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

 (Terminal.swift:236)

[19:25:39.805][trace   ] Content Has No Matches (Terminal.swift:241)

[19:25:39.807][trace   ] Process terminated (Process.swift:41)

[19:25:39.807][debug   ] Calling process detach handlers (Terminal.swift:94)

[19:25:39.807][debug   ] Process detached (Terminal.swift:99)

[19:25:49.789][debug   ] Timeout Reached for 7CAA4FE2-FDB9-4C4F-910F-D88D4E8ED46C (Terminal.swift:276)

[19:25:49.789][trace   ] Removing Expectation 7CAA4FE2-FDB9-4C4F-910F-D88D4E8ED46C (Terminal.swift:252)

[19:25:49.789][debug   ] No Matches Found, Timed Out (Terminal.swift:245)

[19:25:49.790][debug   ] Releasing save hold on mcbedrockserver-bds-1 (ContainerConnection.swift:320)

[19:25:49.791][error   ] Server container failed to pause autosave before timeout was reached (BackupActor.swift:182)

[19:25:49.791][error   ] Container mcbedrockserver-bds-1 failed to backup properly (BackupActor.swift:183)

[19:25:49.792][info    ] Performing Trim Jobs (BackupActor.swift:217)

[19:25:49.795][info    ] Full Backup Completed (BackupActor.swift:190)

[19:25:49.795][debug   ] Reseting Container Process (ContainerConnection.swift:90)

[19:25:49.795][debug   ] Process attached (Terminal.swift:81)

Additional context
I tried adding the condition to only run when the server status is healthy (saw it fixed someone else's issue) but that did not work for me. I have tried changed the UID and GID around many times and the ones listed in the logs are the only ones that seem to work, even though my user is in the docker group. Not sure if it has anything to do with that. I have also tried using some variables I saw for the java version like AUTOSAVE_PAUSE = TRUE, did not work either. Some more info and logs are below.
I have verified that the docker service is actually running
$ systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running)

minecraft-bedrock-server logs
Starting Bedrock server...

NO LOG FILE! - setting up server logging...

[2024-01-06 23:46:06:097 INFO] Starting Server

[2024-01-06 23:46:06:097 INFO] Version: <IP_ADDRESS>

[2024-01-06 23:46:06:097 INFO] Session ID: dade7eea-c212-4790-a3a8-5fbee89c7647

[2024-01-06 23:46:06:097 INFO] Build ID: 20414424

[2024-01-06 23:46:06:097 INFO] Branch: r/20_u5

[2024-01-06 23:46:06:097 INFO] Commit ID: 62ad6027dc354090f841dd996363408bb43fdfd4

[2024-01-06 23:46:06:098 INFO] Configuration: Publish

[2024-01-06 23:46:06:098 INFO] Level Name: uzrealmworld

[2024-01-06 23:46:06:100 INFO] No CDN config file found for dedicated server

[2024-01-06 23:46:06:100 INFO] Game mode: 0 Survival

[2024-01-06 23:46:06:100 INFO] Difficulty: 2 NORMAL

[2024-01-06 23:46:06:100 INFO] Content logging to console is enabled.

[2024-01-06 23:46:06:416 INFO] Opening level 'worlds/uzrealmworld/db'

[2024-01-06 23:46:06:892 INFO] IPv4 supported, port: 19132: Used for gameplay and LAN discovery

[2024-01-06 23:46:06:892 INFO] IPv6 not supported

[2024-01-06 23:46:06:898 INFO] Server started.

[2024-01-06 23:46:06:898 INFO] ================ TELEMETRY MESSAGE ===================

[2024-01-06 23:46:06:898 INFO] Server Telemetry is currently not enabled.

[2024-01-06 23:46:06:898 INFO] Enabling this telemetry helps us improve the game.

[2024-01-06 23:46:06:898 INFO]

[2024-01-06 23:46:06:898 INFO] To enable this feature, add the line 'emit-server-telemetry=true'

[2024-01-06 23:46:06:898 INFO] to the server.properties file in the handheld/src-server directory

[2024-01-06 23:46:06:898 INFO] ======================================================

[2024-01-06 23:52:06:430 INFO] Running AutoCompaction...

[2024-01-06 23:58:06:432 INFO] Running AutoCompaction...

[2024-01-07 00:04:06:433 INFO] Running AutoCompaction...

Fixed by changing the line in the docker compose file from
/var/run/user/1000/docker.sock:/var/run/docker.sock

to
/var/run/docker.sock:/var/run/docker.sock

Here is the verbose log after that was changed. If it seems like there is still something wrong, please let me know, but to me it looks like its working.
[20:05:34.365][info    ] Backed up as: world1.20240106-200533.mcworld (ContainerConnection.swift:132)
[20:05:34.365][info    ] Backups for mcbedrockserver-bds-1 finished successfully... (ContainerConnection.swift:158)
[20:05:34.365][trace   ] Sending: save resume
 (Terminal.swift:181)
[20:05:34.365][debug   ] Expecting: ["Changes to the level are resumed", "Changes to the world are resumed", "A previous save has not been completed", "Got permission denied while trying to connect to the Docker daemon"] (Terminal.swift:227)
[20:05:34.365][trace   ] Adding Expectation EA2A4BDB-8BAD-4835-9DE4-1B3085B9CECF (Terminal.swift:265)
[20:05:34.365][debug   ] Timeout for Expectation is 60.0 s (Terminal.swift:271)
[20:05:34.365][trace   ] Data Received on file descriptor (6) (Terminal.swift:296)
[20:05:34.366][trace   ] Processing 1 Expects (Terminal.swift:311)
[20:05:34.366][debug   ] Content Read: save resume

 (Terminal.swift:236)
[20:05:34.366][trace   ] Content Has No Matches (Terminal.swift:241)
[20:05:34.429][trace   ] Data Received on file descriptor (6) (Terminal.swift:296)
[20:05:34.429][trace   ] Processing 1 Expects (Terminal.swift:311)
[20:05:34.429][debug   ] Content Read: [2024-01-07 02:05:34:440 INFO] Changes to the world are resumed.

 (Terminal.swift:236)
[20:05:34.429][trace   ] Removing Expectation EA2A4BDB-8BAD-4835-9DE4-1B3085B9CECF (Terminal.swift:252)
[20:05:34.429][debug   ] Match Found: [2024-01-07 02:05:34:440 INFO] Changes to the world are resumed.

  Valid Handler: true (ServiceTimer.swift:110)
[20:06:43.657][info    ] Starting Full Backup (BackupActor.swift:159)
[20:06:43.657][debug   ] Starting Container Process (ContainerConnection.swift:69)
[20:06:43.659][debug   ] Taking save hold on mcbedrockserver-bds-1 (ContainerConnection.swift:312)
[20:06:43.665][trace   ] Sending: save hold
 (Terminal.swift:181)
[20:06:43.665][debug   ] Expecting: ["Saving", "The command is already running", "Got permission denied while trying to connect to the Docker daemon"] (Terminal.swift:227)
[20:06:43.665][trace   ] Adding Expectation 571650C0-99C4-4256-AFCD-CA5FA5CEC572 (Terminal.swift:265)
[20:06:43.665][debug   ] Timeout for Expectation is 10.0 s (Terminal.swift:271)
[20:06:43.684][trace   ] Data Received on file descriptor (6) (Terminal.swift:296)
[20:06:43.684][trace   ] Processing 1 Expects (Terminal.swift:311)
[20:06:43.684][debug   ] Content Read: save hold

 (Terminal.swift:236)
[20:06:43.684][trace   ] Content Has No Matches (Terminal.swift:241)
[20:06:43.731][trace   ] Data Received on file descriptor (6) (Terminal.swift:296)
[20:06:43.731][trace   ] Processing 1 Expects (Terminal.swift:311)
[20:06:43.732][debug   ] Content Read: [2024-01-07 02:06:43:742 INFO] Saving...

 (Terminal.swift:236)
[20:06:43.732][trace   ] Removing Expectation 571650C0-99C4-4256-AFCD-CA5FA5CEC572 (Terminal.swift:252)
[20:06:43.732][debug   ] Match Found: [2024-01-07 02:06:43:742 INFO] Saving...

 (Terminal.swift:238)
[20:06:43.732][trace   ] Sending: save query
 (Terminal.swift:181)
[20:06:43.732][debug   ] Expecting: ["Files are now ready to be copied", "Got permission denied while trying to connect to the Docker daemon"] (Terminal.swift:227)
[20:06:43.732][trace   ] Adding Expectation 9D747113-E1A0-43F3-9589-AC2BD501A110 (Terminal.swift:265)
[20:06:43.732][trace   ] Data Received on file descriptor (6) (Terminal.swift:296)
[20:06:43.732][debug   ] Timeout for Expectation is 10.0 s (Terminal.swift:271)
[20:06:43.732][trace   ] Processing 1 Expects (Terminal.swift:311)
[20:06:43.733][debug   ] Content Read: save query

 (Terminal.swift:236)
[20:06:43.733][trace   ] Content Has No Matches (Terminal.swift:241)
[20:06:43.781][trace   ] Data Received on file descriptor (6) (Terminal.swift:296)
[20:06:43.781][trace   ] Processing 1 Expects (Terminal.swift:311)
[20:06:43.781][debug   ] Content Read: [2024-01-07 02:06:43:791 INFO] Data saved. Files are now ready to be copied.

uzrealmworld/db/030934.ldb:2115251, uzrealmworld/db/030953.ldb:2120287, uzrealmworld/db/030809.ldb:2129860, uzrealmworld/db/030710.ldb:28467, uzrealmworld/db/029781.ldb:2117701, uzrealmworld/db/029060.ldb:2135576, uzrealmworld/db/030947.ldb:2128647, uzrealmworld/db/030806.ldb:2119342, uzrealmworld/db/030943.ldb:2133113, uzrealmworld/db/030819.ldb:2122640, uzrealmworld/db/029061.ldb:14348, uzrealmworld/db/030948.ldb:2161117, uzrealmworld/db/027182.ldb:2138353, uzrealmworld/db/030822.ldb:2116462, uzrealmworld/db/030950.ldb:2112827, uzrealmworld/db/030968.log:157386, uzrealmworld/db/027183.ldb:2116204, uzrealmworld/db/030813.ldb:2141611, uzrealmworld/db/029782.ldb:2120207, uzrealmworld/db/030938.ldb:2120214, uzrealmworld/db/029778.ldb:2131720, uzrealmworld/db/027230.ldb:2129570, uzrealmworld/db/030810.ldb:2138713, uzrealmworld/db/030726.ldb:202, uzrealmworld/db/028856.ldb:2129777, uzrealmworld/db/027231.ldb:2116897, uzrealmworld/db/030820.ldb:2109386, uzrealmworld/db/030942.ldb:2115008, uzrealmworld/db/CURRENT:16, uzrealmworld/db/030811.ldb:2121886, uzrealmworld/db/029779.ldb:2121426, uzrealmworld/db/MANIFEST-030897:6632, uzrealmworld/db/030967.ldb:239, uzrealmworld/db/030818.ldb:2115852, uzrealmworld/db/028855.ldb:2122868, uzrealmworld/db/030031.ldb:108288, uzrealmworld/db/027184.ldb:243677, uzrealmworld/db/030709.ldb:2132570, uzrealmworld/db/030952.ldb:2133894, uzrealmworld/db/030817.ldb:2134094, uzrealmworld/db/026182.ldb:15357, uzrealmworld/db/030707.ldb:2117376, uzrealmworld/db/030781.ldb:9552, uzrealmworld/db/030962.ldb:13371, uzrealmworld/db/030933.ldb:2134481, uzrealmworld/db/030963.ldb:19683, uzrealmworld/db/030831.ldb:788159, uzrealmworld/db/030965.ldb:239, uzrealmworld/db/030940.ldb:2128499, uzrealmworld/db/029059.ldb:2138205, uzrealmworld/db/030814.ldb:2137716, uzrealmworld/db/030816.ldb:2129135, uzrealmworld/db/030808.ldb:2115635, uzrealmworld/db/030944.ldb:2122996, uzrealmworld/db/030815.ldb:2067801, uzrealmworld/db/030722.ldb:1118273, uzrealmworld/db/027180.ldb:2124660, uzrealmworld/db/030184.ldb:144972, uzrealmworld/db/030253.ldb:6007, uzrealmworld/db/030939.ldb:2132834, uzrealmworld/db/023212.ldb:2120721, uzrealmworld/db/027229.ldb:2117041, uzrealmworld/db/027155.ldb:1385581, uzrealmworld/db/030935.ldb:7906, uzrealmworld/db/030821.ldb:2111862, uzrealmworld/db/028857.ldb:170798, uzrealmworld/db/030969.ldb:239, uzrealmworld/db/029971.ldb:26663, uzrealmworld/db/030951.ldb:2124160, uzrealmworld/db/027179.ldb:2118665, uzrealmworld/db/027232.ldb:286625, uzrealmworld/db/030708.ldb:2120547, uzrealmworld/db/030949.ldb:2130762, uzrealmworld/db/030946.ldb:2125884, uzrealmworld/db/030802.ldb:2418, uzrealmworld/db/030937.ldb:2135776, uzrealmworld/db/030830.ldb:2127875, uzrealmworld/db/030812.ldb:2121016, uzrealmworld/db/027444.ldb:241789, uzrealmworld/db/029780.ldb:2120038, uzrealmworld/db/030932.ldb:2115450, uzrealmworld/db/030807.ldb:2112368, uzrealmworld/db/030100.ldb:30350, uzrealmworld/db/030941.ldb:2135057, uzrealmworld/db/030945.ldb:2124134, uzrealmworld/db/026635.ldb:874, uzrealmworld/db/027181.ldb:2112967, uzrealmworld/level.dat:2799, uzrealmworld/level.dat_old:2799, uzrealmworld/levelname.txt:20

 (Terminal.swift:236)
[20:06:43.782][trace   ] Removing Expectation 9D747113-E1A0-43F3-9589-AC2BD501A110 (Terminal.swift:252)
[20:06:43.782][debug   ] Match Found: [2024-01-07 02:06:43:791 INFO] Data saved. Files are now ready to be copied.

uzrealmworld/db/030934.ldb:2115251, uzrealmworld/db/030953.ldb:2120287, uzrealmworld/db/030809.ldb:2129860, uzrealmworld/db/030710.ldb:28467, uzrealmworld/db/029781.ldb:2117701, uzrealmworld/db/029060.ldb:2135576, uzrealmworld/db/030947.ldb:2128647, uzrealmworld/db/030806.ldb:2119342, uzrealmworld/db/030943.ldb:2133113, uzrealmworld/db/030819.ldb:2122640, uzrealmworld/db/029061.ldb:14348, uzrealmworld/db/030948.ldb:2161117, uzrealmworld/db/027182.ldb:2138353, uzrealmworld/db/030822.ldb:2116462, uzrealmworld/db/030950.ldb:2112827, uzrealmworld/db/030968.log:157386, uzrealmworld/db/027183.ldb:2116204, uzrealmworld/db/030813.ldb:2141611, uzrealmworld/db/029782.ldb:2120207, uzrealmworld/db/030938.ldb:2120214, uzrealmworld/db/029778.ldb:2131720, uzrealmworld/db/027230.ldb:2129570, uzrealmworld/db/030810.ldb:2138713, uzrealmworld/db/030726.ldb:202, uzrealmworld/db/028856.ldb:2129777, uzrealmworld/db/027231.ldb:2116897, uzrealmworld/db/030820.ldb:2109386, uzrealmworld/db/030942.ldb:2115008, uzrealmworld/db/CURRENT:16, uzrealmworld/db/030811.ldb:2121886, uzrealmworld/db/029779.ldb:2121426, uzrealmworld/db/MANIFEST-030897:6632, uzrealmworld/db/030967.ldb:239, uzrealmworld/db/030818.ldb:2115852, uzrealmworld/db/028855.ldb:2122868, uzrealmworld/db/030031.ldb:108288, uzrealmworld/db/027184.ldb:243677, uzrealmworld/db/030709.ldb:2132570, uzrealmworld/db/030952.ldb:2133894, uzrealmworld/db/030817.ldb:2134094, uzrealmworld/db/026182.ldb:15357, uzrealmworld/db/030707.ldb:2117376, uzrealmworld/db/030781.ldb:9552, uzrealmworld/db/030962.ldb:13371, uzrealmworld/db/030933.ldb:2134481, uzrealmworld/db/030963.ldb:19683, uzrealmworld/db/030831.ldb:788159, uzrealmworld/db/030965.ldb:239, uzrealmworld/db/030940.ldb:2128499, uzrealmworld/db/029059.ldb:2138205, uzrealmworld/db/030814.ldb:2137716, uzrealmworld/db/030816.ldb:2129135, uzrealmworld/db/030808.ldb:2115635, uzrealmworld/db/030944.ldb:2122996, uzrealmworld/db/030815.ldb:2067801, uzrealmworld/db/030722.ldb:1118273, uzrealmworld/db/027180.ldb:2124660, uzrealmworld/db/030184.ldb:144972, uzrealmworld/db/030253.ldb:6007, uzrealmworld/db/030939.ldb:2132834, uzrealmworld/db/023212.ldb:2120721, uzrealmworld/db/027229.ldb:2117041, uzrealmworld/db/027155.ldb:1385581, uzrealmworld/db/030935.ldb:7906, uzrealmworld/db/030821.ldb:2111862, uzrealmworld/db/028857.ldb:170798, uzrealmworld/db/030969.ldb:239, uzrealmworld/db/029971.ldb:26663, uzrealmworld/db/030951.ldb:2124160, uzrealmworld/db/027179.ldb:2118665, uzrealmworld/db/027232.ldb:286625, uzrealmworld/db/030708.ldb:2120547, uzrealmworld/db/030949.ldb:2130762, uzrealmworld/db/030946.ldb:2125884, uzrealmworld/db/030802.ldb:2418, uzrealmworld/db/030937.ldb:2135776, uzrealmworld/db/030830.ldb:2127875, uzrealmworld/db/030812.ldb:2121016, uzrealmworld/db/027444.ldb:241789, uzrealmworld/db/029780.ldb:2120038, uzrealmworld/db/030932.ldb:2115450, uzrealmworld/db/030807.ldb:2112368, uzrealmworld/db/030100.ldb:30350, uzrealmworld/db/030941.ldb:2135057, uzrealmworld/db/030945.ldb:2124134, uzrealmworld/db/026635.ldb:874, uzrealmworld/db/027181.ldb:2112967, uzrealmworld/level.dat:2799, uzrealmworld/level.dat_old:2799, uzrealmworld/levelname.txt:20

 (Terminal.swift:238)
[20:06:43.782][info    ] Starting Backup of worlds for: mcbedrockserver-bds-1 (ContainerConnection.swift:124)
[20:06:43.783][info    ] Backing Up: world1 (ContainerConnection.swift:130)
[20:06:44.224][info    ] Backed up as: world1.20240106-200643.mcworld (ContainerConnection.swift:132)
[20:06:44.224][info    ] Backups for mcbedrockserver-bds-1 finished successfully... (ContainerConnection.swift:158)
[20:06:44.224][trace   ] Sending: save resume
 (Terminal.swift:181)
[20:06:44.224][debug   ] Expecting: ["Changes to the level are resumed", "Changes to the world are resumed", "A previous save has not been completed", "Got permission denied while trying to connect to the Docker daemon"] (Terminal.swift:227)
[20:06:44.224][trace   ] Adding Expectation 3EB1F7FB-B533-44D2-A9E9-E1D0BF61133A (Terminal.swift:265)
[20:06:44.224][debug   ] Timeout for Expectation is 60.0 s (Terminal.swift:271)
[20:06:44.224][trace   ] Data Received on file descriptor (6) (Terminal.swift:296)
[20:06:44.224][trace   ] Processing 1 Expects (Terminal.swift:311)
[20:06:44.225][debug   ] Content Read: save resume

 (Terminal.swift:236)
[20:06:44.225][trace   ] Content Has No Matches (Terminal.swift:241)
[20:06:44.279][trace   ] Data Received on file descriptor (6) (Terminal.swift:296)
[20:06:44.280][trace   ] Processing 1 Expects (Terminal.swift:311)
[20:06:44.280][debug   ] Content Read: [2024-01-07 02:06:44:290 INFO] Changes to the world are resumed.

 (Terminal.swift:236)
[20:06:44.281][trace   ] Removing Expectation 3EB1F7FB-B533-44D2-A9E9-E1D0BF61133A (Terminal.swift:252)
[20:06:44.282][debug   ] Match Found: [2024-01-07 02:06:44:290 INFO] Changes to the world are resumed.

 (Terminal.swift:238)
[20:06:44.282][debug   ] Releasing save hold on mcbedrockserver-bds-1 (ContainerConnection.swift:320)
[20:06:44.282][debug   ] Terminating Docker Process (ContainerConnection.swift:79)
[20:06:44.288][trace   ] Process terminated (Process.swift:41)
[20:06:44.288][debug   ] Calling process detach handlers (Terminal.swift:94)
[20:06:44.288][debug   ] Process detached (Terminal.swift:99)
[20:06:44.288][info    ] Performing Trim Jobs (BackupActor.swift:217)
[20:06:44.293][debug   ] Processing: world1 (Backup.swift:93)
[20:06:44.294][info    ] Full Backup Completed (BackupActor.swift:190)
[20:06:44.294][debug   ] Reseting Container Process (ContainerConnection.swift:90)
[20:06:44.294][debug   ] Process attached (Terminal.swift:81)

Yeah, I can see this important bit in the original logs:
[19:25:39.805][debug   ] Content Read: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
As I've raised in a couple issues recently, I've been working on support to use SSH rather than docker itself to connect and issue commands to itzg's MC containers. It's in the test tag now, and it should be in the latest tags for both the bedrock and java containers from itzg as of today. The idea is to simplify things a little as getting docker configured properly (along with permissions) is the part that folks have the biggest trouble.
I just need a couple days to find time to update the documentation before I move it from test to latest. But there's some examples checked in already if you want to give it a try: https://github.com/Kaiede/Bedrockifier/tree/main/Examples

Awesome, I took a look at the examples and it seems much easier. Thanks for what you do!


Use patterns for anonymous-function arguments

Decouple fun from quantifiers (forall and exists) so that it reuses the usual OCaml syntax, namely accepting patterns rather than just variable names
As in match ... with ..., reject non-exhaustive patterns
This makes it possible to destruct tuples by (fun (x,y) -> ...)
This PR is based on #308 to get proper locations for the errors.
I’ll add the changelog entry when the PR is closer to merging, to avoid the usual conflicts.
Closes #296

I’ve updated this PR with a modification of the grammar to handle the example shown in #305 as OCaml would. So it would close #305 also.
That example should be added to this PR, but it’d better wait for the upcoming reorganization of the tests to go through.

Nice addition, thank you :smiley:
LGTM


Compilation Error

Hello it seemed like everything installed correctly, but when I try to compile the "trivial.cpp" file, I get the following undefined reference errors:
/tmp/ccx3BoPz.o: In function main': nn.cpp:(.text+0x83): undefined reference to Nabo::NearestNeighbourSearch::createKDTreeLinearHeap(Eigen::Matrix<float, -1, -1, 0, -1, -1> const&, int, unsigned int, Nabo::Parameters const&)'
nn.cpp:(.text+0x10d): undefined reference to `Nabo::NearestNeighbourSearch::knn(Eigen::Matrix<float, -1, 1, 0, -1, 1> const&, Eigen::Matrix<int, -1, 1, 0, -1, 1>&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&, int, float, unsigned int, float) const'
Can you encountered this bug before?
I already had Eigen and Boost installed, so I do not know what else is required

wrong repository. Sorry