Falco won't start on 0.36 - /sys/devices/system/cpu/cpu8/online: No such file or directory

Describe the bug
Since upgrading to 0.36 today - Falco won't start with the following:
/sys/devices/system/cpu/cpu8/online: No such file or directory
How to reproduce it
Upgrade to release 0.36 from 0.35
Expected behaviour
Falco starts
Screenshots
N/A
Environment

Falco version:
0.36
System info:

Cloud provider or hardware configuration: ESXi VM
OS: Ubuntu 20.04.6

Kernel:  5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Installation method: Helm/K3s

Additional context

Hi! Thanks for reporting this issue.
Which driver are you using?

Can you share number of cpus of your node? By running nproc for example.

Also, mind to share full Falco output? Thank you!

That error came from a node with 8 cores (vcores).
Log looks like this:
2023-09-26T20:26:55+01:00	Tue Sep 26 19:26:55 2023: Falco version: 0.36.0 (x86_64)
2023-09-26T20:26:55+01:00	Tue Sep 26 19:26:55 2023: Falco initialized with configuration file: /etc/falco/falco.yaml
2023-09-26T20:26:55+01:00	Tue Sep 26 19:26:55 2023: Loading rules from file /etc/falco/falco_rules.yaml
2023-09-26T20:26:55+01:00	Tue Sep 26 19:26:55 2023: Loading rules from file /etc/falco/falco-incubating_rules.yaml
2023-09-26T20:26:55+01:00	Tue Sep 26 19:26:55 2023: Loading rules from file /etc/falco/falco-sandbox_rules.yaml
2023-09-26T20:26:55+01:00	Tue Sep 26 19:26:55 2023: Loading rules from file /etc/falco/rules.d/rules-custom.yaml
2023-09-26T20:26:55+01:00	Tue Sep 26 19:26:55 2023: The chosen syscall buffer dimension is: 8388608 bytes (8 MBs)
2023-09-26T20:26:55+01:00	Tue Sep 26 19:26:55 2023: gRPC server threadiness equals to 8
2023-09-26T20:26:55+01:00	Tue Sep 26 19:26:55 2023: Starting health webserver with threadiness 8, listening on port 8765
2023-09-26T20:26:55+01:00	Tue Sep 26 19:26:55 2023: Loaded event sources: syscall
2023-09-26T20:26:55+01:00	Tue Sep 26 19:26:55 2023: Enabled event sources: syscall
2023-09-26T20:26:55+01:00	Tue Sep 26 19:26:55 2023: Opening 'syscall' source with BPF probe. BPF probe path: /root/.falco/falco-bpf.o
2023-09-26T20:26:55+01:00	Tue Sep 26 19:26:55 2023: Starting gRPC server at unix:///run/falco/falco.sock
2023-09-26T20:27:02+01:00	Tue Sep 26 19:27:02 2023: An error occurred in an event source, forcing termination...
2023-09-26T20:27:02+01:00	Tue Sep 26 19:27:02 2023: Shutting down gRPC server. Waiting until external connections are closed by clients
2023-09-26T20:27:02+01:00	Tue Sep 26 19:27:02 2023: Waiting for the gRPC threads to complete
2023-09-26T20:27:02+01:00	Tue Sep 26 19:27:02 2023: Draining all the remaining gRPC events
2023-09-26T20:27:02+01:00	Tue Sep 26 19:27:02 2023: Shutting down gRPC server complete
2023-09-26T20:27:02+01:00	Events detected: 0
2023-09-26T20:27:02+01:00	Rule counts by severity:
2023-09-26T20:27:02+01:00	Triggered rules by rule name:
2023-09-26T20:27:02+01:00	Error: can't open /sys/devices/system/cpu/cpu8/online: No such file or directory

Thanks! Can you also share output of ls /sys/devices/system/cpu/cpu*, and cat /sys/devices/system/cpu/possible?
I mean, if the node has 8 cores, we should go from 0 to 7; moreover, the code has not been touched between Falco 0.35 and 0.36.

 > ls /sys/devices/system/cpu/cpu*
/sys/devices/system/cpu/cpu0:
cache  crash_notes  crash_notes_size  driver  firmware_node  hotplug  node0  power  subsystem  topology  uevent

/sys/devices/system/cpu/cpu1:
cache  crash_notes  crash_notes_size  driver  firmware_node  hotplug  node0  online  power  subsystem  topology  uevent

/sys/devices/system/cpu/cpu2:
cache  crash_notes  crash_notes_size  driver  firmware_node  hotplug  node0  online  power  subsystem  topology  uevent

/sys/devices/system/cpu/cpu3:
cache  crash_notes  crash_notes_size  driver  firmware_node  hotplug  node0  online  power  subsystem  topology  uevent

/sys/devices/system/cpu/cpu4:
cache  crash_notes  crash_notes_size  driver  firmware_node  hotplug  node0  online  power  subsystem  topology  uevent

/sys/devices/system/cpu/cpu5:
cache  crash_notes  crash_notes_size  driver  firmware_node  hotplug  node0  online  power  subsystem  topology  uevent

/sys/devices/system/cpu/cpu6:
cache  crash_notes  crash_notes_size  driver  firmware_node  hotplug  node0  online  power  subsystem  topology  uevent

/sys/devices/system/cpu/cpu7:
cache  crash_notes  crash_notes_size  driver  firmware_node  hotplug  node0  online  power  subsystem  topology  uevent

/sys/devices/system/cpu/cpufreq:

/sys/devices/system/cpu/cpuidle:
current_driver  current_governor_ro

> cat /sys/devices/system/cpu/possible
0-127

It's a virtual machine with CPU hotplug enabled, could that have something to do with the possible value being at 127?

It's a virtual machine with CPU hotplug enabled, could that have something to do with the possible value being at 127?

Yep, that is a really weird value (i mean 0-127). Did anything change in between Falco 0.35 and Falco 0.36 deployments?

Nothing I'm aware of, Falco is just kept up to date via Flux and as soon as the update was installed yesterday it went into the crash loop.
I had to change some values of the helm release to account for the rules files breaking changes but no other changes were made.
Since then it won't start - can try to roll back

can try to roll back

That would be great, thank you! If, in the same env, Falco 0.35 worked fine, we got a real bug :)

Btw here is the blame: https://github.com/falcosecurity/libs/blame/762c23b98bd5bcdc5d680939d5b44cc2d92fb850/userspace/libscap/engine/bpf/scap_bpf.c#L1543
As you can see, the code hasn't been touched for months now.

Rolled back to chart version 3.6.2 and everything is running happily...

Very interesting, since the code is the same in both versions!
Can you share cat /sys/devices/system/cpu/possible once again?

Also, are you still using eBPF now?

Okay, my previous output was from the node, not the container...
Possible is the same in the working deployment.
And yes, eBPF still.
I tried using the legacy driver loader and it's still not happy.

I don't understand, so the real issue is:

2023-09-26T20:36:20+01:00	libpman: ring buffer map type is not supported (errno: 22 | message: Invalid argument)
?

I don't understand, so the real issue is:

2023-09-26T20:36:20+01:00	libpman: ring buffer map type is not supported (errno: 22 | message: Invalid argument)
?

Yes, when using modern eBPF
When using old eBPF, the error is
Error: can't open /sys/devices/system/cpu/cpu8/online: No such file or directory

So, 0.35.1 was working fine, while 0.36.0 is broken.
Can you share:
getconf _NPROCESSORS_ONLN
getconf _NPROCESSORS_CONF

outputs on the node where Falco is running?

It's a virtual machine with CPU hotplug enabled, could that have something to do with the possible value being at 127?

I think so; it seems like a way for the vm to allow increasing number of online cpus (ie: CPUs made available to the vm) without the need to reboot. I think Falco is not able to correctly manage this situation at the moment.
Fact is, i don't get how could Falco 0.35.1 work in the very same situation.

🤯
At least if it didn't work in the previous version I'd suspect something else, kernel upgrade for example.
It doesn't help that this seems to work in previous version and not this one.
Let me know what else I could try.

It doesn't help that this seems to work in previous version and not this one.

Exactly, that's so weird.
Last thing: can you share a cat /sys/devices/system/cpu/possible from within the 0.35.1 Falco pod too?

The patch is ready: https://github.com/falcosecurity/libs/pull/1373
Still, i'd love to understand what's going on here :D

It's the same - cat /sys/devices/system/cpu/possible is 0-127 🤯

Got a build/image I can try?

I'll let Falco CI build one for us :) stay tuned! I will share it once the build is done!
Also, thank you very much for your testings!

Here they are: https://github.com/falcosecurity/falco/actions/runs/6339902118; scroll down and you'll find the tar.gz ready to be used!

No container? 😥
I'll try to work around it later.

No container? 😥

Unfortunately not; for that, we would need to merge the libs PR and then merge the libs bump PR in Falco :( But i would love to test the fix before merging it in libs, and there we need your help ahah
Thank you very much!

I think this is good:
Sat Sep 30 20:30:35 2023: Falco version: 0.37.0-48+31d6232 (x86_64)
Sat Sep 30 20:30:35 2023: Falco initialized with configuration file: /etc/falco/falco.yaml
Sat Sep 30 20:30:35 2023: Loading rules from file /etc/falco/falco_rules.yaml
Sat Sep 30 20:30:35 2023: Loading rules from file /etc/falco/falco-incubating_rules.yaml
Sat Sep 30 20:30:36 2023: Loading rules from file /etc/falco/falco-sandbox_rules.yaml
Sat Sep 30 20:30:36 2023: Loading rules from file /etc/falco/rules.d/rules-custom.yaml
Sat Sep 30 20:30:36 2023: The chosen syscall buffer dimension is: 8388608 bytes (8 MBs)
Sat Sep 30 20:30:36 2023: gRPC server threadiness equals to 8
Sat Sep 30 20:30:36 2023: Starting health webserver with threadiness 8, listening on port 8765
Sat Sep 30 20:30:36 2023: Loaded event sources: syscall
Sat Sep 30 20:30:36 2023: Enabled event sources: syscall
Sat Sep 30 20:30:36 2023: Opening 'syscall' source with BPF probe. BPF probe path: /root/.falco/falco-bpf.o
Sat Sep 30 20:30:36 2023: Starting gRPC server at unix:///run/falco/falco.sock

I am so happy about this! So, I'll come back and close this issue as solved once the libs PR is merged and libs are bumped on Falco master :)
At least, then you'll have Falco development images with working bpf engine!

Thanks @FedeDP!

During the community call an hour ago we proposed a patch release 0.36.1 for Falco that will surely cover this issue :) expect it in a couple of weeks!

great! thanks for the quick update @FedeDP

@tks98 if you are using a recent kernel version (>=5.8) maybe you could try the modern-bpf driver

@Andreagit97 thanks for the suggestion but I am experiencing this issue on an older kernel version (4.x).

/milestone 0.36.1

@tks98 @mateuszdrab Falco 0.36.1-rc1 is out if you want to give it a try! Let us know if it solves your issue

Hey @Andreagit97
Using the latest chart with substituted image tag, I get the below when starting:
falco Mon Oct 16 08:28:10 2023: Falco version: 0.36.1-rc1 (x86_64)
falco Mon Oct 16 08:28:10 2023: Falco initialized with configuration file: /etc/falco/falco.yaml
falco Mon Oct 16 08:28:10 2023: Loading rules from file /etc/falco/falco_rules.yaml
falco Mon Oct 16 08:28:11 2023: Loading rules from file /etc/falco/falco-incubating_rules.yaml
falco Mon Oct 16 08:28:11 2023: Loading rules from file /etc/falco/falco-sandbox_rules.yaml
falco Mon Oct 16 08:28:11 2023: Loading rules from file /etc/falco/rules.d/rules-custom.yaml
falco Mon Oct 16 08:28:11 2023: The chosen syscall buffer dimension is: 8388608 bytes (8 MBs)
falco Mon Oct 16 08:28:11 2023: gRPC server threadiness equals to 2
falco Mon Oct 16 08:28:11 2023: Starting health webserver with threadiness 2, listening on port 8765
falco Mon Oct 16 08:28:11 2023: Starting gRPC server at unix:///run/falco/falco.sock
falco Mon Oct 16 08:28:11 2023: Loaded event sources: syscall
falco Mon Oct 16 08:28:11 2023: Enabled event sources: syscall
falco Mon Oct 16 08:28:11 2023: Opening 'syscall' source with BPF probe. BPF probe path: /root/.falco/falco-bpf.o
falco Mon Oct 16 08:28:11 2023: An error occurred in an event source, forcing termination...
falco Mon Oct 16 08:28:11 2023: Shutting down gRPC server. Waiting until external connections are closed by clients
falco Mon Oct 16 08:28:11 2023: Waiting for the gRPC threads to complete
falco Mon Oct 16 08:28:11 2023: Draining all the remaining gRPC events
falco Mon Oct 16 08:28:11 2023: Shutting down gRPC server complete
falco Events detected: 0
falco Rule counts by severity:
falco Triggered rules by rule name:
falco Error: failure populating program array: Operation not permitted
Stream closed EOF for falco/falco-tkw24 (falco)

It seems strange since we didn't touch the drivers at all, I will take a look :eyes: thank you for reporting!

@mateuszdrab it seems like Falco is trying to use an old driver version, could you try a fresh installation with helm uninstall ... and then helm install .... I've tried it on a GKE cluster and it seems to work fine, this is how I modified the latest helm chart falco-3.7.1
diff --git a/falco/values.yaml b/falco/values.yaml
index bbf6a5f..5e5980d 100644
--- a/falco/values.yaml
+++ b/falco/values.yaml
@@ -12,7 +12,7 @@ image:
   # -- The image repository to pull from
   repository: falcosecurity/falco-no-driver
   # -- The image tag to pull. Overrides the image tag whose default is the chart appVersion.
-  tag: ""
+  tag: "0.36.1-rc1"

 # -- Secrets containing credentials when pulling from private/secure registries.
 imagePullSecrets: []
@@ -179,7 +179,7 @@ driver:
   # Always set it to false when using Falco with plugins.
   enabled: true
   # -- Tell Falco which driver to use. Available options: module (kernel driver), ebpf (eBPF probe), modern-bpf (modern eBPF probe).
-  kind: module
+  kind: ebpf
   # -- Configuration section for ebpf driver.
   ebpf:
     # -- Path where the eBPF probe is located. It comes handy when the probe have been installed in the nodes using tools other than the init
@@ -215,7 +215,7 @@ driver:
         # -- The image repository to pull from.
         repository: falcosecurity/falco-driver-loader
         #  -- Overrides the image tag whose default is the chart appVersion.
-        tag: ""
+        tag: "0.36.1-rc1"
       # -- Extra environment variables that will be pass onto Falco driver loader init container.
       env: []
       # -- Arguments to pass to the Falco driver loader init container.

Wohoo, it's running... forgot to override the driver installer image
    driver:
      kind: ebpf
      loader:
        initContainer:
          tag: 0.36.1-rc1
    image:
      tag: 0.36.1-rc1

Thank you very much for testing it!

You're welcome, thanks for fixing the issue so quick

Falco 0.36.1 is out! It should solve the issue. I will close it, feel free to reopen it if you face other issues

Awesome, I'll remove the image override from the Flux HelmRelease when I get home and report back if there's any issues.

Hi I am facing same issue I have install falco through helm

I am using 0.6.2  version

I am using 0.36.2 version

uhm interesting, could you provide the full Falco logs with the error?

$  kubectl logs ds/falco -n falco
Found 5 pods, using pod/falco-nszhd
Defaulted container "falco" out of: falco, falcoctl-artifact-follow, falcoctl-artifact-install (init)
Tue Nov  7 10:13:19 2023: Falco version: 0.36.2 (x86_64)
Tue Nov  7 10:13:19 2023: Falco initialized with configuration file: /etc/falco/falco.yaml
Tue Nov  7 10:13:19 2023: Loading rules from file /etc/falco/falco_rules.yaml
Tue Nov  7 10:13:19 2023: The chosen syscall buffer dimension is: 8388608 bytes (8 MBs)
Tue Nov  7 10:13:19 2023: Starting health webserver with threadiness 2, listening on port 8765
Tue Nov  7 10:13:19 2023: Loaded event sources: syscall
Tue Nov  7 10:13:19 2023: Enabled event sources: syscall
Tue Nov  7 10:13:19 2023: Opening 'syscall' source with modern BPF probe.
Tue Nov  7 10:13:19 2023: One ring buffer every '2' CPUs.
libbpf: prog 'sys_enter': BPF program load failed: Invalid argument
libbpf: prog 'sys_enter': -- BEGIN PROG LOAD LOG --
; int BPF_PROG(sys_enter,
0: (bf) r6 = r1
; int BPF_PROG(sys_enter,
1: (79) r7 = *(u64 *)(r6 +8)
; return g_64bit_interesting_syscalls_table[syscall_id & (SYSCALL_TABLE_SIZE - 1)];
2: (bf) r1 = r7
3: (57) r1 &= 511
; return g_64bit_interesting_syscalls_table[syscall_id & (SYSCALL_TABLE_SIZE - 1)];
4: (18) r2 = 0xffffab6c4102a000
6: (0f) r2 += r1
last_idx 6 first_idx 0
regs=2 stack=0 before 4: (18) r2 = 0xffffab6c4102a000
regs=2 stack=0 before 3: (57) r1 &= 511
regs=2 stack=0 before 2: (bf) r1 = r7
regs=80 stack=0 before 1: (79) r7 = *(u64 *)(r6 +8)
7: (71) r2 = *(u8 *)(r2 +0)
R1_w=invP(id=0,umax_value=511,var_off=(0x0; 0x1ff)) R2_w=map_value(id=0,off=0,ks=4,vs=242537,umax_value=511,var_off=(0x0; 0x1ff)) R6_w=ctx(id=0,off=0,imm=0) R7_w=inv(id=0) R10=fp0
; if(!syscalls_dispatcher__64bit_interesting_syscall(syscall_id))
8: (15) if r2 == 0x0 goto pc+76
R1_w=invP(id=0,umax_value=511,var_off=(0x0; 0x1ff)) R2_w=inv(id=0,umax_value=255,var_off=(0x0; 0xff)) R6_w=ctx(id=0,off=0,imm=0) R7_w=inv(id=0) R10=fp0
; return g_settings.dropping_mode;
9: (18) r2 = 0xffffab6c4102a5a8
11: (71) r2 = *(u8 *)(r2 +12)
R1_w=invP(id=0,umax_value=511,var_off=(0x0; 0x1ff)) R2_w=map_value(id=0,off=1448,ks=4,vs=242537,imm=0) R6_w=ctx(id=0,off=0,imm=0) R7_w=inv(id=0) R10=fp0
; if(!maps__get_dropping_mode())
12: (15) if r2 == 0x0 goto pc+37
R1_w=invP(id=0,umax_value=511,var_off=(0x0; 0x1ff)) R2_w=inv(id=0,umax_value=255,var_off=(0x0; 0xff)) R6_w=ctx(id=0,off=0,imm=0) R7_w=inv(id=0) R10=fp0
; return g_64bit_sampling_syscall_table[syscall_id & (SYSCALL_TABLE_SIZE - 1)];
13: (18) r2 = 0xffffab6c4102a200
15: (0f) r2 += r1
16: (71) r1 = *(u8 *)(r2 +0)
R1_w=invP(id=0,umax_value=511,var_off=(0x0; 0x1ff)) R2_w=map_value(id=0,off=512,ks=4,vs=242537,umax_value=511,var_off=(0x0; 0x1ff)) R6_w=ctx(id=0,off=0,imm=0) R7_w=inv(id=0) R10=fp0
; if(sampling_flag == UF_NEVER_DROP)
17: (15) if r1 == 0x2 goto pc+32
R1=inv(id=0,umax_value=255,var_off=(0x0; 0xff)) R2=map_value(id=0,off=512,ks=4,vs=242537,umax_value=511,var_off=(0x0; 0x1ff)) R6=ctx(id=0,off=0,imm=0) R7=inv(id=0) R10=fp0
18: (15) if r1 == 0x4 goto pc+66
R1=inv(id=0,umax_value=255,var_off=(0x0; 0xff)) R2=map_value(id=0,off=512,ks=4,vs=242537,umax_value=511,var_off=(0x0; 0x1ff)) R6=ctx(id=0,off=0,imm=0) R7=inv(id=0) R10=fp0
; if((bpf_ktime_get_boot_ns() % SECOND_TO_NS) >= (SECOND_TO_NS / maps__get_sampling_ratio()))
19: (85) call bpf_uuused15#125
unknown func bpf_uuused15#125
processed 17 insns (limit 1000000) max_states_per_insn 0 total_states 1 peak_states 1 mark_read 1
-- END PROG LOAD LOG --
libbpf: prog 'sys_enter': failed to load: -22
libbpf: failed to load object 'bpf_probe'
libbpf: failed to load BPF skeleton 'bpf_probe': -22
libpman: failed to load BPF object (errno: 22 | message: Invalid argument)
Tue Nov  7 10:13:19 2023: An error occurred in an event source, forcing termination...
Events detected: 0
Rule counts by severity:
Triggered rules by rule name:
Error: Initialization issues during scap_init

uhm this seems not related to this issue, but it is related to this one https://github.com/falcosecurity/falco/issues/2792
Probably this is due to a wrong backporting in the kernel you are using :/ Just for curiosity which kernel version are you using?

$ uname -r
5.4.17-2136.300.7.el8uek.x86_64

yes apart from the patch version is the same kernel version of the other issue... The best solution here is not to use the modern bpf at all. We don't know which helpers are backported or not... the suggestion here is to switch to a recent kernel version ASAP or to use one of the other 2 drivers (legacy_bpf,kernel module) if possible

ok, Can you help me with changing driver, How we change the driver

if you are using the official falco helm chart to deploy falco you need to update the driver.kind config:
# Driver settings (scenario requirement)
driver:
  # -- Set it to false if you want to deploy Falco without the drivers.
  # Always set it to false when using Falco with plugins.
  enabled: true
  # -- Tell Falco which driver to use. Available options: module (kernel driver), ebpf (eBPF probe), modern-bpf (modern eBPF probe).
  kind: ebpf

In this example I've used the legacy ebpf probe

Hey I have reinstall falco by using this command "helm install falco falcosecurity/falco --set driver.kind=legacy_bpf" but still it is not woking

the right command is  --set driver.kind=ebpf

no its not working

could you log the error please?

[root@kubernet-master-09 ~]# kubectl logs ds/falco -n falco
Found 5 pods, using pod/falco-xv4s7
Defaulted container "falco" out of: falco, falcoctl-artifact-follow, falco-driver-loader (init), falcoctl-artifact-install (init)
Tue Nov  7 12:05:58 2023: Falco version: 0.36.2 (x86_64)
Tue Nov  7 12:05:58 2023: Falco initialized with configuration file: /etc/falco/falco.yaml
Tue Nov  7 12:05:58 2023: Loading rules from file /etc/falco/falco_rules.yaml
Tue Nov  7 12:05:58 2023: The chosen syscall buffer dimension is: 8388608 bytes (8 MBs)
Tue Nov  7 12:05:58 2023: Starting health webserver with threadiness 2, listening on port 8765
Tue Nov  7 12:05:58 2023: Loaded event sources: syscall
Tue Nov  7 12:05:58 2023: Enabled event sources: syscall
Tue Nov  7 12:05:58 2023: Opening 'syscall' source with BPF probe. BPF probe path: /root/.falco/falco-bpf.o
-- BEGIN PROG LOAD LOG --
0: (bf) r6 = r1
1: (b7) r1 = 0
2: (63) *(u32 *)(r10 -32) = r1
last_idx 2 first_idx 0
regs=2 stack=0 before 1: (b7) r1 = 0
3: (bf) r2 = r10
4: (07) r2 += -32
5: (18) r1 = 0xffff9aa83a511800
7: (85) call bpf_map_lookup_elem#1
8: (15) if r0 == 0x0 goto pc+904
R0_w=map_value(id=0,off=0,ks=4,vs=35,imm=0) R6_w=ctx(id=0,off=0,imm=0) R10=fp0 fp-32=????mmmm
9: (85) call bpf_get_smp_processor_id#8
10: (bf) r9 = r0
11: (63) *(u32 *)(r10 -32) = r9
12: (bf) r2 = r10
13: (07) r2 += -32
14: (18) r1 = 0xffffab6c41b01000
16: (85) call bpf_map_lookup_elem#1
17: (bf) r8 = r0
18: (15) if r8 == 0x0 goto pc+894
R0_w=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R6=ctx(id=0,off=0,imm=0) R8_w=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R9_w=inv(id=0) R10=fp0 fp-32=????mmmm
19: (63) *(u32 *)(r10 -32) = r9
20: (bf) r2 = r10
21: (07) r2 += -32
22: (18) r1 = 0xffff9aa8afe5e000
24: (85) call bpf_map_lookup_elem#1
25: (bf) r7 = r0
26: (15) if r7 == 0x0 goto pc+886
R0=map_value(id=0,off=0,ks=4,vs=197,imm=0) R6=ctx(id=0,off=0,imm=0) R7_w=map_value(id=0,off=0,ks=4,vs=197,imm=0) R8=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R9=inv(id=0) R10=fp0 fp-32=????mmmm
27: (63) *(u32 *)(r10 -32) = r9
28: (bf) r2 = r10
29: (07) r2 += -32
30: (18) r1 = 0xffffab6c44f01000
32: (85) call bpf_map_lookup_elem#1
33: (18) r9 = 0xfffffffd
35: (15) if r0 == 0x0 goto pc+868
R0=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R6=ctx(id=0,off=0,imm=0) R7=map_value(id=0,off=0,ks=4,vs=197,imm=0) R8=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R9=inv4294967293 R10=fp0 fp-32=????mmmm
36: (71) r1 = *(u8 *)(r7 +1)
R0=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R6=ctx(id=0,off=0,imm=0) R7=map_value(id=0,off=0,ks=4,vs=197,imm=0) R8=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R9=inv4294967293 R10=fp0 fp-32=????mmmm
37: (67) r1 <<= 8
38: (71) r2 = *(u8 *)(r7 +0)
R0=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R1_w=inv(id=0,umax_value=65280,var_off=(0x0; 0xff00)) R6=ctx(id=0,off=0,imm=0) R7=map_value(id=0,off=0,ks=4,vs=197,imm=0) R8=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R9=inv4294967293 R10=fp0 fp-32=????mmmm
39: (4f) r1 |= r2
40: (71) r2 = *(u8 *)(r7 +2)
R0=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R1_w=inv(id=0) R2_w=inv(id=0,umax_value=255,var_off=(0x0; 0xff)) R6=ctx(id=0,off=0,imm=0) R7=map_value(id=0,off=0,ks=4,vs=197,imm=0) R8=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R9=inv4294967293 R10=fp0 fp-32=????mmmm
41: (71) r3 = *(u8 *)(r7 +3)
R0=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R1_w=inv(id=0) R2_w=inv(id=0,umax_value=255,var_off=(0x0; 0xff)) R6=ctx(id=0,off=0,imm=0) R7=map_value(id=0,off=0,ks=4,vs=197,imm=0) R8=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R9=inv4294967293 R10=fp0 fp-32=????mmmm
42: (67) r3 <<= 8
43: (4f) r3 |= r2
44: (67) r3 <<= 16
45: (4f) r3 |= r1
46: (63) *(u32 *)(r10 -32) = r3
47: (bf) r2 = r10
48: (07) r2 += -32
49: (18) r1 = 0xffffab6c410e9000
51: (85) call bpf_map_lookup_elem#1
52: (7b) *(u64 *)(r10 -40) = r0
53: (15) if r0 == 0x0 goto pc+850
R0=map_value(id=0,off=0,ks=4,vs=1840,imm=0) R6=ctx(id=0,off=0,imm=0) R7=map_value(id=0,off=0,ks=4,vs=197,imm=0) R8=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R9=inv4294967293 R10=fp0 fp-32=????mmmm fp-40_w=map_value
54: (71) r1 = *(u8 *)(r7 +1)
R0=map_value(id=0,off=0,ks=4,vs=1840,imm=0) R6=ctx(id=0,off=0,imm=0) R7=map_value(id=0,off=0,ks=4,vs=197,imm=0) R8=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R9=inv4294967293 R10=fp0 fp-32=????mmmm fp-40_w=map_value
55: (67) r1 <<= 8
56: (71) r2 = *(u8 *)(r7 +0)
R0=map_value(id=0,off=0,ks=4,vs=1840,imm=0) R1_w=inv(id=0,umax_value=65280,var_off=(0x0; 0xff00)) R6=ctx(id=0,off=0,imm=0) R7=map_value(id=0,off=0,ks=4,vs=197,imm=0) R8=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R9=inv4294967293 R10=fp0 fp-32=????mmmm fp-40_w=map_value
57: (4f) r1 |= r2
58: (71) r2 = *(u8 *)(r7 +2)
R0=map_value(id=0,off=0,ks=4,vs=1840,imm=0) R1_w=inv(id=0) R2_w=inv(id=0,umax_value=255,var_off=(0x0; 0xff)) R6=ctx(id=0,off=0,imm=0) R7=map_value(id=0,off=0,ks=4,vs=197,imm=0) R8=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R9=inv4294967293 R10=fp0 fp-32=????mmmm fp-40_w=map_value
59: (71) r3 = *(u8 *)(r7 +3)
R0=map_value(id=0,off=0,ks=4,vs=1840,imm=0) R1_w=inv(id=0) R2_w=inv(id=0,umax_value=255,var_off=(0x0; 0xff)) R6=ctx(id=0,off=0,imm=0) R7=map_value(id=0,off=0,ks=4,vs=197,imm=0) R8=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R9=inv4294967293 R10=fp0 fp-32=????mmmm fp-40_w=map_value
60: (67) r3 <<= 8
61: (4f) r3 |= r2
62: (67) r3 <<= 16
63: (4f) r3 |= r1
64: (63) *(u32 *)(r10 -32) = r3
65: (bf) r2 = r10
66: (07) r2 += -32
67: (18) r1 = 0xffff9aa816b10000
69: (85) call bpf_map_lookup_elem#1
70: (15) if r0 == 0x0 goto pc+833
R0=map_value(id=0,off=0,ks=4,vs=58,imm=0) R6=ctx(id=0,off=0,imm=0) R7=map_value(id=0,off=0,ks=4,vs=197,imm=0) R8=map_value(id=0,off=0,ks=4,vs=262144,imm=0) R9=inv4294967293 R10=fp0 fp-32=????mmmm fp-40=map_value
71: (71) r2 = *(u8 *)(r7 +29)

uhm another verifier error... what about the kernel module helm install falco falcosecurity/falco --set driver.kind=module? :crossed_fingers:  Let's hope it works otherwise the only option you have at the moment is to use another kernel version, sorry :/

No its not working but now it is giving different error
$  kubectl logs ds/falco -n falco
Found 5 pods, using pod/falco-86vjx
Defaulted container "falco" out of: falco, falcoctl-artifact-follow, falco-driver-loader (init), falcoctl-artifact-install (init)
Error from server (BadRequest): container "falco" in pod "falco-86vjx" is waiting to start: PodInitializing


License compliance checklist

Minetest has a copyleft license, and the question is how we should treat people developing apps that base on minetest, for places like the google play store.
The ffmpeg project has its own checklist for applications that want to use their code: https://www.ffmpeg.org/legal.html
Should we get such a similar checklist? Often we get support requests for how to build minetest for android from different people, those requests would be a good place to point them to such a checklist.
What would be the requirements the main copyright holders from @minetest/team-minetest would see?
An attempt from me:

disclose use of minetest in the app desctiption on google play "This [app/game/...] uses the Minetest engine [and game], Copyright 2010-2016 Perttu Ahola<EMAIL_ADDRESS>and contributors, Licensed under the LGPL version 2.1 or later"
If you don't modify engine source code:

Add a link to the minetest github page

If you modify engine source code:

Add a link to the place where the modified code can be downloaded

disclose use of minetest in the app's main menu -- we don't have such a page currently ourselves in fact, the credits tab would be a good place for it, no?

It would be good to have this somewhere. If not the website then the wiki.

I guess this is implemented now http://wiki.minetest.net/Licensing#Complying_with_the_License


Extracting output features of the GRU

Hi,
I was trying to extract the output of the edge/node GRUs (just the edge_factor/vert_factor before update_inference, at https://github.com/danfeiX/scene-graph-TF-release/blob/4c9e3c6a5cb0e6a241a92dc9b786f74e69ca35c4/lib/networks/models.py#L217 . But when I save and retrieve it, it only returns a feature of 512 dimension, instead of the num_roi/num_rel * 512. Is there anyway in Tensorflow to gather this feature across all the dimensions ?

It should have features of all roi and rels. Maybe try printing the shape when doing forward pass to make sure it is indeed incorrect shape?


Expose RealmObjectBase.schema

I started poking at this one to get acquainted with the codebase but I may need a little more context on the motivation and desired changes - the generated code for each model already has a static SchemaObject get schema method which returns the SchemaObject for the generated class, so from any model it should already be possible to get the schema?

The motivation is threefold:

When storing an object in a mixed field, having the schema on the object makes the code much easier to write code that inspects the schema. Using the generated schema, you would need to do something like:final myObj = obj.mixedValue;
late Schema myObjSchema;
if (myObj is Foo) {
   myObjSchema = Foo.schema;
} else if (myObj is Bar) {
   myObjSchema = Bar.schema
} ...

For generated classes, the generated schema will always reflect the schema that was known at compile time, even the server made changes to it, making it difficult to evaluate new properties using the dynamic API. For example, if a user has a CustomMetadata embedded class that has Date created, updated fields initially and then the user adds more fields at runtime, the generated schema would not know of the existence of these new fields and one would never be able to introspect the schema and access them using the dynamic API. Note that this may not work immediately, as I don't believe the flutter SDK registers a schema update callback to update its cached Realm schema, but that'd be a separate project.
Finally, for fully dynamic Realm usage, where the schema is read from disk, there'd be no generated schema, meaning the object schema will need to be read through Realm.schema, which is keyed on the class name, but with dynamic classes, we don't have a way to introspect the name to look up the schema. This means the developers need to always pass both the object and its schema as a tuple to be able to access any data in it.


Enable KafkaSource scale subresource

Fixes #137

Proposed Changes

Enable KafkaSource scale subresource to scale the underlying deployment

Release Note

🎁 The KafkaSource scale subresource can now be used to scale up and down the underlying deployment

Docs

Depends on https://github.com/knative/pkg/pull/1833
~I'll remove the dependency on my fork my the PR above is merged (or another PR handling the scale subresource properly)~. Done
FYI @zroubalik. This PR breaks eventing Keda integration. I'm working on a PR to fix it.

/hold
Let's wait for the scheduled dependency upgrade to pick up knative/pkg#1833

/test pull-knative-sandbox-eventing-kafka-integration-tests

/unhold

@zroubalik @matzew do you mind looking at this one?

I guess it means multiple consumers with the same consumer group.

I guess it means multiple consumers with the same consumer group.

Technically a single instance can have multiple consumers in the same consumer group, in java this is done automatically by the kafka client

What I'm trying to say is that my feeling is that this field leaks an implementation detail of this particular implementation of KafkaSource

Can you explain a little bit more?
I mean in a multi-tenant scenario replicas means run N consumers with the same consumer group where they run I don't care.

If replicas means consumers, then why naming it replicas? My understanding is that this proposal wants to add replicas, in the meaning of the kubernetes replicas for a specific deployment

The actual definition of replicas depends on the implementation. For the single-tenant KafkaSource, it really means N pods replicas. For a simple multi-tenant KafkaSource implementation it means run N consumers (by lowering throttling).
Maybe replicas is not the right name. In the design document I call it virtual replicas.

Then what about consumers to map with the concepts of kafka?

+1 for consumers.
The only caveat is a multi tenant source might provide more virtual consumers than the number of partitions, potentially leading to some confusion (source says 10 consumers but there is only 5 partitions in the topic). The documentation should leave the door open to such implementation.

@travis-minke-sap @eric-sap do you have any comments/objections on this PR? (sorry I meant to ping you earlier on this one).

It seems that more consumers than the number of partitions are allowed by this implementation as well.

It seems that more consumers than the number of partitions are allowed by this implementation as well.

that's right. Currently only KEDA makes sure that the number of consumers does not go over. This is a problem especially if consumers are virtual consumers. I'm working on a PoC right now to give more meat to the discussion.

@slinkydeveloper @matzew can we merge this one now?

Fine for me
/lgtm
/approve

only fine?! :-)


Train_Return vs Test_Return

Hi, Thank you for sharing the repo!
I was wondering how the Train_Return and Test_Return is calculated
and what the difference between the two.
I see that one is using norm_a_tf and sample_a_tf in the code.

train return corresponds to perform during training rollouts where a stochastic policy is used. test return corresponds to rollouts that use a deterministic policy.

Thank you for the clarification! I also noticed that the test_return is only calculated once every few steps and train_return is calculated at every step.
I'm not too familiar with these metrics. But why was the choice made to have train rollout be stochastic and test rollout be deterministic. And why is test_return updated every few steps instead of at every step? Is this just standard for measuring offline rl?

by step, do you mean simulation step or update step? For these continuous control tasks, performance is usually higher with a deterministic policy, so it's common practice to evaluate with a deterministic policy. Training requires stochastic rollouts in order to estimate the policy gradients.


fix(pom): remove imports for embedded dependencies

change the maven-bundle-plugin instructions so that the embedded
dependencies are not stated as imports

Hi Ronny,
Thanks for you pull request. I merged your changes https://github.com/camunda/camunda-engine-dmn/commit/53eb8281c88ca205b70b927d34c3b39138a0fd5f
Cheers,
Roman


feat: Implement eth68 announcement metrics, track entries by TxType

Close https://github.com/paradigmxyz/reth/issues/6524
Add Histogram to track entries number by TxType when validating announcement.

perfect, thanks!


feat: read device.id from credentials.toml when basic auth mode

Proposed changes
Draft for further discussion.

Technically, it would be very difficult to switch "read-only" mode or "read-write" mode depending on c8y.auth_mode. This PR proposes to keep device_id in the credentials.toml file alternatively.
Reading all configs under c8y requires a profile name. However, it cannot be determined when tedge config get device.id is called. I parsed None as the device profile. Correct me if I am wrong.

    let c8y_profile: Option<&ProfileName> = None;
    let c8y_config = reader.c8y.try_get(c8y_profile)?;

Types of changes

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Improvement (general improvements like code refactoring that doesn't explicitly fix a bug or add any new functionality)
[ ] Documentation Update (if none of the other choices apply)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue
#3240
Checklist

[ ] I have read the CONTRIBUTING doc
[ ] I have signed the CLA (in all commits with git commit -s)
[ ] I ran cargo fmt as mentioned in CODING_GUIDELINES
[ ] I used cargo clippy as mentioned in CODING_GUIDELINES
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments

Technically, it would be very difficult to switch "read-only" mode or "read-write" mode depending on c8y.auth_mode. This PR proposes to keep device_id in the credentials.toml file alternatively.

Why don't we permanently switch this setting to read-write mode and apply the following rule:

If auth_mode == basic then read the written value
If auth_mode == certificate then read from the certificate

If someone consciously sets device.id in the tedge.toml and uses the certificate mode as well, then we can just validate if both are the same, else fail during tedge connect.

Since both c8y.auth_mode and c8y.credentials_path can differ based on a cloud profile, we should not use any c8y config for device.id. In essence, device.id must be identical regardless of cloud profiles, so it makes sense by design as well.
If tedge config macro has try_from() attribute, the implementation would be nice. We already have from() attribute. This usecase needs something that returns  Result<String, ReadError>.
Probably the device.id definition can be like below:
#[tedge_config(try_from(
    error = "\
        The device id is read from the device certificate if it exists.\n\
        To create a device certificate, you can use `tedge cert create --device-id <id>`.",
    function = "device_id",
))]
#[tedge_config(example = "Raspberrypi-4d18303a-6d3a-11eb-b1a6-175f6bb72665")]
#[tedge_config(note = "This setting is derived from the device certificate if it is set.")]
#[doku(as = "String")]
id: Result<String, ReadError>,

Since both c8y.auth_mode and c8y.credentials_path can differ based on a cloud profile, we should not use any c8y config for device.id. In essence, device.id must be identical regardless of cloud profiles, so now I'm convinced to use tedge.toml to store the value of device ID for basic auth.
Proposal 1:
device.id returns a value from the certificate when the certificate file exists. Else, returns a value from tedge.toml.
Proposal 2:
device.id returns a value from the certificate if it is not set (=default). If it is set, the value is read from tedge.toml.

I'd go with proposal 2, as that is sounds straightforward. If someone has explicitly set a value using tedge config set, he'd want to use it. And do that extra validation if they are equal in tedge connect.

Since both c8y.auth_mode and c8y.credentials_path can differ based on a cloud profile, we should not use any c8y config for device.id. In essence, device.id must be identical regardless of cloud profiles, so now I'm convinced to use tedge.toml to store the value of device ID for basic auth.
Proposal 1:
device.id returns a value from the certificate when the certificate file exists. Else, returns a value from tedge.toml.
Proposal 2:
device.id returns a value from the certificate if it is not set (=default). If it is set, the value is read from tedge.toml.

Things are already too complicated and both proposals are only making things more complicated.
I do think we must stop reading the device id from the certificate:

today, we have this issue with password authentication where there is no more certificate to read from
tomorrow, we will have issues with cloud endpoints using each a different certificate.

If someone consciously sets device.id in the tedge.toml and then uses the certificate mode as well, then we can just validate if both values are the same, else fail during tedge connect.

This is the key. I  propose to:

store device.id in tedge.toml as a regular setting.
update the tedge cert create command, to make the --device-id optional and to update the config if provided.
add a check on tedge connect to reject a certificate which CN is not the device id or a password that is not for the device id.

Adding a bit of further detail to Didier's proposed solution as we discussed, we'll need to gracefully handle cases where the device ID isn't explicitly set. This can be done by setting #[tedge_config(reader(private))] on all the device.id fields in the config macro, preventing any code trying to read the device ID from accessing it directly. Then you can add a method fn id(&self) -> Result<_, _> to TEdgeConfgReaderC8yDevice etc. that can read the device certificate or use the ID field set in the toml. This should work as a drop in replacement for the existing read-only device ID field, which is already accessed by calling tedge_config.c8y.try_get(profile)?.device.id()?.


Testing new optic APIs in Java Client

Newly added optic APIs including
op.columnInfo (TBD)
3rd parameter for op.xpath
So we can address your issue, please include the following:
Version of MarkLogic Java Client API
See Readme.txt
Version of MarkLogic Server
See admin gui on port 8001 or run xdmp:version() in Query Console - port 8000)
Java version
Run java -version
OS and version
For MAC, run sw_vers.
For Windows, run  systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
For Linux, run cat /etc/os-release and uname -r
Input: Some code to illustrate the problem, preferably in a state that can be independently reproduced on our end
Actual output: What did you observe? What errors did you see? Can you attach the logs? (Java logs, MarkLogic logs)
Expected output: What specifically did you expect to happen?
Alternatives: What else have you tried, actual/expected?

Closing, as we have dozens of tests for new Optic APIs - particularly Optic Update.


Reconsider row value truncation on query page

Consider this example: https://ripgrep.datasette.io/repos?sql=select+json_group_array(full_name)+from+repos
select json_group_array(full_name) from repos

My intention here was to get a string of JSON I can copy and paste elsewhere - see: https://til.simonwillison.net/sqlite/compare-before-after-json
The truncation isn't helping here.

One option: if any rows were truncated, show a button you can click to run the query again with truncation disabled - maybe with ?_truncate=off in the URL or similar.
But... still want to truncate if the user runs a query that would return multiple MBs of HTML (assuming the other Datasette query limits don't stop that from happening).


[TS][styles] Make props optional in makeStyles

Since props is optional in makeStyles in the code, the typings should reflect this.

[x] I have followed (at least) the PR section of the contributing guide.

Closing, as this seems to not be the right approach. Still a problem that you have to pass props when not using them though.

Closing, as this seems to not be the right approach. Still a problem that you have to pass props when not using them though.

This should be covered by the current typings. Please open a separate issue and follow the template so that we can investigate.


Remove use_standard_tags from DataColumn

Having use_standard_tags is problematic because it does not allow for confidence when checking a column.

For example, if we want to check that a column is Numeric, we can check the Semantic Tags and look for numeric but if use_standard_tags is False, it will have not have been added forcing a check on the Logical Type

TLDR: - It makes the semantic_tags useless having to worry about use_standard_tags

In addition, primary users of Woodwork (EvalML, Featuretools), will have use_standard_tags True for all columns.

Therefore, to reduce complexity, we will remove use_standard_tags, and by will add standard tags to applicable DataColumns.

Closing after chatting with @gsheni


Error message missing value

I am actually not entirely sure this is the right place to post it, so let me know if it needs to go elsewhere.
I ran into a problem where I had
func (r *Resolver) ResolverName(args *struct {
	SomeVar SomeType
}) *ResolverNameResolver {

type SomeType struct {
    UserID int32
    SomeOtherVar int32
}

The mutation struct was
type LifeBalance {
    UserID: ID!
    SomeOtherVar: Int
}

I called ResolverName with
{
  "UserID": "2",
  "SomeVar": 4
}

And instead of getting something like UserID should be int instead of string
I got Error while fetching query: Error at path "ResolverName": missingValue
I kept looking for a missing value, so it took me a while to spot the difference in type.

The problem is in UserID int32. By graphql spec ID is a string. Changing type to graphql.ID should fix your problem

Didn't think the graphql.ID type was Postgres friendly, but if it translates to string I guess it is fine.
I will close this

You should not use graphql.ID as your primary key in db. Just extract string from this type and use it as your wish (as uuid or convert to int, idk)

yea, error messages are disgusting

Thanks for reporting. PRs are welcome for fixing this issue. I'll mark it as "Help wanted".

Hi!  Is this problem still available?

@adyang94 I haven't tried reproducing it lately. If you can reproduce it, PRs are welcome.

Hi! I've attempted to replicate the issue, but I've been unable to do so. Here's the schema I've written:
type Query {
  organization(OrganizationID: ID!): Organization!
}

I've also implemented the resolver as follows:
func (c Controller) Organization(ctx context.Context, args *struct{ OrganizationID int32 }) (resolver.Organization, error) {
	log.Println(args.OrganizationID)
       ...
}

However, I'm able to access the API without any issues. When I send a string type that cannot be marshaled into int32, such as
gq http://localhost:9000 \
    -q "query {organization(OrganizationID: \"f170c10c-6896-46fc-b9a4-69e2b9a15154\"){ name } }"

the API responds with:
Error:  {
  errors: [
    {
      message: 'could not unmarshal "f170c10c-6896-46fc-b9a4-69e2b9a15154" (string) into int32: incompatible type'
    }
  ],
  data: {}
}

In my opinion, the error message is quite clear. It indicates that there's an incompatibility issue while trying to convert the string into an int32.


zsh extremely slow to start without internet connectivity

[x] I've checked the existing issues and I'm not duplicating a report.
[ ] I'm using the latest version of zimfw. ---> NO I'm running the latest commits; see below.
[x] I've checked the Changelog and I'm not being affected by documented changes.
[x] I've checked the 📢 Announcements and I'm not being affected by announced changes.
[x] I was able to reproduce the issue with a clean installation of Zim.
[x] I've pasted the output of zimfw info below.

Describe the bug
This has taken me a few hours to debug, but it might not be present in the latest version. Apologies if this is noise, but just in case it is still relevant, I wanted to submit this issue.
I had been experiencing this issue in a recent version of zim db96076, however, after updating to the latest version 0566b9b (two commits later), I am no longer experiencing this issue. This issue might have been fixed in these two commits, although from a skim, I don't think so. Alternatively, it is possible that the issue was because I was not running the latest version, since it relates to version checks? If so, then this issue is still relevant, and might re-emerge with new commit(s). If not, then apologies again for the noise!
I will describe the original issue here, experienced with the older version of zim. If I disconnect my network, zsh would take over two minutes to start up. zsh -x showed that it was stalling in the version check, which I presume needs internet access.
$ zsh -x
+/etc/zsh/zshrc:6> export ZIM_HOME=/usr/lib/zim
+/etc/zsh/zshrc:15> source /usr/lib/zim/zimfw.zsh init -q
+/usr/lib/zim/zimfw.zsh:27> autoload -Uz is-at-least
+/usr/lib/zim/zimfw.zsh:27> is-at-least 5.2

I tried commenting out the relevant lines. It now progressed past this, but stalled elsewhere.
$ zsh -x
+/etc/zsh/zshrc:6> export ZIM_HOME=/usr/lib/zim
+/etc/zsh/zshrc:15> source /usr/lib/zim/zimfw.zsh init -q
+/usr/lib/zim/zimfw.zsh:31> autoload -Uz zargs
+/usr/lib/zim/zimfw.zsh:34> ((  ! 1  ))
+/usr/lib/zim/zimfw.zsh:939> [[ /etc/zsh/zshrc:15 == zmodule:* ]]
+/usr/lib/zim/zimfw.zsh:942> zimfw init -q

I tried searching through the source for this part, but got confused here.
FWIW I've installed system-wise through the Arch Linux AUR package. This (probably) meant I couldn't do the troubleshooting steps below unfortunately. However, hopefully you can just replicate it on your system.
Steps to reproduce
The fist 4 steps restart the shell with a clean installation of Zim in a temporary directory.
Use exec zsh when restarting the terminal or restarting the shell is needed.

cd ${$(mktemp -d):A}
ZDOTDIR=${PWD} HOME=${PWD} ZIM_HOME=${PWD}/.zim exec zsh
curl -fsSL https://raw.githubusercontent.com/zimfw/install/master/install.zsh | zsh

% curl -fsSL https://raw.githubusercontent.com/zimfw/install/master/install.zsh | zsh
) Using Zsh version 5.9
) Your ZIM_HOME is customized to /usr/lib/zim
x /usr/lib/zim already exists. Please set ZIM_HOME to the path where you want to install Zim.

I was unable to continue with exec zsh

Current behavior
Without internet access, zsh takes over two minutes to start. Presumably this will also be an issue with slow connections.
Expected behavior
zsh to start almost instantaneously
zimfw info
Recent version db96076, with bug.
# In a terminal, run zimfw info, and paste the output here.
$ zimfw info
_zimfw_check_version:6: permission denied: /usr/lib/zim/.latest_version
zimfw version:        1.12.0-SNAPSHOT (built at 2023-04-01 01:32:16 UTC, previous commit is 5db1155)
LANG:                 en_AU.UTF-8
OSTYPE:               linux-gnu
TERM:                 xterm-256color
TERM_PROGRAM:
TERM_PROGRAM_VERSION:
ZIM_HOME:             /usr/lib/zim
ZSH_VERSION:          5.9

BTW I have no idea why it references 5db1155, since I can't find this commit.
Current version 0566b9b, with no bug.
Latest zimfw version is 1.11.3. You're using version 1.12.0-SNAPSHOT. Run zimfw upgrade to upgrade.
zimfw version:        1.12.0-SNAPSHOT (built at 2023-06-15 14:32:20 UTC, previous commit is f9648e0)
LANG:                 en_AU.UTF-8
OSTYPE:               linux-gnu
TERM:                 xterm-256color
TERM_PROGRAM:
TERM_PROGRAM_VERSION:
ZIM_HOME:             /usr/lib/zim
ZSH_VERSION:          5.9

Hi @protist. Thank you for the detailed issue description.
Let me investigate, but I can already say I've changed the automatic version check to not be asynchronous (not run in the backgroung) anymore in version a34b8da, before db96076, where you mention the bug is present:
* 0566b9b Use _zimfw_print (HEAD -> master, origin/master, origin/HEAD)
* ...
* db96076 fixup! Don't use a new shell to run tool anymore
* ...
* a34b8da Add version-check action

The version check uses git to make a request to GitHub and now I see it was a bad idea to make the automatic version check synchronous, because it will make zimfw wait until the connection times out in case of a connection issue.
Maybe there's something in db96076 that makes the problem worse. And not sure what makes it better again in 0566b9b. I'll check and most probably make the automatic version check asynchronous again anyway.

I believe I've fixed in https://github.com/zimfw/zimfw/commit/49386cad6def77fb335278b7ee641212c41d545b. Let me know if you still face issues.
And thanks for reporting this before a version containing the issue were released.

No worries, and thanks for the amazingly quick fix @ericbn. I'm not entirely sure how to test this, but I disconnected from the internet then opened up a new terminal, and there was no slowdown (while running the previous 0566b9b8a35d5175820113bc91bf0c3465ca9479). I also upgraded and tested the latest version, and there is no slowdown there either. Presumably all is good, but I'll report back if I see anything weird. Thanks again!


4.1.0rc1 Druid queries with CURRENT_TIMETAMP fails

Bug description
I'm testing 4.1.0rc1 and encountering an error with Druid datasets that use the CURRENT_TIMESTAMP function. It seems to be adding parentheses at the end, which is causing the failure, even though we don't define any in the metric.
How to reproduce the bug

Create a metric that use CURRENT_TIMESTAMP on druid dataset
Use metric in a chart

Screenshots/recordings
How metric looks like

How superset sends query

Given error

Superset version
master / latest-dev
Python version
3.9
Node version
16
Browser
Chrome
Additional context
No response
Checklist

[X] I have searched Superset docs and Slack and didn't find a solution to my problem.
[X] I have searched the GitHub issue tracker and didn't find a similar bug report.
[X] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Pinging some folks from the rolodex that might be able to help repro/test/fix.
@betodealmeida
@sujiplr
@nytai
@villebro

I don't see anything that has changed in the DruidEngineSpec files, but I did see we did bump pydruid. @betodealmeida @eschutho do you think that could have affect this?

I tried to recreate using sqlparse.format but couldn't, got GPT to write this, but wasn't conclusive
import sqlparse

sql = "SELECT case when __time > TIMESTAMPADD(DAY, -7, CURRENT_DATE) AND __time < TIMESTAMPADD(DAY, -7, CURRENT_DATE) FROM t;"
formatted_sql = sqlparse.format(sql, reindent=True, keyword_case='upper', strip_comments=True)

print(formatted_sql)

Also reviewed https://github.com/apache/superset/blob/master/superset/db_engine_specs/druid.py for SQL mutation logic that would be Druid specific and couldn't find anything...

@iercan can you add the version of your druid db and the driver?

@betodealmeida might have some intuition as to what might be adding those () after CURRENT_TIMESTAMP (?)

@iercan can you add the version of your druid db and the driver?

Apologies for the late reply. Druid version is 30.0.0 and pydruid is 0.6.9.

Error has gone on 4.1.0rc3


Going to a route that isn't defined is throwing a session error when using the "old" method.

Laravel Version: 5.5.3
PHP Version: 7.1.4-1+deb.sury.org~xenial+1
Database Driver & Version: mysql  Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using  EditLine wrapper

Description:
After upgrading from 5.4 to 5.5, going to a route that isn't defined is throwing a Session store not set on request. exception. I've traced it back to a form that's on every page that is using the following call:
old('email')

Steps To Reproduce:

Use old method anywhere in the master blade layout.
Go to route that isn't defined such as localhost:8000/route-that-does-not-exist.

How are you handling page-not-found exceptions? Are you displaying an error page that extends master? If so, the session isn't loaded in those situations and the error makes sense.

Yes, my error page is extending from master. Why would this be expected behavior? The session shouldn't disappear if the user goes to the wrong page.

The session is loaded at the completion of the request. An exception short circuits the request and session isn't loaded. Search through the issues on the repo. Seems like there were solutions discussed for this exact situation, a few weeks ago.

Actually it looks like it's not sessions in general. Just the old method. Calling something like session('key') and going to a page that isn't defined doesn't trigger this exception. So it's the old method specifically.

This is the correct behaviour. If you only load sessions on routes that are defined, then you can't use them on route misses.

If you want sessions on everything, move the middleware to the global middleware.


missing features

doesnt do commands, doesnt take out of chests

The mod has no commands yet.  Are you asking for commands that do the same as the key binds and the GUI-Buttons? Or are you requesting different functionality? Please specify in more detail.
Also the mod only automates Playermovement, Playerslotselection and Blockplacing. Automating taking items out of a chest is a feature that will probably not be supported in future versions. That however is probably not my definit position on this.
Also feel free to implement it yourself and open a pull request as I have other project with which I'm very busy right now :)

@kittenvr The feature to record/replay chest lotting,  item crafting and in general all inventory/chest activity has been added in the latest version

thank you


Support assets (CKAsset)

CloudKit has support for assets. It'd be nice to implement those into the package eventually.
However, we'd need to figure out how to implement the linking for this to work.
Two ways currently come to my mind:

Maintain the current CloudKitRecord.values structure (Map<String, dynamic>), add a new class for assets, check the values map for any CloudKitAsset values, and convert those to CKAssets on the platform side of the plugin.
Reconsider the usage of dynamic maps for values altogether and develop something that would match CloudKit's field types. While this will add some inconvenience (e.g., using CKValue.int(12) instead of 12), we'll get more safety and won't be able to use types that aren't supported by CloudKit (e.g., nested maps, which are currently allowed by the Dart API but will fail when trying to use them).

I favor the second option more, but I need some background thinking to see what works best.
I've also been thinking about code generation; not for this particular use case, but it may make syncing complex/large data easier while being the safer* way to design CloudKit models.
* I'm unsure if we can reach 100% yet; need to dig into CloudKit a little more for that

Going with the second option would also help with #2, #3 and #4 :)


Jenayah: Watch nex1music.ir

Jenayah requests the watch of the watch_keyword nex1music\.ir. See the MS search here and the Stack Exchange search here.

nex1music\.ir has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by tripleee in Charcoal HQ


feat: the ring of integers of the p-th cyclotomic field is a PID if p = 3 or p = 5

We prove that the ring of integers of the p-th cyclotomic field is a PID if p = 3 or p = 5.
From flt-regular

[x] depends on: #10492
[ ] depends on: #10502

Closing and reopening since I totally messed up the git history.

#10683


TabIndex1 Select Does Not Focus After Validated..

Hi How can i Focus On a Select Box that is Empty at the Start after the Form is Validated
I do Have  an Default Option though like this set up...
It is Just Showing the validation Error but is not focusing...
How can i Direct the Focus Of this in JS or Jquery?
<select id="powerselect" name="sponsor_link" tabindex="1" required=""
data-parsley-required-message="Sponsor Required!" data-parsley-trigger="change focusout">
    	<option value="" disabled selected datab-parsley-focus="">Choose Link</option>
</select>

All Input are Getting Focus Except this Select Box That I Have...

As I told you before, and as written in the Read Me, and in the Contributing guidelines, please ask you questions on StackOverflow.
Please also learn how to capitalize properly.


docs: add twitter link to readme

To remove old mailing list signup link and replace it with following us on Twitter. Replaces #6041 for consistency with our readme page.

:tada: This PR is included in v1.12.0 :tada:


Diagnostic tool with summary tab

Feature Description
Add a tool that calculates the standard stats from ArviZ in a data grid for the tool.

this will need to wait until the effective sample size tool has been created, since the summary uses ESS calculations, see https://python.arviz.org/en/latest/api/generated/arviz.summary.html#arviz-summary


Deployment is broken?

The problem
We recently merged an update in PR https://github.com/microsoft/json-schemas/pull/115, which can be seen here:
main branch:
https://github.com/microsoft/json-schemas/blob/d1890b4b74daa5fc33e029e6c25525e819c4f568/rush/v5/command-line.schema.json#L615
live branch:
https://github.com/microsoft/json-schemas/blob/e8f62f335947832dd392c8e6f19e2f71363aa32d/rush/v5/command-line.schema.json#L615
However 24 hours later, the CDN deployed file is still missing the new choiceList item:
https://developer.microsoft.com/json-schemas/rush/v5/command-line.schema.json
Possible regression?
@DevArvindsa Maybe the json-schemas deployment was broken by your recent change in https://github.com/microsoft/json-schemas/commit/04df5431a9aaca9aa5ba24d49da36ad23c5f3c3f ?  Could someone from Microsoft investigate? Thanks!
CC @iclanton @apostolisms @EscapeB

Is there any update? Seems JSON schema still not updated yet...

Unfortunately the schemas are still out of date

they are still out of date...

Our plan is to relocate the Rush schemas to the rushstack.io server. Let me see if I can prioritize that work.

@octogonz Can you check if the changes are reflecting now? Thx.

Can you check if the changes are reflecting now? Thx.

@ElizabethSamuel-MSFT No, if you open https://developer.microsoft.com/json-schemas/rush/v5/command-line.schema.json in a private browser tab and search for choiceList, it is still missing in this document.
If a fix has been made to the deployment pipeline, let me try committing a trivial change to force a redeployment, and see if that fixes it.

After merging PR #126 and waiting 5 minutes, the CDN is still serving the old version of the file.
@ElizabethSamuel-MSFT @DevArvindsa  Just to confirm: The procedure for deploying is as follows:

Merge your PR into main
git fetch
Checkout origin/live
Merge origin/main into live
Push to origin/live

Is that still the right steps?

@octogonz: I've confirmed that @DevArvindsa and crew are aware of this issue. I searched for "choiceList" and I see it now. Can you confirm? Thanks.

Yes, it was deployed successfully. 👍
Before closing this issue, to confirm that the pipeline is working, I will make another PR to revert my test change and check that it gets deployed also.

I created PR #127 which reverts PR #126, and merged that into main and then into live.
@ElizabethSamuel-MSFT @DevArvindsa 🤔 No after merging to live, 25 minutes later this URL does not reflect the change:
https://developer.microsoft.com/json-schemas/rush/v5/command-line.schema.json


[SPARK-24356] [CORE] Duplicate strings in File.path managed by FileSegmentManagedBuffer

This patch eliminates duplicate strings that come from the 'path' field of
java.io.File objects created by FileSegmentManagedBuffer. That is, we want
to avoid the situation when multiple File instances for the same pathname
"foo/bar" are created, each with a separate copy of the "foo/bar" String
instance. In some scenarios such duplicate strings may waste a lot of memory
(~ 10% of the heap). To avoid that, we intern the pathname with
String.intern(), and before that we make sure that it's in a normalized
form (contains no "//", "///" etc.) Otherwise, the code in java.io.File
would normalize it later, creating a new "foo/bar" String copy.
Unfortunately, the normalization code that java.io.File uses internally
is in the package-private class java.io.FileSystem, so we cannot call it
here directly.
What changes were proposed in this pull request?
Added code to ExternalShuffleBlockResolver.getFile(), that normalizes and then interns the pathname string before passing it to the File() constructor.
How was this patch tested?
Added unit test

Can one of the admins verify this patch?

Ok to test

Yes.
On Tue, May 29, 2018 at 1:18 PM, UCB AMPLab<EMAIL_ADDRESS>wrote:

Can one of the admins verify this patch?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/apache/spark/pull/21456#issuecomment-392929292, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AGGQ85WbYV_ltlcD5A3MK3zOJrToHUWvks5t3a0ggaJpZM4USJyt
.

ok to test

Test build #91321 has started for PR 21456 at commit 88bb478.

From my understanding, that option is only available with G1GC, which is not really a good fit for spark (forget the exact details but something about humongous allocations which are common with all the large byte buffers typical for spark).

Test build #91321 has finished for PR 21456 at commit 88bb478.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91321/
Test PASSed.

I confirm that the -XX:+UseStringDeduplication option is available only with G1 GC, and it is off by default. So if we decide to use it, I guess we won't be able to enforce it reliably, especially for applications that just use some library code from Spark (by the way, this issue was found in Yarn Node Manager). Another issue with the string deduplication in G1 is that it's not aggressive at all. It's done by one thread, that scans the entire heap when other threads are loaded lightly enough. In the case that we investigated, the number of duplicate strings was high, yet they were relatively short-lived. That is, they survived for enough time to create significant pressure on the GC, but I don't think that this timeframe would be enough for the deduplication thread to eliminate them.
In summary, this kind of targeted explicit string deduplication is not uncommon at all, and works really well. Usually you just need to add the .intern() call in a few places in the code. What I had to do here is quite involved because of the extra problem with java.io.File.

I guess I'm just very surprised if this single line is responsible for 10% of objects on the heap - are you sure? Can we otherwise optimize it elsewhere in the code? I am also not sure why this line would produce different paths for the same canonical path? because that's what's driving adding all this normalization logic.

OK, that's good evidence this is causing a lot of garbage. Although yes ideally we figure out just why there are so many of these stream objects, I can see optimizing this as it is. Yes I understand the intern issue here, but, not the need for normalization. It sounded like the strings were already mostly identical?

If we don't do normalization ourselves, we may potentially run into the following:
path = ...  // Produces "foo//bar"
path = path.intern();  // Ok, no separate copies of "foo//bar" anymore
File f = new Fille(path);
// Internally, code in File() constructor looks at the given path.
// If path is not in the normalized form, it normalizes it, producing a new stirng "foo/bar"
System.out.println(f.getPath());  // Prints "foo/bar"
Since the code inside java.io.File doesn't do any string interning, we will keep canonicalizing the "foo//bar" string, but then java.io.File will still generate multiple copies of "foo/bar".

OK I get it, it's not that different forms of the same path are formed, but that they're not canonical to begin with and so discarded by the File internals. And this logic isn't the full canonicalization logic reimplemented, but just eliminating successive "/"?

Re: normalization -- if I understand correctly, its not that you know that the normalization definitely does change the strings for the heap dump you have.  Its just to make sure that your change is effective even if normalization were to change things.  In practice, I don't think spark's usage should lead to any de-normalized paths, but I think its a good precaution.
Re: so many objects.  I don't think its that surprising actually.  Imagine a shuffle on a large cluster writing to 10k partitions.  The shuffle-read side is going to make a lot of simultaneous requests to the same shuffle-write side task -- all that data lives in the same file, just at different offsets.

@squito wrt. the added code for path normalization: exactly as you say. This is just a precaution in case spark (or even some code that above spark) ends up generating pathnames that contain repeated slashes.

Hm, I guess I was supposing that, in the context of a file stream, whatever I/O is done with it is going to be much more significant than string manipulation of its path. Would this really be called, say, a million times in a short period? I ran a quick benchmark to sense-check and looks like those million replacements take all of a second of CPU time. (This is with a precompiled Pattern)  It's minor here, but that's nontrivial extra code to get right and read and maintain, if that's all it's doing. Yes if it were an extreme hotspot it could be called for.

Ok, if you believe this is not a performance problem here, then it's fine with me. To save us some possible further bouncing of this review, can you please share here your pattern/regex code? I will then change my patch and re-push it.

I believe this would work, if the goal is simply to squash repeated slashes into one:
private static final Pattern MULTIPLE_SEPARATORS = Pattern.compile(File.separator + "{2,}");
private static String createNormalizedInternedPathname(String dir1, String dir2, String fname) {
  Matcher m = MULTIPLE_SEPARATORS.matcher(dir1 + File.separator + dir2 + File.separator + fname);
  return m.replaceAll("/").intern();
}

Just modified the code to use regexp and pushed the updates.

Test build #91362 has started for PR 21456 at commit f49512b.

Test build #91362 has finished for PR 21456 at commit f49512b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91362/
Test PASSed.

Merged to master. Probably Ok to backport if anyone feels strongly about it, but, let's let 2.3.1 and other imminent releases go out first.

OK by me except those branches are about to cut maintenance releases. I'd wait for right now I suppose, but, do not feel strongly about it if someone wants to take responsibility for merging it now.


Add draw distance enhancements for actors and scene geometry

Depends on https://github.com/Kenix3/libultraship/pull/605

Adds a checkbox for disabling scene geometry culling
Add slider for multiplying actor draw distance check
Add slider for multiplying actor update distance check

Build Artifacts

2ship-mac.zip
2ship-linux.zip
2ship-windows.zip

Seems like this causes the clock town houses displayed from termina field to be hidden. Not a huge issue cause it's fairly minor and marked as "unstable" for now

Idk if im a huge fan of the copied function but thats probably just because it's not documented, and I can't think of any other way of doing it really.

Yeah that's fair, it's mostly to ensure we always preserve the vanilla behavior by default just in case we cause some sort of weird calculation error in our version.


what would you like to call this package in bioconda?

assuming liftover is not an option?

I'm not a big user of bioconda, sorry. I'm happy to leave that up to you!


test: add common test methods for RBAC

Adds common test methods that are to be used in RBAC and fix flaky test

/ok-to-test sha=957dcdb

/ok-to-test sha=bc79009

/ok-to-test sha=bc79009


Object reference not set to an instance of an object

Connect-AzureAD -AzureEnvironmentName AzureGermanyCloud throws the following exception
`Connect-AzureAD : One or more errors occurred.: Object reference not set to an instance of an object.
At line:1 char:1

Connect-AzureAD -AzureEnvironmentName AzureGermanyCloud

  + CategoryInfo          : AuthenticationError: (:) [Connect-AzureAD], AadAuthenticationFailedException
  + FullyQualifiedErrorId : Connect-AzureAD,Microsoft.Open.Azure.AD.CommonLibrary.ConnectAzureAD

Connect-AzureAD : One or more errors occurred.
At line:1 char:1

Connect-AzureAD -AzureEnvironmentName AzureGermanyCloud

  + CategoryInfo          : AuthenticationError: (:) [Connect-AzureAD], AggregateException
  + FullyQualifiedErrorId : Connect-AzureAD,Microsoft.Open.Azure.AD.CommonLibrary.ConnectAzureAD

Connect-AzureAD : Object reference not set to an instance of an object.
At line:1 char:1

Connect-AzureAD -AzureEnvironmentName AzureGermanyCloud

  + CategoryInfo          : AuthenticationError: (:) [Connect-AzureAD], NullReferenceException
  + FullyQualifiedErrorId : Connect-AzureAD,Microsoft.Open.Azure.AD.CommonLibrary.ConnectAzureAD

Connect-AzureAD : One or more errors occurred.: Object reference not set to an instance of an object.
At line:1 char:1

Connect-AzureAD -AzureEnvironmentName AzureGermanyCloud

  + CategoryInfo          : NotSpecified: (:) [Connect-AzureAD], AadAuthenticationFailedException
  + FullyQualifiedErrorId : Microsoft.Open.Azure.AD.CommonLibrary.AadAuthenticationFailedException,Microsoft.Open.Azure.AD.CommonLibrary.ConnectAzureAD`

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 55574af9-0105-dcd1-7eb0-77513df4e54f
Version Independent ID: 5fe2849b-d39a-4d75-a5ce-e8f577c9a161
Content: Connect to Microsoft 365 with PowerShell - Microsoft 365 Enterprise
Content Source: microsoft-365/enterprise/connect-to-microsoft-365-powershell.md
Service: microsoft-365-enterprise
GitHub Login: @kelleyvice-msft
Microsoft Alias: kvice

@webfort Thank you for your feedback. This seems more of a technical issue as it is failing due to an authentication error. I'd recommend you contact Support via the need help section on the admin center so that an engineer will be able to help you.
Hope this helps!
Thanks
Sri

@msbemba Thank you very much for the contribution and sharing this explanation. @webfort Hope this comment is helpful for you. Considering the nature of the issue, as advised, please open a service ticket in your tenant and follow with them for the resolution. You can contact Microsoft support via the need help section on the admin center. We proceed to close it as here we are limited to documentation fixes and improvements only.
We will be very happy if you can share the outcome or resolution with us if you see documentation update is required. We will certainly update this documentation with that valuable information. Thanks again, for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Host API for future Academy Tutorial Apps to use when deploying

API must be served over HTTPS with CORS enabled.

API should be hosted on a separate server from place-my-order app.


Ability to view the status of a PR

It would be good to have a command like git node view 11111 to see if a PR is ready to land, without calling git node land 11111.

perhaps git node land 111 --dry-run

Anything missing from git node metadata 111 ?

It seems git node metadata requires jenkins token, but git node land does not...

I thought git node land required it as well. Anyway it's quite easy to create a jenkins token.


Universial UTXO builder

Make UTXO accessible as both input and output.
type Something = (UTXO -> UTXO)

Done in #16


Update MetarTest (Text Correction for A few -> Few)

Replaced 'A few' with 'Few' to pass the build test ( 3 Instances found/corrected ) ... Just a text correction

Do it as part of that same PR - just a new commit there fixing it

Will need to find how it is done first :) Sorry I am really new to Github and its logic, trying to get familiar with it.


Documentation for Adding a new entity

I'm following the instructions on how to add a new element, but am getting an error.
// In the form builder
                'allow_add' => [
                    'enabled' => true,
                    'new_tag_text' => ' (NEW)',
                    'new_tag_prefix' => '__',
                    'tag_separators' => '[";", "]'
                ],

Now instead of returning an array of objects of my class, it returns an array that includes strings.  The new_tag_text and prefix don't seem to be doing anything, at least not when I'm looking at what's submitted in the form.
I can intercept the text and create the new elements, but even when I do that, the $values array passed to the transform service includes the strings.  So it fails during the SQL, when it's trying to look up the objects by their id's, e.g.
FROM tag t0_ WHERE t0_.id IN (?, ?)' with params ["ABC IS A NEW ELEMENT", "3"]:

So I'm missing some critical step, where the new string is inserted into the database and gets an id.
Are there any examples?  I see there's a reference to a PrePersist Listener, but not sure how to implement that.
Thanks.

I've created an example of the problem I'm having adding a new entry to show the error I'm getting:
An exception occurred while executing 'SELECT c0_.id AS id_0, c0_.name AS name_1, c0_.alpha2 AS alpha2_2 FROM country c0_ WHERE c0_.id IN (?)' with params ["Elbona"]: SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for integer: "Elbona"

https://select2-demo.herokuapp.com/form/?formClass=App\Form\AddNewCountryFormType
Source code is also shown on that page.
So when a new element is added, the form contains an array that includes the new element as a string.  So how should this be handled?
Source code is at https://github.com/survos/select2entity-bundle-demo, takes only 30 seconds to clone and launch.

@tetranz Any chance you could look at this?  I'm sure it works, but I'm at a loss as to how to configure it.

I'll try to take a look at this over the weekend.

@tacman I had a play with this. Unfortunately I was not able to reproduce the problem.
Firstly, I couldn't install your repo because it requires PHP 7.3. I should probably upgrade my test VM to 7.3 but I don't have time for that right now.  It's something to do with ocramius/package-version but I couldn't see what requires that.  If you change it to run on 7.1, I can take another look.
So then ...
I copied your AddNewCountryFormType and controller to my test system and got it working. It works for me. When you add a new country (tag) the value comes through to the transformer as an array of strings prefixed by __. That's correct.
Then I looked at your page https://select2-demo.herokuapp.com/form/?formClass=App\Form\AddNewCountryFormType
Somehow it is not seeing the data attributes. Specifically data-tags-text and data-new-tag-prefix exist on the select tag but somehow is not seen by the Javascript. I don't know why.
You can observe the immediate problem simply by entering two characters. The resulting dropdown does not have (NEW) appended to it.
Again, if you can make you code work in PHP 7.1, I;ll take another look.

@tacman I had a play with this. Unfortunately I was not able to reproduce the problem.
Firstly, I couldn't install your repo because it requires PHP 7.3. I should probably upgrade my test VM to 7.3 but I don't have time for that right now.  It's something to do with ocramius/package-version but I couldn't see what requires that.  If you change it to run on 7.1, I can take another look.
So then ...
I copied your AddNewCountryFormType and controller to my test system and got it working. It works for me. When you add a new country (tag) the value comes through to the transformer as an array of strings prefixed by __. That's correct.
Then I looked at your page https://select2-demo.herokuapp.com/form/?formClass=App\Form\AddNewCountryFormType
Somehow it is not seeing the data attributes. Specifically data-tags-text and data-new-tag-prefix exist on the select tag but somehow is not seen by the Javascript. I don't know why.
You can observe the immediate problem simply by entering two characters. The resulting dropdown does not have (NEW) appended to it.  The posted value does not have __ prepended so therefore the transformer does not recognize the value is new so the code falls through to the SQL query which fails. If the __ was there, the first loop in the transformer would remove it from the query.
Again, if you can make you code work in PHP 7.1, I'll take another look.

OK, I've removed doctrine/orm-pack, which got rid of migrations, which had a dependency that required php 7.3.  I think it will run now on 7.1
git clone git@github.com:survos/select2entity-bundle-demo.git sel2-demo && cd sel2-demo
composer install
bin/console doctrine:schema:update --force && bin/console doctrine:fixtures:load -n
yarn install
yarn run encore dev

Thanks!

BTW, I locked select2.js at 4.0.5 because of the bug with the field losing focus on multiple selects.  I think that's been fixed in master, not sure if there's a release yet.  Not sure if that's related.

I've updated select2.js to 4.0.8 (the latest version), still having the
same issue on the demo.
On Sun, Aug 4, 2019 at 7:13 PM Ross Keatinge<EMAIL_ADDRESS>wrote:

@tacman https://github.com/tacman I had a play with this. Unfortunately
I was not able to reproduce the problem.
Firstly, I couldn't install your repo because it requires PHP 7.3. I
should probably upgrade my test VM to 7.3 but I don't have time for that
right now. It's something to do with ocramius/package-version but I
couldn't see what requires that. If you change it to run on 7.1, I can take
another look.
So then ...
I copied your AddNewCountryFormType and controller to my test system and
got it working. It works for me. When you add a new country (tag) the value
comes through to the transformer as an array of strings prefixed by __.
That's correct.
Then I looked at your page
https://select2-demo.herokuapp.com/form/?formClass=App\Form\AddNewCountryFormType
Somehow it is not seeing the data attributes. Specifically data-tags-text
and data-new-tag-prefix exist on the select tag but somehow is not seen
by the Javascript. I don't know why.
You can observe the immediate problem simply by entering two characters.
The resulting dropdown does not have (NEW) appended to it. The posted
value does not have __ prepended so therefore the transformer does not
recognize the value is new so the code falls through to the SQL query which
fails. If the __ was there, the first loop in the transformer would
remove it from the query.
Again, if you can make you code work in PHP 7.1, I'll take another look.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tetranz/select2entity-bundle/issues/150?email_source=notifications&email_token=AAEXIQJ7KVQH2WFECOZLXFDQC5PBDA5CNFSM4IFOQZAKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3QLSNQ#issuecomment-518043958,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEXIQKDJMJGNNH74PZQNITQC5PBDANCNFSM4IFOQZAA
.

@tacman I got it working this time.
I think the main problem is that the code from select2entity.js is not being loaded. Unfortunately I'm not an expert at all on webpack etc. I need to learn more about that.
Maybe I'm missing it but I don't see where you tell it to load select2entity.js.
I realize that you're trying to do the correct thing and crunch it into app.js. I'd like to learn how to do that too and document it properly. I'm not sure if the package needs to be modified to make that possible.
That said, this is how I got it working.
In webpack.config.js I add this under the .addEntry('app' line.
.addEntry('tetranz', './vendor/tetranz/select2entity-bundle/Resources/public/js/select2entity.js')

Uncomment the .autoProvidejQuery() line.
In the base.html.twig add this:
{% block javascripts %}
  {{ parent() }}
  {{ encore_entry_script_tags('tetranz') }}
{% endblock %}

You don't need the $('.js-select2').select2({}); you have in app.js and (I assume) the related js-select2 class on the form element.
Then it should work. I know that's not the perfect answer but it illustrates the basic problem that the code is not being loaded. Your form etc is all okay although note that add new tag functionality only works with multiple = false.
Maybe someone else can give some advice here as to the correct way to do it.

Thanks!  Yep, that works now.  I've updated the demo and documentation. So I was using the PHP part of this bundle to create the data attributes on the form elements, but then only calling the select2 javascript, which worked for the selection.
Thanks for your help in figuring this out!


[EnumRequest] Table Production Order - Field Status

Can you please change the field "Status" for Production Order and related Tables using the Status to an extensible enum.
Thank you.

Why do you ask? This is already implemented.

Why do you ask? This is already implemented.

which release? i just updated my container - still an option

We implement Enums in Master (=17x). This enum have been implemented after release of 16.0 and only available in Master.


expose Table's  currentPage as prop

Fixes #386, enables controlling initial page number of b-table.

@frantic1048 Thanks!


Found an assert that I think can fail

https://github.com/Akuli/jou/blob/b6f167613536f9dbc19cb21a14b583cb192c6150/src/build_cfg.c#L324-L325
&*foo simply evaluates foo, which could be of the wrong type.

This causes the assert to fail.
def main() -> int:
    foo = 1
    *foo = 2
    return 0


Fix grammar and improve sentences

Fixed a grammar mistake and made a sentence more appropriate in footer.html

Valeu!


Broken Link

https://sendgrid.com/docs/User_Guide/Transactional_Email/unsubscribes.html has a broken link to the global unsub page.
Should be something like app.sendgrid.com/suppressions/global_unsubscribes

Hello @ohhdear,Thanks for your suggestion or question! In an attempt to clear out our backlog,                                              we are closing out issues over 90 days old.                                             If this is still an issue, please feel free to reopen it.                                             Team SendGrid DX-Docs


Keyboard navigation disabled by clicking the calendar

When a date input is clicked to bring up the datepicker, keyboard navigation is possible using the arrow keys. If a date is now clicked with the mouse, the input field loses keyboard focus and keyboard navigation is no longer possible.
Steps to reproduce

Run this fiddle: http://jsfiddle.net/aljungberg/tNdCf/1/
Click the text field.
Hit the right arrow key and see date change.
Click some date.
Hit the right arrow key.

Expected result:
date changes
Actual result:
nothing happens
I believe that the datepicker should react to clicks by doing whatever it wants to do and then refocusing the input field as to retain the ability to catch key up events.

I am still facing this issue in 1.7.1. using NPM repository to install dependency.


Executing a --onefile mode binary on Windows results in "This app can't run on your PC" dialog

Nuitka version, full Python version, flavor, OS, etc. as output by this command.

python -m nuitka --version

1.8rc9
Commercial: None
Python: 3.9.7 (tags/v3.9.7:1016ef3, Aug 30 2021, 20:19:38) [MSC v.1929 64 bit (AMD64)]
Flavor: CPython Official
Executable: C:\Users\guy\Documents\Projects\Python\bark\venv\Scripts\python.exe
OS: Windows
Arch: x86_64
WindowsRelease: 10
Version C compiler: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\bin\HostX64\x64\cl.exe (cl 14.3).

How did you install Nuitka and Python

I downloaded and installed Python from python.org, and then installed Nuitka from pip in a virtual environment.

The specific PyPI names and versions

I've narrowed down the issue to one package: torch.

python -m pip freeze

...
Nuitka @ https://github.com/Nuitka/Nuitka/archive/develop.zip
...
torch==2.0.1+cu118
torchaudio==2.0.2+cu118
torchvision==0.15.2+cu118
...

Note: this is a version of torch with CUDA bundled with it (I'm not sure if that matters).

Also supply a Short, Self Contained, Correct, Example

import torch

print(f'PyTorch version: {torch.__version__}')

Provide in your issue the Nuitka options used

The command used to build the .exe was this:
nuitka --mingw64 --onefile --output-dir=dist/ --output-filename=bark main.py

However, the following command works (using standalone instead of onefile):
nuitka --mingw64 --standalone --output-dir=dist/ --output-filename=bark main.py

I have tried with compilers other than mingw64, and the problem persists.

Note if this is a regression

I have not used a previous version of Nuitka.
More info:
The actual build/compile works fine. The exe is created and saved to disk. The issue is when I run the exe Windows yells at me that it can't run the app. I have tried building (with the onefile switch) a simple script:
print('hello world')

and Windows has no problem executing the resulting exe. However when I try the problem script described above I get the blue Windows pop up that says "This app can't run on your PC". Running the exe from a terminal says something along the lines of "the app is not supported by your OS".
I've searched Google and the issues in this repo but I haven't found anything similar to what I'm running into. Any ideas?

 I'm like 99% sure it has to do with the size limit of PE's in Windows. The exe from onebuild is ~2.8 GB. I'll just use standalone mode.

Thanks for looking into this. I did some research last night and there is a flag at 0x0020 in the executable that theoretically tells Windows to address 4 GB instead of 2 GB but I couldn't find anything more on it than that.
I've started compiling the onefile with the --report switch and will upload the results when it's done. It takes about an hour and a half

So, resources have a 2GB limit, and the PE file spec says that there is a 2GB limit for the image size, so we are kind of lost there more or less forced back to using overlays at least for that size. These are outside of the PE file with whatever that causes. But maybe we can cut down on included data files and DLLs. The maker of 7-zip apparently figured out what to do, to get the bigger image for 64 bits only, not sure if it's a good idea.
I guess, what we probably have to do is to add support for a split mode, or the overlay back. I will assume the overlay is going to work well enough. I would have though that windows resources do not count to the image size, and are loaded later only. If they are not, that's actually also bad, because it blocks memory.

Sorry for the delayed response, been a crazy day. I've attached the report.
main-report.txt

Pick up the torch\include files seems very wasteful, I wonder if it can do without. Compiling on the target machine is very unlikely to be done on at least Windows. Just delete them from standalone compilation, and see if it is really required. Not sure what they sum up, but it's terrible for onefile performance surely to create/check this many files.

It looks like removing tourch\include from the standalone build doesn't break anything. Now the question is how do I exclude it from compilation? Would it be something like --nofollow-import-to='torch/include/*'?

The help output of Nuitka for data files will be your friend when it comes to data files. The one for modules, not.

So I finally got around do doing another build sans the torch includes. I ran the following command:
nuitka --msvc="14.3" --lto=no --standalone --include-package-data=bark --noinclude-data-files="torch/include" --output-dir=dist/ --output-filename=bark src/main.py

I confirmed that the torch/include folder was not in the standalone build. I then ran the same command, but replacing --standalone with --onefile and the final exe was still 2.7 GB with Windows still refusing to execute it. Not really sure what to make of that

There may also be a src folder right?

I found that the torch/lib folder contains 4GB of DLLs. I tried deleting that folder to see if it's required and my program still runs fine without it. I also noticed that the root folder of a standalone build has copies of all DLLs from the torch/lib folder. I've tried using a --noinclude-data-files="torch/lib" switch when building but the torch/lib folder is still there.
Also I see you added the "needs example" tag. You can check out my project. I've also uploaded a zipped standalone build to Google Drive that was compiled with the following command:
nuitka --msvc="14.3" --lto=no --standalone --include-package-data=bark --noinclude-data-files="torch/include" --noinclude-data-files="torch/lib" --output-dir=dist/ --output-filename=bark src/main.py

DLLs are not data files. These DLLs not being required is very interesting. I wonder how to figure out, what is needed at all. I need to make a good coverage of my torch examples in Nuitka-Watch and then change the default package configuration to not do these things by default. Maybe torch can become a lot more lightweight at the end of the day. A big problem here, is that I am by no means an expert on their distribution.

Ok so --noinclude-dlls="torch/*" results in a build with no torch/lib folder. I do get a warning when running the exe that nvfuser_codegen.dll could not be found. This file is in torch/lib but is not copied to the root folder during compilation like the other DLLs. I'm always uneasy when I see warnings, but after a quick smoke test the app seems to be running fine.
As expected the standalone size went down from 8GB to 4GB, since there are no longer duplicated DLLs. And the onefile build is only 1.3GB and also seems to work with no issues.
I wish I could help more but I'm not familiar with torch either. I'm barely familiar with python lol. I figured the app still runs because the DLLs are copied to root, but I have no idea if that's accurate.

Duplicated DLLs sounds really bad too. The DLLs are probably pulled in by detecting that extension modules use them. In case DLLs have to be duplicated (that happens occasionally, but not here likely), Nuitka should also be able to reference content and file names separately.
Overall it seems the current package config for toch is pretty much extremely ineffecient.


Captcha not loading at first time

Hello,
I'm having some problem to load the captcha at first time on my page. Sometimes it's at first time it works and sometimes only after reload the page.
Not browser related. Tested on: Firefox and Chrome.
No console errors.
No resource loading erros at network.
Packages:
angular:~1.4.8
angular-recaptcha:~2.2.5
Any ideas?

Solved. API Javascript must be loaded using:

I also have this problem, please @rluders how do you fixed this issue?

I also have this problem, please tell me  @rluders ,the above solution is not working.

@manuel-di-iorio @lakshbhutani well... It was in 2015. I have no idea. I'm not using AngularJS anymore.

I have some problem  load the captcha at first time on my page, once refresh page I able to see captcha.
I configure in index.html

i also tried this,but not working


[FEATURE] Better image scaling with SVG (on Wayland)

Description of the requested feature
As for now, when I use the image widget with an SVG and an integer scaling on Wayland of 2, they appear blurry. That's probably the case because the Scalable vector graphic is scaled up the same way as any other raster-based image (JPEG, PNG, etc.). The feature I had in mind is to implement a scaling method for any vector-based image without loosing on quality.
Proposed configuration syntax
It could automatically be detected or explicit stated.
(image :path "icon.svg" :vector true)
Additional context
I use Hyprland with Wayland and an integer scaling of 2 on a 2880×1440 monitor with HiDPI.

I think I found the solution in these two posts, and it applies to raster images as well as SVGs: 1.  2.
When an SVG is read as an image, it's read into a GTK "pixbuf" which is always raster (it's basically just an array of pixels). In theory would be fine - just write more pixels into the pixbuf. However, a pixbuf is always rendered in logical pixels rather than display pixels, so this would scale it up too big (and still be blurry).
The solution is to fill the pixbuf at 2x scale (or whatever the scale should be), and then convert it to a cairo surface, which supports rendering at integer scales. Then the final image can be set from the cairo surface.
I'm going to play around with this soon, it should be relatively straightforward to implement.

I came across the librsvg library, which appears to serve a similar purpose to ours—rendering SVG icons on the desktop. Although I haven't used GNOME in a while, I don’t recall it having issues with blurry icons.


Example Site in Install Instructions Failing on Windows

🐛 Bug Report
Example site fails to compile on Windows
SyntaxError: C:\projects\mysite.docusaurus\registry.js: Octal literal in strict mode (9:103)
Node Version: 12.13.1
Have you read the Contributing Guidelines on issues?
Yes
To Reproduce
I followed the installation instructions here: https://v2.docusaurus.io/docs/installation/

npx @docusaurus/init@next init mysite classic
cd mysite
npm start

Expected behavior

Example site compiles and content can be viewed at localhost:3000
Actual Behavior

Example site compiles with errors and site content is not displayed at localhost:3000/ .
SyntaxError: C:\projects\mysite.docusaurus\registry.js: Octal literal in strict mode (9:103)

Reproducible Demo

npx @docusaurus/init@next init mysite classic

Thanks for reporting. We'll release a fix soon

Thank you @endiliey.  I am really enjoying Docusaurus2.