yamux: disable yamux keep alive in server channel

yamux client runs in the proxy side, sometimes the client is handling
other requests and it's not able to response to the ping sent by the
server and the communication is closed. To avoid IO timeouts in the
communication between agent and proxy, keep alive should be disabled.
fixes kata-containers/proxy#70
fixes #231
Signed-off-by: Julio Montes<EMAIL_ADDRESS>

Hi @devimc - could you add a little more detail to the commit? For example, what is the implication of the proxy/agent connection being severed (is it that it can never be re-opened and the system will then hang?) This behaviour seems counter-intuitive to a "keep alive" protocol so extra details would help.
In fact, I'd also add a brief comment in both files explaining why the keep alive option is being disabled as it would seem to be a useful feature to have enabled.

I'm thinking the CI failures are unrelated and probably already known about. For completeness, from the 17-10 logs (/cc @chavafg ):
Summarizing 3 Failures:

[Fail] Update CPU constraints Update CPU set [It] cpuset should be equal to 0,3
/home/jenkins/jenkins_slave/workspace/kata-containers-agent-fedora-27-PR/go/src/github.com/kata-containers/tests/integration/docker/cpu_test.go:388

[Fail] Hot plug CPUs with a parent cgroup [It] should not fail with parent cgroup: abc/xyz/rgb
/home/jenkins/jenkins_slave/workspace/kata-containers-agent-fedora-27-PR/go/src/github.com/kata-containers/tests/integration/docker/cpu_test.go:211

[Fail] Hot plug CPUs container with CPU constraint [It] should have 1 CPUs
/home/jenkins/jenkins_slave/workspace/kata-containers-agent-fedora-27-PR/go/src/github.com/kata-containers/tests/integration/docker/cpu_test.go:106

lgtm!

@devimc looks good, and I can confirm I ran into those issues when running a Kata Containers container for too long. It would be great to have some proper testing of this, but I am not sure how to perform it though.
Please address @jodh-intel comment and fix the CI, and we can merge this !

LGTM :+1:

@sboeuf now I see a race condition, kata-shim never finish, I'm debugging this issue

Any update on this @devimc ?

related to https://github.com/kata-containers/proxy/issues/77

exec process never finish and it's killed (timeout), this issue does happen if the exec process has a tty (docker exec -t ....)
------------------------------
docker exec check stdout forwarded using exec
  should displayed it
  /tmp/jenkins/workspace/kata-containers-agent-fedora-27-PR/go/src/github.com/kata-containers/tests/integration/docker/exec_test.go:61
Running command '/usr/bin/docker [docker run --runtime kata-runtime -td --name CZ4k1mAabI2d5jMgpuMFzBnQpW87qJ busybox sh]'
[docker run --runtime kata-runtime -td --name CZ4k1mAabI2d5jMgpuMFzBnQpW87qJ busybox sh]
Timeout: 60 seconds
Exit Code: 0
Stdout: ffb7746578159035b981f18e752c285a8f89ab3a160401cf17d88a0562ff80ea

Stderr:
Running command '/usr/bin/docker [docker exec CZ4k1mAabI2d5jMgpuMFzBnQpW87qJ sh -c ls /etc/resolv.conf 2>/dev/null]'
Killing process timeout reached '60' seconds
Running command '/usr/bin/docker [docker rm -f CZ4k1mAabI2d5jMgpuMFzBnQpW87qJ]'
[docker rm -f CZ4k1mAabI2d5jMgpuMFzBnQpW87qJ]
Timeout: 60 seconds
Exit Code: 0
Stdout: CZ4k1mAabI2d5jMgpuMFzBnQpW87qJ

Stderr:
Running command '/usr/bin/docker [docker ps -a -f name=CZ4k1mAabI2d5jMgpuMFzBnQpW87qJ --format {{.Status}}]'
[docker ps -a -f name=CZ4k1mAabI2d5jMgpuMFzBnQpW87qJ --format {{.Status}}]
Timeout: 60 seconds
Exit Code: 0
Stdout:
Stderr:

• Failure [62.969 seconds]
docker exec
/tmp/jenkins/workspace/kata-containers-agent-fedora-27-PR/go/src/github.com/kata-containers/tests/integration/docker/exec_test.go:19
  check stdout forwarded using exec
  /tmp/jenkins/workspace/kata-containers-agent-fedora-27-PR/go/src/github.com/kata-containers/tests/integration/docker/exec_test.go:60
    should displayed it [It]
    /tmp/jenkins/workspace/kata-containers-agent-fedora-27-PR/go/src/github.com/kata-containers/tests/integration/docker/exec_test.go:61

    Expected
        <int>: -1
    to equal
        <int>: 0

    /tmp/jenkins/workspace/kata-containers-agent-fedora-27-PR/go/src/github.com/kata-containers/tests/integration/docker/exec_test.go:64

@devimc I am actively debugging this FYI, but I don't think this is related to TTY since I have been able to reproduce this same behavior with a command using TTY.

@devimc @jodh-intel @bergwolf @WeiZhang555
Ok I have spent a good amount of time this week investigating this issue. But let's first take a step back because I wanted to mention that the issue we're trying to solve here might actually be considered as a non-issue. Problem here is that when we pause the container, we pause the entire VM, which is not really the expected behavior IMO. I am even wondering if the use case of pausing/resuming a VM is valid from an OCI command perspective. From this observation, I am wondering if it's worth it to disable keepalive from Yamux, and instead, we should work on making sure that a docker pause will translate into a container process to be paused instead of getting the VM paused.
Now, I also understand that we might run into some issues if, in the context of VM templating, we let the kernel boot and the agent start before we pause the VM. And for this reason, we might want to disable keepalive.
So here we go about the debug part. The environment to reproduce is pretty simple, we need to run a simple container, something like:
docker run -it busybox
#

and then from another terminal you start a loop of exec:
while :; do docker exec mycontainer ls /etc/resolv.conf 2> /dev/null

so you get regular output:
/etc/resolv.conf
/etc/resolv.conf
...
/etc/resolv.conf

until it hangs.
Looking at the whole chain, what happens is the shim (after it got all the output from the agent and transmitted all its input to the agent) calls into WaitProcess(), and I can see this call going through the proxy but it never makes it to the agent, and in particular to the gRPC server. I have heavily instrumented the code and checked what was happening, and I came to the conclusion that Yamux was not reading anything. I dumped a bunch of logs from the Yamux code, and I confirm that when this issue happens, Yamux is still blocked reading here: https://github.com/hashicorp/yamux/blob/master/session.go#L453 while it should be reading something.
Also, when this happens, a very interesting thing to notice is that we can unblock the hanging shim by simply entering one character from the container shell. The behavior is very weird but basically it seems that we have the WaitProcess() message buffered in between and never pushed through the VM, which makes Yamux not able to read the expected amount of bytes. But when something is triggering more input through the socket/serial_port, it magically unblocks everything.
This is where I am at and I don't know how to continue on this. Do you have any idea if this behavior could have been caused by the VM port that might be "buggy" ?
HELP NEEDED :)

Nice work so far @devimc @sboeuf btw. A couple of thoughts then:

You talk about pausing the container, but with your busybox/ls resolv example, are we pausing? Maybe I'm just missing something there in the container state machine in my head?
That hang up being released by a single character smells very much like an I/O race with somebody (at or near the yamux end) missing a delivery, and blocking. Hmmm
If we think yamux may be part of the issue, there are (many!) other multiplexers out there (like muxado), and even a wrapper for a number of them: https://github.com/libp2p/go-stream-muxer  OK, most of the time debugging the problem you have in hand is the best way forwards - but if we get stuck and need to compare/contrast, maybe they might be useful.

I'm going to go stare at yamux etc. just in case something pops out at me.

@sboeuf I tried to reproduce your busybox/resolv test, but it's still going at 4000+ execs for me. Was there anything 'special' one has to do or patches one should/not have in place?
I was going to mention you see that I think our vendor'd yamux is out of date, and there might be some relevant fixes in the upstream:
4c2fe0d (origin/b-consul-3040) Dont output keepalive error when the session is closed
f21aae5 Make sure to drain the timer channel on defer, and a clarifying comment
601ccd8 Make receive window update logic a bit cleaner
02d320c Uses timer pool in sendNoWait, like in waitForSendErr
cf433c5 window update unit test for partial read; benchmark large buffer
ca8dfd0 improve memory utilization in receive buffer, fix flow control
683f491 Fix race around read and write deadlines in Stream (#52)
40b86b2 Add public session CloseChan method (#44)

@grahamwhaley thanks for taking a look at this too.

To clarify, the issue solved by this PR was to be able to pause a container (pause the VM) without having issues regarding the Yamux keepalive (heartbeat) feature. Now, relying on this PR, we see some issues when running simple exec test.
About Yamux version, I also realized this last week, and I am testing with the latest version Yamux for both proxy and agent, but this didn't solve it...
Pretty weird that you didn't get the tests failing yet...

@grahamwhaley more debug info on this.
I have tried on my baremetal machine to compare with your setup. It is harder to reproduce (way harder), but at some point I hit the issue. Also, it's been easier to reproduce by forcing virtio-serial-pci to disable-modern=true, making use of virtio 0.9 instead of 1.0.
We need to instrument client side of yamux (proxy), and server side of yamux (agent) in order to understand why the command from the shim is not transmitted/received. I said I had checked the proxy receives the request from the shim, but I haven't checked that yamux client actually sends this to the agent... This is the next thing to try.

After reading https://github.com/golang/go/issues/24942 , I installed golang 1.11 (beta) to check if this issue is gone, unfortunately it didn't, issue still occurs.

@devimc @grahamwhaley
I have spent more time on this issue, and I think the data is simply not making it through the emulated serial port, meaning the agent never gets to read what's sent. Based on my previous explanation about how triggering the communication by entering a random key in the container console was actually unblocking the situation, I have found an interesting issue here: https://bugzilla.redhat.com/show_bug.cgi?id=1435432 leading to a cloned one: https://bugzilla.redhat.com/show_bug.cgi?id=1438539 basically saying that glib2 might have some issues regarding the way the loop might not be properly woken up.
@devimc could you try on a Fedora with at least glib2-2.52.2-2.fc26 version and let me know if you can reproduce the issue ?

Hi @sboeuf
Fedora 26
Name         : glib2
Version      : 2.52.3
Release      : 2.fc26
Arch         : x86_64
issue still occurs

@devimc I don't understand what happens then... That's okay, I'll submit a simple workaround on the proxy.

Good digging on those issues @sboeuf  Reading those, it looks like that issue was fixed in both QEMU and glib.
It does indeed feel like an issue with the same symptoms. I wonder maybe if there is another ocurrence of it in one of those libs/apps. At least there are some clues how to debug/diagnose/spot it from strace and stack dumps in that first thread - we could maybe capture and compare one of our hangs with the ones detailed in the thread for more comparison/clues?

@sboeuf Is your reproducer always reliable? I really would like to understand what is happening there and I tried the following locally but cannot reproduce the hang:
$docker run -it --runtime kata --name test busybox

In another screen:
I=0; while :; do I=$((I+1)); echo $I; docker exec test ls /etc/resolv.conf ;done

I'm getting I > 3000 now and it is still running. How long does it take to reproduce on your side?

@bergwolf have you applied the patch from this PR (disabling keepalive) ?
It was fairly easy to reproduce for me. Between 100 and 500 iterations should do the thing. Oh but wait, on baremetal it's actually harder to reproduce and took me a lot more time.

@sboeuf No, I didn't apply this PR. I am using my vm factory branch though I don't think that's related. And I'm running nested VT using vmware fusion.
And it's getting over 6000 now and still running. Sometimes it does stall for 1 or 2 second, but it continues without me doing anything (except for watching for sure ;-). I would guess that might be golang doing garbage collection.
I'll do a fresh start with master to exclude my changes...

@bergwolf but you need to apply this PR, otherwise the keepalive will send a message and will simply unblock the blocking condition. By applying this PR, you should see this happen.

@sboeuf Thanks for the hint. I have applied this PR and I can reproduce it.
OTOH, I would ask is this PR still needed now that we have changed to pause container instead of the sandbox? I think the original issue in #231 with docker pause is gone, right?

@bergwolf yes I think the original issue is fixed but I think we still want to find the root cause for this. Also, I think you might have the same issue with VM factory since some implementation of the factory actually pauses the VM, right ?

Some stack traces from Qemu threads running when this happens:
[<0>] poll_schedule_timeout+0x45/0x70
[<0>] do_sys_poll+0x50d/0x610
[<0>] SyS_ppoll+0x166/0x180
[<0>] do_syscall_64+0x73/0x130
[<0>] entry_SYSCALL_64_after_hwframe+0x3d/0xa2
[<0>] 0xffffffffffffffff

[<0>] futex_wait_queue_me+0xca/0x130
[<0>] futex_wait+0x119/0x260
[<0>] do_futex+0x128/0x500
[<0>] SyS_futex+0x7f/0x180
[<0>] do_syscall_64+0x73/0x130
[<0>] entry_SYSCALL_64_after_hwframe+0x3d/0xa2
[<0>] 0xffffffffffffffff

[<0>] kvm_vcpu_block+0x8d/0x310 [kvm]
[<0>] kvm_arch_vcpu_ioctl_run+0x10e/0x3c0 [kvm]
[<0>] kvm_vcpu_ioctl+0x33a/0x610 [kvm]
[<0>] do_vfs_ioctl+0xa4/0x600
[<0>] SyS_ioctl+0x79/0x90
[<0>] do_syscall_64+0x73/0x130
[<0>] entry_SYSCALL_64_after_hwframe+0x3d/0xa2
[<0>] 0xffffffffffffffff

Also, here is the last call showed by strace on the Qemu process:
ppoll([{fd=20, events=POLLIN}, {fd=23, events=POLLIN}, {fd=25, events=POLLIN}, {fd=26, events=POLLIN}, {fd=27, events=POLLIN}, {fd=51, events=POLLIN}, {fd=52, events=POLLIN}, {fd=53, events=POLLIN}, {fd=54, events=POLLIN}, {fd=55, events=POLLIN}, {fd=56, events=POLLIN}, {fd=57, events=POLLIN}, {fd=58, events=POLLIN}, {fd=59, events=POLLIN}, {fd=60, events=POLLIN}, {fd=61, events=POLLIN}, {fd=62, events=POLLIN}, {fd=63, events=POLLIN}, {fd=64, events=POLLIN}, {fd=65, events=POLLIN}, {fd=66, events=POLLIN}, {fd=67, events=POLLIN}, {fd=68, events=POLLIN}, {fd=69, events=POLLIN}, {fd=70, events=POLLIN}, {fd=71, events=POLLIN}, {fd=72, events=POLLIN}, {fd=73, events=POLLIN}, {fd=74, events=POLLIN}, {fd=75, events=POLLIN}, {fd=76, events=POLLIN}, {fd=77, events=POLLIN}, ...], 75, {26414, 489052406}, NULL, 8

I don't get the end of the logs here, I don't know why... Expecting to get something like:
ppoll([{fd=20, events=POLLIN}, {fd=23, events=POLLIN}, {fd=25, events=POLLIN}, {fd=26, events=POLLIN}, {fd=27, events=POLLIN}, {fd=51, events=POLLIN}, {fd=52, events=POLLIN}, {fd=53, events=POLLIN}, {fd=54, events=POLLIN}, {fd=55, events=POLLIN}, {fd=56, events=POLLIN}, {fd=57, events=POLLIN}, {fd=58, events=POLLIN}, {fd=59, events=POLLIN}, {fd=60, events=POLLIN}, {fd=61, events=POLLIN}, {fd=62, events=POLLIN}, {fd=63, events=POLLIN}, {fd=64, events=POLLIN}, {fd=65, events=POLLIN}, {fd=66, events=POLLIN}, {fd=67, events=POLLIN}, {fd=68, events=POLLIN}, {fd=69, events=POLLIN}, {fd=70, events=POLLIN}, {fd=71, events=POLLIN}, {fd=72, events=POLLIN}, {fd=73, events=POLLIN}, {fd=74, events=POLLIN}, {fd=75, events=POLLIN}, {fd=76, events=POLLIN}, {fd=77, events=POLLIN}, ...], 75, {26244, 801838000}, NULL, 8) = 1 ([{fd=26, revents=POLLIN}], left {26244, 801828900})

@sboeuf vm factory does not need this PR. It uses builtin proxy w/o long live agent connections. So after the VM is unpaused, a new standalone proxy can be created thus we do not need to resume any existing connection.

@bergwolf oh yes I missed that point. But we still have some cases where this keepalive is causing some issues. Particularly with the metrics CI, we're seeing some docker rm hangs because of this. I think using the combo https://github.com/kata-containers/proxy/pull/91 + this PR should be the appropriate way to fix all those issues right now.

Just as a quick update - I spent a little time today re-reading those upstream fixes for qemu/glib, and also running up a VM locally to see if I could reproduce.
Yay, I did reproduce the issue.
Reading those upstream patches - I believe having either of those in place would fix the issue, and as that qemu fix went in quite some time ago afaict (v2.9 I think), then I suspect we are not running into that exact issue - at least not in that exact code path.
I did see that @stefanha did some of the diagnosis on that formerly reported issue, so will /cc him here just in case he has any insight or clues we can use.

Thanks for digging @grahamwhaley and yes unfortunately that was not the culprit... We cannot investigate this forever and that's why I suggest that we use the WA  kata-containers/proxy#91 in the meantime.

Thanks @stefanha - I could not produce the hang on bare metal, but it happens much more quickly (for me anywhere between 80 an 1100 iterations) inside a VM - if that helps...
For the 10k exec death - ouch!, and thanks for reporting. @GabyCT - you have an exec soak test I believe - does it go up to 10k? - could you give that a try to see if we can reproduce?

@grahamwhaley one question, so I need to apply this PR and then run the test? or just run the test what we have currently?

@GabyCT I think you don't need to apply this PR since the issue mentioned by @stefanha is/seems unrelated.

@sboeuf thanks for the clarification :)

@grahamwhaley , I ran the distress test where we perform several execs in a running container and so far there has been more than 15k execs and the VM has not died. Here it is the configuration that I am using
kata-runtime  : 1.1.0
commit   : e0010619fcebbad28be29ade111257d477ecbad3
OCI specs: 1.0.1
kata-agent version 1.1.0-17b44df35a174c09966cf9d2ccc8472a597feda1
kata-proxy version 1.1.0-7e2a93d1931d814debfcff2846b1514af1b9601d
kata-shim version 1.1.0-6ddca0334d0e8dee6e1e00f0c120fde4b8c1c176

I concur the patch feels unrelated to the death - but, given you've run it without the patch and it didn't die, I think we should try a couple of things (probably in this order):

run it again with the patch, just in case...
run it longer - leave it overnight and see if it still going in the morning :-)
if all that fails, somebody else can try to reproduce (I can do that), and we should probably gather exact details from @stefanha - which distro, was it nested/VM, what kata components (a kata-env would be good). We should probably then do that on a new Issue to separate the >10k exec issue from this yamux one.

@sboeuf

Particularly with the metrics CI, we're seeing some docker rm hangs because of this

Could you please give some pointers to these issues? I get it that it is broken by design to have keepalive when pausing the VM. But what errors did we get about docker rm that has its roots on this?
Basically what you did in kata-containers/proxy/pull/91 is copying yamux session.keepalive() implementation to kata-proxy -- the same effect as enabling keepalive on kata-proxy side. I do not understand why it would solve the whole issue. If we do need that, we can just enable keepalvie on kata-proxy side, don't we?

@grahamwhaley do you have any pointers about the root cause of the docker rm hangs for @bergwolf  ?
@bergwolf about the proxy patch I have introduced, I agree it is almost the same as keepalive. The main difference being that I don't care/check for error. This simply maintains a regular communication every second, but will never error out. Does that make sense?

Sure. Hi @bergwolf . More complete thread is over at: Over on https://github.com/kata-containers/runtime/issues/406#issuecomment-401856920
I believe the basic issue is that if you issue something such as:
$ docker rm -f $(docker ps -qa)

and have a reasonable number of containers running (say >20 - I have seen this happen with 20, and see it often with 110 containers...), then afaict Docker will issue all of those rms in parallel. This takes time for kata, and eventually it seems we run into a yamux timeout, which then kills that container. That also then leaves us in an untidy state, and requires hand cleanup or reboot of Docker to get us back to a working system :-(
My gut feeling is that on a parallel rm our runtimes may race somewhat on the lock files down in /var/.../sb . @sboeuf did a bunch of rework on that a few months back, and it is better than it used to be - but I still suspect we have some race/locks, maybe. Unproven though, and possibly unavoidable.

@grahamwhaley, regarding to
run it longer - leave it overnight and see if it still going in the morning :-)

I ran the stress test (where we performed several execs) for 20 hours and it is still working so far we have more than 150k execs done successfully.

@GabyCT - great, thanks for the confirmation.
@stefanha - looks like we will need a few more details about the system and versions etc. if we are to re-create that >10k exec failure.

On Tue, Jul 24, 2018 at 2:46 PM, Graham Whaley<EMAIL_ADDRESS>wrote:

@stefanha - looks like we will need a few more details about the system and versions etc. if we are to re-create that >10k exec failure.

It might be related to my Fedora initramfs.  It's possible that the
guest is running out of memory because something is writing to the
initramfs (i.e. RAM), like systemd-journald.  I'll investigate.

@bergwolf have you seen my answer ?

about the proxy patch I have introduced, I agree it is almost the same as keepalive(). The main difference being that I don't care/check for error. This simply maintains a regular communication every second, but will never error out. Does that make sense?

@bergwolf ping ;)

LGTM. Sorry for the delay. I guess we'll have to carry this workaround (and kata-containers/proxy#91) since we cannot wait to find out the root cause forever...

https://github.com/kata-containers/proxy/pull/91 has been merged. We can go ahead and merge this one.


bump to k8s 1.27

This PR also contains code changes in order to support the API changes that has done for podresourceapi and cpuset packages.

perhaps is a bit too early to bump to 1.27. Also, I think we should also bump our CI (can be done on a later PR) to run on top of 1.27

np. it can wait

before than this, we will probably need to bump the toolchain to golang 1.20

need a rebase

The latest changes have no simple resolution. Are we planing on bumping soon?
If not, I suggest to close this one

sure, we can just close and reopen later

Closing according to latest comments


SqliteSaver and AsyncSqliteSaver missing in 0.2.1

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangGraph/LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangGraph/LangChain rather than my code.
[X] I am sure this is better as an issue rather than a GitHub discussion, since this is a LangGraph bug and not a design question.

Example Code
from langgraph.checkpoint.aiosqlite import AsyncSqliteSaver
from langgraph.checkpoint.sqlite import SqliteSaver

Error Message and Stack Trace (if applicable)
error shows, both of these packages not available

Description
completely uninstalled previous version of langgraph, 0.2.19
reinstalled / upgraded to 0.2.21
here are other packages:
langchain 0.2.12
langchain-chroma 0.1.2
langchain-community 0.2.11
langchain-core 0.2.28
langchain-google-vertexai 1.0.8
langchain-huggingface 0.0.3
langchain-openai 0.1.20
langchain-text-splitters 0.2.2
langgraph 0.2.1
langgraph-checkpoint 1.0.2
both of AsyncSqliteSaver and SqliteSaver imports are not available
System Info
langchain 0.2.12
langchain-chroma 0.1.2
langchain-community 0.2.11
langchain-core 0.2.28
langchain-google-vertexai 1.0.8
langchain-huggingface 0.0.3
langchain-openai 0.1.20
langchain-text-splitters 0.2.2
langgraph 0.2.1
langgraph-checkpoint 1.0.2

@vbarda think same issue as memory

how to address it ?
i have reinstalled couple of times, but still same issue

pip install langgraph-checkpoint-sqlite

we've split out the sqlite checkpointers into separate library -- please install using langgraph-checkpoint-sqlite. after that the imports will work the same as before. let me know if you run into an issue after that!


Permission denied

When I entered wormhole receive it asked for wormhole code and I entered it .after that it says receiving file after typing 'y' ,it's showing me some errors in defer.py module and finally says permission denied: filename

Could you paste the full output?
Is it possible that the directory you ran wormhole receive from was not a directory you could write to? Like you were sitting in some read-only directory?
If that's the case, maybe we should change the command to open the target file before asking for the wormhole code, to check for problems like this before consuming the code. On the other hand, we don't know what the target filename is until we've used the code and received the encrypted message from the sender (or even if we're receiving a file at all, since they might be using wormhole send --text=MESSAGE).

Yes ,you are right i have been trying to fetch the file from read only directory.


Update proxy_url test (from ibmq-provider)

Summary
Fixes #271
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-3.4%) to 34.029%

Totals

Change from base Build<PHONE_NUMBER>:
-3.4%

Covered Lines:
1597

Relevant Lines:
4693

💛  - Coveralls

updating black due to click import error https://github.com/psf/black/issues/2964


Admin rights go against best practices

Check issue 10 of the attached audit.
2022-06-06_Audit_Report_-_DAO_DAO_v0.1.pdf

For the sake of avoiding some nasty merge stuff, lets merge this before tackling this issue: https://github.com/DA0-DA0/dao-contracts/pull/344


backend/headless: add WLR_HEADLESS_DEVICE env variable

This lets users select the DRM node to use for rendering.

It would be nice to have a generalized env variable to select the rendering device regardless of the backend. However this would break the DRM backend, which expects buffers coming from the primary device.

It would be nice to have a generalized env variable to select the rendering device regardless of the backend. However this would break the DRM backend, which expects buffers coming from the primary device.

Hmm, how would it break the DRM backend? The env var would be selecting the primary GPU device, both for DRM, headless, etc.

It would be nice to have a generalized env variable to select the rendering device regardless of the backend. However this would break the DRM backend, which expects buffers coming from the primary device.

Hmm, how would it break the DRM backend? The env var would be selecting the primary GPU device, both for DRM, headless, etc.

First, we'll always want the allocator and the renderer to operate on the same device. I don't think anything supports rendering on a non-local DMA-BUF.
Then, the DRM backend has two modes of operation: parent or child. In parent mode, the buffers submitted are directly scanned out. In child mode, the buffers are first copied locally, and then scanned out.
Right now the DRM backend mode is picked at creation time, and the renderer/allocator is created after the backend (because by default the renderer/allocator should default to the backend's device). If we were to add a generic "pick this device for rendering" env var, we would need to make sure the DRM parent matches the rendering device. So far WLR_DRM_* env vars always were to configure the DRM backend, and having two env vars would leave room for a mismatch.
We could also change how the DRM backend operates: instead of deciding of the parent/child mode at creation time, maybe we could do something smarter like try to import the buffer to KMS and perform a copy if that fails (assuming it's a remote DMA-BUF). That's a little fragile though, the import could fail because of another reason and a copy may not help. Unfortunately there's no "is this DMA-BUF local?" syscall.

First, we'll always want the allocator and the renderer to operate on the same device. I don't think anything supports rendering on a non-local DMA-BUF.
Then, the DRM backend has two modes of operation: parent or child. In parent mode, the buffers submitted are directly scanned out. In child mode, the buffers are first copied locally, and then scanned out.
Right now the DRM backend mode is picked at creation time, and the renderer/allocator is created after the backend (because by default the renderer/allocator should default to the backend's device). If we were to add a generic "pick this device for rendering" env var, we would need to make sure the DRM parent matches the rendering device. So far WLR_DRM_* env vars always were to configure the DRM backend, and having two env vars would leave room for a mismatch.
We could also change how the DRM backend operates: instead of deciding of the parent/child mode at creation time, maybe we could do something smarter like try to import the buffer to KMS and perform a copy if that fails (assuming it's a remote DMA-BUF). That's a little fragile though, the import could fail because of another reason and a copy may not help. Unfortunately there's no "is this DMA-BUF local?" syscall.

Maybe we could make it so the ordering in WLR_DRM_DEVICES doesn't matter and the primary device is selected via the generic env var.

This is what I had in mind too.

Maybe we could make it so the ordering in WLR_DRM_DEVICES doesn't matter and the primary device is selected via the generic env var.

This is what I had in mind too.

Note, we should probably error out if WLR_DRM_DEVICES doesn't contain the primary device env var.

Note, we should probably error out if WLR_DRM_DEVICES doesn't contain the primary device env var.

wlroots has migrated to gitlab.freedesktop.org. This pull request has been moved to:
https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2656


Automated cherry pick of #4313: fix: 避免在域管理后台rules不可见

Cherry pick of #4313 on release/2.11.
#4313: fix: 避免在域管理后台rules不可见

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.11@cf05505). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.11   #4316   +/-   ##
==============================================
  Coverage                ?   7.11%
==============================================
  Files                   ?     480
  Lines                   ?   78070
  Branches                ?       0
==============================================
  Hits                    ?    5554
  Misses                  ?   72050
  Partials                ?     466

Flag
Coverage Δ

#aFlag
7.11% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/secgrouprules.go
4.45% <0%> (ø)

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 cf05505...5974104. Read the comment docs.

/lgtm

/approve


not working with useHash

i'm trying to use the second solution described in the docs to get this to work in useHash mode. I'v set my redirectUri: redirectUri: window.location.origin + '/#/admin/dashboard'
After the login, i'm redirected back to my redirectUri, I can see the parameters for a moment, but this is the issue:  the parameters disappear and the url changes to: http://localhost:4200/#/admin/dashboardid_token
Meaning the first parameter, id_token, is not separated from the route and I get a 404 because this route does not exist of course.

Thanks for this info.
Can you try to get a redirect to sth like
http://localhost:4200/#/admin/dashboard?id_token=ey...

Hi, I added ? at the end and seems to be working great. Thanks

Cool. Thanks for this info.


Nix check fails on macOS 15.1.1, aarch64-darwin

Hello!
I'm trying to get IHaskell running on my macOS machine, but it appears that this is not possible — at some point I always run into the error
internal error: Relocation target for PAGE21 out of range.
     (GHC version 9.6.6 for aarch64_apple_darwin)
     Please report this as a GHC bug:  https://www.haskell.org/ghc/reportabug

Possible cause
The README for the hint package indicates that

Importing a module from the current package is not supported. It might look like it works on one day and then segfault the next day. You have been warned.
To work around this limitation, move those modules to a separate package. Now the part of your code which calls hint and the code interpreted by hint can both import that module.

It sounds plausible to me that this is a description of the linker error shown above. In other words, the use case where the ihaskell package tries to interpret a module from the ihaskell package (most importantly the IHaskell.Display module) is not supported by GHC on macOS.
This suggest that addressing #1293 helps with making IHaskell work on macOS.
Steps to reproduce
Here is a reproduction path that follows similar steps as the IHaskell CI, but using aarch64-darwin instead of x86_64-linux.
macOS version: 15.1.1
% nix --version
nix (Nix) 2.25.2

% git clone https://github.com/IHaskell/IHaskell.git
% cd IHaskell
% yes | nix build .#checks.aarch64-darwin.ihaskell-env-ghc96 -L
[…]
error: builder for '/nix/store/1q6rwsbvr7ljdnb4lyygz99ifwdlhxjg-ihaskell-<IP_ADDRESS>.drv' failed with exit code 1;
       last 25 log lines:
       >   parses list pattern matching fun decl [✔]
       >   parses two pattern matches as the same declaration [✔]
       >   parses a type signature followed by a declaration [✔]
       >   parses a simple module [✔]
       >   parses a module with an export [✔]
       >   breaks when a let is incomplete [✔]
       >   parses LANGUAGE pragmas case-insensitively [✔]
       >   breaks without data kinds [✔]
       >   parses statements after imports [✔]
       >   ignores blank lines properly [✔]
       >   doesn't break on long strings [✔]
       >   parses do blocks in expression [✔]
       >   correctly locates parsed items [✔]
       > Parsing Shell Commands
       >   parses A correctly [✔]
       >   parses :load A correctly [✔]
       >   parses :!l ~/Downloads/MyFile\ Has\ Spaces.txt correctly [✔]
       >   parses :!l "~/Downloads/MyFile Has Spaces.txt" /Another/File\ WithSpaces.doc correctly [✔]
       > Code Evaluation
       > hspec: internal error: Relocation target for PAGE21 out of range.
       >     (GHC version 9.6.6 for aarch64_apple_darwin)
       >     Please report this as a GHC bug:  https://www.haskell.org/ghc/reportabug
       > Test suite hspec: FAIL
       > Test suite logged to: dist/test/ihaskell-<IP_ADDRESS>-hspec.log
       > 0 of 1 test suites (0 of 1 test cases) passed.
       For full logs, run 'nix-store -l /nix/store/1q6rwsbvr7ljdnb4lyygz99ifwdlhxjg-ihaskell-<IP_ADDRESS>.drv'.
error: 1 dependencies of derivation '/nix/store/3hybjncbvgi2p7zrwlsk42a7ydijv7wq-ghc-9.6.6-with-packages.drv' failed to build
error: 1 dependencies of derivation '/nix/store/xzd9y6llf83cp2y8zsxnpabjpw1n7n6s-ihaskell-with-packages-ghc96.drv' failed to build
error: 1 dependencies of derivation '/nix/store/xc7f3vnszrfdvvp70lvk4qni5s2r5dg4-ihaskell-env-ghc96-check.drv' failed to build

(The yes command blindly adds trust settings, please do not use it on your machine.)

Do you have any insight into why this is only a problem on aarch64-darwin and not x86_64-linux? It seems to me like this is an upstream issue.

I can see that this is an arm64-specific RTS error: https://github.com/ghc/ghc/blob/683115a40fd989a287fa51efe140af9448526098/rts/linker/MachO.c#L408-L419

A quick search didn't turn up an existing issue so I created https://gitlab.haskell.org/ghc/ghc/-/issues/25572

Do you have any insight into why this is only a problem on aarch64-darwin and not x86_64-linux?

Different object file format (Mach-O versus ELF, I believe).

It seems to me like this is an upstream issue.

Yes. But it seems that this issue has been encountered before by e.g. hint, though. A viable workaround is to avoid "potential self-interpretation" by splitting into an interpreter package and a package that contains modules to be interpreted.
#1293 would be one step in this direction. I may be able to put some time into this, but it would entail a major change to the package layout — what do you think?

I'm against making substantial changes to IHaskell to work around this, especially since we might be doing self-interpretation already in other places in the test suite so I'm skeptical that it would actually fix the issue. It seems like this is potentially another manifestation of known issues with the ARM64 NCG (see https://gitlab.haskell.org/ghc/ghc/-/issues/24648 and https://gitlab.haskell.org/ghc/ghc/-/merge_requests/12460) so you could try building with LLVM for now which seemed to help.

especially since we might be doing self-interpretation already in other places in the test suite so I'm skeptical that it would actually fix the issue

I have evidence that this may work: doctest is another user of the GHC API, and I have tested that it works on aarch64-darwin when doctest itself is visible in the GHC environment file. (doctest doesn't import any of its modules, I believe.)
When making a pull request, I would of course test that it works around the problem successfully. My question would be whether you would consider the pull request for merging in the event that this test does pass. As the pull request would also perform #1293, the pull request is not just a workaround, but would have independent value as well. On the other hand, if you disagree with the direction in #1293 on other grounds, I can understand why you would not want to consider it.

When making a pull request, I would of course test that it works around the problem successfully. My question would be whether you would consider the pull request for merging in the event that this test does pass. As the pull request would also perform #1293, the pull request is not just a workaround, but would have independent value as well. On the other hand, if you disagree with the direction in #1293 on other grounds, I can understand why you would not want to consider it.

Thank you for asking: I am broadly against the direction of #1293. My reasoning is that juggling ghc-parser, ipython-kernel, and ihaskell is already enough of a challenge when building this project, and adding a fourth separate project into the mix would IMO complicate things without adding enough value to justify its existence (in terms of keeping version bounds correct and maintaining yet another package on Hackage). I also don't think splitting the IHaskell.Display type out achieves anything that cannot be achieved otherwise by e.g. defining an external adapter type, or that there are that many people actually using IHaskell.Display in separate projects that need the option to conditionally depend on ihaskell.
Have you investigated building with LLVM, or seeing if https://gitlab.haskell.org/ghc/ghc/-/merge_requests/12460 might resolve this issue? I'm also curious if this is only a problem in the test suite or if it blocks actually using IHaskell, i.e. if you skip the tests then does the resulting binary work correctly?

I am broadly against the direction of https://github.com/IHaskell/IHaskell/issues/1293.

Fair enough.

Have you investigated building with LLVM, or seeing if https://gitlab.haskell.org/ghc/ghc/-/merge_requests/12460 might resolve this issue?

No, I have not investigated compiling with a modified version of GHC.

I'm also curious if this is only a problem in the test suite or if it blocks actually using IHaskell, i.e. if you skip the tests then does the resulting binary work correctly?

I have not tested whether the binary works in the intended context, i.e. as an installed Jupyter kernel. There are two reasons:

I was not able to produce a Jupyter environment from the nix flake, as the nix flake runs these tests.
I have tried using IHaskell as a library and pointing it to a custom GHC environment.

Depend on whether I make ihaskell visible in the GHC environment, I can get an error that the module IHaskell.Display cannot be found, or I can get the linker error above. This  leads me to believe that indeed loading the ihaskell package from within the interpret function triggers the linker error.


⚠ ClamAV has degraded performance

In 0f6a601, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 450 ms

Resolved: ClamAV performance has improved in 2171c81.


Add the ability to raise and lower the terrain

Terraforming is a blast :D Also very important for using height as a gameplay option.
Should be done using zoning in some form.

Height must always stay discretized: much easier to reason about and control and reproduce.


Fix for: "Mac version correction"

The typo must be there until @brossi fixes it in https://github.com/Peerunity/Peerunity/releases
You can't download now after your fix @FuzzyBearBTC

@FuzzyBearBTC Please merge :)


array constructing in mixin parameters don't work

code
+scripts(['common.js', 'app.js'])

is interpreted as mixin with 2 parameters

['common.js'
'app.js']

Fixed in 1.2.6


transaction crash

run the database sample,
I add  one line code, inside the transaction function
int childCount = (int)data->children_count();
then the sample crash:
JNI DETECTED ERROR IN APPLICATION: the return type of CallIntMethodV does not match long com.google.firebase.database.MutableData.getChildrenCount()

Thanks for reporting this bug, it seems like a pretty clear error and we should have a fix for it soon. I'll update this issue when a fix is released.

Version 4.2.0 of the Firebase C++ SDK has been released, which fixes this issue. You can view the release notes here and download the release from https://firebase.google.com/docs/cpp/setup.


 value overwritten with invalid tag value

This is two interrelated issues:
First, when a source pom.xml exists, and the <scm><tag> element in it already has a value, build-clj unconditionally overwrites the value of that element in the duplicate pom.xml file that is written to META-INF when the existing value from the source pom.xml should be preserved instead.  Yes (:tag opts) can be used to override this behaviour, but it is reasonable to expect that build-clj would preserve all values found in the source pom.xml, without needing to be told to do so elsewhere.
Second, even in the case where that element doesn't exist in the source pom.xml file, build-clj assumes GitHub tags of the form "v(:version opts)", which is not guaranteed to be a valid tag in the source GitHub repo.  In fact many GitHub repos label tags with raw version numbers without any prefix, and this then causes problems for downstream tools that use the value of the <scm><tag> element for their own processing, for example cljdoc.
See also this Clojars issue, where this issue was initially discussed.

If you don't want the defaults that build-clj provides -- because it assumes a minimal or non-existent pom.xml template -- then use tools.build directly instead.
If you specify :tag, build-clj uses that instead of setting <tag> to v(:version opts) -- again, if you don't want these defaults, either override them or use tools.build directly.

Might I suggest an update to the build-clj documentation then, to make it clear that pom.xml is not, in fact, a "template"?
The behaviour you're describing for build-clj's handling of pom.xml files does not meet any generally accepted definition of the word "template" that I've ever heard, and will catch other users of build-clj off guard when they discover that the values they've placed in their pom.xml "template" get unexpectedly overwritten.

Feel free to submit a documentation PR but you're the only person who has been caught out by the behavior so far - because you're not the target user for this library.

Thanks, but if I'm "not the target user for this library" I'm disinclined to contribute to it any further than I already have.


Swift Playground integration?

Since release of Swift Playground 4 which includes debugging capabilities, would it be possible to launch Swift Playground from there and still use JIT?
Also, Swift Playground support subscription via url which make update easier.

I believe you meant to write,

would it be possible to launch UTM from there and still use JIT?

So you are asking, could Swift Playgrounds 4 be used to start UTM? I don't know for sure, but I believe no.
There are two ways to launch a JIT enabled app. Either you are building and running the code, using Xcode. Or you have already installed the app and are attaching a debugger to it.
Regarding the first way: you can't build and run UTM from Swift Playgrounds because the project is much too complex for its build system. I am not sure if it would be possible to change UTM project to work in Swift Playgrounds – for now I would say it is an unrealistic amount of effort.
Regarding the second way: You can already launch UTM with AltStore or from an iOS Device using Jitterbug, even from the same device if you have a paid developer account. Since Swift Playgrounds is limited in functionality compared to Xcode, you can not debug a process that is already running (AFAIK there is no manual interaction with the debugger at all, including no breakpoints), so you wouldn't be able to enable JIT for separately installed UTM.


Remove default_ecosystem from CLI config

I think this parameter might have functionality and value that it didn't have in the SDKs.
At the very least, it makes our tutorials cleaner.

I think this parameter might have functionality and value that it didn't have in the SDKs.
At the very least, it makes our tutorials cleaner.

Can you expand on this please?

I'd like to challenge this to make sure I understand this will be a practical problem.
You're implying this would be annoying when typing it manually; in automated scenarios it's less annoying.
If you're going to work with auto-generated ecosystem, you're most likely doing some testing work. How many times are you going to login to that system on the same machine? Is it more annoying to say login --ecosystem <eco> or config --default_eco <eco> && login ? You're going to have to set the ecosystem at least once, regardless of which path it's taken.
Do we see users having to login with the CLI manually multiple times for multiple users? Is that a likely scenario (outside our internal testing scenarios)?


upgrade to expo 51, add web support

fixes: #6 and bumps expo to sdk 51.
Repro

follow docs: https://docs.expo.dev/workflow/upgrading-expo-sdk-walkthrough/ for updating expo sdk.
when initially trying to run web, console warning comes up with deps needed to run on web:

Please install<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>by running:

npx expo install react-native-web react-dom @expo/metro-runtime

run npx expo install react-native-web react-dom @expo/metro-runtime

import logbox directly from react native, previous import was breaking web.
ran install with both yarn and npm since the template comes with both a yarn.lock & npm-lock files

screen shots

side note

thanks for all the great content you put out. It saves me so much time and I'm always learning something new.

This should be merged! @dabit3


Add more predicates to javaslang.Predicates

We need additional predicates for null-checks:

isNull
isNotNull

I'm on it!

I guess it's done


.YDR File import fail

I cant import a YDR file. Collision files work but the actual ydr fails to import every time.

As mentioned in the README, Blender 4.0 is required.


Provide default implementation for FlywayCallback

This isn't a concrete use-case, just general feedback.
When providing SPI's like FlywayCallback, it is generally useful to also provide a default implementation that is simply empty. This is useful for two reasons:

People usually just implement one of the callback methods, not all of them
It is easier to implement SPI evolution, because adding new methods to the SPI won't break those implementations that are based off the well-known default implementation

In jOOQ, we do this with all SPIs

This has now been implemented.


[Fluent 2 iOS] Label colors update

Platforms Impacted

[x] iOS
[ ] macOS

Description of changes
The label colors were updated to fluent 2 colors. As there were no explicit specs for label colors on the figma, some of these tokens were inferred from other fluent 2 controls. Therefore, some of these colors might be up for change in the future.
Verification

Before
After

Pull request checklist
This PR has considered:

[x] Light and Dark appearances
[ ] iOS supported versions (all major versions greater than or equal current target deployment version)
[ ] VoiceOver and Keyboard Accessibility
[ ] Internationalization and Right to Left layouts
[ ] Different resolutions (1x, 2x, 3x)
[ ] Size classes and window sizes (iPhone vs iPad, notched devices, multitasking, different window sizes, etc)
[ ] iPad Pointer interaction
[ ] SwiftUI consumption (validation or new demo scenarios needed)
[ ] Objective-C exposure (provide it only if needed)

Microsoft Reviewers: Open in CodeFlow

seems like this branch needs update and updated description of the pr?


Update all copyright notices

The Copyright Notice at the bottom of the LICENSE file is missing. It should look something like this: https://github.com/snowplow/snowplow-gtm-server-side-client/blob/main/LICENSE#L189
Also, we should update all the copyright headers (in source files):
 * Copyright (c) 2014-2020 Snowplow Analytics Ltd. All rights reserved.
To:
 * Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.

It should also be LICENSE rather than LICENSE-2.0.txt so that it is properly identified by Github.


Some random changes

add return value to spaw_tree
add spawn_unrolled_player_rope
add set_entity_climbable
add set_entity_turning_enabled
split entity.hpp/.cpp into entity_db.cpp/.hpp, entity_hooks_info.hpp, entity_hooks_structs.hpp and entity.hpp/.cpp
consolidate all collision info into one struct (guided by usage in the binary)
fix a bug with vanilla machine rooms
fix wrong param passed in update_movable
expose CustomMovableBehavior::base_behavior
add a string-literal operator ""_gh for Ghdira byte strings
add some utilities for PatternCommandBuffer
add interface to disable all hooks

Climb code would probably easily bend to any properties flag per entity. It's already crazy!


improving_docs

@dhalbert This one is a little different, I would like some feedback on how to deal with the different speed in the buses. I have not change yet the busio reference waiting for your feedback, however all the rest is done. If you could guide me, there is also the BNO08x_RVC that is setup in the same way,
Thanks,

Nice job getting the docs to build!

Danh let me know if you have any other comments, gladly to work on that, if None I think that we could make the changes. Thanks

@jposada202020 Do you think you could reopen this branch and make another PR? I messed something up with moving to main and this PR wasn't included in the main branch.

@dherrada No problem I could that tonight. Just to clarify, I need to resubmit PR? to main, is that correct? just to be sure and apply the same for all the others :) thanks

@jposada202020 Yep. Luckily the mistake that I made seems to not have affected many libraries, but 2 or 3 PRs you made were affected and I've pinged you in all of them. I'm not really sure how late you can reopen a branch or if you have it saved locally, so let me know if you've got questions.

@dherrada Ok, Understood, depends on how often I work in the library, I have or have not the branch. But I will figure it out. And make the changes accordingly.

@jposada202020 Sounds good.


Remove web ufs

What changes are proposed in this pull request?
Remove the code of web under filesystem.
Why are the changes needed?
We will remove some unused UFSes, now is WebUnderFileSystem. Some UFSes are currently in a pending state (such as Kodo). If users continue to require them in the future, we can consider ongoing support; otherwise, they will be removed in the future, too.
Does this PR introduce any user facing changes?
No

alluxio-bot, merge this please


Problems with special characters in database

Hi,
I have a problem in writing special characters to the nativescript-sqlite database.
Working on iPad (iOS).
CREATE TABLE:

const UpdatesViewModel = require("./updates-view-model");
var Sqlite = require("nativescript-sqlite");

/* ***********************************************************
* Use the "onNavigatingTo" handler to initialize the page binding context.
*************************************************************/
function onNavigatingTo(args) {
    const page = args.object;
    console.log('UPDATES');

    (new Sqlite("pb.db")).then(db => {
        db.execSQL("CREATE TABLE IF NOT EXISTS airports (id INTEGER PRIMARY KEY AUTOINCREMENT, icao TEXT, iata TEXT, name TEXT, city TEXT, country TEXT, lat TEXT, lng TEXT)").then(id => {
            //console.log("DB WAS CREATED:", db);
            page.bindingContext = UpdatesViewModel(db);
        }, error => {
            console.log("CREATE TABLE ERROR", error);
        });
    }, error => {
        console.log("OPEN DB ERROR", error);
    });

    page.bindingContext = new UpdatesViewModel();
}

exports.onNavigatingTo = onNavigatingTo;

This is my INSERT INTO:
const observableModule = require("data/observable");
const Observable = require("data/observable").Observable;
var Sqlite = require("nativescript-sqlite");
//var utf8 = require ("utf8");

function UpdatesViewModel(database) {
    const viewModel = new Observable();

    viewModel.icao = '';
    viewModel.name = '';

    // INSERT INTO
    viewModel.insert = function(){

        database.execSQL("INSERT INTO airports (icao, name) VALUES (?, ?)", [this.icao.trim(), this.name.trim()]).then(id => {
            console.log('INSERT RESULT', id);
        }, error => {
            console.log('INSERT ERROR', error);
        });
    }

    // SELECT
    viewModel.select = function(){

        database.all("SELECT * FROM airports").then(rows => {
            for(var row in rows){
                console.log("RESULT:", rows[row][3]);
            }
        }, error => {
            console.log("SELECT ERROR", error);
        });
    }

    return viewModel;
}

module.exports = UpdatesViewModel;

I wann write the name "Würzburg" into the database for example.
The output is in the console.log:

The SPECIAL CHARACTER "ü" is displayed very strange.
What is the reason for that?
Thank you very much for your help!
Best regards,
Tobias

I just tested this in my test app;

And it had no problem adding, or showing either item.

Thanks for your response. But do you know, what the problem could be in my case?

Well console logging the value out might show differently than what the labels and text boxes show because unicode characters can be several ascii characters long per unicode character.
Have you tried downloading the demo source code and building and running it on your device just to verify?

Ok, indeed... That was the problem. I'm really sorry, but thanks for your help. I only tested the output via console.log. An output in the UI showed the correct data!


Now Firestore can't affect by Scammers

Description
What I made Changes:-

Now After User SignUp, the user navigates to the log-in page instead of the additional_details page.

If User Log-in Successfully with Verification, then
2.1) If user data is present in firestore, they navigate to the bottom_navigation page.
2.2) If absent, Then User Switch to the Sign-up-additional-details page and then the bottom_navigation page.

On the Sign-Up-Form-Additional-Details page, I changed Sign-up heading to Additional Details and at the bottom, the Sign Up button to the Save button, as after log-in, take additional information with title and button named as Sign Up does not make a sense...

Fixes #134
Replace #134 with the issue number which is fixed in this PR
Have you read the Contributing Guidelines on Pull Requests?

[x] Yes
[ ] No

Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x] My changes generate no new warnings
[x] I have added tests/screenshots(if any) that prove my fix is effective or that my feature works.

I am also a GSSOC21 particiapant....Please raise the required labels for that program.
Hope you review it soon @HimeshNayak and merge it soon @avinashkranjan

Great @SamarpanCoder2002 !
LGTM @avinashkranjan you may merge this PR

Thanks for review @HimeshNayak .... Hope you merge it soon @avinashkranjan

LGTM..💯

Thanks for merge


[FEAT-#334] Store scenario settings in ScenarioDefinition only

Stores all scenario-related options in the ScenarioDefinition
object or a mapping it contains.
Makes --chain optional, and only allows one instance of it to be
passed. Default chain is goerli, default node is
parity.goerli.ethnodes.brainbot.com:8545.
Rationale behind making --chain optional is that passing it multiple times is not used in prod, nor is using the option chain: any in the scenario definitions.
~I'm currently still running into issues with the CLI tests, which seem to fail due to some unpacking error.~

I conclude that the smoketest failure is a caching problem and utter horseshit - the reason this fails is because of a bug with the CLI options, which was already fixed and isn't even present any longer in the code.


chore: minor typo cleanup

Motivation
Took a quick pass with cSpell to fix some typos. Avoided some of the intentional ones left for backward compat
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
N/A
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/facebook/docusaurus, and link to your PR here.)

Looks like a snapshot might need to be updated. Trying to rebase and try that now

Looks like you beat me to it @Josh-Cena

Let me know if you want me to force push as the single commit

Haha I think I've fixed everything :D

Just waiting for the tests to all pass. Unfortunately I don't think we enabled auto-merge

We only squash-merge so no need to force-push yourself. Thank you very much @nschonni! Wanted to cSpell our repo for a long time.

no problem, I didn't take the time to really build up a dictionary to add it to the CI because there were still thousands of things flagged for now, but it's mostly just words for packages and some i18n stuff

Yeah, I know... I use the vscode extension and my workspace dictionary is bloating up :D If you want to integrate it into the CI, PRs are welcome! I can help you complete it.


GH-34398: [R] Update NEWS.md for <IP_ADDRESS>

Closes: #34398

Looks good!
You can include the schema commit if you want to, but I would personally just include the dplyr fix in this particular patch release unless the schema PR was in the category of "bugfix affecting our CRAN status".

I'm going to include it as I don't see the harm in including the additional bugfix.


Does it work with downloaded Videos?

Hi,
I did not find any comment on this topic yet, so here again.
I am using cordova 5 with API22, having a working Video (played it successfully on my Galaxy S4 mini).
What I am doing now is creating an app that either streams the videos (that part works fine)
or downloads them to the local filesystem i.e. file://data/data/com.kosmoskosmos.myproject/9999.mp4,
once you klick a specific button. Download etc. works finde. iOS doesn't have any problem with it (also playing from this source).
I understood that the plugin is requiring to have the files kept in  $PROJECT_ROOT/platforms/android/res/raw
Does anyone have a hint how to solve this issue?

You can also load videos from your data directory, however you need to make them WORLD_READABLE. Check the copyResourceFileToDataDir() function in the Java file to see how to do that.


react-native running error

This error will always occur when i called about react-native on mac'cli.
for example:
react-native -v;
react-native  init abdd
/usr/local/lib/node_modules/react-native-cli/index.js:266
const rnPackage = options.version;
^^^^^
SyntaxError: Use of const in strict mode.
at exports.runInThisContext (vm.js:73:16)
at Module._compile (module.js:443:25)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3
How can i fill it.

+1 samo problem on Mac os X Sierra

+1 same problem on Mac OSX 10.11.16

+1 running in to the same issue on Mac OS X 10.10.5

Looks like there's a bug in the latest react-native-cli. Try npm install -g<EMAIL_ADDRESS>

@zhipengyue @killinit @bleeckerj @benjis which node version (node -v) is this on?

Can someone update the getting started docs and suggest that everyone install at minimum the LTS release version? (currently 6.9.2 as per https://nodejs.org/en/)
Doc to be updated: https://facebook.github.io/react-native/docs/getting-started.html

Well this already states node 4 or newer, which is exactly what is required.

@Fahrradflucht node -v shows v0.10.29

node -v
v0.12.7

Installing nodejs from https://nodejs.org/en/download/
solved the problem
now I have
node -v
v6.9.2

At last,I reinstalled npm and nodejs. the problem was solved!

Installing NodeJS separately, solves it. Thanks @killinit !


EuroDNS support for ACME Client Plugin

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[X] I have read the contributing guide lines at https://github.com/opnsense/plugins/blob/master/CONTRIBUTING.md
[X] I have searched the existing issues, open and closed, and I'm convinced that mine is new.
[X] When the request is meant for an existing plugin, I've added its name to the title.

Is your feature request related to a problem? Please describe.
Would like to use DNS-01 for EuroDNS in combination with HAProxy, cause the HTTP-01 is really unreliable.
Describe the solution you'd like
EuroDNS support for the ACME Client plugin, so the DNS-01 can be used.
Describe alternatives you've considered
Tried HTTP-01 with ACME Client plugin, seem to be hit or miss so it's really unreliable at the moment.

It looks like EuroDNS is not yet supported in the os-acme-client upstream project:
https://github.com/acmesh-official/acme.sh/issues/3443
I can only integrate DNS APIs in os-acme-client that are supported by acme.sh.


Windows search no longer working after script

It just shows a blank screeen

If I click out of the search box (in the blank space), it goes back to normal

But if I focus the search box again, it shows the blank screen back

@msdarck Thanks for reporting back! Glad you managed to fix it :)


fix sky key secret creation so it won't break release testing locally

#1594  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


Snap : show upgrade pop-up only when snap upgrade is possible

System information:

Ubuntu 20.10
Snap dbeaver-ce : <IP_ADDRESS>105021514

Describe the problem you're observing:
Linked to #12586 and #12583 : I'm wondering if it could be possible to show the pop-up for the new version on snap only when it is really upgradable (which means with snap : you'll probably never see the pop-up). It would prevent both frustration and problems due to removing the snap for a brand new deb/rpm file.
It's only a small feature request
Thanks for all your hard work !

thank you for the idea


IMPRO-1534: convert extend radar mask to use clize

Convert radar mask to use clize

The order that the arguments go into the cli are not the other way around.

Testing:

[x] Ran tests and they passed OK

@neilCrosswaite should this go into the feature branch?

@arh89 we agreed the nowcasting CLIs could go straight into master to allow the feature branch to be sorted ASAP.  I don't think this one really matters as it's not used in the improver_suite, so should be OK to go straight to master if that's OK with you.

@cgsandford Fine with me. Merge away whenever you're happy.


addStep defaults

I'm not sure if I am doing something wrong here or if I misunderstand the library, but from reading the docs, it appears that I should be able to define some defaults like:
{
    classes: 'shepherd-element shepherd-open shepherd-theme-arrows test-defaults',
    scrollTo: false,
    showCancelLink: true
  }

Then I would assume calling addStep and passing a step something like:
{
    id: 'test-defaults-classes',
    options: {
      attachTo: '.first-element bottom',
      classes: 'foo',
      text: ['Testing defaultst']
    }
  }

I would assume it would apply the classes from my defaults, then also add the extra ones I define per step by merging them and using them both. Is this not the case?
Are defaults classes only applied if you do not specify any classes for the step itself?

Hi @rwwagner90, sorry about the massive delay on this response:
You're right about the class override https://github.com/HubSpot/shepherd/blob/master/src/js/shepherd.js#L510
I can see a reason why appending classes would be useful, though. I'll add this to the list of things to consider in the next set of improvements.

Thanks @geoffdaigle!

@geoffdaigle is this still being considered? I could potentially help out

Closing this due to lack of activity


feat: virtual scrollbar will hide after delay, add a alwaysShowScrollbar param to support always show scrollbar

any reason why it's not merged? +1 for this feature

any reason why it's not merged? +1 for this feature


Modes not being identifed at low VLF and ELF

For some reason grpf from RootsAndPoles.jl, the mode finder used by LongwaveModePropagator.jl, is not identifying roots and poles at low VLF/ELF frequencies. See the example with a 1 kHz transmitter below.
using Plots

using LongwaveModePropagator
using LongwaveModePropagator: QE, ME
const LMP = LongwaveModePropagator

using RootsAndPoles

tx = Transmitter(1e3)
rx = GroundSampler(0:1e3:2000e3, Fields.Ez)

bfield = BField(5.5e-5, π/2, 0)
electrons = Species(QE, ME, z->waitprofile(z, 83, 0.5), electroncollisionfrequency)
ground = GROUND[3]

waveguide = HomogeneousWaveguide(bfield, electrons, ground)
modeequation = PhysicalModeEquation(tx.frequency, waveguide)

# GRPF `mesh` covers almost the full lower right quadrant of the complex plane
mesh = LMP.defaultmesh(tx.frequency;
    rmin=deg2rad(1), imin=deg2rad(-89), imax=deg2rad(0), rmax=deg2rad(89.9))

roots, poles = LMP.grpf(θ->LMP.solvemodalequation(θ, modeequation;
    susceptibilityfcn=z->LMP.susceptibility(z, modeequation)), mesh, LMPParams().grpfparams)

# Dense mesh
Δr = 0.2
x = 0:Δr:90
y = -90:Δr:0
densemesh = x .+ im*y';

function modeequationphase(me, mesh)
    phase = Vector{Float64}(undef, length(mesh))
    Threads.@threads for i in eachindex(mesh)
        f = LMP.solvemodalequation(deg2rad(mesh[i]), me)
        phase[i] = rad2deg(angle(f))
    end
    return phase
end

phase = modeequationphase(modeequation, densemesh);

img = heatmap(x, y, reshape(phase, length(x), length(y))';
        color=:twilight, clims=(-180, 180),
        xlims=(0, 90), ylims=(-90, 0),
        xlabel="real(θ)", ylabel="imag(θ)")

plot!(img, real(rad2deg.(roots)), imag(rad2deg.(roots)); color="red",
      seriestype=:scatter, markersize=5, label="roots");
plot!(img, real(rad2deg.(poles)), imag(rad2deg.(poles)); color="red",
      seriestype=:scatter, markershape=:utriangle, markersize=5, labels="poles")

This was due to defaultmesh using a triangle shaped mesh that doesn't include the lower right half of the quadrant. This is for efficiency at higher frequencies, but the whole quadrant needs to be searched at lower frequencies.
I additionally checked to see if topheight of LMPParams() needed to be raised, but even at nighttime, raising topheight makes a very small difference for a 100 Hz ELF transmitter.

using Plots

using LongwaveModePropagator
using LongwaveModePropagator: QE, ME
const LMP = LongwaveModePropagator

using FaradayInternationalReferenceIonosphere
const FIRI = FaradayInternationalReferenceIonosphere

using Interpolations

# Constants
ranges = 0:1e3:2000e3
rx = GroundSampler(ranges, Fields.Ez)
bfield = BField(5.5e-5, π/2, 0)

profile = firi(120, 45)
newprofile = FIRI.extrapolate(profile, 0:1e3:200e3)
itp =  Interpolations.interpolate(0:1e3:200e3, newprofile, FritschButlandMonotonicInterpolation())

electrons = Species(QE, ME, itp, electroncollisionfrequency)
ground = GROUND[5]

waveguide = HomogeneousWaveguide(bfield, electrons, ground)

# Varying topheight

tx = Transmitter(100)

function varytopheight(topheights, waveguide, tx, rx)
    amps = Matrix{Float64}(undef, length(ranges), length(topheights))
    phases = similar(amps)
    for i in eachindex(topheights)
        E, a, p = propagate(waveguide, tx, rx; params=LMPParams(topheight=topheights[i]))

        amps[:,i] = a
        phases[:,i] = p
    end
    return amps, phases
end

theights = (110e3, 130e3, 150e3, 180e3, 200e3)
amps, phases = varytopheight(theights, waveguide, tx, rx)

plot(rx.distance/1000, amps, labels=[theights...]'/1e3,
    xlabel="range (km)", ylabel="amplitude (dB)", title="top height (km)",
    linewidth=1.5)
plot(rx.distance/1000, rad2deg.(phases), labels=[theights...]',
    xlabel="range (km)", ylabel="phase (deg)",
    linewidth=1.5, legend=false)


vimPlugins.meson: init, following pkgs.meson

Syntax highlighting for meson, from upstream.
It works for me via vim_configurable.customize.  I'm not very sure about naming customs, etc. so let me post it here for a few days.

Nitpick: hmm, using 11.by: package-maintainer on PRs where the author makes oneself maintainer... is a bit weird, but whatever.


Port sample 46.teams-auth to Adaptive Dialogs

Parent #2756

This sample is not required in Adaptive Dialogs but is redundant, since OAuthInput works seamlessly on Teams sample 24 or 18 will also work on Teams.


BERT example is slower than huggingface transformer with larger model on M1 MacBook Pro

I benchmarked computing sentence embeddings with e5.py script
small model = intfloat/e5-small-v2, result:

larger model=BAAI/bge-large-zh-v1.5, result:

Pure rust BERT example is still slower than huggingface transformer with BAAI/bge-large-zh-v1.5 model

Thanks for reporting this, would you be able to provide more details on how you got these values? Ideally the full command line/code so that we can reproduce this on our side? This would make it much easier to investigate.

@LaurentMazare thanks for quick reply! the following is the code and detail  commands:
small model = intfloat/e5-small-v2, code: benchmark-bert-small.py
maturin develop -r
python benchmark-bert-small.py

large model = BAAI/bge-large-zh-v1.5, code: benchmark-bert-large.py
python benchmark-bert-large.py

pure rust code:main.rs
cargo run  --example bert --features accelerate --release -- --model-id BAAI/bge-large-zh-v1.5

Thanks for the repros, I didn't get a chance to look at it as I don't have proper internet connectivity so cannot check the bge-large model on my mac - I'll do so when I'm back to having proper broadband. In the meantime, you can try running with the --tracing flag and then upload the generated trace-...json file in chrome performance tab if you want to check where the time is being spent (otherwise I'll have a look at exactly this when properly back online).

@LaurentMazare I tried with the --tracing flag, result as follows:

I seems like that the linear layer of BertIntermediate costs the most time.So I simulate the linear layer of BertIntermediate with different model,
small model = intfloat/e5-small-v2, bias=true, result:
cargo run  --example benchmark-linear --features accelerate --release -- --num-tokens 512 --in-features=384  --out-features=1024 --bias

small model = intfloat/e5-small-v2, bias=false, result:
cargo run  --example benchmark-linear --features accelerate --release -- --num-tokens 512 --in-features=384  --out-features=1024

large model = BAAI/bge-large-zh-v1.5, bias=true, result:
cargo run  --example benchmark-linear --features accelerate --release -- --num-tokens 512 --in-features=1024  --out-features=4096 --bias

large model = BAAI/bge-large-zh-v1.5, bias=false, result:
cargo run  --example benchmark-linear --features accelerate --release -- --num-tokens 512 --in-features=1024  --out-features=4096

Compare with Pytorch, code: benchmark-linear.py, result:
python benchmark-linear.py

The above results show that:
1. the linear layer of Pytorch almost costs the same time between having bias and having no bias
2. the linear layer of Candle costs the most time on adding bias

Thanks, that's a very interesting analysis and it's great to have some easy way to reproduce the slowness. I would certainly not have expected adding the bias to make such a difference.
When using the accelerate backend, adding the bias should use the vDSP_vadd function over the hood, I would have hoped for this function to be well optimized but maybe it's not the case - in particular it may well be that this function uses a single core and we could add some multi-threading to it but Apple's documentation doesn't say much.

Ah actually I digged a bit more into this and it turns out that the benchmark is probably not representative of the actual computation in bert: using zeros as bias results in some inefficiency because of the zero element being broadcasted and so the vectorized op cannot apply properly. If instead you tweak your benchmark code adding a .contiguous() to the bias so that the zeros are not broadcasted anymore, the overhead of the bias becomes very small as expected.
 let bias = Some(Tensor::zeros((out_feature,), DType::F32, &Device::Cpu)?.contiguous()?);

I think the zeros being broadcasted has bitten us quite a few times in the past so I will revert this to being a full array of zeros by default. It will be less efficient memory wise but also a lot less error prone.

thanks for your correction!After further investigation, I guess it's the Bert's gelu_erf that make it run slower . I replaced it with tanh gelu, It runs faster, but still  slower than huggingface transformer,
cargo run  --example bert --features accelerate --release -- --model-id BAAI/bge-large-zh-v1.5

Then I benchmarked erf between Candle and pytorch
candle rust code:code
cargo run  --example benchmark-gelu --features accelerate --release -- --num-tokens 512  --out-features=4096

pytorch code : code
python benchmark-gelu.py

It shows that candle's erf  implement is much slower than pytorch.


Failed to run the graph: ValidateRequiredSidePackets failed to validate:

Dear Support team.
I am trying to get the annotated video. But I am facing this issue. can you please help me what could be the reason?
GLOG_logtostderr=1 bazel-bin/mediapipe/examples/desktop/youtube8m/model_inference --calculator_graph_config_file=mediapipe/graphs/youtube8m/local_video_model_inference.pbtxt  --input_side_packets=input_sequence_example_path=/tmp/mediapipe/features.pb ,input_video_path=video_example/file.mp4,output_video_path=video_example/annotated_video.mp4,segment_size=5,overlap=4
and error is
I20220719 11:48:15.735347 143462 simple_run_graph_main.cc:122] Initialize the calculator graph.
I20220719 11:48:15.738749 143462 simple_run_graph_main.cc:137] Start running the calculator graph.
E20220719 11:48:15.741351 143462 simple_run_graph_main.cc:149] Failed to run the graph: ValidateRequiredSidePackets failed to validate:
; Side packet "input_video_path" is required but was not provided.
; Side packet "output_video_path" is required but was not provided.
; Side packet "overlap" is required but was not provided.
; Side packet "segment_size" is required but was not provided.

packets in use are
Recent version git cloned mediapipe
TF 1.15.4 GPU
OpenCV <IP_ADDRESS>
bazel release 5.2.0
Python 3.7.13
CENTOS 7.6
gcc version 12.1.0 (GCC)
Please make sure that this is a solution issue.
System information (Please provide as much relevant information as possible)

Have I written custom code (as opposed to using a stock example script provided in Mediapipe):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04, Android 11, iOS 14.4):
MediaPipe version:
Bazel version:
Solution (e.g. FaceMesh, Pose, Holistic):
Programming Language and version ( e.g. C++, Python, Java):

Describe the expected behavior:
Standalone code you may have used to try to get what you need :
If there is a problem, provide a reproducible test case that is the bare minimum necessary to generate the problem. If possible, please share a link to Colab/repo link /any notebook:
Other info / Complete Logs :
Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached:

@kuaashish Thank you. I have tried this and below is the result.
(mediap3) [zkhawar@blizzard mediapipe]$ GLOG_logtostderr=1 bazel-bin/mediapipe/examples/desktop/youtube8m/model_inference --calculator_graph_config_file=mediapipe/graphs/youtube8m/local_video_model_inference.pbtxt  input_side_packets=input_video_path=video_example/file.mp4,output_video_path=video_example/annotated_video.mp4,segment_size=5,overlap=4

I20220720 16:00:05.297129 153636 simple_run_graph_main.cc:122] Initialize the calculator graph.
I20220720 16:00:05.301420 153636 simple_run_graph_main.cc:137] Start running the calculator graph.
E20220720 16:00:05.306913 153636 simple_run_graph_main.cc:149] Failed to run the graph: ValidateRequiredSidePackets failed to validate:
; Side packet "input_sequence_example_path" is required but was not provided.
; Side packet "input_video_path" is required but was not provided.
; Side packet "output_video_path" is required but was not provided.
; Side packet "overlap" is required but was not provided.
; Side packet "segment_size" is required but was not provided.

Can you guess now my mistake?

Hi @Tortoise17, Could you please try with this below command:
GLOG_logtostderr=1 bazel-bin/mediapipe/examples/desktop/youtube8m/model_inference --calculator_graph_config_file=mediapipe/graphs/youtube8m/local_video_model_inference.pbtxt --input_side_packets='input_video_path=video_example/file.mp4,output_video_path=video_example/annotated_video.mp4,segment_size=5,overlap=4'

Thank you!

@kuaashish  Thank you. now the error is :
I20220721 11:10:19.114539 164951 simple_run_graph_main.cc:122] Initialize the calculator graph.
I20220721 11:10:19.118959 164951 simple_run_graph_main.cc:137] Start running the calculator graph.
E20220721 11:10:19.121152 164951 simple_run_graph_main.cc:149] Failed to run the graph: ValidateRequiredSidePackets failed to validate:
; Side packet "input_sequence_example_path" is required but was not provided.

@kuaashish thank you. I have tried this, Now the error is :

2022-07-21 12:08:17.034199: I external/org_tensorflow/tensorflow/cc/saved_model/loader.cc:301] SavedModel load for tags { serve }; Status: fail: NOT_FOUND: Op type not registered 'Assert' in binary running on machine. Make sure the Op and Kernel are registered in the binary running in this process. Note that if you are loading a saved graph which used ops from tf.contrib, accessing (e.g.) `tf.contrib.resampler` should be done before importing the graph, as contrib ops are lazily registered when the module is first accessed.. Took 237555 microseconds.
W20220721 12:08:17.045639 166536 opencv_video_decoder_calculator.cc:230] Not all the frames are decoded (total frames: 5133 vs decoded frames: 0).
E20220721 12:08:17.047278 166536 simple_run_graph_main.cc:149] Failed to run the graph: CalculatorGraph::Run() failed in Run:
Calculator::Open() for node "LocalFileContentsCalculator" failed: ; Can't find file: /tmp/mediapipe/features.pb
Calculator::Open() for node "TensorFlowSessionFromSavedModelCalculator" failed: NOT_FOUND: Op type not registered 'Assert' in binary running on machine. Make sure the Op and Kernel are registered in the binary running in this process. Note that if you are loading a saved graph which used ops from tf.contrib, accessing (e.g.) `tf.contrib.resampler` should be done before importing the graph, as contrib ops are lazily registered when the module is first accessed.

The point is that, I have tried to generate the features.pb file, but I guess that is not the the right way I used.
I tried commands below
bazel build -c opt --linkopt=-s \
      --define MEDIAPIPE_DISABLE_GPU=1 --define no_aws_support=true \
      mediapipe/examples/desktop/youtube8m:extract_yt8m_features

GLOG_logtostderr=1 bazel-bin/mediapipe/examples/desktop/youtube8m/extract_yt8m_features --calculator_graph_config_file=mediapipe/graphs/youtube8m/feature_extraction.pbtxt --input_side_packets=input_sequence_example=/tmp/mediapipe/metadata.pb --output_side_packets=output_sequence_example=/tmp/mediapipe/features.pb
resulting in error below
2022-07-21 12:11:37.383117: E external/org_tensorflow/tensorflow/core/framework/op_kernel.cc:1676] OpKernel ('op: "AsString" device_type: "CPU"') for unknown op: AsString
I20220721 12:11:37.730674 166786 tensorflow_session_from_frozen_graph_calculator.cc:159] Loaded frozen model in: 852680 microseconds.
W20220721 12:11:37.737413 166777 opencv_video_decoder_calculator.cc:230] Not all the frames are decoded (total frames: 5133 vs decoded frames: 0).
E20220721 12:11:37.744156 166777 extract_yt8m_features.cc:132] Failed to run the graph: CalculatorGraph::Run() failed in Run:
Calculator::Open() for node "TensorFlowSessionFromFrozenGraphCalculator_1" failed: ; RET_CHECK failure (mediapipe/calculators/tensorflow/tensorflow_session_from_frozen_graph_calculator.cc:144) tf_status.ok()Create failed: NOT_FOUND: Op type not registered 'DecodeJpeg' in binary running on machine. Make sure the Op and Kernel are registered in the binary running in this process. Note that if you are loading a saved graph which used ops from tf.contrib, accessing (e.g.) `tf.contrib.resampler` should be done before importing the graph, as contrib ops are lazily registered when the module is first accessed.

If you can guess which library is making this failure. or which part of my sequence command? Your kind help is very big aid for me.

Hi @sureshdagooglecom, Could you please look into this issue. Thank you!

@sureshdagooglecom Please if you can have a look into the issue. I cannot build the desktop examples too. I don't know where is the proper requirement information guide which can help in the building of correct start.

@kuaashish any help? or guess?

Tortoise17, I assume you are following some of the instructions at:
https://github.com/google/mediapipe/blob/master/mediapipe/examples/desktop/youtube8m/README.md
I assume you are trying to run steps 1 through 5 to extract the features to "features.pb".
Did all of the steps 1 through 4 succeed before step 5 failed?
The error message seems to indicate that the tensorflow model was found and loaded by TensorFlowSessionFromSavedModelCalculator, but that the tensorflow model makes use of some operators that are not linked to the "extract_yt8m_features" binary for some reason.  At least the tensorflow operator 'DecodeJpeg' seems to be not linked to the binary.  It might be some problem with the binary build command, or maybe some changes to tensorflow of the mediapipe example targets that create a mismatch in the linked tensorflow operators.
If this seems to be the case, we will try these instructions ourselves and look for the disconnect.

Hi @Tortoise17, Could you please respond back to the above comment. Thank you!

@kuaashish The process failed at this stage
bazel build -c opt --linkopt=-s \
      --define MEDIAPIPE_DISABLE_GPU=1 --define no_aws_support=true \
      mediapipe/examples/desktop/youtube8m:extract_yt8m_features

At least the tensorflow operator 'DecodeJpeg' seems to be not linked to the binary. It might be some problem with the binary build command, or maybe some changes to tensorflow of the mediapipe example targets that create a mismatch in the linked tensorflow operators. to my every try, this is an issue and I tried all types of cuda version, all types of tensorflow versions. But the process fails at the stage above mentioned in my previous reply.

@hadon Dear Sir, is there any update on this issue.

Hello @Tortoise17,
We are ending support for these MediaPipe Legacy Solutions, but upgrading the others. However, the libraries, documentation, and source code for all the MediapPipe Legacy Solutions will continue to be available in our GitHub repository and through library distribution services, such as Maven and NPM.
You can continue to use those legacy solutions in your applications if you choose. Though, we would request you to check new MediaPipe solutions which can help you more easily build and customize ML solutions for your applications. These new solutions will provide a superset of capabilities available in the legacy solutions.


pd.concat: overload for keys=[dict].keys()

While there is an overload to pass dictionary values as parameter to pd.concat(dict.values()) this is not possible for the pd.concat(..., keys=dict.keys()) kwarg.
To Reproduce
pd.concat(mydict.values(), axis=1, keys=mydict.keys())

results in
$ mypy
error: No overload variant of "concat" matches argument types "dict_values[str, DataFrame]", "int", "dict_keys[str, DataFrame]"  [call-overload]
note: Possible overload variants:
[...]

in contrast, mypy does not complain about pd.concat(mydict.values(), axis=1) so this issue targets the keys kwarg.
Current Workaround
Cast the dictionary keys to list as
pd.concat(mydict.values(), axis=1, keys=list(mydict.keys()))

Environment

OS: Linux
OS Version: 5.15
Python 3.11.2
mypy 1.0.1
pandas-stubs==<IP_ADDRESS>321

@fostermaier  Can you provide a more complete example that will also run?

here you go
import pandas as pd

col_pairs = {
    'foo': pd.DataFrame([[42, 'a'], [43, 'b']], columns=['x', 'y']),
    'bar': pd.DataFrame([[4.2, 'A'], [4.3, 'B']], columns=['x', 'y']),
}

# this raises a mypy error
# error: No overload variant of "concat" matches argument types
# "Dict[str, DataFrame]", "int", "dict_keys[str, DataFrame]"
df_err = pd.concat(col_pairs, axis=1, keys=col_pairs.keys())

# this runs fine
df_ok = pd.concat(col_pairs, axis=1, keys=list(col_pairs.keys()))

print(df_err.equals(df_ok))

While pandas is totally fine with dict_keys as keys=, the stubs request a list
https://github.com/pandas-dev/pandas-stubs/blob/24288ee6f919e8c971a29832415b69c3c8b1ae93/pandas-stubs/core/reshape/concat.pyi#L32

Thanks for the example.
Need to change that to Iterable[HashableT2] .  PR with tests welcome.


Windicss for asp.net core blazor?

Is it possible to use windicss in blazor webassembly?

I am also interested in Blazor WASM support. I have difficulties to understand how to enable windicss for my project. I am coming from Tailwind and used the CDN version which gives me warnings that I should not use it, but it worked perfectly fine. However, I would like to switch to windicss to avoid a commercial dependency.
I have been able to install the VS Code extension and were able to add the following windi.config.ts file:
export default {
    extract: {
        include: [
        'src/Nexus.UI/**/*.{html,razor}'
        ]
    }
}

I was not able to use the example configuration with the import { defineConfig } from 'windicss/helpers' line on top. Only with the shown config I get the Loading Config File: d:\Git\GitHub\nexusforge\nexus\windi.config.ts log output.
I am also able to generate the analysis report and I can run "Compile CSS [Interpretation Mode]" and syntax highlighting works fine, too.
What I do not understand is how to trigger CSS generation on file change and how I can specify the output file path for the generated CSS file. Additionally, I do not see how the CSS would update when I change the HTML in the browser dev tools.
I am grateful for any help.


Benchmarks: TestSearch

Overview
Challenge Info
Evo Logs [1] [2]
Error received:
Word that should exist - Heading: False

Observations
Evo is asked to get the content from a URL, and it achieves to "think" and get the HTML from the URL given, but the test expects only to have the content scraped

This might be a hard one since it relies a lot on the LLMs capability to understand it needs to get text instead of html.
The web scrape wrap should help here but is not a long term solution

This should be improved by having the webScrape scripts that were added here: https://github.com/polywrap/evo.ninja/pull/215


Compile Pyo3 on Intel Mac and Windows

Compile on other platforms to create bundled installers for common platforms as a major release

Resolved:
Hooked into existing GitHub Actions by ScanMountGoat to build and package cross platform ldr_tools_py files


Change the base class of lsst_noise_model, grid_selection, and spectroscopic_degrader

Problem & Solution Description (including issue #)
In this PR I have

added a general photometric error model class, which is an expansion of the old LSST error model class with the inclusion of the Roman and Euclid error model.
Change the base class of the grid_selection from degrader to selector, implement the _select function, and return a flag with the same length as that of the input data. I have make sure that the notebook in rail hub imports the new class and runs okay without the change needed.

Code Quality

[ ] My code follows the code style of this project
[ ] I have written unit tests or justified all instances of #pragma: no cover; in the case of a bugfix, a new test that breaks as a result of the bug has been added
[ ] My code contains relevant comments and necessary documentation for future maintainers; the change is reflected in applicable demos/tutorials (with output cleared!) and added/updated docstrings use the NumPy docstring format
[ ] Any breaking changes, described above, are accompanied by backwards compatibility and deprecation warnings

Great idea, I will implement the id approach tomorrow for the grid selection, because there are so many layers of selections

LGTM!


Status tags

@ben, this is ready for review!

@bbpennel, this PR is complete and ready for review :-) The one outstanding question I have concerns an 'else' vs 'if-else' at line 51 of SetStatusTagsFilter. I have an 'if-else' currently, but think we might want to have an 'else' there, since content will always either be described or not described.


Adds a secondary, stubbed-out embed UI

Just the empty shell for a second, non-Polymer embed UI. It's removed from deployments via skip_files in the app.yaml file--please double-check that I did that part correctly!

Thanks for the comments. I've updated the code, and it's ready for another review.


Black display on boot with Radeon 5700 XT in eGPU via Native Thunderbolt 3 patch

Describe the bug
Machine boots but there is no output to the two connected monitors (1x HDMI, 1x DisplayPort) via the eGPU that contains a Gigabyte Radeon RX 5700 XT 8 GB in Sonnet Breakaway Box 550. Machine is accessible via VNC, can run Sidecar, and even shows the eGPU-connected icon in the menu bar that reads Radeon RX 5700 XT but no output.
Expected behavior
Should be able to see desktop and machine booting with monitors connected via eGPU.
Configuration

HaC Mini version [e.g: 2.0]: 2.11
OSX version [e.g: 10.14.6]: macOS 10.15.6 (19G73)
NUC model [e.g: NUC8i7HNK]: NUC8i7HVK
Boot SSD model and protocol [e.g: Samsung EVO 860 1TB, SATA]: WD Black SN750 1 TB
Second SSD model and protocol (if installed) [e.g: HP EX920 1TB, NVMe]: ADATA SX8200 (Windows) 1 TB
First DIMM model [e.g: Patriot DDR4-2666 16GB]: Samsung DDR4-2666 32 GB
Second DIMM model (if installed): Samsung DDR4-2666 32 GB
Display port(s) used [e.g: USB-C, mini DP]:
Display resolution(s) [e.g: 4K, 5K]: 2x LG 4K via eGPU via Thunderbolt 3
Any TB3 devices: Sonnet Breakaway Box 550
Any USB devices: USB keyboard

Modifications
List any mods to config.plist, any additional kexts, anything installed to /Library/Extensions and /System/Library/Extensions, any additional patches, etc. Please attach your config.plist if you made any modifications.
Boot-args:
alcid=11 -disablegfxfirmware shikigva=32 shiki-id=Mac-BE088AF8C5EB4FA2 -radcodec igfxmetal=1
Panic log
Include a screenshot of the panic message if applicable.

Try agdpmod= ignore

Can confirm agdpmod=ignore works with WhateverGreen installed. Big thanks to @osy86!

@rolsanmordua Glad to hear that egpu is working now.
Can you share your egpu （on nuc and on your macbook） benchmark with geekbench5 or luxmark？
It will be great for potential egpu buyers.😁

@goodbest thanks! Sure here's the benchmarks:
MacBook Pro 15" (2018), i7-8850H w/ Sonnet Breakaway Box 550 + Gigabyte Radeon RX 5700 XT 8 GB
NUC8i7HVK, i7-8809G w/ Sonnet Breakaway Box 550 + Gigabyte Radeon RX 5700 XT 8 GB
NUC8i7HVK's built in Radeon RX Vega M GH
My prev setup: NUC8i7BEH, i7-8559U w/ Sonnet Breakaway Box 550 + PowerColor Red Dragon RX 580 8 GB


Add push router and organize api dir for server

server/{module}/api/router.js routing sub path
sub path located at server/{module}/api/${sub_path}
add minimum required push apis and suggest comment style

Any update?

Closing this issue and open new  request


The definition for 'patient discharge' is in the wrong annotation

Currently, the definition resides in a definition source annotation

This was fixed at some point.


How to use it?

I wanna use it for generating images with styles

Deep respect for your work!
And also interested in how to run this....
google collab? requirements.txt? wich python version, etc..
I'm using this for non-commeercial ends

I agree a requirements.txt or environment.yml file is needed. I'm running into some tensorflow errors about use the += operator. I was able to get past them by replacing them with .assign_add(). I then got an error about tf.gradient not being supported with eager execution, to use tf.GradientTape instead. The GradientTape way didn't work, so I disabled eager execution, only to run into a runtime error about attempting to capture an EagerTensor without building a function...

Start now


EC2 controller - add subnetRef

Hi!
Right now I want to create all Ec2 instances and all underlying infra in one go and automatic way.
Unfortunately, subnetID for EC2 instance must be populated manually.
apiVersion: ec2.services.k8s.aws/v1alpha1
kind: Instance
metadata:
  name: test
  namespace: infra-production
spec:
  iamInstanceProfile:
    arn: "arn:aws:iam::966321756598:instance-profile/ssm-instance-profile"
  imageID: ami-0eb260c4d5475b901
  keyName: george
  instanceType: r5n.8xlarge
  subnetID: subnet-0f06902b47c880118 # production-private-eu-west-2a
  securityGroupIDs:
    - sg-05c2348dbc876ab30
  tags:
    - key: Name
      value: test
    - key: env
      value: production
  blockDeviceMappings:
    - deviceName: "/dev/sda1"
      ebs:
        volumeSize: 500
        deleteOnTermination: false
  metadataOptions:
    instanceMetadataTags: enabled

I'd like to have some key called like subnetRef, which will contain like to the name of subnet object, so the controller could get the subnetID from the status field. The same approach already is leveraged in Subnet object when referring to VPC object (vpcRef)
apiVersion: ec2.services.k8s.aws/v1alpha1
kind: Subnet
metadata:
  name: production-public-eu-west-2a
  namespace: infra-production
spec:
  availabilityZone: eu-west-2a
  cidrBlock: <IP_ADDRESS>/20
  mapPublicIPOnLaunch: true
  vpcRef:
    from:
      name: production
  routeTableRefs:
    - from:
        name: production-public-route-table
  tags:
    - key: "Name"
      value: "production-public-eu-west-2a"
    - key: "kubernetes.io/role/elb"
      value: "1"
    - key: "kubernetes.io/cluster/production"
      value: "shared"

/remove-lifecycle stale

/remove-lifecycle stale


Don't allow a configuration to be checked out if a submission or evaluation is in progress

There is currently logic in place to prevent a user from checking a Monitor Plan in if there is a submission or evaluation in progress for that plan (see easey-monitor-plan-api -> user-check-out.service.ts -> checkInConfiguration). However, there is no logic in place to prevent the user from checking that plan out if a submission or evaluation is underway. We should duplicate the aforementioned logic to the checkOutConfiguration function.
More importantly, the procedure camdecmpswks.user_session_maintenance() deletes any row from the camdecmpswks.user_check_out table with a last_activity value over 20 minutes old, without checking submissions or evaluations. This procedure is called by a cron job every minute. This procedure should be updated to use the same logic as the checkInConfiguration function.

Currently, there is a submission stuck in limbo with the status code 'WIP' for Barry (8): this is a good plan to test the pull requests with.

Currently, there is a submission stuck in limbo with the status code 'WIP' for Barry (8): this is a good plan to test the pull requests with.

Attempting to check out Barry 8 results in an error message, with the configuration not able to be successfully checked out. Clicking the Check Out button results in the error message, whereas attempting to check out from the Select Configurations menu only brings user to the view-only configuration page.

Verified in test with @bryanramirez1 - config cannot be checkout if a evaluation or submission is in progress.


Add redundant links to taxonomic sources names on page Sources

Currently, the names of taxonomic sources on page Sources are unlinked. In the interest of assisting the user in every way possible to learn more about TNRS data providers (even at the risk of redundancy) the source names should be the same hyperlinks as the relevant "Learn More" links. These links should open in a new window.

Enhancement completed.


Add docs & example for SystemParam

It took me a little while to figure out how to use the SystemParam derive macro to easily create my own params. So I figured I'd add some docs and an example with what I learned.

Fixed a bug in the SystemParam derive macro where it didn't detect the correct crate name when used in an example (no longer relevant, replaced by #1426 - see further)
Added some doc comments and a short example code block in the docs for the SystemParam trait
Added a more complete example with explanatory comments in examples

I've fixed the conflicts from #1426 and replaced my local fix with the better fix from that commit. Should be good to go now.

Looks good to me. Thanks!

bors r+