MIPS32 24K / 24KE TARGET

Is there a target for MIPS32 24K / 24KE?
http://en.techinfodepot.shoutwiki.com/wiki/MIPS32#MIPS32_24K_.2F_24KE

Not specifically - you could try TARGET=P5600

Mhh I got this with P5600 on compilation.
{standard input}:207: Error: opcode not supported on this processor: mips32r5 (mips32r5) `rdhwr $2,$30'
{standard input}:289: Error: opcode not supported on this processor: mips32r5 (mips32r5) `rdhwr $2,$30'
{standard input}:330: Error: opcode not supported on this processor: mips32r5 (mips32r5) `rdhwr $2,$30'

It is a Mediatek MT7688 https://docs.onion.io/omega2-docs/omega2.html#omega2

I think that chip is a mips32r2. P5600 set mips32r5

Setting the TARGET=1004K that is -mips32r2 I got:
getarch.c:1164:2: error: #error "The TARGET specified on the command line or in Makefile.rule is not supported. Please choose a target from TargetList.txt"  #error "The TARGET specified on the command line or in Makefile.rule is not supported. Please choose a target from TargetList.txt"

Sorry, that seems to be an omission in getarch.c (the 1004K target is basically the same as P5600 but with the compiler options set to -mips32r2 . Back when I added it getarch.c did not yet have the code to catch invalid target names, and it seems I need to dig out that little ubiqiti router again and confirm everything still builds).

Can you try what happens when you hack the Makefile.prebuild and Makefile.options to change mips32r5 to mips32r2 (and perhaps remove the mtune=P5600 where you encounter it) and then
build for TARGET=P5600 ?

BTW what does /proc/cpuinfo contain on your system (assuming that it is some flavor of Linux or Unixoid that has /proc) ? The current check in cpuid_mips.c just tries to read the plaintext name rather than the numeric cpuid

Do you mean on the target machine? Cause I am cross-compiling from a x86 host.

Linux OpenWrt 4.14.171 #0 Thu Feb 27 21:05:12 2020 mips GNU/Linux
system type             : Qualcomm Atheros QCA956X ver 1 rev 0
machine                 : TP-Link Archer C7 v5
processor               : 0
cpu model               : MIPS 74Kc V5.0
BogoMIPS                : 385.84
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        : mips16 dsp dsp2
Options implemented     : tlb 4kex 4k_cache prefetch mcheck ejtag llsc dc_aliases perf_cntr_intr_bit cdmm nan_legacy nan_2008 contextconfig perf
shadow register sets    : 1
kscratch registers      : 0
package                 : 0
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available

@brada4 I see you are on openwrt. I am trying exactly to prepare a package feed for openblas. Do you have already a recepit?
system type        : MediaTek MT7688 ver:1 eco:2
machine            : Onion Omega2+
processor        : 0
cpu model        : MIPS 24KEc V5.5
BogoMIPS        : 385.84
wait instruction    : yes
microsecond timers    : yes
tlb_entries        : 32
extra interrupt vector    : yes
hardware watchpoint    : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa            : mips1 mips2 mips32r1 mips32r2
ASEs implemented    : mips16 dsp
shadow register sets    : 1
kscratch registers    : 0
package            : 0
core            : 0
VCED exceptions        : not available
VCEI exceptions        : not available

@bhack no yet, but I will try. You try too.
Start with 'make' see if builtin tests dont fail, etc, btw there is no fortran which implies no reference blas either.

@brada4 It is a WIP if you want to try https://gist.github.com/bhack/60f61083d3264f4c1e11fbd7ff1225fd

@martin-frbg with -mips32r2 -mtune=24kc i got.
blas_server.c: In function 'blas_thread_init':
blas_server.c:585:95: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'int' [-Wformat=]
         fprintf(STDERR, "OpenBLAS blas_thread_init: pthread_create failed for thread %ld of %ld: %s\n", i+1,blas_num_threads,msg);
                                                                                ~~^

{standard input}: Assembler messages:
{standard input}:207: Error: opcode not supported on this processor: mips32r2 (mips32r2) `rdhwr $2,$30'
{standard input}:289: Error: opcode not supported on this processor: mips32r2 (mips32r2) `rdhwr $2,$30'
{standard input}:330: Error: opcode not supported on this processor: mips32r2 (mips32r2) `rdhwr $2,$30'
Makefile:125: recipe for target 'blas_server.o' failed

That error looks strange, are you sure that the assembler gets picked up from the cross-compile toolchain ? (I believe the rdhwr $2,$30 is generated by the toolchain compiler - though the definition of the "rpcc" macro in common_mips.h also contains a similar rdhwr instruction with a value of 30)

@martin-frbg It is quite easy to test
From https://github.com/OnionIoT/source#using-the-docker-image
To prepare the toolchain and minimal build in Docker
docker run -it onion/omega2-source /bin/bash
./scripts/feeds update onion
sh scripts/onion-minimal-build.sh

When it is ready put your branch/PR coomit hash makefile like this in in package/libs/openblas/Makefile
include $(TOPDIR)/rules.mk

PKG_NAME:=OpenBLAS
PKG_VERSION:=0.3.9
PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/OpenBLAS-$(PKG_VERSION)
#PKG_SOURCE:=v$(PKG_VERSION).tar.gz
#PKG_SOURCE_URL:=https://github.com/xianyi/OpenBLAS/archive/
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/martin-frbg/OpenBLAS.git
#PKG_HASH:=28cc19a6acbf636f5aab5f10b9a0dfe1
PKG_SOURCE_VERSION:=00172d440bfc7dedc8523a4cdad58b685801bb76
include $(INCLUDE_DIR)/package.mk

define Package/openblas
  SECTION:=libs
  CATEGORY:=Libraries
  TITLE:=An optimized BLAS library
  URL:=https://www.openblas.net/
endef

define Package/bridge/description
  OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version
endef
# Package build instructions; invoke the GNU make tool to build our package
define Build/Compile
        $(MAKE) -C $(PKG_BUILD_DIR) \
           NOFORTRAN=1 \
           TARGET='1004K' \
           HOSTCC=gcc \
               CC="$(TARGET_CC)" \
           CFLAGS="$(TARGET_CFLAGS)" \
          LDFLAGS="$(TARGET_LDFLAGS)"
endef
define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
        $(INSTALL_DIR) $(1)/usr/include
        $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/
endef

define Package/openblas/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(INSTALL_BIN) $(PKG_BUILD_DIR)/usr/lib/libOpenblas.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,openblas))

And then compile you could compile OpenBLAS with
make package/libs/openblas/compile -j1 V=s

/cc @commodo if you are interested for the openwrt part of the thread.

native build on usb chroot did not complain about invalid opcodes yet.
rdhwr and 32 registers are mips1, fpu2008 is mips4, so mips5 should cover both
I think something missing in a cross-compiler vs native compiler that assembler under the hood rejects valid instruction for architecture.
Once the build is over (does not look like soon) I will report back with log.
More or less what I did:

mount usb stick, but with f2fs, somehow ext4 peaked router CPU
zram-swap - apparntly 128MB RAM is insufficient for git-http clone, nor svn supports http(s)
clone (copy) libc installation - /usr/lib/opkg - 3 files from there plus edited list to leave single package, and 3 libs from other places to chroot (a new directory on USB)
bind-mount /dev and /proc to chroot
opkg -o /dev/sda/chroot install ash busybox opkg usign
chroot /mnt/sda/chroot /bin/ash
now you should be able to install git-http make gcc perl perlbase-file, maybe you need to mkdir -p some stuff to make opkg happy.
git clone
make target=P5600
.... still waiting

Though not sure what is practical consumer that is C-only on 128MB RAM.
Since we are

@brada4 The cross-compile openwrt docker has gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0

From what I could find it is more likely a binutils bug in the toolchain - "read hardware register" should be a legal MIPS32R2 instruction, perhaps the assembler does not know the 24K cpu ?

@brada4 The cross-compile openwrt docker has gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0

Ubuntu ships no mips compiler.
@OpenWrt:/openblas# gcc --version
gcc (OpenWrt GCC 7.4.0) 7.4.0
@OpenWrt:/openblas# opkg list | grep ^gcc
gcc - 7.4.0-5 - Build a native toolchain for compiling on target device.

From what I could find it is more likely a binutils bug in the toolchain - "read hardware register" should be a legal MIPS32R2 instruction, perhaps the assembler does not know the 24K cpu ?

In addition fpu=2008 fails to link together with fpu=generic libc/libm.

you mean -mnan=2008 ? Could be that requires mips32r5, I do not think our Makefiles use this in conjuction with 32r2 hosts anyway

The toolchain in the docker is build in "./staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/lib/gcc"

So problem is with that toolchain, please try official OpenWRT mips SDK toolchain, that should contain gcc 7.4 or 7.0

Just for testing, could you try deleting the line with the "rwhdr" instruction in common_mips.h and/or the "#define RPCC_DEFINED" that accompanies it ? I believe this is only meant to read the cycle counter for profiling purposes so should not matter in normal operation. Perhaps this can even be a priviledged instruction not available to userspace in some circumstances ? At the very least, this would tell us if it is actually something the compiler generated itself (as I originally assumed due to the register number mismatch, but the %0 in the macro may be a gcc alias for the same thing) or code imported from this macro

Read Hardware Register
RDHWR                       -  page 208
MIPS32® Architecture For Programmers Volume II: The MIPS32® Instruction Set, Revision 2.62
Copyright © 2001-2003,2005,2008-2009 MIPS Technologies Inc. All rights reserved.
Restrictions:
In implementations of Release 1 of the Architecture, this instruction resulted in a Reserved Instruction Exception.
Access to the specified hardware register is enabled if Coprocessor 0 is enabled, or if the
corresponding bit is set in the HWREna register. If access is not allowed or the register is not implemented, a Reserved Instruction Exception is signaled.

So perhaps binutils assumes coprocessor not present/not available ? (the document does not spell it out whether this coprocessor is the fpu, but perhaps adding -mhard-float (if applicable)
would help to make sure the fpu is online)
Does it help when you add  -march=24kc in addition to -mips32r2 ?

@martin-frbg I am on https://github.com/xianyi/OpenBLAS/pull/2565. What TARGET i need to set?

-mtune=24kc was already inherited but then setting TARGET with your PR I have -mtune was already specified, is now p5600.

Can you try TARGET=24K please (this does not set any -mtune at the moment, so if mtune=24kc is inherited this should be best)

@martin-frbg Yes see my comment in your PR

OK, so back to using TARGET=P5600 for now, can you hack Makefile.system to fix the mtune in addition to the mips revision number in the ifeq $(CORE), P5600 block ?

After taking out -mnan=2008 it links right, no tests ran though
 OpenBLAS build complete. (BLAS CBLAS)

  OS               ... Linux
  Architecture     ... mips
  BINARY           ... 32bit
  C compiler       ... GCC  (cmd & version : gcc (OpenWrt GCC 7.4.0) 7.4.0)
  Library Name     ... libopenblas_p5600-r0.3.9.dev.a (Single-threading)

Ill try R2, to answer question inregard gcc vs assembly. But that comes with time.

@martin-frbg With that
mipsel-openwrt-linux-musl-gcc -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -iremap/root/source/build_dir/target-mipsel_24kc_musl/OpenBLAS-0.3.9:OpenBLAS-0.3.9 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -O2 -DMAX_STACK_ALLOC=2048 -Wall -mabi=32 -mips32r2  -DF_INTERFACE_GFORT -fPIC -DNO_LAPACK -DNO_LAPACKE -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=4 -DMAX_PARALLEL_NUMBER=1 -DVERSION=\"0.3.9.dev\" -DASMNAME=parameter -DASMFNAME=parameter_ -DNAME=parameter_ -DCNAME=parameter -DCHAR_NAME=\"parameter_\" -DCHAR_CNAME=\"parameter\" -DNO_AFFINITY -I../..

But same dhwr $2,$30 issue.

OK so the -mtune does not help in this regard. So what happens when you change the RPCC macro in common_mips.h, does the rdhwr issue go away then ?

@brada4 I am losing track now - was this with the "official" mips toolchain and/or with any changes to the rpcc macro ?

@martin-frbg
https://downloads.openwrt.org/releases/19.07.2/targets/ath79/generic/ by the end of page , file with SDK in the name, its to run on normal linux.

@martin-frbg With that change it works fine. But had many linking fails like
/mipsel-openwrt-linux-musl/bin/ld: failed to merge target specific data of file ../libopenblas_p5600p-r0.3.9.dev.a(saxpy.o)

Comparing processors mine is Kc , his is KEc, mine has dsp2, theirs 4x DSP1 but no DSP2

@martin-frbg With that change it works fine. But had many linking fails like
/mipsel-openwrt-linux-musl/bin/ld: failed to merge target specific data of file ../libopenblas_p5600p-r0.3.9.dev.a(saxpy.o)

You have to remove nan=2008 to link with openwrt musl libc, e.g. like my experimantation goes.
ifeq ($(CORE), P5600)
# CCOMMON_OPT += -mnan=2008 -mips32r5 -mtune=p5600  $(MSA_FLAGS)
# CCOMMON_OPT += -mips32r5 -mtune=p5600  $(MSA_FLAGS)
CCOMMON_OPT += -mips32r2 -mtune=p5600  $(MSA_FLAGS)
FCOMMON_OPT += -mips32r5 -mtune=p5600  $(MSA_FLAGS)
endif

@brada4 Ok sorry I missed your previous comment now it is ok without the rdhwr
 OpenBLAS build complete. (BLAS CBLAS)

  OS               ... Linux
  Architecture     ... mips
  BINARY           ... 32bit
  C compiler       ... GCC  (cmd & version : mipsel-openwrt-linux-musl-gcc (OpenWrt GCC 7.3.0 r7456-ddd04310cb) 7.3.0)
  Library Name     ... libopenblas_p5600p-r0.3.9.dev.a (Multi-threading; Max num-threads is 4)

That one was -mips32r2 -mtune=24kc

@brada4 thanks. I doubt the version level of the DSP extensions plays a role here (though DSP2 seems to come with a few vector instructions?).
So the primary result of this thread is that we might want to add an entry to the faq, something like "if you encounter compiler errors about RDHWR when compiling for mips, throw away your compiler and get an officially supported toolchain for your architecture instead" ?

Onion Omega2+ is sort real hardware, just that they did something bad to upstream toolchain when stuffing it into docker.....
Technically adequate statement, but something that goes easier with exploring first-time user would be better. Actually half of issues are of that kind all the time.

I've notfied them at https://github.com/OnionIoT/source/issues/22

Please try this SDK in the meantime:
https://downloads.openwrt.org/snapshots/targets/ramips/mt76x8/
Thats what I see in docker menuconfig part if you intend to do full build

@martin-frbg built with mips32r2 very well
I dont know if it is too much fro test to make simple libm formula and try linking to it for initial test?

Sorry I do not understand, simple libm formula for doing what ?

Just link an object that certainly uses libm and gets marked with nan=2008 ABI, then would not link in the end.

@brada4 I am trying to compile with an updated openwrt (19.07.2) official toolkit. In the main time what do you suggest to use in the Openwrt openblas Makefile WIP.
For cross-compilation how we could handle Openblas TARGET insde Openwrt?

Same problem with Openwrt (19.07.2):
{standard input}:209: Error: opcode not supported on this processor: mips32r2 (mips32r2) `rdhwr $2,$30'
{standard input}:233: Error: opcode not supported on this processor: mips32r2 (mips32r2) `rdhwr $2,$30'
{standard input}:319: Error: opcode not supported on this processor: mips32r2 (mips32r2) `rdhwr $2,$30'

It seems to compile only with USE_THREAD=0 when we have the unmodified "rpcc" macro in common_mips.h

Could you post any kind of boot log? We need to know command(s) that led to particualr output.

I don't have the card available now. All the things I am testing now are just crosscompilation for that target with fresh Ubuntu 18.04 Docker with a fresh Openwrt 19.0.2 toolkit.
I've tried with USE_THREAD=0 cause I saw that your native test was a single thread build at https://github.com/xianyi/OpenBLAS/issues/2564#issuecomment-615961972

Sorry the link to your build was at  https://github.com/xianyi/OpenBLAS/issues/2564#issuecomment-615957300

Trying for multiple CPUs for openwrt. I think pthread lib is libc for musl, at least that has symbols.
\" -DCHAR_CNAME=\"\" -DNO_AFFINITY -I..  -shared -o ../libopenblas_p5600p-r0.3.9.dev.so \
-Wl,--whole-archive ../libopenblas_p5600p-r0.3.9.dev.a -Wl,--no-whole-archive \
-Wl,-soname,libopenblas.so.0 -lm -lpthread -lm -lpthread
/usr/bin/ld: cannot find -lpthread
/usr/bin/ld: cannot find -lpthread
collect2: error: ld returned 1 exit status

-lpthread is currently added unconditionally on MIPS (Makefile.system, exceptions there just for Android and Windows). Not sure how to find out we are going to link against musl eventually.

My build command that works after removing fpu=2008, there is no invalid assembly with 2 CPUs, just that -lpthread is not found @bhack - you should patch that out for OpenWRT package, also have in mind arm arches have dynamic arch, and probably everyone tests on x86 where it is a lot more of them.
make TARGET=P5600 CC=mipsel-openwrt-linux-gcc FC=ERROR HOSTCC=cc NUM_CPUS=1
I did set up "SDK" as follows.
export PATH=~/openwrt/openwrt-sdk-ramips-mt76x8_gcc-8.4.0_musl.Linux-x86_64/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin:$PATH
export STAGING_DIR=~/openwrt/openwrt-sdk-ramips-mt76x8_gcc-8.4.0_musl.Linux-x86_64/staging_dir

@martin-frbg musl does not define anything specific, it works with ln -s libc.so libpthread.so (idea taken from xcode/android), does not leave libpthread in imports (not much debug symbols in files, I just deleted the link)

@brada4 NUM_CPUS=1 works without USE_THREAD=0

@brada4 Ops sorry I was https://github.com/xianyi/OpenBLAS/issues/2564

@bhack you can work around the thread issue with symlink as above (ln -s /lib/libc.so /lib/libpthread.so)
I think not mine nor your SoC has 2-processor thing in extant series. But threre are lots of OpenWRT ARM routers, and OpenWRT x86 test machines, where pthreads are of use.
Actually it is written in FAQ that most of the times if no CPU count is specified , the core count is detected from build system, not from target.
I tried with USE_THREAD=0, still no wrong instructions, it turns out cc was clang, switching it to gcc, also no bad instructions.
What is so different in the way we approach the compilers? I dont use any special tricks, it just works as I type?

I supposed that the Macro removed the assembly but it is not case cause it is working now on https://github.com/xianyi/OpenBLAS/pull/2565

@bhack thinking of file naming - best if you call resulting library libblas.so and libcblas.so , so it is replacable at no pain with reference netlib blas (requires fortran) or atlas (needs native compilation that involves hours to days of target calibration at least once)

I did not change any macros, just addressed obvious problem striping out fpu=2008 because of ldcomplaining about ABI compatibility, and then added libpthr symlink because of another complaint.

I was working on #2565 branch and there is a new #if !defined(MIPS24K) for the assembly. But seems that it is not working cause I still have the assembly after postprocessing the Macro and now it compiles without special flags.

What command you use for build? I never needed assembly fixups , even with ramips openwrt sdk, actually the resulting library came same size with ramips and ath79 toolchains and ath79 native.

The Makefile stub of Openblas is at https://github.com/openwrt/packages/pull/11894.
I cross compile in the OpenWRT  make package/libs/openblas/compile V=s -j

@brada4 I think you are not actually building for TARGET=MIPS24K, which would explain the differences ? @bhack the new #if defined(MIPS24K) only removes the RPCC call  with its unsupported hwrdr instruction, but certainly not all assembly. (The error you saw earlier about amax.S was just because the build was not picking up the correct files for the MIPS24K as the name of the KERNEL file did not match)

@martin-frbg What i mean is that:
cat ./build_dir/target-mipsel_24kc_musl/OpenBLAS-0.3.9/common_mips.h
static inline unsigned int rpcc(void){
  unsigned long ret;

  __asm__ __volatile__(".set   push    \n"
          "rdhwr %0, $30  \n"
          ".set pop" : "=r"(ret) : : "memory");

  return ret;
}
#define RPCC_DEFINED

Yes, that section should be removed by the preprocessor (and I expect that does happen during the build, if the compiler no longer complains about that instruction).

I think this is the one already relsoved or not:
#ifndef ASSEMBLER

static inline unsigned int rpcc(void){
  unsigned long ret;

  __asm__ __volatile__(".set   push    \n"
          "rdhwr %0, $30  \n"
          ".set pop" : "=r"(ret) : : "memory");

  return ret;
}
#define RPCC_DEFINED

Cause the macro was:
#ifndef ASSEMBLER

#if !defined(MIPS24K)
static inline unsigned int rpcc(void){
  unsigned long ret;

  __asm__ __volatile__(".set   push    \n"
          "rdhwr %0, $30  \n"
          ".set pop" : "=r"(ret) : : "memory");

  return ret;
}
#define RPCC_DEFINED
#endif

I built with same openwrt sdk you said does not accept this instruction, what command you use to build, and what gcc gets used? I see no reason for particular change.

@brada4 I think we are not using that instruction @martin-frbg explained the behavior  see https://github.com/xianyi/OpenBLAS/pull/2565#discussion_r410948822

I am under belief that target machine evenly irradiates my build system and your build system, so behaviour of as and cc1 interactions should be identical. Absence of particular co-processor should give SIGILL or similar at runtime if at all.

So can you on an ubuntu host can you cross-compile with make package/libs/openblas/compile V=s -j on master hash?

I know nothing about packaging system, I am just telling that particular SDK compiles OpenBLAS with minimal changes, no idea what is missing.

@brada4 How we can reproduce the same execution? Can you share a Dockerfile?

The official openwrt image where you can compile for that arch is  docker run --rm  -it openwrtorg/sdk:ramips-mt76x8-19.07.2

Basic command are at https://hub.docker.com/r/openwrtorg/sdk

in include/toplevel.mk
# make sure that a predefined CFLAGS variable does not dist
export CFLAGS=
export LDFLAGS=

zap both lines and replace with
unexport CFLAGS LDFLAGS

Thats a bug in openwrt SDK that makes it different from plain make with SDK compiler.
You can probably unexport those in package file, if that succeeds plese review validity and need of all changes here.
PS I am against using multi-gigabyte docker 'microservices'

/cc @commodo if you are interested for the openwrt part of the thread.

[we had easter this weekend :) so a bit slow on the reply]
openblas is a bit far from my current interest;
i am bit interested in numpy atm;
maybe later; after i get to take a look at numpy + openwrt;


elasticsearch tweaks (around indexing)

Pull Request Overview

Alters background (celery) indexing to use object.updated field to only index what has changed since last indexing
Introduces catchup-indexing which allows indexing of older objects (presumed migrated and un-indexed) in small batches in the background.  (This is started by an invoke-task; see below.)

Invoke CLI Updates
invoke codex.elasticsearch.catchup-index  --before='2000-01-01 12:00:00'  [--batch-size=100]  [--batch-pause=3]
invoke codex.elasticsearch.catchup-index-continue   (pick up where left off, after houston restart)
invoke codex.elasticsearch.catchup-index-cancel     (forget settings, stop after current batch is done)

/rebase

this is currently being blocked by some weirdness in tests/modules/site_settings/resources/test_file_operations.py which is causing the file-setting endpoint to return non-file results (which include some set via this PR)

/rebase

/rebase


nhttp support websocket ?

nhttp support websocket or how to use wehsocket with it ?

using deno native websocket => https://github.com/nhttp/nhttp/blob/master/examples/with-websocket.ts
run :
deno run -A --unstable my_ws_app.ts

For Nodejs.

For nodejs , you must update nhttp versions to 1.2.21 or letter npm i<EMAIL_ADDRESS>import nhttp from "nhttp-land";
import { createServer } from "node:http";
import fs from "node:fs";
import { Server } from "socket.io";

const app = nhttp();
const server = createServer(app.handle);
const io = new Server(server);

io.on("connection", (socket) => {
  console.log("wellcome");
});

app.get("/", ({ response }) => {
  response.type("html");
  return fs.readFileSync("./client.html");
});

server.listen(8000);

hope this help.

maybe like this?
const app = nhttp();

Bun.serve({
  fetch(req, server) {
    // upgrade the request to a WebSocket
    if (server.upgrade(req)) {
      return; // do not return a Response
    }
    return app.handle(req);
  },
  websocket: {}, // handlers
});

More doc => https://bun.sh/docs/api/websockets.


Code for example is missing for rhea example

It looks like the code for the rhea example was missing from the main PR.

Correct. The example is this one https://github.com/nodeshift-starters/nodejs-messaging-work-queue. Question is should I point them to this repo or copy this repo under kube-service-bindgins-examples?

@pacostas pointing to the repo is my preference to avoid duplciation, we just need to make it obvious how/where you get the code from.

https://github.com/nodeshift-blog-examples/kube-service-bindings-examples/pull/8

@pacostas thanks, looks good.


Serializing a Stack results in an incorrect object

If I serialize and then deserialize a java.util.Stack object, the process results in no exceptions, but the returned Stack object is not equal to the original.  The items in the elementData Object[] are correct, but the Stack comes back with a different value for elementCount and capacityIncrement (It varies on how different it is, but the values usually end up as some large negative numbers).  This causes an ArrayIndexOutOfBoundsException when you try to push something on the restored stack.
This seems related to issue #39 but it is different.  The only reason DeepEquals doesn't fail in that test case is because the .equals() method on Vector only checks the elementData array and not the other values.  As with that case adding the following line does work as a temporary fix (but I don't think this should have to be necessary):
conf.registerSerializer(Stack.class, new FSTCollectionSerializer(), true);

Here is a test case that fails for me:
package ser;

import java.util.Stack;

import org.junit.Test;
import org.nustaq.serialization.FSTConfiguration;
import org.nustaq.serialization.serializers.FSTCollectionSerializer;

import junit.framework.Assert;

public class StackIssue {

  @SuppressWarnings("unchecked")
  @Test
  public void test() {
    FSTConfiguration conf = FSTConfiguration.createDefaultConfiguration();
    // Adding the following line makes the test pass
    // conf.registerSerializer(Stack.class, new FSTCollectionSerializer(), true);

    Stack<Integer> stack = new Stack<>();

    byte[] byteArray = conf.asByteArray(stack);
    Stack<Integer> restoredStack = (Stack<Integer>) conf.asObject(byteArray);

    // The following results in a ArrayIndexOutOfBoundsException as the size of
    // the restoredStack is usually some large negative number.
    // restoredStack.push(0);

    Assert.assertTrue(stack.size() == restoredStack.size());
  }

}

I'm currently using version 2.48, let me know if there is anything I can do to help debug/fix this.

Thanks a lot for reporting. Will investigate asap.

So I tried to debug this and didn't really get that far, but here is what I discovered.
First off the actual bytes that get written and read back in seem to be correct, so I don't think there is a problem there.  The problem seems to be coming from trying to set the read in values on the newly created object after it has read them in.  Specifically the failing line is at FSTObjectInput.java line 625:
fstFieldInfo.setObjectValue(toRead,val);
While debugging the val variable seems to be correct, yet this method doesn't seem to set the variable correctly on the toRead object.  For example when I dump the toRead object before this method I get:
main[1] dump toRead
 toRead = {
    serialVersionUID:<PHONE_NUMBER>541339165
    java.util.Vector.elementData: null
    java.util.Vector.elementCount: 0
    java.util.Vector.capacityIncrement: 0
    java.util.Vector.serialVersionUID: -2767605614048989439
    java.util.Vector.MAX_ARRAY_SIZE:<PHONE_NUMBER>
    java.util.AbstractList.modCount: 0
    java.util.AbstractCollection.MAX_ARRAY_SIZE:<PHONE_NUMBER>
}

And when I dump it after this method it looks like:
main[1] dump toRead
 toRead = {
    serialVersionUID:<PHONE_NUMBER>541339165
    java.util.Vector.elementData: null
    java.util.Vector.elementCount: 0
    java.util.Vector.capacityIncrement: -313106974
    java.util.Vector.serialVersionUID: -2767605614048989439
    java.util.Vector.MAX_ARRAY_SIZE:<PHONE_NUMBER>
    java.util.AbstractList.modCount: 0
    java.util.AbstractCollection.MAX_ARRAY_SIZE:<PHONE_NUMBER>
}

(The capacityIncrement is the field that is trying to be set with a value of 1)
At this point I don't quite know enough about how sun.misc.Unsafe.putObject works to figure out why this is failing, but hopefully this helps.
Also one thing to note is that serializing a Vector works because in line 470 of FSTConfiguration.java there is the line reg.putSerializer(Vector.class, new FSTCollectionSerializer(), false); so a quick fix to this bug would be to just add the line reg.putSerializer(Stack.class, new FSTCollectionSerializer(), false); to that file or change that line to reg.putSerializer(Vector.class, new FSTCollectionSerializer(), true); but that doesn't really fix the underlying issue.

Hi, thanks a lot for your contribution.
The fundamental reason is caused by the "asymetric" serialization implementation of java.util.Vector (which is flaweed IMO). it implements "writeObject" like
    private void writeObject(java.io.ObjectOutputStream s)
            throws java.io.IOException {
        final java.io.ObjectOutputStream.PutField fields = s.putFields();
        final Object[] data;
        synchronized (this) {
            fields.put("capacityIncrement", capacityIncrement);
            fields.put("elementCount", elementCount);
            data = elementData.clone();
        }
        fields.put("elementData", data);
        s.writeFields();
    }

but does not implement "readObject()", so "writeObject()" makes strong assumptions about the binary format of the default implementation of "readObject()". As fst uses a gighly optimized binary format if no custom functions are present (read/writeObject, ..), this asymetry leads to a read failure.
Some few classes of JDK (also Android SDK) construct such (imo invalid) implementation-dependencies which can be solved only by registering a custom serializer.

i'll follow your proposal and reuse the FSTCollectionSerializer().

fixed with 2.52

Thanks a lot. It works. :)


How can I disable page style on specific pages/sections?

I'd like to have the pages for my bibliography and code listings both at the end of the document to have no header or footer.
I could not achieve this via including the LaTeX command \thispagestyle{empty} at the regarding pages. Normal pages should keep their header and footer.
Is there any easy way to achieve this using this splendid template?

I'd like to have the pages for my bibliography and code listings both at the end of the document to have no header or footer.
I could not achieve this via including the LaTeX command \thispagestyle{empty} at the regarding pages. Normal pages should keep their header and footer.
Is there any easy way to achieve this using this splendid template?

This is currently not possible with the Eisvogel template. However, I believe one can insert \thispagestyle{empty} to remove the header and footer (this might need some fiddling). An option to disable header and footer on certain pages will not be included.


Refactor workload.Services compare

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Assume the functuion is covered by existing tests, if not will supplement according codecov

@nlgwcy

/lgtm

/lgtm
/approve


Wrong assert name in code example in testing.md file

https://github.com/wagtail/wagtail/blob/911f17bf8fcf8ae6cbf747b0317e8cc596153197/docs/advanced_topics/testing.md?plain=1#L91
As this is the line of test_content_page_subpage method it ought to go with assertAllowedSubpageTypes like in line above, not assertAllowedParentPageTypes, like it is typed currently.
(Sorry for making issue, I tried to make a PR but have got "Permission to wagtail/wagtail.git denied" constantly)

Hey @igorstrapko,
thanks for flagging this.

Sorry for making issue, I tried to make a PR but have got "Permission to wagtail/wagtail.git denied" constantly

you do need to fork the repository, clone the fork (which will be under your account and will have permission), branch out from the main branch. When ready you can then push and open a pull request. See https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request

Hey Dan,
Thanks for your patience and help, it worked perfectly and I have pulled my
request now.
All the best,
Igor
On Wed, 22 Jun 2022 at 10:07, Dan Braghis @.***> wrote:

Hey @igorstrapko https://github.com/igorstrapko,
thanks for flagging this.
Sorry for making issue, I tried to make a PR but have got "Permission to
wagtail/wagtail.git denied" constantly
you do need to fork the repository, clone the fork (which will be under
your account and will have permission), branch out from the main branch.
When ready you can then push and open a pull request. See
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request
—
Reply to this email directly, view it on GitHub
https://github.com/wagtail/wagtail/issues/8723#issuecomment-1162846570,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIWEQ4HKQPIRDBQFUO5OHZ3VQLJUTANCNFSM5ZOGTQDA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Fixed in #8725


sasl authentication .

Issue submitter TODO list

[X] I've looked up my issue in FAQ
[X] I've searched for an already existing issues here (legacy) and here
[X] I've tried installing latest charts and the issue still persists there
[X] I'm running a supported version of the application & chart which is listed here

Describe the bug (actual behavior)
how to provide the sasl protocol and authentication at values.yaml file at helm chart level.?
yamlApplicationConfig:
{}
kafka:
clusters:
- name: yaml
bootstrapServers: kafka-service:9092
spring:
security:
oauth2:
auth:
type: disabled
management:
health:
ldap:
enabled: false
getting below error while trying to connect with a kafka cluster which uses sasl authentication
[2023-12-08 08:51:40,401] INFO [SocketServer listenerType=BROKER, nodeId=2] Failed authentication with /<IP_ADDRESS> (channelId=<IP_ADDRESS>:9092-<IP_ADDRESS>:56258-290) (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector)
Expected behavior
tor)
[2023-12-08 08:51:40,401] INFO [SocketServer listenerType=BROKER, nodeId=2] Failed authentication with /<IP_ADDRESS> (channelId=<IP_ADDRESS>:9092-<IP_ADDRESS>:56258-290) (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector)
[2023-12-08 08:51:41,206] INFO [SocketServer listenerType=BROKER, nodeId=2] Failed authentication with /<IP_ADDRESS> (channelId=<IP_ADDRESS>:9092-<IP_ADDRESS>:56274-290) (Unexpected Kafka request of type METADATA during SASL handshake.)
Your installation details
option to accept ..
sasl_mechanism='PLAIN',
security_protocol='SASL_PLAINTEXT',
sasl_plain_username='username',
sasl_plain_password='password',
Steps to reproduce
used the latest kafka-ui helm chart
Screenshots
[2023-12-08 08:51:40,401] INFO [SocketServer listenerType=BROKER, nodeId=2] Failed authentication with /<IP_ADDRESS> (channelId=<IP_ADDRESS>:9092-<IP_ADDRESS>:56258-290) (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector)
[2023-12-08 08:51:41,206] INFO [SocketServer listenerType=BROKER, nodeId=2] Failed authentication with /<IP_ADDRESS> (channelId=<IP_ADDRESS>:9092-<IP_ADDRESS>:56274-290) (Unexpected Kafka request of type METADATA during SASL handshake.)
Logs
[2023-12-08 08:51:40,401] INFO [SocketServer listenerType=BROKER, nodeId=2] Failed authentication with /<IP_ADDRESS> (channelId=<IP_ADDRESS>:9092-<IP_ADDRESS>:56258-290) (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector)
[2023-12-08 08:51:41,206] INFO [SocketServer listenerType=BROKER, nodeId=2] Failed authentication with /<IP_ADDRESS> (channelId=<IP_ADDRESS>:9092-<IP_ADDRESS>:56274-290) (Unexpected Kafka request of type METADATA during SASL handshake.)
Additional context
connecting to existing kafka with sasl authentication

this is how I wrote my values.yaml:
   kafka:
     clusters:
       - name: "MyBrokerName"
         bootstrapServers: my_broker_url:9092
         properties:
           security.protocol: "SASL_PLAINTEXT"
           sasl.mechanism: "SCRAM-SHA-256"
           sasl.jaas.config: "org.apache.kafka.common.security.scram.ScramLoginModule required username=\u0022MY_BROKER_USERNAME\u0022 password=\u0022MY_BROKER_PWD\u0022;"

What is the status of this? Is there some workaround to be able to connect to broker which requires SCRAM-SHA-512 authentication?

FYI:  The below, redacted, configuration works for me. You can probably close this issue.
- name: delivery-test
        bootstrapServers: test-kafka-external-boostrap.example.com:9094,test-kafka-external-0.example.com:9094,test-kafka-external-1.example.com:9094,test-kafka-external-2.example.com:9094
        properties:
          security.protocol: SASL_SSL
          sasl.mechanism: SCRAM-SHA-512
          sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="USERNAME_HERE" password="PASSWORD_HERE";


Not downloading

Describe the bug
Not downloading any folder/file
Exception in thread Thread-1 (download_file):
Traceback (most recent call last):
  File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.10/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.10/dist-packages/mediafire.py", line 461, in download_file
    download_link = soup.find("a", {"id": "downloadButton"}).attrs["href"]
AttributeError: 'NoneType' object has no attribute 'attrs'
All downloads completed```

Can you post the download link?


Update hacl-packages create branch CI

Add js and ocaml to the hacl-packages CI flow.
https://github.com/hacl-star/hacl-star/blob/a8fce922a16ba4a8304f315032026a45916f850e/.github/workflows/hacl-packages-create-branch.yml#L37
Currently ocaml is broken and the CI didn't catch it because it is not updated.

@franziskuskiefer This seems to have been fixed on the hacl-packages CI, can you please confirm this issue is not relevant anymore?

Lets call this fixed for now. I'm not sure it's doing the right thing in all cases, but it generally works.


[OID4VCI] Verification with Sphereon on iOS no longer works

A few weeks ago, I was able to issue demo credentials with the OID4VCI plugin and verify them with the Sphereon iOS wallet app. Unfortunately, the verification with the app stopped working and now fails with the error "The credential verification resulted in an error".
Can someone please check if it's just me or if the demo no longer works with the current Sphereon iOS app? Thanks in advance!

I believe we have identified the issue with issuing to Sphereon. We expect a fix to be published soon.

I believe this should be fixed with the recent work on the plugin and demo. Closing... Please re-open if that's not the case.


'npm start' error - fails to load 'babel-register'

This may be related to issue #29, but I'm getting the error when building the project and running 'npm start'.

Same issue here when I run foundation watch
I've installed the babel-core and the babel-es2015 preset and still doesn't work :(

This is a weird one because it doesn't actually cause Gulp to error out—it just keeps going. We've been quietly ignoring it since it doesn't prevent you from using the template.
A while back I tried researching this and it turns out to be a pretty common issue. The solution everyone cites is to add babel-core to your package.json, but we're doing that, so I'm not sure how to resolve this.

This issue was moved to zurb/ink#178


Align ci and release versions

Addresses the https://github.com/flink-extended/flink-scala-api/issues/99#issuecomment-1979076639, this will allow implementing async i/o retry policy given the minimum version bump.

Awesome, thank you!


aggdraw.Draw causes kernel to die, not in web interface, only in VS Code

Applies To

[X] Notebooks (.ipynb files)
[x] Interactive Window and/or Cell Scripts (.py files with #%% markers)

What happened?
After installing aggdraw in a conda environment via conda install -c conda-forge aggdraw I had the following issue:
I ran this cell
import aggdraw
# print('aggdraw version', aggdraw.__version__) # = 1.3.16
d = aggdraw.Draw("RGB", (100, 100), (0,0,0))

and after a very short time the kernel died. Same happens when I use agg_draw = aggdraw.Draw(pil_image).
The result was The Kernel crashed while executing code in the the current cell or a previous cell. Please review the code in the cell(s) to identify a possible cause of the failure. Click [here](https://aka.ms/vscodeJupyterKernelCrash) for more info. View Jupyter [log](command:jupyter.viewOutput) for further details.
It is possible to use the cell for complex drawing and a following cell to print some text even after using time.sleep(5), but sooner or later the message of the crashed kernel comes up and then it's no longer possible to re-run the notebook.
Clicking "Restart" hangs up the restarting task, it stays at "Restarting Kernel: Python 3.11". I then need to remove the kernel via the web ui because the small "Restarting Kernel" notification offers no way to abort this.
VS Code is running locally on Windows (<IP_ADDRESS>), the Jupyter instance is running on a Linux server (<IP_ADDRESS>), to which VS Code is also connected via the SSH Extension (Visual Studio Code Remote).
miniconda got installed around 3 days ago.
VS Code Version
Version: 1.81.1 (user setup) Commit: 6c3e3dba23e8fadc360aed75ce363ba185c49794 Date: 2023-08-09T22:22:42.175Z Electron: 22.3.18 ElectronBuildId: 22689846 Chromium: 108.0.5359.215 Node.js: 16.17.1 V8: <IP_ADDRESS>-electron.0 OS: Windows_NT x64 10.0.22621
Jupyter Extension Version
v2023.7.1002162226
Jupyter logs
[D 2023-09-02 00:43:55.831 ServerApp] Accepting token-authenticated request from <IP_ADDRESS>
[D 2023-09-02 00:43:55.832 ServerApp] 200 GET /api/sessions?1693608235866<EMAIL_ADDRESS>1.12ms
[D 2023-09-02 00:43:55.832 ServerApp] Accepting token-authenticated request from <IP_ADDRESS>
[D 2023-09-02 00:43:55.838 ServerApp] 200 GET /api/contents/notebooks/Mapping?content=1&1693608235866<EMAIL_ADDRESS>7.19ms
[I 2023-09-02 00:43:56.189 ServerApp] AsyncIOLoopKernelRestarter: restarting kernel (1/5), keep random ports
[W 2023-09-02 00:43:56.189 ServerApp] kernel c74a501a-185c-4460-a98b-856f5d262c4c restarted
[D 2023-09-02 00:43:56.192 ServerApp] Websocket closed c74a501a-185c-4460-a98b-856f5d262c4c:7fb8392c-61ee-4454-a288-79098c81f89b
[I 2023-09-02 00:43:56.192 ServerApp] Starting buffering for c74a501a-185c-4460-a98b-856f5d262c4c:7fb8392c-61ee-4454-a288-79098c81f89b
[D 2023-09-02 00:43:56.192 ServerApp] Clearing buffer for c74a501a-185c-4460-a98b-856f5d262c4c
[D 2023-09-02 00:43:56.195 ServerApp] Accepting token-authenticated request from <IP_ADDRESS>
[D 2023-09-02 00:43:56.196 ServerApp] Generating new user for token-authenticated request: 2c09be001d1c46848ac775834800c1e4
[D 2023-09-02 00:43:56.201 ServerApp] Starting kernel: ['/home/user/miniconda3/envs/gdal/bin/python3', '-m', 'ipykernel_launcher', '-f', '/home/user/.local/share/jupyter/runtime/kernel-c74a501a-185c-4460-a98b-856f5d262c4c.json']
[D 2023-09-02 00:43:56.204 ServerApp] Connecting to: tcp://<IP_ADDRESS>:43485
[D 2023-09-02 00:43:56.205 ServerApp] 101 GET /api/kernels/c74a501a-185c-4460-a98b-856f5d262c4c/channels?session_id=7fb8392c-61ee-4454-a288-79098c81f89b&token=[secret]<EMAIL_ADDRESS>10.12ms
[D 2023-09-02 00:43:56.206 ServerApp] Opening websocket /api/kernels/c74a501a-185c-4460-a98b-856f5d262c4c/channels
[I 2023-09-02 00:43:56.206 ServerApp] Connecting to kernel c74a501a-185c-4460-a98b-856f5d262c4c.
[D 2023-09-02 00:43:56.206 ServerApp] Getting buffer for c74a501a-185c-4460-a98b-856f5d262c4c
[I 2023-09-02 00:43:56.206 ServerApp] Restoring connection for c74a501a-185c-4460-a98b-856f5d262c4c:7fb8392c-61ee-4454-a288-79098c81f89b
[D 2023-09-02 00:43:56.206 ServerApp] Nudge: not nudging busy kernel c74a501a-185c-4460-a98b-856f5d262c4c
0.00s - Debugger warning: It seems that frozen modules are being used, which may
0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off
0.00s - to python to disable frozen modules.
0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to disable this validation.
[D 2023-09-02 00:43:56.562 ServerApp] activity on c74a501a-185c-4460-a98b-856f5d262c4c: status (busy)
[D 2023-09-02 00:43:56.563 ServerApp] activity on c74a501a-185c-4460-a98b-856f5d262c4c: status (idle)
[D 2023-09-02 00:43:56.569 ServerApp] activity on c74a501a-185c-4460-a98b-856f5d262c4c: status (busy)
[D 2023-09-02 00:43:56.576 ServerApp] activity on c74a501a-185c-4460-a98b-856f5d262c4c: execute_input
[D 2023-09-02 00:43:56.580 ServerApp] activity on c74a501a-185c-4460-a98b-856f5d262c4c: stream
[D 2023-09-02 00:43:56.581 ServerApp] activity on c74a501a-185c-4460-a98b-856f5d262c4c: status (idle)
[D 2023-09-02 00:44:05.741 ServerApp] Accepting token-authenticated request from <IP_ADDRESS>
[D 2023-09-02 00:44:05.741 ServerApp] Generating new user for token-authenticated request: 0dd7402b8a7042068fe8ff0b45ed9bce
[D 2023-09-02 00:44:05.741 ServerApp] 200 GET /api/kernels?1693608245737<EMAIL_ADDRESS>1.27ms
[D 2023-09-02 00:44:05.742 ServerApp] Accepting token-authenticated request from <IP_ADDRESS>

Coding Language and Runtime Version
Python 3.11.4 (main, Jul  5 2023, 13:45:01) [GCC 11.2.0] on linux
Language Extension Version (if applicable)
Python v2023.14.0
Anaconda Version (if applicable)
conda 23.5.2 (miniconda latest, Python 3.11)
Running Jupyter locally or remotely?
Remote

Please could you enable logging as follows:

Open settings & go into Jupyter->Logging
Change the value to verbose
Reload VS Code,
Attempt to repro the issue & then copy the output from the Jupyter output panel.

Hi @DonJayamanne, here you go:
Visual Studio Code (1.81.1, ssh-remote, desktop)
Jupyter Extension Version: 2023.7.1002162226.
Python Extension Version: 2023.14.0.
Platform: linux (x64).
Workspace folder ~/python/jupyter/notebooks, Home = /home/user
09:36:43.905 [info] Telemetry is disabled
09:36:43.906 [info] Telemetry level is off
09:36:43.906 [info] Experiments are disabled, only manually opted experiments are active.
09:36:44.153 [info] Start refreshing Interpreter Kernel Picker<PHONE_NUMBER>153)
09:36:44.166 [info] Using Pylance
09:36:44.846 [info] Loading webview. View is notset
09:36:44.847 [info] Loading web view...
09:36:44.848 [info] Webview panel created.
09:36:45.190 [warn] No interpreter with path ~/miniconda3/envs/gdal/bin/python3 found in Python API, will convert Uri path to string as Id ~/miniconda3/envs/gdal/bin/python3
09:36:45.191 [warn] No interpreter with path ~/python/venvs/p3-pki-2022-05-09/bin/python3 found in Python API, will convert Uri path to string as Id ~/python/venvs/p3-pki-2022-05-09/bin/python3
09:36:45.314 [info] Web view react rendered
09:36:45.543 [warn] Failed to get activated env vars for ~/.pyenv/versions/3.10.7/bin/python in 350ms
09:36:45.544 [error] Unable to determine site packages path for python ~/.pyenv/versions/3.10.7/bin/python (Pyenv)
09:36:45.557 [info] Process Execution: ~/.pyenv/versions/3.10.7/bin/python -m pip list
09:36:47.103 [info] End refreshing Interpreter Kernel Picker<PHONE_NUMBER>153)
09:36:56.194 [info] Handle Execution of Cells 0 for ~/python/jupyter/notebooks/Mapping/Aggdraw-Memory-Test.ipynb
09:36:56.196 [info] Starting Kernel startUsingRemoteKernelSpec, 184b11b7311271c053b<username>f8bc12cca1fc5c208be3395f5de8fd3696dcb773871..gdal.~/miniconda3/envs/gdal/bin/python3./.-m#ipykernel_launcher  for '~/python/jupyter/notebooks/Mapping/Aggdraw-Memory-Test.ipynb' (disableUI=false)
09:36:56.651 [info] Started new session 77717b32-fee8-4d15-9733-6c68a9ede8<username>
09:36:56.652 [info] Started session for kernel startUsingRemoteKernelSpec:184b11b7311271c053b<username>f8bc12cca1fc5c208be3395f5de8fd3696dcb773871..gdal.~/miniconda3/envs/gdal/bin/python3./.-m#ipykernel_launcher
09:36:56.735 [info] Kernel acknowledged execution of cell 0 @<PHONE_NUMBER>721
09:36:56.781 [info] End cell 0 execution @<PHONE_NUMBER>738, started @<PHONE_NUMBER>721, elapsed time = 0.017s
09:36:56.821 [info] End refreshing Interpreter Kernel Picker<PHONE_NUMBER>153)
09:36:59.286 [error] Jupyter Extension (Error in requestVariables, method:requestVariables): Error: Canceled future for execute_request message before replies were done
    at t.KernelShellFutureHandler.dispose (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.7.1002162226-linux-x64/out/extension.node.js:2:32375)
    at ~/.vscode-server/extensions/ms-toolsai.jupyter-2023.7.1002162226-linux-x64/out/extension.node.js:2:26594
    at Map.forEach (<anonymous>)
    at v._clearKernelState (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.7.1002162226-linux-x64/out/extension.node.js:2:26579)
    at ~/.vscode-server/extensions/ms-toolsai.jupyter-2023.7.1002162226-linux-x64/out/extension.node.js:2:29022
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
09:36:59.367 [info] End cell 0 execution @ undefined, started @<PHONE_NUMBER>738, elapsed time = -1693640216.738s

causes kernel to die, not in web interface, only in VS Code

based on the logs you are running the code against a remote Jupyter kernel.
I find I it hard to understand how it didn’t fail when you run the same code outside vscode, as is the exact same environment
Can you code the variables view on the bottom of your screen. I think that panel is open, please close that and try again
It’s possible that’s thinking some code that causes the crash

"Can you code the variables view": I assume this was a typo.
You are correct. The variable view was open and when I closed it the error disappeared.
The lower-right popup-notification The kernel 'Python 3.11 -- gdal' died and is being automatically restarted by Jupyter. Click [here](https://aka.ms/vscodeJupyterKernelCrash) for more info. View Jupyter [log](command:jupyter.viewOutput) for further details. no longer appears.
Without the variables view the UI is consistent and healthy.

Regarding the last added information with the two cells: This works in a simple notebook, but not in a larger one. In any case, closing the variable view "fixes" the issue 100%.

Plese can you try the following:

Start jupyter on the same machine (i think wsl)
Launch jupyter and run the same code
If it crashes, please share logs from terminal

VS code is running on one machine (Windows) and Jupyter on another one (in a Linux VM hosted on a server).
If I use Jupyter's web interface via http://host:port/lab/tree/notebooks/Mapping/Aggdraw-Test.ipynb then the Kernel does not crash.

When I use Jupyter's web interface via http://host:port/lab/tree/notebooks/Mapping/Aggdraw-Test.ipynb then the Kernel does not crash.

Yes thats what I wanted you to try.
thats fine, you do not need to do anything else.
thanks
I will follow this at my end.

Btw, I can now replicate this at my end

Steps to repro

Run the following code

import aggdraw
from PIL import Image, ImageDraw

print('aggdraw version', aggdraw.__version__)
# aggdraw version 1.3.12 -- on aiohttp
# aggdraw version 1.3.16 -- in conda

# WARN `USE_AGGDRAW = True` causes the kernel to crash
USE_AGGDRAW = True

img = Image.new("RGB", (256, 256), "white")

if USE_AGGDRAW:
    agg_draw = aggdraw.Draw(img)
else:
    draw = ImageDraw.Draw(img)

# Diagonal line
p1 = (0,0)
p2 = (255,255)

if USE_AGGDRAW:
    pen = aggdraw.Pen(color=(255,0,0), width=10, opacity=127)
    agg_draw.line((p1[0], p1[1], p2[0], p2[1]), pen)
else:
    draw.line([p1, p2], fill="red", width=10)

if USE_AGGDRAW:
    agg_draw.flush()

display(img)

Run the code globals()

Looks like a duplicate of https://github.com/pytroll/aggdraw/issues/58
Basically trying to inspect the details of the pen variable causes the crash.

You're right. I just enabled debugging in Jupyter (which I had to do twice), and then, when running the cell, the kernel crashes. Even stepping over agg_draw = aggdraw.Draw(img) is enough to cause the crash.
Thank you for your help.

Thank you for your help and my apologies for not having checked this.

No need to apologise, that’s why we ask these questions
Thank you for your cooperation


Fix for Gopass Extension on macOS Apple Silicon

Description
This a minor fix to set Homebrew path as it is in a different path on devices with macOS Apple Silicon chip, read more here.
Screencast
N/A
No changes to the UI, see the base PR for Gopass extantion here #1609.

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

@5mutawa thanks for the fix, could you please add an entry to the changelog and then I can go ahead and merge this PR 🙂

Thanks @danielsequeira. Changelog is updated now.


Package is always updated to latest version

I would prefer, that the grafana package (on Debian) is not updated to the latest version but kept at the currently installed version.
Eg. by setting grafana_version: present.
However, this would need a modification in vars/debian.yml where grafana_package is set:
grafana_package: "grafana{{ (grafana_version != 'latest') | ternary('=' ~ grafana_version, '') }}"
Or did I miss how to achieve that behaviour?

If you want to use specific version, you need to specify grafana_version variable.
By design there is no option to keep currently installed version after installing latest one.

Thanks for your quick reply.
Is this a final decision or would you be open to a suggestion to change this/pull request?
My use case is that I run ansible --check every night to verify that there are no changes but the grafana rule frequently shows a change when the package is updated. I'd prefer to to the package upgrade manually.

This is a final decision.
All roles in @cloudalchemy are meant to be used in automated systems with "GitOps" in mind. Basically state of a system should be reflected by what is in a configuration repository and it should allow to quickly rebuild system by using that repository. What you are proposing is creating a break in such workflow as it needs manual actions performed on a system.


Fix Memory Leaks for 'ButtonStyleBuilder'

Leaking Process

When setButton(_:) method is called, it overwrites button variable.

https://github.com/keygx/ButtonStyleKit/blob/ff5c5325448ef7a2e9fc268ed99f1c17680a4fee/ButtonStyleKitSample/ButtonStyleKit/ButtonStyleBuilder.swift#L20
https://github.com/keygx/ButtonStyleKit/blob/ff5c5325448ef7a2e9fc268ed99f1c17680a4fee/ButtonStyleKitSample/ButtonStyleKit/ButtonStyleBuilder.swift#L51-L54

button 's sub-classes' references stay after they referred from this class.

https://github.com/keygx/ButtonStyleKit/blob/ff5c5325448ef7a2e9fc268ed99f1c17680a4fee/ButtonStyleKitSample/ButtonStyleKit/ButtonStyleBuilder.swift#L274
https://github.com/keygx/ButtonStyleKit/blob/ff5c5325448ef7a2e9fc268ed99f1c17680a4fee/ButtonStyleKitSample/ButtonStyleKit/ButtonStyleBuilder.swift#L278

button 's strong reference stays even after deinit of this class is called.

How I confirmed it's fixed

Used this branch to check if still leaking.

Screenshots
Before Fix

After Fix

@skondo-quo
Great, thx!


library doesn't let use selector in tagTextColor attrribute

Hi,
first of all, thank you for your library.
Unfortunately it doesn't let user to use color selectors in tagTextColor attribute. In my app I need to change text color depending on is tag selected or not (because the background changes significantly as well).
Is there any special reason for it?
The implementation is very simple:
private void extractAttributes(AttributeSet attrs) {
    //...
    itemTextColorStateList = a.getColorStateList(R.styleable.HashtagView_tagTextColor);
    //...
}

private void decorateItemTextView(TextView textView) {
    //textView.setTextColor(itemTextColor);
    textView.setTextColor(itemTextColorStateList);
    //...
}

Or do I miss any point?

sorry for keeping waiting, I have already implemented color state list support and will add this to next release (almost sure it's gonna be this week)


Configuration script may not set output file types in config_local.yaml

Resolved by including rds as a default output type


Uncaught Exception: Attempting to call a function in a renderer window that has been closed or released. Function provid

An uncaught exception was reported.
Info:
OS: win32
Arch: ia32
GPMDP Version: 3.0.1
Time: Fri Mar 18 2016 11:54:52 GMT-0500 (Central Daylight Time)
Error:
Attempting to call a function in a renderer window that has been closed or released. Function provid
Error: Attempting to call a function in a renderer window that has been closed or released. Function provided here: Object.<anonymous> (C:\Users\username\AppData\Local\GPMDP_3\app-3.0.1\resources\app\build\inject\GPMInject\interface\mouseButtonNavigation.js:8:8.
    at BrowserWindow.callIntoRenderer (C:\Users\username\AppData\Local\GPMDP_3\app-3.0.1\resources\atom.asar\browser\lib\rpc-server.js:201:19)
    at emitTwo (events.js:92:20)
    at BrowserWindow.emit (events.js:172:7)

This issue was created automatically inside the uncaughtException handler

Closing this automatically reported issue as a duplicate of #470


Update https://aka.ms/chakracore/version per v1.11.10 release

Per https://github.com/microsoft/ChakraCore/releases/tag/v1.11.10, v1.11.10 has been released. However, https://aka.ms/chakracore/version still returns 1_11_9.
Please update this resource accordingly (ideally automated as part of the release process), since tools such as jsvu depend on this.
@zenparsing
jsvu issue: https://github.com/GoogleChromeLabs/jsvu/issues/71

cc @pleath

Thanks.


Frontend config

Would be very cool if this is done within the reactive environment! I imagine:
there is a yellow cell, before all other cells (which is hidden by default), and whatever the output of that cell is will be used as config Dict by Saturn. Like:
Dict(:interactivearrays => false,
     :theme => "body: {font-family: 'Comic Sans MS' !important;}")

Something very cool is that this cell can also be reactive! Like:
if @__FILE__ == "bigdata.jl"
    Dict(:theme => read("~/bigdatatheme.css", String))
else
    Dict()
end

Needs a config file

I think it'd be most elegant if this wasn't a designated type of cell - instead, any cell could manipulate Saturn.style or some other variable like this, and that would automatically update the display.

True, but that goes against the philosophy of no side effects and pure
functions.
On Mon, 24 Feb 2020 at 21:24, Nicholas Bochenski<EMAIL_ADDRESS>wrote:

I think it'd be most elegant if this wasn't a designated type of cell -
instead, any cell could manipulate Saturn.style or some other variable
like this, and that would automatically update the display.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/fonsp/Saturn.jl/issues/6?email_source=notifications&email_token=ABU4YBWYLQ7YQJKNDOTH4PDREQUJTA5CNFSM4K2MVUD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMZMZZY#issuecomment-590531815,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABU4YBSTNAXZV3JNGAKFFDDREQUJTANCNFSM4K2MVUDQ
.

Au contraire, if we had Saturn.style also be a reactive variable - then you could even have a color picker or something on the website to control it? (I do think that JavScript is better-suited for reactivity in this aspect though - I imagine making HTML sliders in Julia will be a mess).

True! It could be a 'mutable global'. Sliders exist! Interact.jl But I'm not sure how easily their implementation adapts to our system.

There's a ENV-like config system now, adding UI for config is something for later 💆♂


[MB-2131] Convert xamarin build process to gradle

Should make it automatically pull down most recent android sdk version for android bindings. Also can maybe move the update version functionality to gradle.

👍
Yes please move the update version stuff into the gradle build system. It would be nice if it could update the other versions based on the airship.properties file.

👍  Assuming it works.


Reduce outstanding request count

It turns out it wasn't #7279 that tanked our performance, but instead increasing outstanding request count by a little more than 50%.
This is worry-some. I'll be sending out a follow-up PR or two to do some sensitivity analysis shortly.

I'll also un-rollback #7279 once this is in to simplify the review of #8008

So I've always suspected that our qps tests were measured beyond the saturation point, so in that sense it's not surprising.

LGTM.

test this please

test this please


It can not work for my sponge

https://i.loli.net/2017/09/01/59a936c27b7e4.png
https://i.loli.net/2017/09/01/59a936c288b71.png
Can you help me ?

Did you get the issue resolved?


[Feature] Better Auto Update function on the Android App

Verify steps

[X]  我已经在 Issue Tracker 中找过我要提出的请求 I have searched on the issue tracker for a related feature request.
[X]  我已经仔细看过 Documentation 并无法找到这个功能 I have read the documentation and was unable to solve the issue.

Description
Currently Auto Update is Disable by default
Auto Update will work in Background, and Create annoying Notification with a Sound after each Update!
Possible Solution
You can make it like Sing-Box Auto Update (that is the best mechanism currently)
It is enabled by default, Auto Updates each 1 hour by default
Will only work when user opens the app, It's working in silence, there is no annoying notification and notification sound

Only core issues are accepted here

Rules says 'does not accept problem reports from clients that only use other kernels, such as clash for windows' So I thought it's ok to report CM4A issues here as it's code is ClashMeta and it's own issues are closed Sorry, but are you going to turn the auto update notification to a toast notification that will shows only inside the app? update notifications of CM4A and it's notification sound is really annoying

This is because clash meta for android is in a state of almost no official maintenance, so clash meta for android does not accept any issues.


az containerapp create fails with "argument of type NoneType is not iterable"

This is autogenerated. Please review and update as needed.
Describe the bug
az containerapp create fails with name, resource group, subscription params.
Command Name
az containerapp create Extension Name: containerapp. Version: 0.3.16.
Errors:
The command failed with an unexpected error. Here is the traceback:
argument of type 'NoneType' is not iterable
Traceback (most recent call last):
  File "/opt/homebrew/Cellar/azure-cli/2.43.0/libexec/lib/python3.10/site-packages/knack/cli.py", line 233, in invoke
    cmd_result = self.invocation.execute(args)
  File "/opt/homebrew/Cellar/azure-cli/2.43.0/libexec/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 663, in execute
    raise ex
  File "/opt/homebrew/Cellar/azure-cli/2.43.0/libexec/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 726, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "/opt/homebrew/Cellar/azure-cli/2.43.0/libexec/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 718, in _run_job
    return cmd_copy.exception_handler(ex)
  File "/Users/gs/.azure/cliextensions/containerapp/azext_containerapp/_client_factory.py", line 28, in _polish_bad_errors
    raise ex
  File "/opt/homebrew/Cellar/azure-cli/2.43.0/libexec/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 697, in _run_job
    result = cmd_copy(params)
  File "/opt/homebrew/Cellar/azure-cli/2.43.0/libexec/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 333, in __call__
    return self.handler(*args, **kwargs)
  File "/opt/homebrew/Cellar/azure-cli/2.43.0/libexec/lib/python3.10/site-packages/azure/cli/core/commands/command_operation.py", line 121, in handler
    return op(**command_args)
  File "/Users/gs/.azure/cliextensions/containerapp/azext_containerapp/custom.py", line 573, in create_containerapp
    handle_raw_exception(e)
  File "/Users/gs/.azure/cliextensions/containerapp/azext_containerapp/_client_factory.py", line 54, in handle_raw_exception
    raise e
  File "/Users/gs/.azure/cliextensions/containerapp/azext_containerapp/custom.py", line 563, in create_containerapp
    if "configuration" in r["properties"] and "ingress" in r["properties"]["configuration"] and "fqdn" in r["properties"]["configuration"]["ingress"]:
TypeError: argument of type 'NoneType' is not iterable

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

az containerapp create -n myName -g myGroup --subscription mySub --environment myEnv

Expected Behavior
A containerapp is created
Environment Summary
macOS-13.2-arm64-arm-64bit, Darwin 22.3.0
Python 3.10.9
Copy from `https://github.com/Azure/azure-cli/issues/25012`

Error stack is not the same


Improving the UI of Deletion Confirm pop-up in Tasks , Movies and Ideas.

The current deletion Pop-up needs to be enhanced. Do your best and attach a screenshot . Also change the message from are you sure to delete to Do you want to delete the task (for tasks ), movie (for movies )

I would like to take up this issue under JWOC

@Tess-Vanta  I have assigned the issue to you , Best Wishes , for any problem reach out to me on discord .


It would be good to support kubectl

I tried to use this image and download kubectl by myself, however, I can't install kubectl. After I download the binary, I faced 'no permission' error when I want to move the downloaded binary to /usr/bin/ folder

Hi,
I try to keep the image as thin as possible. You can download the kubectl to ~/bin and add it to the PATH. It will do the job.
Hope it helps ...


Add support for Swift Package Manager

This change should allow using UserReport with SPM instead of CocoaPods.
To test, create a new iOS test project and add UserReport in "File → Swift Packages → Add Package Dependency…".

Hi. Sorry for the delay. Lost notification about PR. Will merge the PR next Monday (11th).

Hi. Sorry for the delay. Lost notification about PR. Will merge the PR next Monday (11th).

Hey @pyrtsa. We've made small changes there. Renaming it from UserReport to UserReportSDK to make naming consistent across CocoaPods and SPM. Does it make sense to you?

Hey @pyrtsa. We've made small changes there. Renaming it from UserReport to UserReportSDK to make naming consistent across CocoaPods and SPM. Does it make sense to you?

Ah, sure, I think it does.
But please note—just realised this—you have your README still suggest using import UserReport where import UserReportSDK is expected. I don't know if similar leftovers from the old module name exist elsewhere in this repo.

Ah, sure, I think it does.
But please note—just realised this—you have your README still suggest using import UserReport where import UserReportSDK is expected. I don't know if similar leftovers from the old module name exist elsewhere in this repo.

We've tried it out and seems documentation will be still relevant, it can be imported by import UserReport. Would be great if you check it on your side as well @pyrtsa. I mean the latest commit in your branch.

We've tried it out and seems documentation will be still relevant, it can be imported by import UserReport. Would be great if you check it on your side as well @pyrtsa. I mean the latest commit in your branch.

No I think you misunderstand. If it can be imported like that then it's a regression of #5.

No I think you misunderstand. If it can be imported like that then it's a regression of #5.

Yep, thanks.
As far as I understand it shouldn't be an issue. After the latest commit module named UserReportSDK.

Yep, thanks.
As far as I understand it shouldn't be an issue. After the latest commit module named UserReportSDK.

I mean, please don't. The motivation for not aliasing UserReport (and naming the module UserReportSDK) instead are better motivated in the issue, #4.

I mean, please don't. The motivation for not aliasing UserReport (and naming the module UserReportSDK) instead are better motivated in the issue, #4.

Yes, I understand your concern, and it is completely valid. However, it will be a breaking change if we do that. We have to maintain compatibility with previous versions.

Yes, I understand your concern, and it is completely valid. However, it will be a breaking change if we do that. We have to maintain compatibility with previous versions.

Thank you for PR

Thank you for PR


2.1 Collect Sample Data

Deliverable: Initial sample vehicle dataset (videos/images) from the webcams according to 1.b

Raw data will be placed in folders named after us here for us to label

Data collected. Divided into three equal parts and placed in a folder : /data/raw


🗑 Deprecation with warning level of toNotBlankString function in ResultContext

📝 Description
We would like to deprecate with a warning level the String.toNotBlankString() function in the ResultContext type for using the create(Any?) function instead, introduced by the issue #341.
🔗 Dependencies
This issue is blocked by the following ones:

[x] #395

✅ Checklist

[ ] Deprecate the function with a warning level, refactor its usages and update the unreleased changelog.
[ ] Close this issue as completed and update tracking ones if present.

We are not ready to implement this change.


Support dot products

f(x) = dot(x, x)
x0 = rand(2)
SparseConnectivityTracer.jacobian_pattern(f, x0)
SparseConnectivityTracer.hessian_pattern(f, x0)

ERROR: MethodError: no method matching conj(::SparseConnectivityTracer.GradientTracer{BitSet})

Closest candidates are:
  conj(::Missing)
   @ Base missing.jl:101
  conj(::Complex)
   @ Base complex.jl:282
  conj(::SymTridiagonal)
   @ LinearAlgebra ~/julia/julia-1.10.3/share/julia/stdlib/v1.10/LinearAlgebra/src/tridiag.jl:160
  ...

Yeah that's actually a scalar method missing for tracer types, namely conj. We took our list of operators from https://docs.julialang.org/en/v1/manual/mathematical-operations/ and missed that one. If you have any idea of other ones we might have missed, feel free to mention them!

Of course this opens the can of worms of complex numbers, but for now let's assume every function only handles real numbers, and conj is basically the identity


changes for 0.18.0

Signed-off-by: Anatoly Myachev<EMAIL_ADDRESS>
Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@YarShev did you see the following MPI error:
  File "mpi4py\MPI\Comm.pyx", line 1931, in mpi4py.MPI.Intracomm.Spawn
mpi4py.MPI.Exception: Internal MPI error!, error stack:
MPI_Comm_spawn(cmd="D:\bld\modin-packages_1670879014815\_test_env\python.exe", argv=0x0000016D3298B850, maxprocs=5, info=0x9c000000, root=0, MPI_COMM_SELF, intercomm=0x0000016D3298BA40, errors=0x0000000000000000) failed
Internal MPI error!  FAILspawn not supported without process manager

@YarShev did you see the following MPI error?
  File "mpi4py\MPI\Comm.pyx", line 1931, in mpi4py.MPI.Intracomm.Spawn
mpi4py.MPI.Exception: Internal MPI error!, error stack:
MPI_Comm_spawn(cmd="D:\bld\modin-packages_1670879014815\_test_env\python.exe", argv=0x0000016D3298B850, maxprocs=5, info=0x9c000000, root=0, MPI_COMM_SELF, intercomm=0x0000016D3298BA40, errors=0x0000000000000000) failed
Internal MPI error!  FAILspawn not supported without process manager

Left a suggestion. Should work.

@YarShev did you see the following MPI error?
  File "mpi4py\MPI\Comm.pyx", line 1931, in mpi4py.MPI.Intracomm.Spawn
mpi4py.MPI.Exception: Internal MPI error!, error stack:
MPI_Comm_spawn(cmd="D:\bld\modin-packages_1670879014815\_test_env\python.exe", argv=0x0000016D3298B850, maxprocs=5, info=0x9c000000, root=0, MPI_COMM_SELF, intercomm=0x0000016D3298BA40, errors=0x0000000000000000) failed
Internal MPI error!  FAILspawn not supported without process manager

Left a suggestion. Should work.

+ mpiexec -n 1 python -c 'import modin.pandas as pd, modin.config as modin_cfg, unidist.config as unidist_cfg; modin_cfg.Engine.put('\''Unidist'\''); unidist_cfg.Backend.put('\''mpi'\''); df = pd.DataFrame([])'
--------------------------------------------------------------------------
The value of the MCA parameter "plm_rsh_agent" was set to a path
that could not be found:

  plm_rsh_agent: ssh : rsh

Please either unset the parameter, or check that the path is correct
--------------------------------------------------------------------------
[cd1aba1617cf:00570] [[INVALID],INVALID] FORCE-TERMINATE AT Not found:-13 - error plm_rsh_component.c(335)

Yes, I have remembered that I saw the error in unidist feedstock when adding a similar test. However, we did't fix that yet and doesn't currently run the test there. The issue is probably related to https://github.com/open-mpi/ompi/issues/3625. If it can't be fixed quickly as suggested in the reference linked, I propose to go ahead and add a test in future as part of a separate issue.

FWIW, the bot is quite limited - it'll discover a new tag and get the updated has of the tarball, but it does not update the dependencies. As such, there needs to be manual intervention in any case (for libraries where the pins change frequently, as they do for modin), and IMO it really does not matter if the bot is opened by the bot or a contributor.

Yes, I have remembered that I saw the error in unidist feedstock when adding a similar test. However, we did't fix that yet and doesn't currently run the test there. The issue is probably related to open-mpi/ompi#3625. If it can't be fixed quickly as suggested in the reference linked, I propose to go ahead and add a test in future as part of a separate issue.

@YarShev It is strange why it works for modin-feedstock (linux linux_64_python3.8.____cpython, but does not work for modin-feedstock (linux linux_64_python3.10.____cpython). Docker images are the same.
I'm still seeing an issue with the Ray dashboard https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=627544&view=logs&j=4f922444-fdfe-5dcf-b824-02f86439ef14&t=b2a8456a-fb11-5506-ca32-5ccd32538dc0&l=2714 even if the build was successful.
Any thought? At the moment I haven't capacity to investigate these problems.

Why hashsum of modin pypi package changed?

Why hashsum of modin pypi package changed?

Did you figure out what the problem was?

Why hashsum of modin pypi package changed?

Did you figure out what the problem was?

For some reason, the archive with the code has changed in https://github.com/modin-project/modin/archive/refs/tags/0.18.0.tar.gz. If we trust github, then we can ignore the hashum change, it seems to me that I saw a similar problem with people while googling.

I.e., the hashsum changed for the tarball in GH, not in PyPI. Now we have the hashsum in this PR that differs the hashsum in #66. It seems to me we already saw a similar problem some time ago.
@vnlitvinov, @h-vetinari, thoughts?

Short answer is, github archive hashsum isn't an exactly stable thing.
They update something from time to time, and this leads to archive hashsum changing.
I remember seeing it a few times already. The fix could be switching to PyPI as package source, though I vaguely recall we moved from it to Github to solve some other issues with sources (was it when someone was making a release from Windows, hence source files in PyPI having wrong line endings?.. I'm not exactly sure)
I think we can ignore that hashsum change for now (i.e. update the feedstock so hashsum matches with whatever it is now and move on).

@anmyachev, could you please update readme with modin-unidist installation too as part of a new PR?

@anmyachev, could you please update readme with modin-unidist installation too as part of a new PR?

https://github.com/conda-forge/modin-feedstock/pull/67


Implement  a way to setlocale via system.yml file

Like so :
pages.dateformat.locale: "fr_FR" would produce :
setlocale(LC_ALL, 'fr_FR');

and display 12 Mars 2013 in place of 12 March 2013
Thanks !

I think this needs to be done in a multilang friendly way.. it needs some thinking on because you may not have multi language enabled, just some non-english single language.

perfect. Thanks !


Layout-Edit-Panels requirements update

Layout-Edit-Panels references the FrameMorph but its requirements didn't contain the UI-Shapes package where the FrameMorph is packaged.

Thanks!


Message: fix errorMessage background in tailwind-light theme

Fixes #18.

Tailwind Light theme is not maintained anymore due to actual Tailwind integraton with unstyled mode


Fix next heading tag

Without the line return the next doc starts on the same line preventing the markdown from properly showing

deployed, thanks


Steam renders glitchy and small

Describe the bug
here
 sometimes it just looks like that,
my laptop is a asus g14 ga402xv and i installed the asus nvidia bazzite, my screen is also very high dpi for its size so steam  is also small, it doesnt render correctly it only did it once while i was disabling gpu rendering and never again
What did you expect to happen?
i expected steam to use the 180% screen scaling all the windows already use
Output of rpm-ostree status
State: idle
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-asus-nvidia:stable
                   Digest: sha256:8d4e90fab4fd9f5a8bf1259d4709f0565da7121629144c3ee368df2dac2cabcc
                  Version: 40.20240901.1 (2024-09-02T21:13:48Z)

  ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-asus-nvidia:stable
                   Digest: sha256:891245914daf2a37cd9abd4be24ca3cb3171e326592a9b18f180a38b8d6084d1
                  Version: 40.20240828.0 (2024-08-29T00:22:44Z)

Hardware
GA402XV g14 with 4060 nvidia graphics
Extra information or context
i also tried edit app and adding some env variables but none work and for some reason anytime i try to change those again they do not save anymore it just says GDK_SCALE=2

can you try to use steam beta version? some days ago they made fx for nvda

Yeah this seems like an esync nvidia bug, probably specific to steam (and firefox < 130)


add link that opens comments and article in new tabs

Just a simple request.  Insert a new link next to the comments link that once clicked on opens up 2 new tabs, one with the article and one with the comments.
example:
125 points by qubitsam 3 hours ago | 23 comments (l+c)
something like that

@gabrielecirulli are you still looking into a feature that opens both links and comments in new tabs? This is one of my favorite features of Reddit Enhancement Suite.


getting error while adding data

i wrote a function.
function insertUpdate() {
$request = \Slim\Slim::getInstance()->request();
$update = json_decode($request->getBody());
$sql = "INSERT INTO Student (name, email, password, contact) VALUES (:name, :email, :password, :contact)";
try {
$db = getDB();
$stmt = $db->prepare($sql);
$stmt->bindParam("name", $update->name);
$stmt->bindParam("email", $update->email);
//$time=time();
$stmt->bindParam("password", $update->password);
$stmt->bindParam("contact", $update->contact);
//$ip=$_SERVER['REMOTE_ADDR'];
//$stmt->bindParam("ip", $ip);
//var_dump($smtp);
$stmt->execute();
$update->id = $db->lastInsertId();
$db = null;
$update_id= $update->id;
getUserUpdate($update_id);
} catch(PDOException $e) {
//error_log($e->getMessage(), 3, '/var/tmp/php.log');
echo '{"error":{"text":'. $e->getMessage() .'}}';
}
}
calling by post but getting following error -
{"error":{"text":SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'name' cannot be null}}

Yes. This has nothing to do with slim. Your $update->name is an empty string and that is not allowed by your database.

how can i test my api except doing request from form.

You can write unit tests.
You can use Postman (an extension for chrome).
You can use cURL from command line.

Forms do not send data via JSON, unless you are sending them via an ajax form.

Also Paw is simply amazing.


Uptest substitution test

Description of your changes

I have:

[ ] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested

/test-examples="examples/ec2/vpc.yaml"


Recording - Group Channel/ iOS - Ban and unban users from channel

BanUnBanUserGroupChannel
Click ‘Create’ to create new group channel
Under ‘Choose Member’, select members & click ‘Ok’
Click on ‘Channel Name’ box to input channel name
Name channel ‘Hockey League’
Click ‘Create’
Click on ‘Hockey League’ in Group Channel List

Daniel: Let me know if 4pm every Thursday works for a game!
Drew: Some of us have work Daniel, I don’t want to be part of your team anyway.

In Group Channel Chat window, click ‘Setting’
Under ‘Choose action for channel’, click ‘Member List’
Click ‘Ban’ for Drew
Click ‘Close’ on success window

Ready

@justinbaldwin
https://drive.google.com/file/d/1UoGgGDw8Vg_djYzgZLYVe_ySxgwvSFQS/view?usp=sharing

@justinbaldwin - Light
https://drive.google.com/file/d/1d_p1SoE7JjTeVBdrWt2agrLyATUK63uu/view?usp=sharing

@chrischabot ready for review

@justinbaldwin Include a different screen of user that is banned with their screen view not allowing them to interact with group

@justinbaldwin
https://drive.google.com/file/d/1n10U5FhPw5u-j0fxVFJnPJEd6f4yjuC2/view?usp=sharing

@petru-gherghel please record two separate videos. One of Drew being banned from "Hockey League," and a second video logged in as Drew trying to access the channel "Hockey League."

@justinbaldwin
Recording - Group Channel/ iOS - Ban and unban users from channel[#140] Dew POV.
I tried to sync in the video that Ban operation, but it will need some fine-tuning
https://drive.google.com/file/d/1xVIYDYEglit02LHnagSbphoJFsuEGV6e/view?usp=sharing.

@justinbaldwin get with Olivia to sync up the two videos side by side.

@michellewong27 @chrischabot
Ready for review: https://drive.google.com/file/d/1K3LlxISofzlmtV_r2Xtb1JMYiFhiRYkm/view?usp=sharing


Multi Discrete Action Spaces

Hello,
Does machin support Multi Discrete Action Spaces? (two different actions in the same time step)
I've looked through the documentation but cannot find anything related to that
João

It depends on your model, machin doesn't enforce any restriction on your actor output, you could use mixed action space (discrete + continuous), multi-action space, parameterized action space, etc.
If you provide more details I can help with your implementation.

Thank you for your answer,
If I want to use this code to work for example with an action MultiDiscrite([2,2]), what do I need to change?
Code (based on machin examples/tutorials):
max_episodes = 50
max_steps = 10000
observe_dim = env.observation_space.shape[0]
action_num = env.action_space.n
model definition
class Actor(nn.Module):
def init(self, state_dim, action_num):
super(Actor, self).init()
    self.fc1 = nn.Linear(state_dim, 16)
    self.fc2 = nn.Linear(16, 16)
    self.fc3 = nn.Linear(16, action_num)

def forward(self, state, action=None):
    a = t.relu(self.fc1(state))
    a = t.relu(self.fc2(a))
    probs = t.softmax(self.fc3(a), dim=1)
    dist = Categorical(probs=probs)
    act = (action
           if action is not None
           else dist.sample())
    act_entropy = dist.entropy()
    act_log_prob = dist.log_prob(act.flatten())
    return act, act_log_prob, act_entropy

class Critic(nn.Module):
def init(self, state_dim):
super(Critic, self).init()
    self.fc1 = nn.Linear(state_dim, 16)
    self.fc2 = nn.Linear(16, 16)
    self.fc3 = nn.Linear(16, 1)

def forward(self, state):
    v = t.relu(self.fc1(state))
    v = t.relu(self.fc2(v))
    v = self.fc3(v)
    return v

If your actions are independent and sampled from the same distribution, you can reuse same parameter for Categorical in Actor, then sample act1, act2, act3, act4 from the distribution, and finally return these four actions as a tensor of shape [2, 2] and the sum of their log probability.
If your actions are independent and sampled from different distributions, then you need 4 output heads self.fc3_1, self.fc3_2, self.fc3_3, self.fc3_4 for each categorical distribution. Then do the same modification as above.
I will cite my answer on the PyTorch forum as a reference here, (Note when I say multinomial, what I really means is extracting each trial in the multinomial distribution as a categorical distribution, which is equivalent to what is described above)

Thank you for your detailed explanation.
I implemented it, and now I get an error when storing the episode:
ValueError: Key "action" of transition major attribute "action" has invalid batch size 2.
Under it's what the modifications I made look like:
class Actor(nn.Module):
def init(self, state_dim, action_num):
super(Actor, self).init()
    self.fc1 = nn.Linear(state_dim, 16)
    self.fc2 = nn.Linear(16, 16)
    self.fc3 = nn.Linear(16, action_num)

def forward(self, state, action=None):
    a = t.relu(self.fc1(state))
    a = t.relu(self.fc2(a))
    probs = t.softmax(self.fc3(a), dim=1)
    dist = Categorical(probs=probs)
    act1 = (action
           if action is not None
           else dist.sample())
    act2 = (action
           if action is not None
           else dist.sample())
    act_entropy = dist.entropy()
    act1_log_prob = dist.log_prob(act1.flatten())
    act2_log_prob = dist.log_prob(act2.flatten())
    act = t.tensor([act1,act2])
    return act, act1_log_prob+act2_log_prob , act_entropy

act should be act = t.tensor([[act1,act2]]), the first dimension is always the batch dimension, and note that when action is not None it will be your new action act = t.tensor([[act1,act2]]), so your code should look like:
def forward(self, state, action=None):
    a = t.relu(self.fc1(state))
    a = t.relu(self.fc2(a))
    probs = t.softmax(self.fc3(a), dim=1)
    dist = Categorical(probs=probs)
    act1 = (action[:, 0]
           if action is not None
           else dist.sample())
    act2 = (action[:, 1]
           if action is not None
           else dist.sample())
    act_entropy = dist.entropy()
    act1_log_prob = dist.log_prob(act1.flatten())
    act2_log_prob = dist.log_prob(act2.flatten())
    act = t.tensor([act1,act2])
    return act, act1_log_prob+act2_log_prob , act_entropy

I added those changes and it solved the issue of storing the episode.
Now the issue is on ppo.update():

This is because when updating the act1 and act2 are no longer scalars, but 1D arrays.
How do you propose to solve this?

Oh, sorry I forgot that behavior, just use $torch.cat$ in that case:
act = t.cat((act1.view(1, -1), act2.view(1, -1), dim=0)


Fixed Typo

There was a Typo in the Mouse Position Function.

TYSM. Could you also change its references in examples and tests.
For example, https://www.github.com/divy-work/autopilot-deno/tree/master/examples%2Fmouse-position.ts

I've fixed the typo in example. Merging this since it needs to be in the latest release.


IllegalArgumentException being thrown when trying to authenticate with google sheets api

(Please fill out these details before submitting an issue)
Sample Name
Modified version of https://developers.google.com/sheets/api/quickstart/java
private Credential getCredentials(NetHttpTransport httpTransport) {
    try {
        GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, new InputStreamReader(new FileInputStream(credentialsFilePath)));
        GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(httpTransport, JSON_FACTORY, clientSecrets, SCOPES)
                .setDataStoreFactory(new FileDataStoreFactory(new File(credentialsFilePath))).setAccessType("offline")
                .build();
        return new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver.Builder().setPort(8888).build()).authorize("user");
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    }
}

Expected Behavior
Was expecting to receive a Credential object after successfully authenticating with the google api
Actual
Exception in thread "main" java.lang.IllegalArgumentException
	at com.google.api.client.repackaged.com.google.common.base.Preconditions.checkArgument(Preconditions.java:111)
	at com.google.api.client.util.Preconditions.checkArgument(Preconditions.java:37)
	at com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets.getDetails(GoogleClientSecrets.java:82)
	at com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow$Builder.<init>(GoogleAuthorizationCodeFlow.java:195)

Specifications

Java version: 11.0.5
OS: Linux (Debian 10.2 Buster)

Check your client secrets file to make sure it's correct. Possible that you downloaded credentials in the wrong form.
That error indicates it's not in the expected format as isn't either for a server-side web app or installed (desktop) app. Corresponding code: https://github.com/googleapis/google-api-java-client/blob/master/google-api-client/src/main/java/com/google/api/client/googleapis/auth/oauth2/GoogleClientSecrets.java

I am having the same issue using the credentials.json I have downloaded for a service account.

My solutions: Don't use the client secrets, instead, directly build the credentials.
Import this library
<dependency>
        <groupId>com.google.auth</groupId>
        <artifactId>google-auth-library-oauth2-http</artifactId>
        <version>1.3.0</version>
</dependency>

InputStream in = SheetsQuickstart.class.getResourceAsStream(CREDENTIALS_FILE_PATH);
if (in == null) {
        throw new FileNotFoundException("Resource not found: " + CREDENTIALS_FILE_PATH);
}
GoogleCredentials googleCredentials = GoogleCredentials.fromStream(in).createScoped(SCOPES);

Sheets service = new Sheets.Builder(HTTP_TRANSPORT, JSON_FACTORY, new HttpCredentialsAdapter(googleCredentials))
                .setApplicationName(APPLICATION_NAME)
                .build();

My workaround: Don't use the client secrets, instead, directly build the credentials.
Import this library
<dependency>
        <groupId>com.google.auth</groupId>
        <artifactId>google-auth-library-oauth2-http</artifactId>
        <version>1.3.0</version>
</dependency>

InputStream in = SheetsQuickstart.class.getResourceAsStream(CREDENTIALS_FILE_PATH);
if (in == null) {
        throw new FileNotFoundException("Resource not found: " + CREDENTIALS_FILE_PATH);
}
GoogleCredentials googleCredentials = GoogleCredentials.fromStream(in).createScoped(SCOPES);

Sheets service = new Sheets.Builder(HTTP_TRANSPORT, JSON_FACTORY, new HttpCredentialsAdapter(googleCredentials))
                .setApplicationName(APPLICATION_NAME)
                .build();

This is the most relevant answer until today.
Hopefully, more developers can see this.

My workaround: Don't use the client secrets, instead, directly build the credentials.
Import this library
<dependency>
        <groupId>com.google.auth</groupId>
        <artifactId>google-auth-library-oauth2-http</artifactId>
        <version>1.3.0</version>
</dependency>

InputStream in = SheetsQuickstart.class.getResourceAsStream(CREDENTIALS_FILE_PATH);
if (in == null) {
        throw new FileNotFoundException("Resource not found: " + CREDENTIALS_FILE_PATH);
}
GoogleCredentials googleCredentials = GoogleCredentials.fromStream(in).createScoped(SCOPES);

Sheets service = new Sheets.Builder(HTTP_TRANSPORT, JSON_FACTORY, new HttpCredentialsAdapter(googleCredentials))
                .setApplicationName(APPLICATION_NAME)
                .build();

Works like a charm!
If you see this - use this
THANK YOU @Johnny850807
Hey @google come on, update your docs!


Error: unable to get local issuer certificate

I use local computer then, use Cloudflare Tunnel
from :3050 into domain
But i got error unable to get local issuer certificate
node -v v18.16.1
yarn -v 1.22.19
❯ yarn serve
yarn run v1.22.19
$ node server
__      __   _         ___ _           _
\ \    / /__| |__ ___ / __| |_  ___ __| |__
 \ \/\/ / -_) '_ \___| (__| ' \/ -_) _| / /
  \_/\_/\___|_.__/    \___|_||_\___\__|_\_\

🚀 Web-Check is up and running at http://localhost:3050
🛟 For documentation and support, visit the GitHub repo: https://github.com/lissy93/web-check
💖 Found Web-Check useful? Consider sponsoring us on GitHub to help fund maintenance & development.
node:events:491
throw er; // Unhandled 'error' event
^
Error: unable to get local issuer certificate
at TLSSocket.onConnectSecure (node:_tls_wrap:1540:34)
at TLSSocket.emit (node:events:513:28)
at TLSSocket._finishInit (node:_tls_wrap:959:8)
at ssl.onhandshakedone (node:_tls_wrap:743:12)
Emitted 'error' event on ClientRequest instance at:
at TLSSocket.socketErrorListener (node:_http_client:502:9)
at TLSSocket.emit (node:events:513:28)
at emitErrorNT (node:internal/streams/destroy:151:8)
at emitErrorCloseNT (node:internal/streams/destroy:116:3)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
code: 'UNABLE_TO_GET_ISSUER_CERT_LOCALLY'
}
Node.js v18.16.1
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Big Brain

Big Brain

????

So “unable to get local issuer certificate” typically occurs when Node.js or npm is unable to verify the SSL certificate of the server it’s connecting to. This can happen due to various reasons, such as corporate firewalls, outdated certificates, or strict SSL settings.
So you can maybe try:
1) Disable Strict SSL (Not Recommended for Production)
Run the command to disable strict SSL globally: npm config set strict-ssl false
if you’re using Yarn than : yarn config set "strict-ssl" false
2) Set the NODE_TLS_REJECT_UNAUTHORIZED Environment Variable
Run the command before executing your Node.js script: export NODE_TLS_REJECT_UNAUTHORIZED=0
3) Provide an Extra CA Certificate
If you have a custom CA certificate, you can set the NODE_EXTRA_CA_CERTS environment variable to point to it:
export NODE_EXTRA_CA_CERTS=/path/to/certfile.crt
Replace /path/to/certfile.crt with the actual path to your certificate file.
Note: bypassing SSL validation can expose your connections to security risks. If you’re working in a production environment, consider fixing the underlying issue (such as updating certificates or adjusting firewall settings) rather than disabling SSL checks.
You can watch this YouTube tutorial for more information (Highly recommend):
https://www.youtube.com/watch?v=sgNTXZaZTgw

Wow, that SSL YouTube tutorial is really helpful, I didn't know half that info!
Lol, but in all seriousness, @hasanbasri1993, you can either provide your SSL cert (I'm not sure how that would be done with Cloudflare tunnels), or I think that in Cloudflare if you set SSL mode to Strict / Full, then it should automatically assign SSL. As a workaround, since you're running locally you can also just set NODE_TLS_REJECT_UNAUTHORIZED=0

Closing, as more of a cloudflare question than bug with Web-Check.
But feel free to let me know if that doesn't work out below.


[5.8] Switch expression causes build failure because of type inference change

With Swift 5.7 this code compiles fine:
class Foo {
    private var action2: () -> Void = {}
    func bar() {
        let action = { [weak self] in
            switch true {
            case true:
                self?.bar()
            case false:
                self?.bar()
            }
        }

        self.action2 = action
    }
}

With Swift 5.8 it fails to compile because action is inferred as () -> ()? instead of () -> Void. I assume this is because of switch changing to be an expression, and now the optional result of self?.bar() is used as the return value, but since it breaks the build I figured I would report it anyways in case that's unexpected.

Due to SE-0380, switch is treated as a single-expression and optional chaining produces optional Void result type. The fix here is straightforward - self.action2 should get closure assigned to it directly and thus propagate Void into the body but I think behavior change needs to be formally discussed by the language group (cc @hamishknight).

In our case the easier fix is to explicitly annotate let action as let action: () -> Void because our real instances are more complicated than inlining the definition.

Sure or add _ = to one of the self?... expressions.

FWIW SE-0380 isn't implemented in 5.8, it was in the release/5.8 branch for a week, but was reverted out in https://github.com/apple/swift/pull/63649. Are you using a 5.8 toolchain build that happened to include that change? Otherwise there might be something else at play here.

This is with Xcode 14.3 beta 2, so I guess it shipped with a version pre-revert? It looks like it because this code compiles and prints true:
func a() -> String {
    switch true {
    case true:
        "true"
    case false:
        "false"
    }
}

print(a())