Add eBPF connection tracking without dependencies on kernel headers

Based on work from Lorenzo, updated by Iago, Alban, Alessandro and
Michael.
This PR adds connection tracking using eBPF. This feature is not enabled by default.
For now, you can enable it by launching scope with the following command:
sudo ./scope launch --probe.ebpf.connections=true

This patch allows scope to get notified of every connection event,
without relying on the parsing of /proc/$pid/net/tcp{,6} and
/proc/$pid/fd/*, and therefore improve performance.
We vendor https://github.com/iovisor/gobpf in Scope to load the
pre-compiled ebpf program and https://github.com/kinvolk/tcptracer-bpf
to guess the offsets of the structures we need in the kernel. In this
way we don't need a different pre-compiled ebpf object file per kernel.
The Scope build fetches the pre-compiled ebpf program from
https://hub.docker.com/r/kinvolk/tcptracer-bpf/ (see
https://github.com/kinvolk/tcptracer-bpf). To update to a new version
you can modify the EBPF_IMAGE variable in Makefile.
The ebpf program uses kprobes/kretprobes on the following kernel functions:

tcp_v4_connect
tcp_v6_connect
tcp_set_state
inet_csk_accept
tcp_close

It generates "connect", "accept" and "close" events containing the
connection tuple but also pid and netns.
Note: the IPv6 events are not supported in Scope and thus not passed on.
probe/endpoint/ebpf.go maintains the list of connections. Similarly to
conntrack, it also keeps the dead connections for one iteration in order
to report short-lived connections.
The code for parsing /proc/$pid/net/tcp{,6} and /proc/$pid/fd/* is still
there and still used at start-up because eBPF only brings us the events
and not the initial state. However, the /proc parsing for the initial
state is now done in foreground instead of background, via
newForegroundReader().
NAT resolution on connections from eBPF works in the same way as it did
on connections from /proc: by using conntrack. One of the two conntrack
instances is only started to get the initial state and then it is
stopped since eBPF detects short-lived connections.
The Scope Docker image size comparison:

weaveworks/scope in current master:  22 MB (compressed),  68 MB
(uncompressed)
weaveworks/scope with this patchset: 23 MB (compressed), 69 MB
(uncompressed)

Fixes #1168 (walking /proc to obtain connections is very expensive)
Fixes #1260 (Short-lived connections not tracked for containers in
shared networking namespaces)
Fixes #1962 (Port ebpf tracker to Go)
Fixes #1961 (Remove runtime kernel header dependency from ebpf tracker)
This PR is kernel version/configuration independent so it supersedes https://github.com/weaveworks/scope/pull/2070 which needed a different object file per kernel/kernel config.
Depends on https://github.com/weaveworks/scope/pull/2068
TODO:

[ ] Gracefully fall back to proc parsing if the user enables ebpf with --probe.ebpf.connections=true and the ebpf loading fails for whatever reason. We can fix this in a followup PR

We have tested (manually) on Debian, Ubuntu, Fedora, Arch, CoreOS (beta), Amazon Linux.
Note that Amazon Linux does not have /sys/kernel/debug mounted by default. So it should be mounted manually before starting the Docker daemon:
$ sudo yum install docker
$ sudo mount -t debugfs debugfs /sys/kernel/debug
$ sudo /etc/init.d/docker start

We have not tested on GCE yet.

I tried on gc with the image gci but it does not work because bpf is not supported. Error message from strace:
bpf(BPF_MAP_CREATE, {map_type=BPF_MAP_TYPE_PERF_EVENT_ARRAY, key_size=4, value_size=4, max_entries=1024}, 48) = -1 ENOSYS (Function not implemented)
These are the information about the gci virtual machine image:
#cat /etc/os-release

BUILD_ID=8872.47.0
NAME="Container-VM Image"
GOOGLE_CRASH_ID=Lakitu
VERSION_ID=55
BUG_REPORT_URL=https://crbug.com/new
PRETTY_NAME="Google Container-VM Image"
VERSION=55
GOOGLE_METRICS_PRODUCT_ID=26
HOME_URL="https://cloud.google.com/compute/docs/containers/vm-image/"
ID=gci

So it should be mounted manually before starting the Docker daemon

Is it worth asking them to mount it by default?

@alban Is it worth asking them to mount it by default?

Ok, asked in that thread: https://forums.aws.amazon.com/thread.jspa?messageID=762683

I am half way through the first pass of the review. However, the interaction between ebpf and the proc trackers is pretty hard to read and understand: (

The code is sprinkled with conditionals checking if ebpf is enabled, making it stateful.
The ebpf tracker can be phony.

Can you guys try to find an alternative improving this situation? For instance, create a single tracker interface, asking the proc walker for help when necessary (all the time if ebpf is not available).

Also, I am missing unit tests.

Also, I am missing unit tests.

I am working on unit tests on this branch https://github.com/kinvolk/scope/commits/alessandro/ebpf-unit-test, but it is still a WIP. Because ebpf is not enabled by default, we were thinking to do a follow-up PR with the unit tests.

I am working on unit tests on this branch

Uhm, I would prefer if unit tests were merged at the same time.

I filed a bug report asking to enable kprobe and ebpf syscall on gci https://code.google.com/p/google-compute-engine/issues/detail?id=524

Can you guys try to find an alternative improving this situation? For instance, create a single tracker interface, asking the proc walker for help when necessary (all the time if ebpf is not available). I am happy to hear other solutions.

We'll find some alternatives

I updated this PR.
It addresses the review comments, including some refactor/redesign.
It is still pending on https://github.com/weaveworks/tcptracer-bpf/pull/1: We need to update the vendoring and the ebpf artifact URL.
cc @alepuccetti, @alban

Integration tests need to pass on this PR before merging. Let's discuss how to do this on Slack.
Also, I would like a few integration tests for ebpf connection tracking since it's not going to be enabled by default and want some reassurance of it not bitrotting/breaking before we do. At least I would like tests for the happy path, NATting and short-lived connections across containers in the same networking namespace.
Finally, I recall @iaguis mentioned a problem with tracking with sockets in accept state at the moment in which the tracker starts. Has that been addressed?

I pushed a new version:

rebased on origin/master
now that gobpf & tcptracer-bpf PRs are merged upstream, vendor the upstream versions
it does not use the CircleCI artifact for ebpf but instead uses the vendored version
includes the unit tests (ebpf_test.go) & refactoring (connection_tracker.go) from @alepuccetti

There are still some cleanup to do in the PR (newForegroundReader in background_reader_linux.go).

Finally, I recall @iaguis mentioned a problem with tracking with sockets in accept state at the moment in which the tracker starts. Has that been addressed?

No, this has not been addressed. I just filed https://github.com/weaveworks/tcptracer-bpf/issues/10 for this.

Test:
50 containers create a random number of connections between 1 and 50 each one.
For more information look the dialer script.
In three different terminals I run the following:
./listener 8082
./dialer LISTENER_IP:8082 50 1
./time-scope-probe
I run the test on master-f8cf32c and iaguis-conn-perf-ebpf-guess-4ab97f5 back to back in a dedicated VM with four cores on GCE. We use randomly generated numbers for sleep time and the number of connections produced by each container, to reduce the difference between the tests we set the random
d to 1.
Before each test, I stop all the dialer containers and start from scratch.
The following graph shows the CPU consumtion for master-f8cf32c and iaguis-conn-perf-ebpf-guess-4ab97f5.

I run the experiment multiple times to ensure that the results are replicable within a reasonable interval.
Also, I notice that master does not show all the dialer containers connected to the server.
In fact, when running on master in the container view, I see containers not connected to the server, while using ebpf all the containers are connected to the server.
This happens because Scope is slower with detecting the connections and consequently showing them.

Also, I notice that master does not show all the dialer containers connected to the server.
In fact, when running on master in the container view, I see containers not connected to the server, while using ebpf all the containers are connected to the server.
This happens because Scope is slower with detecting the connections and consequently showing them.

master:

ebpf

I'm getting this panic on every report attempt:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x6458f9]

goroutine 180 [running]:
panic(0x1477080, 0xc420010060)
	/usr/lib/go-1.7/src/runtime/panic.go:500 +0x1a1
github.com/weaveworks/scope/probe/endpoint.(*connectionTracker).performWalkProc(0xc4202067d8, 0xc423c62900, 0xc420faa5f0, 0xf, 0xc422a1a078, 0x0, 0x253cb80)
	/go/src/github.com/weaveworks/scope/probe/endpoint/connection_tracker.go:161 +0x59
github.com/weaveworks/scope/probe/endpoint.(*connectionTracker).ReportConnections(0xc4202067d8, 0xc423c62900)
	/go/src/github.com/weaveworks/scope/probe/endpoint/connection_tracker.go:127 +0x135
github.com/weaveworks/scope/probe/endpoint.(*Reporter).Report(0xc420206780, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/go/src/github.com/weaveworks/scope/probe/endpoint/reporter.go:97 +0x123
github.com/weaveworks/scope/probe.(*Probe).report.func1(0xc4203ca6c0, 0xc4242be600, 0x252e280, 0xc420206780)
	/go/src/github.com/weaveworks/scope/probe/probe.go:155 +0x11c
created by github.com/weaveworks/scope/probe.(*Probe).report
	/go/src/github.com/weaveworks/scope/probe/probe.go:165 +0xec

The problem seems to be that it's attempting to performWalkProc despite no scanner being set due to prog/probe.go:165. This means somehow connectionTracker.ebpfTracker != nil even though conf.UseEbpfConn is true.
This can happen is if there's an error in creating the tracker (probe/endpoint/connection_tracker.go:48).
In this case, when we call ReportConnections, we skip both t.performEbpfTrack and t.performFlowWalk, executing t.performWalkProc, which we don't have a scanner for.
It seems to me that we need to pass the processCache in via conf, instead of scanner. Then we can instantiate the scanner or not depending on the internal results of newConnectionTracker.
Anyway, this was the error I was getting. It's very confusing - it looks like a whole list of errors happening at once? And they contain a double newline.
<probe> ERRO: 2017/02/15 01:58:25.668266 Cannot find BPF object file: failed to init perf map for IPv4 events: error guessing offsets: error initializing tcptracer_status map: unable to update element: argument list too long

<probe> ERRO: 2017/02/15 01:58:25.668280 Error setting up the ebpfTracker, connections will not be reported: failed to init perf map for IPv4 events: error guessing offsets: error initializing tcptracer_status map: unable to update element: argument list too long

I'm running arch linux, Linux inflaton 4.8.13-1-ARCH #1 SMP PREEMPT Fri Dec 9 07:24:34 CET 2016 x86_64 GNU/Linux

@ekimekim : thanks for testing.

panic with performWalkProc: @alepuccetti will address this. Related to this, there is #2243 for implementing a proper fallback later.
"double newline": @schu did https://github.com/weaveworks/tcptracer-bpf/pull/16
"unable to update element: argument list too long": @iaguis is working on that via https://github.com/iovisor/gobpf/pull/23 We think this bug happens with more cpu/cores.

Oh, and unrelated. I saw a ton of these when testing:
<probe> ERRO: 2017/02/16 00:41:31.036081 EbpfTracker error: unmatched close event: <IP_ADDRESS>:52988-<IP_ADDRESS>:53 pid=27870 netns=4026531957
<probe> ERRO: 2017/02/16 00:41:41.036139 EbpfTracker error: unmatched close event: <IP_ADDRESS>:52992-<IP_ADDRESS>:53 pid=27870 netns=4026531957
<probe> ERRO: 2017/02/16 00:41:51.037197 EbpfTracker error: unmatched close event: <IP_ADDRESS>:52998-<IP_ADDRESS>:53 pid=27870 netns=4026531957
<probe> ERRO: 2017/02/16 00:41:58.894227 EbpfTracker error: unmatched close event: <IP_ADDRESS>:43306-<IP_ADDRESS>:4040 pid=7218 netns=4026531957
<probe> ERRO: 2017/02/16 00:42:01.036348 EbpfTracker error: unmatched close event: <IP_ADDRESS>:53010-<IP_ADDRESS>:53 pid=27870 netns=4026531957
<probe> ERRO: 2017/02/16 00:42:06.007529 EbpfTracker error: unmatched close event: <IP_ADDRESS>:35032-<IP_ADDRESS>:6784 pid=27870 netns=4026531957
<probe> ERRO: 2017/02/16 00:42:11.036514 EbpfTracker error: unmatched close event: <IP_ADDRESS>:53018-<IP_ADDRESS>:53 pid=27870 netns=4026531957

I expected a few of these when the process first started due to https://github.com/weaveworks/tcptracer-bpf/issues/10, but these kept more or less constant (one every second or so). But what really piqued my interest is this: They're all from the same pid. And that pid the scope-probe process.

@ekimekim yes, the fd-passing/fork/dup issue is unresolved. On CoreOS with systemd socket-activated sshd, it appeared that all incoming connections belong to pid 1 (systemd) instead of a ssh process because of socket activation. It's difficult to solve in a generic way but for the socket activation case, maybe we could use the proc connector (see also #1931) to be notified of new processes and check if they inherited fds to reassign sockets to their "last" owner. It appears that your test was not a socket activation but something else. What was your scenario?

the fd-passing/fork/dup issue is unresolved

Is there a GitHub issue reflecting this problem?
On Feb 16, 2017 13:18, "Alban Crequy"<EMAIL_ADDRESS>wrote:

@ekimekim https://github.com/ekimekim yes, the fd-passing/fork/dup
issue is unresolved. On CoreOS with systemd socket-activated sshd, it
appeared that all incoming connections belong to pid 1 (systemd) instead of
a ssh process because of socket activation. It's difficult to solve in a
generic way but for the socket activation case, maybe we could use the proc
connector (see also #1931 https://github.com/weaveworks/scope/pull/1931)
to be notified of new processes and check if they inherited fds to reassign
sockets to their "last" owner. It appears that your test was not a socket
activation but something else. What was your scenario?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/weaveworks/scope/pull/2135#issuecomment-280315872,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACQOJFANIdHa8CUTjPa6Ot9QhQ8ZcAIeks5rdD6KgaJpZM4Llqsl
.

Is there a GitHub issue reflecting this problem?

@2opremio No. I understood that @ekimekim wanted to file it after this PR is merged. I could also file it if you want. I am not sure whether it would belong to scope or to tcptracer-bpf though.

Please file it

I am not sure whether it would belong to scope or to tcptracer-bpf though

your call

Filed: #2253

@ekimekim regarding the "unmatched close event": those are due to https://github.com/weaveworks/tcptracer-bpf/issues/19

Depends on https://github.com/weaveworks/scope/pull/2225

I rebased this PR on master. We also added some integration tests for ebpf, more are to come.
Because our company CI has not been set up yet to run integration tests, I ran it on my personal repo, here is the result https://circleci.com/gh/alepuccetti/scope/169.
/cc @2opremio

We also added some integration tests for ebpf, more are to come.

I am missing a test checking that connections between containers in the same networking namespace are tracked. I see this as a requirement before merging.

@2opremio regarding your comments on the tests:
The added tests are a mostly a copy of existing tests modulo the launch with probe.ebpf.connections set
(i.e. scope_on "$HOST1" launch --probe.ebpf.connections=true) and the new helper endpoints_have_ebpf(). wget is also used in 310 and 320 for example. We are happy to address the raised concerns but would prefer to do so as part of a follow-up pull request.

I am missing a test checking that connections between containers in the same networking namespace are tracked. I see this as a requirement before merging.

We started working on a test but it's not done yet: we can't use weave_on here as weave adds additional DNS parameters (e.g. --hostname) to the Docker cmdline not compatible with --net=container:...: https://docs.docker.com/engine/reference/run/#network-container

We are happy to address the raised concerns but would prefer to do so as part of a follow-up pull request.

Great, please fill an issue.

We started working on a test but it's not done yet: we can't use weave_on ..

You don't need to use weave, using a single host should be fine.

Great, please file an issue.

Let me refine this. I am fine with a follow-up for issues requiring a refactoring out of the scope of this PR otherwise they should be fixed here.

I am missing a test checking that connections between containers in the same networking namespace are tracked by ebpf. I see this as a requirement before merging.

We pushed https://github.com/weaveworks/scope/pull/2135/commits/e04365fec422a3163714792b224528b3727c1d18

The CircleCI hook got stuck, mind clicking on rebuild?

The CircleCI hook got stuck, mind clicking on rebuild?

Done

The CircleCI hook got stuck, mind clicking on rebuild?

Done

Integration tests don't run on Kinvolk Circle CI; we did for e04365f here: https://circleci.com/gh/schu/scope/173

Integration tests don't run on Kinvolk Circle CI

I'm confused, this was the goal of a big part of the work in the past weeks (so that Kinvok PRs didn't break master).
If we were to run tests manually in other repositories, then I would had done it and we would have saved a lot of work.
Can we please make sure that whatever org you create PRs from runs integration tests?

Can we please make sure that whatever org you create PRs from runs integration tests?

With the changes from https://github.com/weaveworks/scope/pull/2225 (particularly https://github.com/weaveworks/scope/pull/2225/commits/e031728b04b0c935071598c8fafaff8f2a5599d3) it's now possible for every user/org to configure their own Circle CI to run integration tests on GCE (it wasn't possible before). The configuration remains a manual step for every user to do on their own. We have just configured https://circleci.com/gh/kinvolk/scope accordingly and will ping you once the integration tests pass there as well.

While tests are green now, we saw two failures we can't explain:

https://circleci.com/gh/kinvolk/scope/740 (200_clustering_2_test.sh failed, not related to this pull request)
https://circleci.com/gh/kinvolk/scope/741 (312_container_to_container_edge_same_netns_with_ebpf_test.sh failed, a new test added with this pull request.)

https://circleci.com/gh/kinvolk/scope/741
(312_container_to_container_edge_same_netns_with_ebpf_test.sh failed, a new test added with this pull request.)

It has failed with the error:

Only 43 endpoints of 49 have ebpf enabled, should be equal

I looked in the report at the 6 endpoints that don't have eBPF=true and they are tagged with the following pids/cmdline:

3726 scope-probe
1953 /usr/bin/python /usr/share/google/google_daemon/manage_addresses.py
5212 /usr/bin/python /usr/share/google/google_daemon/manage_accounts.py
3724 scope-app
3726 scope-probe
1942 /usr/bin/python /usr/share/google/google_daemon/manage_clock_sync.py

So it's not about the connections being tested (in the two containers "nginx" and "client"). It seems to be a race during initialization. I'm trying to understand how it can happen.

It seems to be a race during initialization. I'm trying to understand how it can happen.

We think the behavior comes with https://github.com/weaveworks/scope/pull/2135/commits/341054638c41a7001c110b48d23a5792a9446307 and that the endpoint is found when the ebpf tracker is not initialized yet.

We've been running integration tests all morning on @schu's circleci and we haven't encountered any reds. Also, we couldn't reproduce the issue on our local machines.
By reading our code we shouldn't see any connection sith Procspied. The only place where nodes are set to be Procspied: "true" is in performWalkProc() which should never be called if eBPF is enabled because t.ebpfTracker should not be nil: here's where we initialize the tracker.
The only explanation I can think of is that another probe from another test is running at the same time and feeding the scope app, and that's why we get some endpoints that are not eBPF but Procspied. I tested this scenario locally (starting a scope app and 2 probes, one with eBPF and one without) and I get some nodes with only Procspied like in the failed report.

The only explanation I can think of is that another probe from another test is running at the same time and feeding the scope app, and that's why we get some endpoints that are not eBPF but Procspied. I tested this scenario locally (starting a scope app and 2 probes, one with eBPF and one without) and I get some nodes with only Procspied like in the failed report.

That's scary and should be resolved. Either way this should be resolved before merging.

Also, regarding https://circleci.com/gh/kinvolk/scope/741 , please don't output full reports in tests since they fill the output.

I have tried to test this branch locally and I get panics: https://gist.github.com/2opremio/8aece6a2fba726fabc6b944ab2d9ec92

Rebased on master.

A quick and rough check (top -c) of the CPU consumption in an empty system shows that, when ebpf is enabled, the probe consumes 2x the CPU.
How can you explain this?
With ebpf:

Without ebpf:

If anything, I would expect the opposite ...

Note that the app CPU consumption varies a bit but the probe consumption is fairly static: ~7% when  enabling ebpf and ~3% without it.

I am seeing a lot of unmatched close event errors, just like @ekimekim at https://github.com/weaveworks/scope/pull/2135#issuecomment-280193572
In this case, they are DNS requests and requests to weave net (which is not running):
<probe> ERRO: 2017/03/06 14:19:12.590043 EbpfTracker error: unmatched close event: <IP_ADDRESS>:35732-<IP_ADDRESS>:6784 pid=3022 netns=4026531957
<probe> ERRO: 2017/03/06 14:19:17.608381 EbpfTracker error: unmatched close event: <IP_ADDRESS>:42202-<IP_ADDRESS>:53 pid=3022 netns=4026531957
<probe> ERRO: 2017/03/06 14:19:27.586822 EbpfTracker error: unmatched close event: <IP_ADDRESS>:42206-<IP_ADDRESS>:53 pid=3022 netns=4026531957
<probe> ERRO: 2017/03/06 14:19:37.589443 EbpfTracker error: unmatched close event: <IP_ADDRESS>:42212-<IP_ADDRESS>:53 pid=3022 netns=4026531957
<probe> ERRO: 2017/03/06 14:19:47.592937 EbpfTracker error: unmatched close event: <IP_ADDRESS>:42216-<IP_ADDRESS>:53 pid=3022 netns=4026531957
<probe> ERRO: 2017/03/06 14:19:57.597814 EbpfTracker error: unmatched close event: <IP_ADDRESS>:42222-<IP_ADDRESS>:53 pid=3022 netns=4026531957
<probe> ERRO: 2017/03/06 14:20:07.597878 EbpfTracker error: unmatched close event: <IP_ADDRESS>:42226-<IP_ADDRESS>:53 pid=3022 netns=4026531957
<probe> ERRO: 2017/03/06 14:20:12.597237 EbpfTracker error: unmatched close event: <IP_ADDRESS>:35764-<IP_ADDRESS>:6784 pid=3022 netns=4026531957
<probe> ERRO: 2017/03/06 14:20:17.598236 EbpfTracker error: unmatched close event: <IP_ADDRESS>:42234-<IP_ADDRESS>:53 pid=3022 netns=4026531957
<probe> ERRO: 2017/03/06 14:20:27.598730 EbpfTracker error: unmatched close event: <IP_ADDRESS>:42238-<IP_ADDRESS>:53 pid=3022 netns=4026531957
<probe> ERRO: 2017/03/06 14:20:37.603551 EbpfTracker error: unmatched close event: <IP_ADDRESS>:42244-<IP_ADDRESS>:53 pid=3022 netns=4026531957
<probe> ERRO: 2017/03/06 14:20:47.606111 EbpfTracker error: unmatched close event: <IP_ADDRESS>:42248-<IP_ADDRESS>:53 pid=3022 netns=4026531957
<probe> ERRO: 2017/03/06 14:20:57.608987 EbpfTracker error: unmatched close event: <IP_ADDRESS>:42254-<IP_ADDRESS>:53 pid=3022 netns=4026531957
<probe> ERRO: 2017/03/06 14:21:07.608991 EbpfTracker error: unmatched close event: <IP_ADDRESS>:42258-<IP_ADDRESS>:53 pid=3022 netns=4026531957
<probe> ERRO: 2017/03/06 14:21:12.591241 EbpfTracker error: unmatched close event: <IP_ADDRESS>:35796-<IP_ADDRESS>:6784 pid=3022 netns=4026531957
<probe> ERRO: 2017/03/06 14:21:17.614570 EbpfTracker error: unmatched close event: <IP_ADDRESS>:42266-<IP_ADDRESS>:53 pid=3022 netns=4026531957
<probe> ERRO: 2017/03/06 14:21:27.618499 EbpfTracker error: unmatched close event: <IP_ADDRESS>:42270-<IP_ADDRESS>:53 pid=3022 netns=4026531957
<probe> ERRO: 2017/03/06 14:21:37.624944 EbpfTracker error: unmatched close event: <IP_ADDRESS>:42276-<IP_ADDRESS>:53 pid=3022 netns=4026531957

I truly doubt it's #2253 but simply requests to ports where no-one is listening on. In fact, if I try to connect to a port where no-one is listening:
ubuntu@ubuntu-yakkety:~$ netcat localhost 9999

I get this in the logs:
<probe> ERRO: 2017/03/06 14:25:36.558455 EbpfTracker error: unmatched close event: <IP_ADDRESS>:59104-<IP_ADDRESS>:9999 pid=5632 netns=4026531957

Please correct this

I am seeing a lot of unmatched close event errors, just like @ekimekim at #2135 (comment)

This is tracked in https://github.com/weaveworks/tcptracer-bpf/issues/19

This is tracked in https://github.com/weaveworks/tcptracer-bpf/issues/19

Thanks. Should we silence those errors in the meantime? (they are not really errors after all).

Thanks. Should we silence those errors in the meantime? (they are not really errors after all).

I think we should do that in the meantime, yes.

A quick and rough check (top -c) of the CPU consumption in an empty system shows that, when ebpf is enabled, the probe consumes 2x the CPU.
How can you explain this?

@2opremio The connection scanner used to feed the ebpf tracker with the initial state was not stopped correctly. I added commit 915eb6995c181cb25d8939b751fb9fee85072b40 which fixes the perf issue. @schu tested that it fixes the problem: top -c and cpustat show similar results when there are no connections.

Good job, I will test this branch again before the day ends.

PR updated:

rebased on master (including #2312 with the changes on the GCE network)
squashed to a small amount of commits
includes the new vendoring of tcptracer-bpf with https://github.com/weaveworks/tcptracer-bpf/pull/27
includes the performance fix mentioned in https://github.com/weaveworks/scope/pull/2135#issuecomment-285013523

Let's see if CircleCI is happy.


/AB/ instanceof RegExp is false?!

In a browser or node REPL:
/AB/ instanceof RegExp
// => true

but in Mancy I get false for some weird reason.
(Mancy 3.0.0, JS strict, no Babel)

Related https://github.com/nodejs/node/issues/7351


Room for further improvement?

Hi.. this is not about any issues.. but a question..
With the latest commits, the app loads and runs smooth and faster than ever.. just asking if more can be done with the leftover vram as I can see 2 gb is still free on my 4 gb card.... Something like multi frame processing with more gpu multithreading.

Thank you for your feedback and suggestions! Indeed, there's still room for improvement in terms of performance, and making full use of the available VRAM is an important part of that.
However, optimizing performance for different types of hardware accelerators would likely mean tackling each one separately. This could potentially lead to different branches of the project tailored for different accelerators.
This would require considerable effort and careful testing, but it's definitely an avenue worth exploring in the future. Your input is greatly appreciated as we continue to improve this project!

Thanks.... This is an excellent work!! Almost flawless!!


Style: make <, ≤, >, ≥ looks better by removing links

Those are only enabled upon hovering on them.

Here's a screenshot of what things look like after your change:

One thing I don't like is that in hx : is_integral α x, I can't tell that is_integral is a ilnk and that hx, α and x are not. Could you tweak the colors or some other feature to make the links stand out somehow?

Guessed that it could create some issues, here's another patch which
makes things a bit different, it still gives us links in hypothesis AFAIK.
As order stuff has rarely hypothesis but most stuff seems to be in
implications, etc.
Let me know how it goes. :)
--
Ryan
On May 16 2020, at 3:52 am, Bryan Gin-ge Chen<EMAIL_ADDRESS>wrote:

Here's a screenshot of what things look like after your change:
One thing I don't like is that in hx : is_integral α x, I can't tell
that is_integral is a ilnk and that hx, α and x are not. Could you
tweak the colors or some other feature to make the links stand out somehow?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
[ { "@context": "http://schema.org", "@type": "EmailMessage",
"potentialAction": { "@type": "ViewAction", "target":
"https://github.com/leanprover-community/doc-gen/pull/20#issuecomment-629571567",
"url":
"https://github.com/leanprover-community/doc-gen/pull/20#issuecomment-629571567",
"name": "View Pull Request" }, "description": "View this Pull Request
on GitHub", "publisher": { "@type": "Organization", "name": "GitHub",
"url": "https://github.com" } } ]

Here's some dark theme screenshot (sorry for the dark theme! :D)

Hmm, I actually kind of liked it more with all underlines removed by default, since they overlap with the underscores. Could you somehow make it so the non-links are more grayed out or less bold or something?
In your dark theme, I like the fact that for the second declaration theorem minimal_polynomial.monic, hx, α and x are actually a slightly different color which distinguishes them from the links. Not sure why that doesn't happen for def minimal_polynomial though.
Sorry for being picky!

Hmm, I actually kind of liked it more with all underlines removed by default, since they overlap with the underscores. Could you somehow make it so the non-links are more grayed out or less bold or something?
We can definitely do something like this, I'll do it tomorrow, if that's okay.
In your dark theme, I like the fact that for the second declaration theorem minimal_polynomial.monic, hx, α and x are actually a slightly different color which distinguishes them from the links. Not sure why that doesn't happen for def minimal_polynomial though.
That's actually a side effect of a CSS filter from my GPU… :'D (I use the Dark Reader extension with Filter+).

Sorry for being picky!
Don't worry, it's all about the user experience.

In my opinion, even just deleting color: black and adding text-decoration: none looks fine, and definitely an improvement on the status quo:

I don't think the underlines are really needed on hover either, since the text color already changes on hover (at least in my browser).

Now I realize that links in the decl_args part (between the theorem name and the colon) aren't visible with my change, because their color gets overridden. So I would suggest taking the original commit, but also changing color: black; to color: #0000ee (this seems to be the usual default link color: https://stackoverflow.com/questions/4774022/whats-default-html-css-link-color)

Please make follow-up PRs if you like something else.  But if we don't merge something now, then this will never be fixed.


Debug is not supported on android device

Short description of the problem:
Application running on the android device can't be debugged
What behavior are you expecting?
Debugging supported/working
Steps to reproduce:

Created new project from https://github.com/driftyco/ionic-starter-super
run ionic run android
use chrome://inspect to debug

Which @ionic/app-scripts version are you using?
0.0.47 and 0.0.48

I had an issue where I couldn't inspect either. Just got a blank white
screen. I deleted my android platform folder and did: ionic platform add
<EMAIL_ADDRESS>Solved the problem for me.
On Thu, 29 Dec 2016, 13:42 Alex Ryltsov<EMAIL_ADDRESS>wrote:

Short description of the problem:
Application running on the android device can't be debugged
What behavior are you expecting?
Debugging supported/working
Steps to reproduce:

Created new project from
https://github.com/driftyco/ionic-starter-super
run ionic run android
use chrome://inspect to debug

Which @ionic/app-scripts version are you using?
0.0.47 and 0.0.48
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/driftyco/ionic-app-scripts/issues/610, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AVoOP8ct8kdK9UMm_dTsEPFZe7QrzJk4ks5rM5yZgaJpZM4LXhvd
.

on chrome://inspect my app occasionally is not show. solution is to start adb (eg. "adb devices"), which starts a new daemon. If your device is listed your app should show up in chrome://inspect

I don't think that the problem is related to cordova because the app starts and shows fine on the device. chrome://inspect also works fine, meaning that i see the app and can open dev tools however there is no typescript sources etc - see attached

What is strange is that everything works fine in the desktop browser and when i build for ios using xcode. For the latter i see the sources and can debug. I also tried to add crosswalk with no luck. Could the problem be related to Chrome itself not displaying sources? Or may be ionic run androiddoes not work correctly and not adding source maps to the built?

I managed to find out what was causing the problem and how to solve it. The problem was that when you're remote debugging on an android device, Chrome debugger cannot access the source map file on the device. The solution/fix is to include the source map inline. To do this I:

added the below to package.json in the root project directory
"config": {
"ionic_bundler": "webpack",
"ionic_source_map_type": "#inline-source-map"
},
This is to make the webpack to add source maps inline
changed tsconfig.js line
"sourceMap": true,
to
"sourceMap": false
This is to disable typescript to create source map file since this is done by webpack

After this change everything seems to be working fine

I managed to find out what was causing the problem and how to solve it. The problem was that when you're remote debugging on an android device, Chrome debugger cannot access the source map file on the device. The solution/fix is to include the source map inline. To do this I:

added the below to package.json in the root project directory
"config": {
"ionic_bundler": "webpack",
"ionic_source_map_type": "#inline-source-map"
},
This is to make the webpack to add source maps inline
changed tsconfig.js line
"sourceMap": true,
to
"sourceMap": false
This is to disable typescript to create source map file since this is done by webpack

After this change everything seems to be working fine

@ryaa

"sourceMap": false

this is cause an error during compilation in my case
see log:

ionic-app-script task: "build"
The "tsconfig.json" file must have compilerOptions.sourceMap set to true.

does this work if you leave "sourceMap": true?
what ionic-app-script version are you using?
does this problem occur with https://github.com/driftyco/ionic-starter-super?

does this work if you leave "sourceMap": true?
yes

what ionic-app-script version are you using?
1.0

@ryaa could you attach your project example for debugging on android device?

@jgw96 do you know about this issue?

@ryaa could you attach your project example for debugging on android device?

Unfortunately I can't share the current project sources I'm working on. However you should be able to follow the steps in my initial post and then make the changes that I described.

@ryaa it's not possible to change
"sourceMap": true,
to
"sourceMap": false
anyways it's not working!

not sure how this setting can cause compilation error.. can you share your code?

@ryaa
package.json
{   "name": "bedrosians.scale.extensions",   "private": true,   "version": "1.0.11",   "description": "Scale Ext. App by Bedrosians",   "scripts": {     "ionic:build": "ionic-app-scripts build",     "ionic:serve": "ionic-app-scripts serve",     "build": "ionic-app-scripts build",     "clean": "ionic-app-scripts clean"   },   "dependencies": {     "@angular/common": "2.2.1",     "@angular/compiler": "2.2.1",     "@angular/compiler-cli": "2.2.1",     "@angular/core": "2.2.1",     "@angular/forms": "2.2.1",     "@angular/http": "2.2.1",     "@angular/platform-browser": "2.2.1",     "@angular/platform-browser-dynamic": "2.2.1",     "@angular/platform-server": "2.2.1",     "@ionic/storage": "1.1.7",     "angular2-signaturepad": "^2.2.0",     "ionic-angular": "2.0.0-rc.5",     "ionic-native": "2.2.11",     "ionicons": "3.0.0",     "rxjs": "5.0.0-beta.12",     "sw-toolbox": "3.4.0",     "zone.js": "0.6.26"   },   "devDependencies": {     "@ionic/app-scripts": "1.0.0",     "typescript": "2.0.9"   },   "cordovaPlatforms": [     "ios",     "android"   ],  "config": {     "ionic_bundler": "webpack",     "ionic_source_map_type": "#inline-source-map"   },   "cordovaPlugins": [     "cordova-plugin-whitelist",     "cordova-plugin-console",     "cordova-plugin-statusbar",     "cordova-plugin-device",     "cordova-plugin-splashscreen",     "ionic-plugin-keyboard"   ],   "repository": {     "type": "git",     "url": "......."   } }
tsconfig.json
{   "compilerOptions": {     "allowSyntheticDefaultImports": true,     "declaration": false,     "emitDecoratorMetadata": true,     "experimentalDecorators": true,     "lib": [       "dom",       "es2015"     ],     "module": "es2015",     "moduleResolution": "node",     "sourceMap": false,     "target": "es5"   },   "include": [     "src/**/*.ts"   ],   "exclude": [     "node_modules"   ],   "compileOnSave": false,   "atom": {     "rewriteTsconfig": false   } }

@ryaa
and what you say?

@beylkhanovdamir Your config files that you posted look ok but this is not enough to determine what is wrong on your side. Can you share the entire project?
About "sourceMap": true
As indicated in my initial post, the solution to enable source maps on android was for ionic app scripts v0.0.48. You mentioned that you have version 1.0.0 and there was a change there to force this parameter to be true - see https://github.com/driftyco/ionic-app-scripts/releases/tag/v1.0.0 (check to ensure tsconfig contains sourcemaps true)
Therefore, my solution works fine on pre-1.0.0 ionic app scripts

I have same issue @ryaa. Thank you.


Handle and map errors in delete pending segments API

Problem:
At present, any exception in the delete pending segments API would result in the client not knowing the correct HTTP status code and cause. Following is an error logged in the overlord logs when the delete failed, but the reason doesn't get propagated to the client:
 2024-01-12T01:06:41,807 ERROR [qtp1757718624-150] com.sun.jersey.spi.container.ContainerResponse - The RuntimeException could not be mapped to a response, re-throwing to the HTTP container java.lang.IllegalArgumentException: Cannot delete pendingSegments because there is at least one active task created at 2024-01-12T01:06:41.318Z

This patch handles the exception and maps it to a 400 response with the appropriate error message.
Also, clean up the exception messages, use DruidException, and add unit tests for these failure scenarios.

This PR has:

[x] been self-reviewed.
[x] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[x] been tested in a test Druid cluster.

Thanks for the reviews @kfaraz and @zachjsh!


Use Kubernetes recommended labels

We set a number of labels on the Camel K operator manifest itself, but also on the resources created by the operator.
We should aim at conforming to the Kubernetes recommended labels and deprecated the redundant ones:
https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/

Hi @astefanutti,
I am an Outreachy applicant expressing my interest in this project.
Would you please assign me this task?

@desirekaleba Great! assigned to you 👍🏼.

Thanks, @astefanutti,
Would you provide more light on how to go about the issue, please?

hi @astefanutti can I and @desirekaleba work together on this. I am  Also an applicant.

hi @astefanutti can I and @desirekaleba work together on this. I am Also an applicant.

@Gre8t that's better to have one applicant per issue so we can track contributions more easily. There are other issues labelled "good first issue" that you may want to work on. Thanks for your understanding.

ok, I understand.


[incubator/webpagetest-agent] bump webpagetest-agent to 2018-01-23

What this PR does / why we need it:
bump webpagetest-agent to 2018-01-23
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/assign @davidkarlsen

/lgtm


CVE-2023-5841: […] Heap Overflow in Scanline Deep Data Parsing

CVE-2023-5841 was recently disclosed, describing a “failure in validating the number of scanline samples of a OpenEXR file containing deep scanline data,” resulting in a heap buffer overflow.
Has a fix for this issue been prepared yet? I was not able to find any commits, issues, or PR’s that appeared to be related.

No message was ever received at<EMAIL_ADDRESS>so this is the first notice we've seen of the vulnerability. We'll investigate right away.

So there must be some issue in the reporting (note I'm just a bystander from a downstream distribution): According to their timeline there was disclosure on 2023-11-09  via<EMAIL_ADDRESS>and a reminder on 2024-01-25.
I have mailed<EMAIL_ADDRESS>to see if there was an issue on receiving communication.

For context, I am also “a bystander from a downstream distribution” – I co-maintain the usd package in Fedora Linux, which relies on a lightly forked, bundled copy of openexr.

Hello!
AHA! attempted disclosure on November 9, then again on January 25. We never received a reply to either. if you want to check your spam filters, it would have been from<EMAIL_ADDRESS>with the subject "CVE-2023-5841 disclosure"

We may have had a problem with the email configuration, we're investigating. At any rate, #1627 should fix it, can you confirm? We'll make a release shortly

Resolved by #1627, released in 3.2.2 and 3.1.12, and CVE sites have been updated


"bad date" from "touch" when using -t option

Hi, I'm trying to use adb-sync with the -t option to preserve file datestamps. Running on Ubuntu 20.04, connected to OnePlus 5 via USB. See code output below - seems like it's calling "touch" command which is taking issue with value (or format?) 20190103.103814. Is this an issue with adb-sync, or something on my end?
james@wagtail-fossa:~$ adb-sync -t ~/1p5\ backup\ 2021-06-18/DCIM/CameraTest /sdcard/DCIM/
INFO:root:Sync: local b'/home/james/1p5 backup 2021-06-18/DCIM/CameraTest', remote b'/sdcard/DCIM//CameraTest'
INFO:root:Scanning and diffing...
INFO:root:Push: b'/sdcard/DCIM//CameraTest/IMG_20190103_103812.jpg'
/home/james/1p5 backup 2021-06-18/DCIM/CameraTest/IMG_20190...812.jpg: 1 file pushed. 20.2 MB/s (4110909 bytes in 0.194s)
INFO:root:Push-Times: accessed Sat Jul 17 23:40:52 2021, modified Thu Jan  3 10:38:14 2019
touch: bad date 20190103.103814
INFO:root:Total: 7514 KB/s (4110909 bytes in 0.534s)
Traceback (most recent call last):
File "/home/james/.local/bin/adb-sync", line 883, in
main()
File "/home/james/.local/bin/adb-sync", line 877, in main
syncer.PerformCopies()
File "/home/james/.local/bin/adb-sync", line 646, in PerformCopies
self.dst_fs[i].utime(dst_name, (s.st_atime, s.st_mtime))
File "/home/james/.local/bin/adb-sync", line 312, in utime
raise OSError('touch failed')
OSError: touch failed

Same here, because
adb shell 'touch --help' |grep -P '^-t'
-t	Set time to TIME (in [[CC]YY]MMDDhhmm[.ss][frac] format)

I monkey patched it by changing those two strftime templates accordingly:
time.strftime('%Y%m%d%H%M.%S'


fix(zoom): handle windows zoom with ctrl

Hi @ArturMakly @juspky @Vochsel @jackfishwick
could you check if this fixes the fast zooming on windows?


resample subject native anat surface to fsaverage5 & smooth

Hi! I am new to fmriprep, I want to analyze my resting-state fMRI data based on surface. Considered the resolution of functional image, fsaverage5 seems a favorable destination surface for me.
So first I run fmriprep and resampled my functional data onto fsaverage5 by command below:
docker run --rm -it -v /home/Documents/HCprep/Nifti:/data:ro -v /home/Documents/HCprep/derivatives:/out -v /home/Documents/HCprep/work:/work -v /usr/local/freesurfer/license.txt:/opt/freesurfer/license.txt poldracklab/fmriprep /data /out participant -w /work --resource-monitor --fs-license-file /opt/freesurfer/license.txt --write-graph --use-aroma --cifti-output --output-spaces fsaverage5 T1w func  >/home/Document/sub.log
And I have two questions:

The [--output_space] parameter will only specify the functional output space, when anatomical output (e.g. xxx.pial.surf.gii, xxx.midthickness.surf.gii) will still be in native space, how could I resample these gifti file to fsaverage5 space?

And if there any recommendation for how to smoothing the functional file, I mean the raw gifti bold file(xxx.bold.func.gii) which have went through some other preprocessing steps?

Many thanks!!!

You mean you want to resample structural surfaces to fsaverage5? If so, I think this is a misunderstanding, as fsaverage5 defines a set of structural surfaces, available in the FreeSurfer subject's directory.
mri_surf2surf can be used to smooth data sampled on the surface.

You mean you want to resample structural surfaces to fsaverage5? If so, I think this is a misunderstanding, as fsaverage5 defines a set of structural surfaces, available in the FreeSurfer subject's directory.
mri_surf2surf can be used to smooth data sampled on the surface.

Hi,
Thank you so much for your responding.
I may not have made it clear before, here is the thing:
I run fmriprep to get the functional data in fsaverage5 by specifying the output-space fsaverage5, so I will get the gifti file of bold signal in fsaverage5 (i.e., xxx.bold.func.gii), and I actually can read these gifti file, thus, I will get my time series matrix in fsaverage5 space (namely, a n  * m <10242 vertex in one hemi> matrix).
After that, I can do some preprocessing on these matrix, like regress some covariates, filtering and so on, now I am facing the smoothing step, given that this step will use the coordinates information of the surface, I have to register every subjects' surface (such as midthickness) to fsaverage5(this is how my first question came from).
And as my bold signal has became a matrix, I really want to know how to perform smooth on this matrix (I don't think mri_surf2surf can do it).
Sorry for troubling you again.
With regards!

I have to register every subjects' surface (such as midthickness) to fsaverage5(this is how my first question came from).

Yes, this seems to be a misunderstanding. Subjects are registered to fsaverage during reconstruction, and this is how data is resampled to fsaverage5. To manipulate these data, use mri_surf2surf with the --srcsubject fsaverage5. To smooth using the midthickness coordinates to determine distance, use --projfrac white 0.5.
I go into this in a bit more detail here.

Thank you so much! That's really helpful!
A quick question! Is there any function to convert the bold signal matrix to a .mgh format file to perform mri_surf2surf (for the --srcsurfval tag) or any other format for this tag?
Many thanks!

All FreeSurfer tools should support Gifti natively. If it does not, then you can use mris_convert.

Got it! Thank you so much!
Bests!!!

Hi, there are some updates along my questions:
To begin with, I want clarify my goal again here: I want to resample my resting data in fsaverage5 and then do some preprocessing before statistical analysis, and I get stuck in smooth now.
So, after your suggestion, I tried the following command:
mri_surf2surf --srcsubject sub-40 --srcsurfval /home/disk2/Data/HC/HCprep/derivatives/fmriprep/sub-40/ses-1/func/sub-40_ses-1_task-rest_run-1_space-fsnative_hemi-L_bold.func.gii --trgsubject fsaverage5 --trgicoorder 5 --trgsurfval /home/disk2/Data/HC/HCprep/sub-40_smooth6_proj.mgh --hemi lh --fwhm-trg 6 --projfrac white 0.5

--srcsubject: this is the freesurfer output folder from fmriprep (in ...derivatives/freesurfer/...)

--srcsurfval: I used fmriprep --output-space fsnative to resample the resting data to subject native space. (which I'd like to get confirmed from you because I found there is a transform matrix between T1w and fsnative, and I believe T1w is in THE subject native space.)

--trgsubject/--trgicoorder: I want to resample the data to a fsaverage5 as I mentioned before

--projfrac white 0.5: I followed your advice to smooth use midthickness coordinates, but there is an error:
ERROR: cannot spec both --sval-xyz and --sval
then I tried to add these two parameters:
mri_surf2surf --srcsubject sub-40 --srcsurfval /home/disk2/Data/HC/HCprep/derivatives/fmriprep/sub-40/ses-1/func/sub-40_ses-1_task-rest_run-1_space-fsnative_hemi-L_bold.func.gii --trgsubject fsaverage5 --trgicoorder 5 --trgsurfval /home/disk2/Data/HC/HCprep/sub-40_smooth6_proj.mgh --hemi lh --fwhm-trg 6 --projfrac white 0.5 --sval-xyz white --sval /home/disk2/Data/HC/HCprep/derivatives/fmriprep/sub-40/ses-1/func/
but the error still exist:
ERROR: cannot spec both --sval-xyz and --sval
I searched a lot and cannot found any useful help with it.

I also have another question about smooth: I can also smooth my data with following command:
mri_surf2surf --srcsubject fsaverage5 --srcsurfval /home/disk2/Data/HC/HCprep/derivatives/fmriprep/sub-15/ses-1/func/sub-15_ses-1_task-rest_run-1_space-fsaverage5_hemi-L_bold.func.gii --trgsubject fsaverage5 --trgsurfval /home/disk2/Data/HC/HCprep/sub-40_smooth6_proj.mgh --hemi lh --fwhm-trg 6 --projfrac white 0.5 (--projfrac didn't work here too)
With --srcsubject fsaverage5 specified here, will every subject use the same coordinate/distance info when performing smooth? If the answer is yes, is that acceptable? And in the command I used above will every subject use their own info?
Sorry for troubling you again, Thanks a lot!
rao


[docai-uptraining] Import of pre-labelised data - No format of bucket given

Hi,
I wanted to import a pre-labelised dataset but I couldn't find the structure of the bucket I should use.
I have a bucket with a PDF and a JSON file of the same format as the one outputted by the processor. But when I try to import it, I get an error for the JSON file.
Structure of the bucket :
/bucket
    /file1.pdf
    /file1.json

Import details :
     {
        "inputGcsSource": "gs://bucket/file1.json",
        "status": {
          "code": 13,
          "message": "Internal error encountered."
        }
      }

Is there a problem with my bucket structure, the JSON, something else ?
Is there a documentation with details I can follow to make this work ?
Thanks

I understand now that only the JSON file is necessary because the image can be found in a key inside the JSON.
So, my problem is with my JSON, maybe?

The prelabeled data bucket should include JSON files in the Document.JSON format
Refer to this documentation:

https://cloud.google.com/document-ai/docs/workbench/uptrain-processor#import-prelabeled-data
https://cloud.google.com/document-ai/docs/workbench/label-documents#import-labels


Missing migrations in 0.3.4

With the newest release 0.3.4 it seems there is a missing migration which makes lots of CI fail. It'd be necessary to add a new version as soon as possible including those migrations.

Could you please generate the migrations and submit them in a pull request?
Thanks
On Tue., 26 Mar. 2019, 11:19 pm José Molina Colmenero, <
<EMAIL_ADDRESS>wrote:

With the newest release 0.3.4 it seems there is a missing migration which
makes lots of CI fail. It'd be necessary to add a new version as soon as
possible including those migrations.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/stephenmcd/django-email-extras/issues/45, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAHGoSpCx62ssDmCgWR-zMWLDgz2SIqFks5vahBlgaJpZM4cLTMF
.


Discard PopUp Overflow error

When using the close button the popup gives a bottom overflowed by 16 pixels for what looks like the cancel button.

I created pull request #11 that will fix the issue.


fl plate

add fl plate :)
FL Studio - Arturia KeyLab Mk II.pdf

Wow.. this is awesome. Thanks so much!


[Bug]: When professing to a sub class, attributes get reset

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
I'm not sure if this is intentional, but when you profess into a subclass any attributes you invested in get reset back to zero. This means any stats that were increased before upgrading your class gets put back to 0.
Expected Behavior
No response
Steps To Reproduce
Setup a subclass (contact me for this setup and I'll send my files)
When you reach the max level of your class you'll be able to do /class profess and then join the sub class.
When you join the sub class, any attributes you invested will get reset.
Environment
- Server Software: paper 1.17.1
- ProSkillAPI Version: <IP_ADDRESS>
- ProMCCore Version: <IP_ADDRESS>
- Plugins: https://i.imgur.com/JMe3ROK.jpeg

latest.log
No response
Anything else?
No response

Sub classes currently just reset all your class progress and give you a brand new class.
Would be nice if there could be a config option for if we want to reset level (and attributes), that way when professing to a new class only thing that would change is base stats of the class, stat scaling and skill tree (refund all skill points on profess too)

This issue got opened cause of me originally, did you guys manage to fix it so you retain the skills and stats/attributes?


[BUG] Error Opening URL into other apps (not browser)

Bug Description
Hi, I'm having an issue and Android where certain links that have a scheme to open in a specific app (GitHub link into the GitHub app for example) will just show "Error Opening URL". This also notably happens in the Settings of the app under "Server Settings Guide" (which I believe is a link to GitHub)
Steps to Reproduce
Steps to reproduce the behavior:

Add a GitHub link to PageKeeper
Ensure GitHub app can open supported links on Android through the settings
Click on the link through pagekeeper
See error "Error opening URL"

Expected Behavior
The link opens the related app instead of showing an error. Or at least opens in browser.
Screenshots

Device Information

Brand and Model: Google Pixel 6a
Android Version: 14
App Version: 1.2.0

Additional Context
App is great! Thanks for the work on it.

Fixed in version 1.21.1, tested on links from GitHub, YouTube, TikTok, F-droid... it opens the corresponding app.
Thanks for the feedback.


feat(fsshopify): account data source implementation

This PR implements methods for account data management in Shopify and expose a data source API

@bweissbart This looks good to me. Can we get this merged?


Added $rulesChannelID and $removeLinks.

Type

[ ] Bug Fix
[x] Functions: $rulesChannelID and $removeLinks
[ ] Callbacks: <Callback Name>
[ ] Handlers: <Handler Type>
[ ] Others: ______

Dependencies (Third Party Modules) needed: <Name | Github Link> (Maximum: 20MB~ size)
Want a credit? Discord tag or other social media link: Spen#0999
Referenced Issue: #NaN (Answer for an issue, if any)
Description
Added new function $removeLinks and $rulesChannelID.

I'm going to make a updated pr with some new stuff since this one hasnt been reviewed.


Add a encryption control character to the log lines

Background
We identified an issue with #1047 where an automated upgrade would fail as the script pod would be created by an non-pod log encryption Tentacle, but then after the upgrade the pod log encryption Tentacle would fail as it expects all pod logs to be encrypted.
Results
We have added a new e to the log lines generated by the bootstrap runner. This control character indicates the line is encrypted. An absence of this control char (or being set to p) indicates that the line is in plaintext and should not be decrypted
This PR also include minor nit changes from the review of #1047
Shortcut story: [sc-98480]
How to review this PR

Quality :heavy_check_mark:

Pre-requisites

[ ] I have read How we use GitHub Issues for help deciding when and where it's appropriate to make an issue.
[x] I have considered informing or consulting the right people, according to the ownership map.
[x] I have considered appropriate testing for my change.

I will be testing this change in https://github.com/OctopusDeploy/helm-charts/pull/343 to verify that it behaves as expected

I have validated locally that this build of Tentacle supports auto-upgrading via the Helm Chart integration tests


Importing tracks turns objects into regular Shapes

My actions before raising this issue

[x] Read/searched the docs
[x] Searched past issues

I am trying to import annotations which are tracked objects. Importing those annotations converts all tracked objects into regular objects of the same shape. I only found one issue where other people discussed that they experience the same problem after the issue was closed.
I am currently not quite sure if that feature is not intended, I am doing something wrong or there is a bug so any help is appreciated.
Steps to Reproduce (for bugs)

Create tracked objects via running cvat instance and save
Export annotations
Delete annotations and save
Import previously downloaded annotations back into the same job.

Expected Behaviour
Imported annotations are tracked objects.
Current Behaviour
Importing annotations is successful but all objects are regular objects.
I tested in in COCO, CVAT, Datumaro and Pascal VOC datatypes. After the export track_ids, bbox etc. is present in the annotations file.
Context
I want to import automatically created COCO annotations into cvat. But running into big datasets (e.g. 200 images with a few annotations per image) requires a lot of effort if for example one annotation is faulty and I want to remove it (from my understanding I would have to remove the annotation on all subsequent images if it is present). Thus I want to use tracked objects allowing me to just disable it at a certain frame to remove it from subsequent images.
Your Environment

Git hash commit (git log -1): f578e4785d1be3128863721f5b149b28cd85ee9d
Docker version docker version (e.g. Docker 17.0.05): 24.0.5 build ced0996
Operating System and version (e.g. Linux, Windows, MacOS): Ubuntu 22.04.2 LTS
cvat_sdk: 2.5.2
CVAT Server: 2.4.6

Thanks a lot for the fast reply. With CVAT for Video it works perfectly!


Basic Swift 3.0 support

Description
This PR
I wanted to try to keep the API similar to what we had before so its easier for projects to update the library, hence all of the unnamed parameters _.
We might think about switching to new swift api guidelines:https://swift.org/documentation/api-design-guidelines/
If you using the latest Swiftlin version (0.15.0+) there are a lot of extra rules that throw warnings.
Will fix those errors in another PR.
Whats left before this can be merged

[x] Import in an example project and try out

Checklist

[x] Create seperate branch for Swift 2.3 in case hotfix is needed
[] Documentation has been added or updated.
[x] All applicable classes have unit tests.
[x] This PR contains no commented out code.

Exciting. Where do you feel we're breaking the Swift API guidelines?

I haven't taken a deep look into the Swift 3.0 API guidelines, this was mostly was a memo :)

There are multiple ios simulators on travis running iOS 10.2 so had to explicitly set it to 10.1:
https://github.com/travis-ci/travis-ci/issues/7031


cgo LDFLAGS file in the wrong format

I am trying to use cgo to link go with c library. I put the lib file in the same folder with go and write #cgo LDFLAGS: -L. -llpsolve55 (i am using windows and the library i want to link is lpsolver). However, when I build the go file the error message shows as below:
github.com/draffensperger/golp
./lpsolve55.lib: error adding symbols: File in wrong format
collect2.exe: error: ld returned 1 exit status
I've already read the cgo document and some online tutorials and still cannot find solution. Thanks for the help.

We don't use the issue tracker for questions.  Please see https://golang.org/wiki/Questions .  Thanks.
  It looks like lpsolve55.lib is not in the format expected by the C linker you are using.  Perhaps lpsolve55.lib is a MSVC file and you are using GCC to link.


I would like a mentor

Question: Have you read the mentoring guide? Please only submit this request for general mentoring (not GSoC).
Answer: Yes I have read the mentoring guide.
What is your background? Any experience with Go, Kubernetes, React, Typescript, etc.?
Answer:  We are experimenting with argo in our organization and found it awesome. I have experience working with Go, React and Kubernetes.
Is there any particular issue you'd like to work on? You may want to check out the list of good first issues.
Answer: I have gone through the open issues and I found #6535 #6529 would be great issues to get started.
Do you want to work with your mentor async (i.e. by Slack messaging or issue comments), or sync (e.g. using Zoom video)? Please include your time-zone if you want to work sync.
Answer: I can communicate with my mentor in async and I am located in IST timezone.

Feel free to start working on it and let us know if you have any questions.


Fix link to Java transaction code sample

Fixes #1442

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/d650213da33dea3b8d292d02255bb37f7007401b/


Fix window resize jitter with Metal

use CAMetalLayer.presentsWithTransaction = YES; and manually trigger [CAMetalDrawable present] while wrapping it into a CATransaction when drawing from a non-UI thread
Create a separate contentless layer as a backing layer for AvnView and let AppKit and CoreAnimation do their thing with it.  CAMetalLayer is now added as a sublayer and is manually updated to proper size inside of a separate CATransaction with disabled animations.

Note that this needs extensive testing on multiple machines first (both Mx and Intel with and without dedicated GPU), unless it can be done quickly we should switch back to OpenGL as our default renderer).
Tested platforms:

[x] M3 Max (MBP 2023) Sonoma
[x] Intel + Radeon Pro 555 (MBP 2017) Ventura

Still need to test on Intel without dedicated GPU.

I tested Intel Core i9 + AMD Radeon Pro 5500M, macOS Sonoma 14.7 on this PR (cibuild 11.3.999-cibuild0052991-alpha), but unfortunately I'm still getting the Jitter. See attached video:
https://github.com/user-attachments/assets/499dce90-1f44-4552-9cd8-022205d188f3
Should I enable or config something?

@danipen I think we'll need a repro

In 11.2.0 we're able to reproduce using the default application template:
<Window xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
        x:Class="AvaloniaResizeIssue.MainWindow"
        Title="AvaloniaResizeIssue">
    Welcome to Avalonia!
</Window>

https://github.com/user-attachments/assets/c6612d32-f848-48c2-b430-636deb4c9ec3
I'm trying this PR now ... I'll post here if I'm able to reproduce too.

Yes, same with nugets from this PR.
https://github.com/user-attachments/assets/1511ee54-1825-4d90-9dcd-b82f897d89e2

@danipen can you double check that .NET sdk didn't use any cached nugets? Or if built wasn't found and it fallback to another.
Sandbox before this PR:
https://github.com/user-attachments/assets/56520d96-18bd-4b5f-897a-bff8e312a787
Sandbox on this PR:
https://github.com/user-attachments/assets/6f8afa3d-90f8-4dcf-be17-b329a9a4c363

Yes, it seems that build 11.3.999-cibuild0052991-alpha is not available and it was falling back to 11.3.999-cibuild0052993. I tried 11.3.999-cibuild0052981-alpha and it works as expected. Sorry for the noise.
Just for the record, I'm getting the following error in the console:


Wrong types

Some entries in our yaml file have type "Python" or "Big Data". We should update those and make our list of different types as short as possible. As a first step, we can adapt the notebook https://github.com/NFDI4BIOIMAGE/training/blob/main/notebooks/tag_statistics.ipynb so that it also shows "type" statistics instead of just "tag" statistics. We would then have an overview of existing types and can decide which should stay and which not. The new notebook should be called "type_statistics.ipynb".
git-bob try to do this

I had to rewrite the notebook linked above.
I propose to update all those types:

Videos -> Video
Publiction -> publication
Slide -> Slides
Online Tutorial -> Tutorial
Online Course -> Tutorial
Practicals -> Tutorial
Report -> Document
Presentation -> Slides

And I propose to remove those types:

Big Data
Python
Bioimage Analysis

git-bob try to implement a new notebook that opens the "resources/nfdi4bioimage.yml" (do NOT modify this file yourself) and update it implementing the proposals above. The yml file contains data like this but much longer:
resources:
- authors:
  - Elisabeth Kugler
  name: 'Sharing Your Poster on Figshare: A Community Guide to How-To and Why'
  tags:
  - Sharing
  - Research Data Management
  type:
  - Blog
  url: https://focalplane.biologists.com/2023/07/26/sharing-your-poster-on-figshare/
- authors:
  - Marcelo Zoccoler
  license: CC-BY-4.0
  name: Running Deep-Learning Scripts in the BiA-PoL Omero Server
  tags:
  - Python
  - Artificial Intelligence
  - Bioimage Analysis
  type:
  - Blog
  url: https://biapol.github.io/blog/marcelo_zoccoler/omero_scripts/readme.html
- authors:
  - Robert Haase
  license: CC-BY-4.0
  name: Browsing the Open Microscopy Image Data Resource with Python
  tags:
  - Omero
  - Python
  type:
  - Blog
  url: https://biapol.github.io/blog/robert_haase/browsing_idr/readme.html

Again, we need python code in a jupyter notebook that updates and removes type entries in our yml file as explained above.


Can't remove position fixed from tsparticles-slim on next.js

Contact Details
No response
What do you need?
Hello,
So I am using next.js, I am new to React in general, I had a particles library working on my html website, but now I am using particles.ts i am seemingly unable to style it. I have tried a few things to no avail.

I am calling the component inside the main of my homepage:

I had tried to add in options as i saw changing fullScreen can help, but it did not.
"use client";
import { useCallback } from "react";
import Particles from "react-particles";
import { loadSlim } from "tsparticles-slim";
const ParticlesComp = () => {
    const particlesInit = useCallback(async (engine) => {
        console.log(engine);
        // you can initiate the tsParticles instance (engine) here, adding custom shapes or presets
        // this loads the tsparticles package bundle, it's the easiest method for getting everything ready
        // starting from v2 you can add only the features you need reducing the bundle size
        //await loadFull(engine);
        await loadSlim(engine);
    }, []);
    const particlesLoaded = useCallback(async (container) => {
        await console.log(container);
    }, []);
    return (
        <Particles
            id="tsparticles"
            className="h-full w-full relative z-10"
            url="/particles.json"
            init={particlesInit}
            loaded={particlesLoaded}
            options={
                {
                    fullScreen: {
                        enable: true,
                        zIndex: -1
                    }
                }
            }
        />
    );
};

export default ParticlesComp;

I also tried some CSS but that didn't work either:
#tsparticles canvas {
    position: absolute !important;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    padding: 0;
    margin: 0;
    z-index: 0; /* if you use -1 you have to set to `"window"` the interactivity.detectsOn property */
}

Finally I couldn't see anything in my .json file.
Any suggestions greatly appreciated! I want it to act similar to here: https://www.decisive-development.com/
However on my new website i want it to cover the whole background and move with the page, rather than being fixed when scrolling
tsParticles Version
unsure
Code of Conduct

[X] I agree to follow this project's Code of Conduct

https://www.reddit.com/r/tsParticles/comments/w8luvb/why_my_particles_are_full_screen_i_want_them_to/


Set source roots when multiple packages specified

Poetry itself supports nonstandard project setups where potentially multiple packages are included in one distribution: https://python-poetry.org/docs/pyproject/#packages. Maybe this plugin can use that information to automatically set up sources roots.

@ckchow
Thank you for creating this issue.
I think the feature is for distributing packages.
But, Did you want to use it to set source roots?
It's a great idea :rocket:
I will implement it for 1.0 or later.


Quit menu option causes Close

Keybase GUI Version: 1.0.44-20180223200436+9a9ccec79
To reproduce:

Install and launch keybase.
Without logging in, select menu option File, Quit.

Expected:
3. Application quits.
Actual:
3. Application closes and is still available from the tray.
System:
Debian stretch under Qubes OS 4

@svenssonaxel Does this happen when logged in? For macOS this is actually the expected behavior (i.e. the application continues to run in the background but the foreground windows are closed).

This happens for me too on Windows.
Whether desired or not, it is incorrect behavior. File->Quit should cause the program to completely exit.


Why not use Dominate?

Hello!The team of Sharingan.
I am a team leader of Gejing-cup(I know you too).
I know you want to know how to make report by html and python.
I can help you.
In pypi,I know a great open-source project----Dominate
pip install dominate
How to use it?
My project is finish,so I think sometimes I can help you.
Please donot write it by yourself.It's difficult and not best way.
Need some help?Please contact me at wechat:guangtoulao20070125(laugh)
However,I am a middle school student,I often have lesson.So maybe reply you late.
I want to make friends for you.Because I am a bad programmer.
Can you use my advice?I can help you!
And I think I can give you a beautiful template by some frame.
Thank you,my bro!
@aoii103

👍 thank you so much for your great suggestion
but the thing is i’ve alreay got a choice before~pdf_reports
and dont worry, i'm gonna try this what if my plan was failed


is returns true when inner class names match.

Godot version:

3.1 stable
OS/device including version:

Mac OS Sierra 10.12.6
Issue description:

The is function is returning true when an instance has an Inner Class name that matches what it is being compared to even if the Outer Class names do not match.
Steps to reproduce:
The following script will print "I think we have a bug here."
extends SceneTree

class HasInnerClass1:
	class InnerClass:
		var a = 1

class HasInnerClass2:
	class InnerClass:
		var a = 2

func _init():
	var inner_of_hasInnerClass1 = HasInnerClass1.InnerClass.new()
	if(inner_of_hasInnerClass1 is HasInnerClass2.InnerClass):
		print('I think we have a bug here.')
	else:
		print('Everything checks out.')

	quit()

Minimal reproduction project:

See script in Steps to Reproduce

The bug is even cooler. The inner classes are actually the same:
class HasInnerClass1:
	class InnerClass:
		var a = 1
class HasInnerClass2:
	class InnerClass:
		var a = 2
func test():
    print(HasInnerClass1.InnerClass, HasInnerClass2.InnerClass) # [GDScript:1162][GDScript:1162]
    print(HasInnerClass1.InnerClass.new().a) # 2


Telegram reports: pandas is not installed

I installed gramaddict with pip3 install gramaddict and then pip3 install gramaddict[telegram-reports]. I configured the telegram.yml file correctly. After the session is done I get: ERROR | You can't use telegram-reports withtout installing pandas. Type that in console: 'pip3 install gramaddict[telegram-reports]
Typing pip3 show pandas yields version 1.2.4
Environment:

GramAddict version: 3.1.5
Device Model: SM_A310F
Android Version: 5
Instagram Version: <IP_ADDRESS>.117

python3 -c 'import pandas' write that in the console and report the error it gives

From the Numpy docs I found I had to type this command:
sudo apt-get install libatlas-base-dev

Issue can be closed. Maybe add this to the setup guide


Missing/Incorrect Host header causes servers with SNI to not work

When using ghostunnel in client mode, with the listener on my localhost, The GET requests which have an incorrect host header does not qualify for a correct GET request for the server and thus responding with an unknown server.
Ghostunnel Run:
$ ./ghostunnel client --listen localhost:9999 --target www.reddit.com:443 --disable-authentication
[33791] 2018/07/21 03:20:01.247935 starting ghostunnel in client mode
[33791] 2018/07/21 03:20:03.564880 using target address www.reddit.com:443
[33791] 2018/07/21 03:20:03.718785 listening for connections on localhost:9999
[33791] 2018/07/21 03:20:19.564512 opening pipe: tcp:<IP_ADDRESS>:54017 <-> tcp:<IP_ADDRESS>:443
[33791] 2018/07/21 03:20:19.658300 closed pipe: tcp:<IP_ADDRESS>:54017 <-> tcp:<IP_ADDRESS>:443
[33791] 2018/07/21 03:20:19.658310 error: readfrom tcp <IP_ADDRESS>:9999-><IP_ADDRESS>:54017: read tcp <IP_ADDRESS>:54019-><IP_ADDRESS>:443: use of closed network connection
[33791] 2018/07/21 03:20:35.707498 opening pipe: tcp:<IP_ADDRESS>:54021 <-> tcp:<IP_ADDRESS>:443
[33791] 2018/07/21 03:20:36.779824 error: readfrom tcp <IP_ADDRESS>:9999-><IP_ADDRESS>:54021: read tcp <IP_ADDRESS>:54022-><IP_ADDRESS>:443: use of closed network connection
[33791] 2018/07/21 03:20:36.779875 closed pipe: tcp:<IP_ADDRESS>:54021 <-> tcp:<IP_ADDRESS>:443

Curl request without host header
$ curl  -I http://localhost:9999
HTTP/1.1 500 Domain Not Found
Server: Varnish
Retry-After: 0
content-type: text/html
Cache-Control: private, no-cache
connection: keep-alive
X-Served-By: cache-sin18020-SIN
Content-Length: 239
Accept-Ranges: bytes
Date: Fri, 20 Jul 2018 21:50:19 GMT
Via: 1.1 varnish
Connection: keep-alive

Curl request with correct host header
$ curl  -I http://localhost:9999 -H "Host: www.reddit.com"
HTTP/1.1 429 Too Many Requests
Content-Type: text/html; charset=UTF-8
Content-Length: 1064
x-ua-compatible: IE=edge
retry-after: 4
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
set-cookie: loid=00000000001ticaj40.2.1532123436599.Z0FBQUFBQmJVbGtzRFpkRjdjaUJRN2hrTFdQMUg5cGxETEtLWmRULV9DU04ydFI4Q1c2c21TQ0x2WFpKbUNBMnNMQWMzSy13TmtCd1VvM3h2NjQ5VFBhR010b0lWV0VyN3hfSkZ5NXFjWnlXaTVtR29YVGtDZWRSZ0pBRU1iYkkxZlhhRjdEUG5jMlA; Domain=reddit.com; Max-Age=63071999; Path=/; expires=Sun, 19-Jul-2020 21:50:36 GMT; secure
set-cookie: session_tracker=xW4srEaStXvtU1gSKj.0.1532123436595.Z0FBQUFBQmJVbGtzRnpJS1FPZVR2NXFxcmN5eEhSS1hsWmY4Yzk5cEIxTWhKX1FKOVRsRE9TNXNhTXcwOGtSWm4xWWRiTHF3dFdYeFdtRzZfME1DR0F5MDd2NzZWS1pXV2lJSWR6RHZrdjM2SkhYUC1MYUQyZ1N4akZHN1N0VmFSQ2dxUGhpTjl5VUE; Domain=reddit.com; Max-Age=7199; Path=/; expires=Fri, 20-Jul-2018 23:50:36 GMT; secure
cache-control: max-age=0, must-revalidate
X-Moose: majestic
Accept-Ranges: bytes
Date: Fri, 20 Jul 2018 21:50:36 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-sin18027-SIN
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1532123436.723003,VS0,VE1003
Vary: accept-encoding
Set-Cookie: edgebucket=NXyfd0AZHpO55jRLOx; Domain=reddit.com; Max-Age=63071999; Path=/;  secure
Server: snooserv

btw: even reddit.com sends 301 redirects to www.reddit.com

Ghostunnel is a TLS proxy.  It does not know anything about HTTP, etc.
If the server requires a Host header, you will have to make your curl or other client provide it.


mbedtls-2.0.0/library/ssl_tls.c:6827: possible missing break in switch ?

mbedtls-2.0.0/library/ssl_tls.c:6827]: (warning) Variable 'min_major_ver' is reassigned a value before the old one has been used. 'break;' missing?

Thanks! Just curious, which compiler (version, used flags) or other tool gave you this warning? We'll probably want to add it to our collection :)

A static analysis tool called cppcheck, available from sourceforge.

Thanks!


Add some more components or features in planets activity

Sir I go through planets activity and it consist of 8 planets with there details, I was thinking to add more thing in that like some galaxies , moon or some stars with there details . If you like this idea then I can work on this.

Moon has already a dedicated activity (Moon activity).
Stars and galaxies could already be explored in the Constellation activity.

Okay sir , actually I haven't explored that activities yet.


IntelPyTorch_TorchCCL_Multinode_Training testing DLRM with aikit docker pytorch env saw Segment Fault

Summary
Saw segment fault when testing AIKit docker.io/intel/oneapi-aikit:latest with DLRM training
Can any one give some insight? Is there any one we can approach internally?
Version
DLRM training is runnable with

g++8.4
torch 1.5.0a0+b58f89b tags/v1.5.0-rc3
intel-extension-for-pytorch  0.1  checkout tags/v0.2
oneCCL 2021.1-beta07-1
torch_ccl 1.0 2021.1-beta07-1

DLRM will be Failed (segment fault) with
docker.io/intel/oneapi-aikit:latest pytorch env
versions are

g++ 7.5
torch 1.8.0a0+37c1f4a
intel-extension-for-pytorch 1.8.0
oneccl 2021.4
torch_ccl 1.1.0+064d9eb

Environment
docker.io/intel/oneapi-aikit:latest pytorch env
Reproduce
https://github.com/mlperf/training_results_v0.7/tree/master/Intel/benchmarks/dlrm/1-node-4s-cpx-pytorch
Observed behavior

Core dump file
core_dump.zip

@jingxu10
Could you address it?

This is out of date. Please try DLRM in Intel AI model zoo at https://github.com/IntelAI/models/tree/pytorch-r1.10-models/quickstart/recommendation/pytorch/dlrm/training/cpu

@xuechendi
please follow the feedback from jing and try on below link?
https://github.com/IntelAI/models/tree/master/quickstart/recommendation/pytorch/dlrm/training/cpu
In the meantime, you might need to setup env following on the README in below link instead. MLperf might requires some additional packages or specific version of packages.
https://github.com/mlperf/training_results_v0.7/tree/master/Intel/benchmarks/dlrm/1-node-4s-cpx-pytorch


Error "PERMISSION_DENIED AnonymousUser" on plugin startup

Hello,
Since a few days, the Tiko plugin that was working great since I installed it, started to show the following errors:
[24/02/2024 20:33:33] Homebridge v1.7.0 (HAP v0.11.1) (Tiko) is running on port 44525.
UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "#<TikoApiError>".
[24/02/2024 20:33:34] [Tiko] Child bridge process ended

I was wondering if the recent slight Tiko application updates could be related to that behavior and if other users had such kind of issues. A possible API change ?
Kind regards

Hi @bollee23, I've published a new version (1.1.1) that will improve the logging of that error and give you more information, but it seems indeed related to an API change as the API now require a cookie in addition to the Authorization header. I'll see what I can do.

Hi @clemlatz , thanks for your feedback and updated plugin. Now I can see that the initialization sequence ends with a permission error. I checked that I was still able to connect to my tiko dashboard.
Here is the log (just anonymized username & account email login):
[25/02/2024 08:36:44] [Tiko] Launched child bridge with PID 1609610 [25/02/2024 08:36:45] [Tiko] Loaded homebridge-tiko v1.1.1 child bridge successfully [25/02/2024 08:36:45] [Tiko] Finished initializing platform: Tiko [25/02/2024 08:36:45] [Tiko] Loading accessory from cache: Entrée [25/02/2024 08:36:45] [Tiko] Loading accessory from cache: Salon [25/02/2024 08:36:45] [Tiko] Loading accessory from cache: Cuisine [25/02/2024 08:36:45] [Tiko] Loading accessory from cache: Chambre 1 [25/02/2024 08:36:45] [Tiko] Loading accessory from cache: Chambre 2 [25/02/2024 08:36:45] Publishing bridge accessory (name: Tiko, publishInfo: {   username: 'xx:xx:xx:xx:xx:xx',   port: 44525,   pincode: '***-**-***',   category: 2,   bind: undefined,   mdns: undefined,   addIdentifyingMaterial: true,   advertiser: undefined }). [25/02/2024 08:36:45] [Tiko] Executed didFinishLaunching callback [25/02/2024 08:36:46] [Tiko] Successfully logged in with account<EMAIL_ADDRESS>[25/02/2024 08:36:46] [Tiko] An error occurred while trying to get rooms: Vous n’avez pas la permission d’effectuer cette action. Server: PERMISSION_DENIED AnonymousUser
I did not change anything in the plugin settings.
Thanks !

I forgot to mention that the plugin doesn't terminate/crash now (like it did in my first post), but accessories temperature values doesn't seem to be updated.

This is intended as patch improved logging but I dit not try to fix the bug yet 🙂
Merci for the additional informations. I was able to reproduce the bug and can confirm that this is related to a missing cookie. Unfortunately, the Apollo GraphQL client I'm using doesn't seem to handle cookies. I'll try to use another client instead.

Hey @bollee23, I've just published a patch that should fix this issue. Can you give version 1.1.2 a try and confirm it?


Adding Rust Support

What
Adds support for the rust programming language
Checklist

[ ] Recorded tests for the new language
[ ] Used "change" / "clear" instead of "take" for selection tests to make recorded tests easier to read
[ ] Added a few specific tests that use "chuck" instead of "change" to test removal behaviour when it's interesting, especially:

[ ] "chuck arg" with single argument in list
[ ] "chuck arg" with multiple arguments in list
[ ] "chuck item" with single argument in list
[ ] "chuck item" with multiple arguments in list

[ ] Added a test for "change round" inside a string, eg "hello (there)"
[ ] Supported "type" both for type annotations (eg foo: string) and declarations (eg interface Foo {}) (and added tests for this behaviour 😊)
[ ] Supported "item" both for map pairs and list entries (with tests of course)

@pokey think this PR is in a pretty good spot now.

@pokey
Hi, I wanted to continue the work on this. I’ve  done a rebase and tried to run this, but the instructions aren’t clear to me. This is what I see when I try to run the extension.

Hi @purpleP great to hear you are interested in picking it back up!
It's a bit tough to tell what's happening in your video, but you will probably want to run step 3 from https://www.cursorless.org/docs/contributing/#steps if you haven't already

Hi @purpleP great to hear you are interested in picking it back up!
It's a bit tough to tell what's happening in your video, but you will probably want to run step 3 from https://www.cursorless.org/docs/contributing/#steps if you haven't already

Oh, yeah. I forgot to say that it gives me error about fs/promises not being installed.

Strange. Does that also happen on main?

Strange. Does that also happen on main?

Yep.

Huh. Maybe remove your node_modules and repeat the incantation I linked above?

fs/promises was added in Node 14. Any particular reason for using an EOL version of Node?

fs/promises was added in Node 14. Any particular reason for using an EOL version of Node?

Thanks, updating to 16 LTS helped.

@pokey
I’m trying to test this and its seems to partially work. But It doesn’t recognise self parameter.
I think there’s a lack of documentation on how to create matchers.
Are you using tresitter queries or you’re using some kind of custom DSL?

@pokey  How do I match a function call.
Right now cursorless select the whole call_expression node and I want it to select field_identifier with all arguments.

That's actually considered correct behaviour for cursorless "call" scope type. I believe what you're after is https://github.com/cursorless-dev/cursorless/issues/707. That should probably happen as a separate PR so that we can introduce it in a few languages for consistency

What should I do with type constructors and type arguments? I think the should work the same way functions and function arguments work.

What should I do with type constructors and type arguments? I think they should work the same way functions and function arguments work.

I think it's fine to support "arg" for those type arguments. But I wouldn't support "type" for them. That's just for the top-level one (green in your annotations). Be sure to clean up that arrow on "chuck" if you're not already

Also what should I do when I want to delete things like mut modifier? Removing just the token leaves trailing space.

Sorry not sure I'm following. Is this for "type", "arg", or something else?

Sorry not sure I'm following. Is this for "type", "arg", or something else?

I’m talking about fn f(&**mut** self

my 2c: in param: &mut Param, the type is &mut Param, and the argument is param: &mut Param. I'm not sure how you would select the type without modifiers though (i.e. Param) 🤔

either way, rustfmt will clean up any lingering whitespace, right? probably not a huge problem for deleting mut in a borrow type

Re modifiers, a few thoughts:

I agree that modifiers should be considered part of the type, so eg
fn f(&mut self, param: &mut Param)
  // ^--^              ^--------^

And the removal range should include the trailing space or the leading colon, so for example:
fn f(&mut self, param: &mut Param)
  // ^---^           ^----------^

This should be accomplished by using a trailing delimiter of   on &mut and a leading delimiter of :  on &mut Param

When referring to mut as a token, today it won't clean up whitespace because it's a bit conservative about merging tokens, but we are considering changing it so that it will remove spaces if it detects that it won't merge tokens. Either way that is probably independent of rust support

It might be worth adding a new scope type called "modifier" that can be used to refer to something like mut. Alternately we maybe we could repurpose "attribute"

Finished in #775


"Smart prompts": custom / LLM generated prompts

We are using a hard-coded list of canned prompts today in the deck view, but this could easily be expanded to include smart selection and LLM generation of prompts.
We should design and prototype an MVP for a service that can generate "smart prompts"

web server
authorization
$$$ cost


[feature request] AWS support

Without the feature described in https://github.com/zeit/next.js/issues/5782, Next is by default broken in default instances of AWS S3/CloudFront.
This is what happens by default, because S3/CloudFront does not serve index files for any path other than / root, and fixing it is not easy (can involve reaching out to other departments and involve accessing and managing roles and permissions in AWS before finally being able to apply a fix):

I'm starting to feel like you don't care about the problem your user's have.
Even if I didn't follow the template, the problem and the need are both completely clear.

@timneutkens By the way, on mobile there's no issue templates. Maybe it's not worth being so strict about it.

This is flat out not true, but you're creating issues without providing enough context which makes them close to impossible to act on, especially when not following the issue template. I've asked on quite a few other issues you created to follow the issue template for this reason.
Regarding serving index.html, this is supported in pretty much all webservers (nginx, apache etc)

but you're creating issues without providing enough context

I can understand if I did that before, but in this case I believe there's enough context.

this is supported in pretty much all webservers (nginx, apache etc)

Its no-good the AWS S3/CloudFront server doesn't have simple config options for serving index files like the other common servers, and requires users to add code via the AWS web UI in order to implement it, but it is what it is and many people use AWS.
Its worth supporting hash-based routing for those cases where people don't have index serving.

Recently, I ran into this issue as well, and found somewhat simpler workarounds by searching in Google:

https://stackoverflow.com/questions/50770157/s3-static-hosting-path-without-index-html

If you set S3 bucket for static website hosting, this will enables S3 itself to be able to route any sub-directories under the root automatically.
The only action you need to do is to turn on the static website hosting option in S3 and put index.html in the field called index document.
That way, you will get an endpoint formed like this: example-bucket.s3-website-region.amazonaws.com.
For example: When navigating to example.com/path-name, you will be routed to example.com/path-name/index.html.
You can also set next's 404.html for 404 - not found page by setting the error document field.
Only downside of this method is that you cannot use HTTPS protocol to serve your website due to the limitation of S3.
After all, you can get around this with CloudFront (see the link above).
I don't see any issues that could happen using this approach, it just worked for me.


Implement the docker-entrypoint-initdb.d feature from MySql & Mariadb

The /usr/local/lib/startup.sh feature is useful but does not enable additional SQL commands to be executed during the initialisation of the cluster, for example to create additional databases or users.
The latest MySql and MarianDb Docker images both look for additional configuration scripts of various types in the docker-entrypoint-initdb.d folder. For example, the contents of any *.sql files are appended to the list of SQL commands to be executed during initialisation.
If this feature was copied, it would enable a wide variety of additional configuration customisations.

It looks like they've made quite a few improvements. I'm not sure if these all translate 100% to Galera such as starting the server only on a Unix socket without some modifications (e.g. Galera would probably need to be explicitly disabled in via command line option to run scripts then shut down again). I'm open to merging any improvements you want to contribute but I probably won't be making any significant changes myself any time soon as time just does not permit currently. Thanks!

I've added a pull request that adds this feature to start.sh.


make make check-then-generate the default

When building release candidates, make build-cross still calls make generate which causes the binaries to be in a dirty state. make check-then-generate should be the default.
closes #211

@bacongobbler,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

This would be a great cherry pick candidate for v0.7.0 since it'll fix the official release binaries, so I'm slating it for rc2.