runtime: process crash instead of panic on SIGBUS with SetPanicOnDefault(true)

What version of Go are you using (go version)?

$ go version
go version go1.15 windows/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
set GO111MODULE=
set GOARCH=arm
set GOBIN=
set GOCACHE=C:\Users\Florian\AppData\Local\go-build
set GOENV=C:\Users\Florian\AppData\Roaming\go\env
set GOEXE=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\Florian\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=linux
set GOPATH=C:\Users\Florian\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=c:\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=c:\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set GOARM=7
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=0
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-fPIC -marm -fmessage-length=0 -fdebug-prefix-map=C:\Users\Florian\AppData\Local\Temp\go-build326602894=/tmp/go-build -gno-record-gcc-switches
GOROOT/bin/go version: go version go1.15 windows/amd64
GOROOT/bin/go tool compile -V: compile version go1.15
gdb --version: GNU gdb (GDB) 8.1

What did you do?
We are using Go for some embedded development (cross compiled to linux arm32). We access various FPGA registers from the Go process. In order to access those registers, we use mmap /dev/mem at the address space of those registers.
When we access registers which are not defined/accessible in the FPGA, the process crash with the error reported below.
We use defer debug.SetPanicOnFault(debug.SetPanicOnFault(true)) in the stack which makes the register read as we expect this to make the runtime panic instead of crash on this kind of memory fault.
What did you expect to see?
A panic where the bad access happened. This way, with a recover call, it would be possible to handle the case where some registers are not available.
What did you see instead?
The process crash, in an unrecoverable way, with the following output:
Unhandled fault: external abort on non-linefetch (0x018) at 0x26b48010
pgd = 5e090000
[26b48010] *pgd=1e234831, *pte=40040703, *ppte=40040e33
runner.sh: SIGBUS: bus error
runner.sh: PC=0x2a8ff0 m=0 sigcode=0
runner.sh: goroutine 43 [running]:
runner.sh: gobv1/pkg/hw/pmem.Access.ReadUint32(...)
runner.sh:      C:/projects/ellisys/bv1go/pkg/hw/pmem/memAccess_linux.go:122
runner.sh: gobv1/pkg/hw/pmem.(*Access).ReadUint32(0x925200, 0x10, 0x28e594)
runner.sh:      <autogenerated>:1 +0x44 fp=0x8a6acc sp=0x8a6aa4 pc=0x2a8ff0
...
runner.sh: main.(*command).initializeDevice(0x9222c0, 0x922b80)
runner.sh:      C:/projects/ellisys/bv1go/cmd/gobv1/main.go:154 +0x94 fp=0x8a6fe4 sp=0x8a6fa0 pc=0x371320
runner.sh: runtime.goexit()
...
runner.sh: goroutine 20 [select]:
runner.sh: io.(*pipe).Read(0x922280, 0x84c000, 0x1000, 0x1000, 0x3b50e8, 0x1136b0, 0x84c000)
runner.sh:      C:/Go/src/io/pipe.go:57 +0xac
...
runner.sh: goroutine 42 [runnable]:
...
runner.sh: trap    0x0
runner.sh: error   0x18
runner.sh: oldmask 0x0
runner.sh: r0      0x26b48000
runner.sh: r1      0x3c
runner.sh: r2      0x8a6acc
runner.sh: r3      0x10
runner.sh: r4      0x1
runner.sh: r5      0x1
runner.sh: r6      0xf1
runner.sh: r7      0x26ccc521
runner.sh: r8      0x925200
runner.sh: r9      0x20
runner.sh: r10     0x883500
runner.sh: fp      0x7
runner.sh: ip      0x925203
runner.sh: sp      0x8a6aa4
runner.sh: lr      0x2a8fdc
runner.sh: pc      0x2a8ff0
runner.sh: cpsr    0x80000010
runner.sh: fault   0x0
runner.sh: Program instance execution terminated

Workaround
I build a custom runtime with this commit which makes the call panic as expected.

I'm not sure how to replicate this failure, but I'd like to give this a shot.
Do we think that the posted workaround is something that could also be long-term solution?

Please avoid looking at the workaround (and, everyone, please avoid posting patches through the issue tracker).  We want patches to only come in as Gerritt code reviews or GitHub pull requests, because then we have automation that confirms that the copyright assignments are in order.  Thanks.
To put it another way, I can't answer your question about the posted workaround because I'm not going to look at it.  Sorry.
I think you might be able to write a test that gets a SIGBUS by using mmap to map memory as read-only and then trying to write to it.  I'm not really sure, though.

Thanks for the pointers, I'll try to get a repro done, and then see how the issue can be fixed!

Thank you for looking into this. I tough I should open a ticket for discussion before creating a PR. Sorry if I didn't respect the rules by adding a link to my workaround commit in the ticket.
If desired, I would be happy to contribute to fix this issue and make a PR. For now, I try to find a way to write a test which could be integrated with the regular test suite to reproduce this issue without our embedded FPGA platform.
I created a test doing what @ianlancetaylor suggested. Doing this doesn't reproduce the issue. This result in the expected panic: runtime error: invalid memory address or nil pointer dereference (both on a linux desktop and on our embedded platform).

More ideas: https://stackoverflow.com/questions/2089167/debugging-sigbus-on-x86-linux

For now, I try to find a way to write a test which could be integrated with the regular test suite to reproduce this issue without our embedded FPGA platform.

This would a good first step; I hope I can assist in that as well. (and also, thanks for having a positive attitude to getting to the bottom of this!)
The following code uses CGO and triggers a SIGBUS.  I tried it on darwin and linux, but could not get the same error. This happens both with and without the debug.SetPanicOnFault(debug.SetPanicOnFault(true)) line. On the other hand CGO is a different beast, and maybe that's why the same error does not appear.
package main

/*
#include <unistd.h>
#include <stdio.h>
#include <sys/mman.h>

void RaiseSigbus() {
   FILE *file = tmpfile();
   int *m = mmap(0, 10, PROT_WRITE, MAP_PRIVATE, fileno(file), 0);
   *m = 0;
}
*/
import "C"

import "runtime/debug"

func main() {

    defer debug.SetPanicOnFault(debug.SetPanicOnFault(true))

    C.RaiseSigbus()
}

Output :
fatal error: unexpected signal during runtime execution
[signal SIGBUS: bus error code=0x2 addr=0x7ff893c38000 pc=0x46ca3d]

runtime stack:
runtime.throw(0x48bc4c, 0x2a)
	/usr/local/go/src/runtime/panic.go:1116 +0x72
runtime.sigpanic()
	/usr/local/go/src/runtime/signal_unix.go:704 +0x4ac

goroutine 1 [syscall]:
runtime.cgocall(0x46ca50, 0xc00003af58, 0xc00003af01)
	/usr/local/go/src/runtime/cgocall.go:133 +0x5b fp=0xc00003af28 sp=0xc00003aef0 pc=0x40373b
main._Cfunc_RaiseSigbus()
	_cgo_gotypes.go:41 +0x45 fp=0xc00003af58 sp=0xc00003af28 pc=0x46c965
main.main()
	<redacted>main.go:22 +0x56 fp=0xc00003af88 sp=0xc00003af58 pc=0x46c9d6
runtime.main()
	/usr/local/go/src/runtime/proc.go:204 +0x209 fp=0xc00003afe0 sp=0xc00003af88 pc=0x4329c9
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1374 +0x1 fp=0xc00003afe8 sp=0xc00003afe0 pc=0x45e421
exit status 2

I tried the code using mmap on our embedded platform, and see the same behavior. Then I modified the runtime to print the flags and the sigcode when a SIGBUS is received.
Output of SIGBUS generated by sample from previous comment
SIGBUS flags=0x0x88 sigcode=0x 0x2

Output with SIGBUS generated by a bad register access
SIGBUS flags=0x0x88 sigcode=0x 0x0

Since sigcode 0 match with _SI_USER, it is not handled properly in the case of our bad register access while it is handled properly when generated using code from previous comment.

Here is a minimal code which reproduce the issue on armv7. The same code on amd64 doesn't reproduce the issue as mmap simply refuse to mmap bad addresses.
https://play.golang.org/p/Zbi9pBZ3rKu
Output:
SIGBUS flags=0x0x88 sigcode=0x 0x0
SIGBUS: bus error
PC=0xa2728 m=0 sigcode=0

goroutine 1 [running]:
main.main()
        gobv1/tools/crash/main.go:37 +0x240 fp=0x4227b8 sp=0x422740 pc=0xa2728
runtime.main()
        runtime/proc.go:205 +0x208 fp=0x4227e4 sp=0x4227b8 pc=0x427f8
runtime.goexit()
        runtime/asm_arm.s:857 +0x4 fp=0x4227e4 sp=0x4227e4 pc=0x6d8f0

trap    0x0
error   0x1818
oldmask 0x0
r0      0x0
r1      0x1000
r2      0x26c2c000
r3      0x0
r4      0x4
r5      0x0
r6      0x26c2cfff
r7      0x0
r8      0x7
r9      0x1
r10     0x4000e0
fp      0x14d078
ip      0xd
sp      0x422740
lr      0x119f0
pc      0xa2728
cpsr    0x20000010
fault   0x0

Punting to Go1.17, thank you all for the patience, and for the discussion, please keep it going.

I don't understand why the kernel would send a signal with si_code set to SI_USER.  That seems like a kernel bug.  The SI_USER code is supposed to indicate an explicit use of the kill system call.  I don't mind working around a kernel bug but we don't want to treat all SIGBUS signals with si_code == SI_USER as indicating an actual bus error.

Since this has been around forever, I'd like just to add you can reliably trigger a crashing SIGBUS even when trying to recover the panic by writing to PROT_READ mmap'd memory. I can trigger it 100% of the time using gommap on Darwin arm64. Not sure if that helps with debugging and finding a handler.

For linux/arm64, https://github.com/torvalds/linux/commit/526c3ddb6aa270fe6f71d227eac1e189746cc257 and https://github.com/torvalds/linux/commit/af40ff687bc9d351030685fde2f57ba45ab4fc14 come to mind (which suggest to me that this used to be a problem that got fixed.) I can't speak to linux/arm32 or darwin/arm64. I cannot reproduce the problem on linux/amd64.


Added notes about the custom certificates and SAML Assertion content

Hello,
I saw that the pull request for SAML documentation had gone through and would need an enhancement in terms of SAML assertion content and custom cert part.
This fills in those missing parts.

Thanks for the contribution!


Question / Need Clarification: Tizen 6.0 M2 Release

Are you going to keep sending all commits into Tizen next-RC series?
or are you going to push hotfixes only to Tizen next-RC series?
If you are going to send hotfixes only to Tizen next-RC, you may need to create a release branch (e.g.. lts/X.Y or release/tizen6 or something forked from master)

:octocat: cibot: Thank you for posting issue #541. The person in charge will reply soon.

I made release/tizen6.0 branch for hotfixes. We will push hotfixes.


Disables VSCodes built in Emmet extension on Mac OS

When I Installed and enabled this extension, it immediately stopped VsCodes build in Emmet extension from working. When I disabled it this extension, Emmet worked again.
Running version 1.38.1 on Mac OS 10.14.6

I'm facing the same problem, running version 1.0.2 on a Manjaro Linux 18 "Illyria".

:O Thanks for the feedback, I will try to find a solution for that

@BarbaAlGhul I tried your fix but it seemed to break the diango snippets. Syntax highlighting is still working fine but I can't use snippets like block for example. Did you do anything other than emmet mapping?

@BarbaAlGhul added a solution for this, it works


Delete button not active when trying to delete users

Setup

Rancher version: 2.6.9
Browser type & version:
Firefox 106.0.5
Chrome Version 107.0.5304.87 (Official Build) (64-bit)

Describe the bug
At times, when a global admin user selects an existing user in the "Users & Authentication" page, the "Delete" button is not active.
To Reproduce
This is sporadic.

Login to Rancher as a global admin user
Navigate to Config > Users & Authentication
Select a user and observe the state of the "Delete" button

Result
The "Delete" button is not always active
Expected Result
The "Delete" button should be active
Screenshots
In the below screenshot, my global admin account has selected a user and, the "Delete" button is not active:

Also, notice that the "Edit Config" option is unavailable from the 3-dot menu options. Instead, it shows "View Config"
In the following screenshot, my global admin account has selected the same user, and the "Delete" button is active:

Additional context
Interestingly, when the "Delete" button is not active, you can click on the user and then see the "Delete" option from the 3-dot menu drop-down. This is fine for deleting a single user, but the problem is when you want to mass select and delete multiple users and you cannot.

Internal reference: SURE-5572

@richard-cox Would this be fixed by your PR around bulk actions?

@torchiaf Can you see if you can reproduce?

In my case, sometimes the Delete button is not visible:

@nwmac @richard-cox  I am able to reproduce the bug in both version 2.6.9 and latest.
To Reproduce

Navigate to Config > Users & Authentication
Select a user and observe the state of the "Delete" button (It should works as expected)
Click on another Tab in the Browser.
Return to the Tab where Rancher Dashboard is open.
Select a user and observe the state of the "Delete" button. It is always disabled.

The same bug is reproducible in the latest version, but here the button literally disappear:

@torchiaf Can you take a look and see if you can fix?!

@torchiaf Can you take a look and see if you can fix?!

Sure, I am working on it.

@richard-cox helped me to investigate on this issue.
We found that switching Browser tabs triggers a security check in the dashboard :
async visibilityChange() {
  if (!document.hidden) {
    await this.$store.dispatch('rancher/findAll', {
      type: NORMAN.USER,
      opt:  {
        url:    '/v3/users',
        filter: { me: true },
        force:  true
      }
    });
  }
},

The findAll subscribes again the user resource, which causes the user to be removed from the cache for some reason.

The available actions (like the Delete button) are not properly calculated because it is made based on a sub-set of user objects.

I have validated this issue on v2.7 and it got fixed. I did not see any new issues and closing this defect.
Validation details as below:
Rancher Version : v2.7-7d16a0d3b67cacd5dff58b055d81d7cd9172ec83-head
Browsers : Chrome and Firefox
Users : Admin and Standard Users
Modes : Auto and Dark
Test Cases:

Add different types of users and Delete users (by selecting a user and Click Delete)
Login with Standard user who has manage user permissions and Delete Users

Make sure the Delete button is enabled after selecting the user before delete.
Note: Delete button is disabled for the same user try to delete


[Modify]fix spelling mistake

I completed the 3 steps below:

[] I've read the Contribution Guide.
[] I've updated the documentation. (refer to this for how to do so).
[] I enjoyed my time contributing and making developer's life easier :)

@rushairer thanks for the PR, this was solved in a previous PR. So I merged #1273 instead.


use laravel scheduler instead of crontab tab

I think adding the following in the kernel will give the same as editing the crontab.. without editing it
$schedule->command('monitoring:record')->everyMinute();
$schedule->command('monitoring:purge')->daily(); //Adjust accordingly
My 2 cents

@hairmenu avsolutely true. In any case you need to update the crontab though.
It's Laravel, You can use it in anyway you like 😃


No support for X-Forwarded-Port

X-Forwarded-Port header is not supported, only ports in X-Forwarded-Host

Is the port in the Host inadequate / inaccurate?

It works, but I have an existing environment that uses the X-Forwarded-Port header to communicate the port instead of putting it in the X-Forwarded-Host header. Both methods seem to be valid.

Libraries like Swashbuckle expect the port in a separate X-Forwarded-Port header. On the other side, AWS Load Balancing sets the Port header (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/x-forwarded-headers.html#x-forwarded-port). If the task is still open i would be willing to implement it.

@Abdruggi does the x-forwarded-port value differ from the value included in the Host header?
You're welcome to submit a PR for this.

The x-forwarded-host header should not include a port if the x-forwarded-port header is set. I would suggest something like this:
If just the x-forwarded-port header is present:

request.Host.Port = x-forwarded-port header

If just the x-forwarded-host header is present:

request.Host.Host = x-forwarded-host header (don’t strip the port if available)

if both headers are present:

request.Host.Port = x-forwarded-port header
request.Host.Host = x-forwarded-host header (strip the port if available)

What do you think about this?

I've just run into this too, only the x-forwarded-port header is forwarded in my setup (and X-Forwarded-Proto, X-Forwarded-For, but no x-forwarded-host)

@Tratcher @Abdruggi Any timeline information available for resolution of this issue? If this is not going to be resolved in near future, we will probably consider alternative of patching it up in upper layer (WebApi for OData) to unblock some user scenario. Thanks.

No, we don't have any plans for this feature at the moment. What proxy is sending you that header?

@elevate-andrewlock ?

Both the NGINX and HAProxy setups we currently have send that x-forwarded-port. I believe AWS ELBs also send this header. NGINX also sends the x-forwarded-host (without the port), but HAProxy does not. Consequently, we have not been able to use the XForwardedHost header.
As I workaround, I've basically had to duplicate the ForwardedHeadersMiddleware in miniature, but it really feels like @Abdruggi's comment would be the most logical treatment of this header.

@shirhatti

Clearing Backlog milestone so we can re-triage and assess priority

@shirhatti Can you take a look?

@Abdruggi @andrewlock  I spent some time taking a look at your suggestions. Unless I'm mistaken I couldn't find any RFC that defines the behavior that you've called out?
We'd be extremely hesitant to introduce non-standard behavior.

@shirhatti, no as far as I can see, there is no RFC governing X-Forwarded-Port. However, while not standard, it is extremely common. For example AWS use X-Forwarded-Port in the Elastic Load Balancers, as does the standard Kubernetes NGINX ingress-controller (which is where I found the issue). Even Swashbuckle uses the header to correctly generate links.
I don't feel like supporting X-Forwarded-Port would be a particularly controversial requirement given its widespread use, and the fact that it can be easily (optionally) added to existing behaviour. I think This comment best describes the expected behaviour, which is to simply use the forwarded port if it's provided. We've already seen bugs in your own products (OData) which were highlighted ("caused" is probably a bit strong) by this issue.
I understand the reticence to add "non standard" behaviour, but it seems like this will be something that bites people without them realising, and can cause some tricky bugs to identify. What about that "pit of success" 😉. Obviously this is mostly selfish - I really don't want to have to maintain my own version of the forwarded ports middleware (as I'm currently doing locally), but if you commit to not implementing this I'll just publish my version on NuGet.

I understand the reticence to add "non standard" behaviour, but it seems like this will be something that bites people without them realising, and can cause some tricky bugs to identify.

I would love to understand this scenario better. Given that the X-Forwarded-Host already contains port, I'm missing these pits of failures without X-Forwarded-Port.

Sure, so for the examples I've described (and experienced):

AWS ELB doesn't use X-Forwarded-Host at all, only X-Forwarded-Port. This is probably the most common occurence (they send X-Forwarded-Port, X-Forwarded-Proto, X-Forwarded-For, but no X-forwarded-host).
Some upstream proxies won't set the port in the X-Forwarded-Host - instead X-Forwarded-Host contains the hostname only, and X-Forwarded-Port contains the port. I can't remember the exact setup where I saw this, but I believe it was behind an HAProxy instance.

What does ELB put in the real Host header? The back-end machine name and port? Or the original public value?

As I best I can tell from ELB docs, it sends the original unmodified Host Header.
For HAProxy, there is no default behavior. The suggested configuration has this
  http-request set-header X-Forwarded-Host %[req.hdr(host)]
  http-request set-header X-Forwarded-Port %[dst_port]
  http-request set-header X-Forwarded-Proto http if !{ ssl_fc }
  http-request set-header X-Forwarded-Proto https if { ssl_fc }

From this it's evident that that X-Forwarded-Host still contains the port information.

If anything, this thread is testament to why we don't like to ship non-standard behavior 😄
I'm going to backlog this for now, unless we have evidence that there seems to be consensus among what different proxies do.


Reinstate the repetition rule in Vale for 2.11.1 release

What changed, and why it matters
There was a bug in the repetition rule in Vale in the 2.11.0 release, so we disabled the rule. The bug is fixed, so this reinstates the rule

#273 will fix the build error, merge that first


Address potential causes for "Your search did not match any code" issue when clicking a language in the stats bar

Following up on: https://github.com/github-linguist/linguist/discussions/6408
Feedback is welcome

Looks like the github-merge-queue tried to merge a squashed commit of those changes but the fact that it doesn't belong to a branch made it fail. 🤔

Blast!! Looks like a legit failure, probably due to a gem update or change somewhere. I’ll take a look tomorrow.

Yup, it's a gem compat issue: https://github.com/freerange/mocha/issues/614. Fixed in https://github.com/github-linguist/linguist/pull/6499


[doc] Port doc to 2.0

Hi,
I successfully merged devel into topic/doc-v2 on my repo, it was straightforward, and I ported the examples to 2.0.
This PR updates the central topic/doc-v2 to 2.0.
I think we will soon be ready to move the first chunk of documentation into devel.

Hold on, I'v just realized there might be an issue with the submodules

Fixed.  Everything else was unaffected. It's fine now

I did not check the list of commits. I just cross the fingers and hope everything has been done well.


Add Hiera support to custom_service

Closes #51.

@gothicx Looks good, thanks for the contribution - I'll wait for the minor README fix and then merge it all together.....

You're welcome. Thank you for the reviews.


Andoird TV: send mouse movement / get the installed app

Is there a way to sending mouse movement deltaX and deltaY and get the installed app list from android tv for version 2

@nandishyb  Have you solved this problem? I have the same problem now. I don't know how to simulate mouse movement and get the APP list and quickly start the selected APP.


Support custom date format patterns in log tailer

when sling log format is customized and log contains such entries:
2021-05-20 13:50:00.006 *WARN* [sling-default-4-Registered Service.7414] org.apache.

instead of e.g
30.04.2021 07:00:04.924 *INFO* [pool-21-thread-1] com.adobe.granite

then no logs are printed to console, most probably because of hardcoded formats here:
https://github.com/wttech/gradle-aem-plugin/blob/master/src/main/kotlin/com/cognifide/gradle/aem/common/instance/tail/Log.kt#L48-L62

in other words, GAP should acceept configuration parameter log format, best if the format string will be same as in LogManager
PID: org.apache.sling.commons.log.LogManager-error
org.apache.sling.commons.log.pattern="\{0,date,yyyy-MM-dd HH:mm:ss.SSS} *\{4}* [\{2}] \{3} \{5}"


gradle: 8.7 → 8.8

Description of changes
https://docs.gradle.org/8.8/release-notes.html
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review run on x86_64-linux 1

5 packages failed to build:

gscan2pdf
gscan2pdf.man
mindustry
mindustry-server
mindustry-wayland

33 packages built:

apkleaks
apkleaks.dist
apksigcopier
apksigcopier.dist
apksigner
cie-middleware-linux
diffoscope
diffoscope.dist
diffoscope.man
experienced-pixel-dungeon
fdroidserver
fdroidserver.dist
ghidra-extensions.gnudisassembler
ghidra-extensions.machinelearning
ghidra-extensions.sleighdevtools
gradle
jabref
jadx
javaPackages.openjfx22
jextract
jextract-21
kotlin-language-server
moneydance
pdf-sign
pdfchain
pdftk
pidginPackages.purple-signald
rat-king-adventure
rkpd2
shattered-pixel-dungeon
shorter-pixel-dungeon
signald
signaturepdf

gscan2pdf.man.log
mindustry-wayland.log
mindustry-server.log
mindustry.log
gscan2pdf.log

The Mindustry build failure needs to be addressed before merging, I suppose.

Until https://github.com/Anuken/Arc/issues/169 is fixed we can switch to gradle_7

It would be nice to get this in, as currently we have jdk22 in nixos but  no gradle, that supports jdk22 properly.
Full support for jdk22 in gradle was only added in gradle 8.8.
(I discovered that in https://github.com/Col-E/Recaf/pull/805)

Until Anuken/Arc#169 is fixed we can switch to gradle_7 which still works

Now there is also a patch: https://github.com/Anuken/Arc/commit/d7f8ea858c425410dbd43374271a703d4443b432

@fgaz sure, but how long will it take until there is a new release of Mindustry that depends on a patched version of Arc and you found time to bump pkgs.mindustry? Months? I'd rather ask for you to pin gradle = pkgs.gradle_7 in pkgs.mindustry in the meantime, which I expect to be a simple change. Thanks!

Months? I'd rather ask for you to pin gradle = pkgs.gradle_7 in pkgs.mindustry in the meantime, which I expect to be a simple change. Thanks!

This should have been ammended to this PR


Breadcrumbs are getting duplicated

Environment
How do you use Sentry?
Sentry SaaS (sentry.io)
Which SDK and version? 0.4.2
Steps to Reproduce
I just opened the sample app and there were duplicated breadcrumbs while using it.

Expected Result
events without duplicated breadcrumbs.
Actual Result
breadcrumbs from JS side are duplicated

I see the same problem in production. For some reason, it doesn't seem to happen with all events and all devices, though

Happened on React Native: https://github.com/getsentry/sentry-react-native/issues/1409
Now I see that it seems like it happened again: https://github.com/getsentry/sentry-react-native/issues/1409

Problem seems to be happening here
https://github.com/getsentry/sentry-java/blob/d1029084e146b5ff02b1359e8bdf0a7252ebf2e5/sentry/src/main/java/io/sentry/SentryClient.java#L76-L80This is returning true, triggering the breadcrumb duplication


[BUG][NOWEB] - NOWEB not synchronizing anymore

Since updating to version 2024.9.4 (core) a few days ago, I haven't been able to sync groups or contacts. I've tried removing and recreating the session with the store and fullSync set to true, but the logs don't show any synchronization happening. As a result, when I call the chats and messages APIs, I get empty arrays.

Hi! Here's the steps you need to do if you're using core:

Run a new devlikeapro/waha docker container
Go to http://<IP_ADDRESS>:3000/dashboard/
Remove default session
Add default session back with enabled store
Wait 1-2 minutes so waha syncs all the data from the phone
Get /chats or /chats/{id}/messages?limit=10 endpoints

Just tested it, works normal
If it doesn't help - could you get all logs from docker output (right from the start) and send it to<EMAIL_ADDRESS>(as an attachment) :pray:


Minor issue with kostkaGelfandTsetlinPatterns'

Hello,
First, thank you for this excellent package.
I've found a minor issue in the function kostkaGelfandTsetlinPatterns' (and consequently kostkaGelfandTsetlinPatterns). The problem is that you use the minimum function:
kostkaGelfandTsetlinPatterns' :: Partition -> [Int] -> [GT]
kostkaGelfandTsetlinPatterns' plam@(Partition lambda0) mu0
  | minimum mu0 < 0                       = []

and then an error is thrown when mu0 = [].
A possible fix is to use any (< 0) mu0 instead of minimum mu0 < 0.

Thanks for the report! (for some reason I missed it earlier)

Fixed by 8c7e4f155106638eabb5323f2b48279498343536


Sa azure provider sdk

Codecov Report

Merging #385 (b9ae3b8) into 0.6.0-dev (d4d22ab) will increase coverage by 25.28%.
The diff coverage is 88.88%.

:exclamation: Current head b9ae3b8 differs from pull request most recent head 993705a. Consider uploading reports for the commit 993705a to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files

@@              Coverage Diff               @@
##           0.6.0-dev     #385       +/-   ##
==============================================
+ Coverage      63.60%   88.88%   +25.28%
==============================================
  Files              4        1        -3
  Lines            261       27      -234
==============================================
- Hits             166       24      -142
+ Misses            75        2       -73
+ Partials          20        1       -19

Files
Coverage Δ

sdk/providerazure/azurecommon/azure_credentials.go
88.88% <88.88%> (ø)

... and 4 files with indirect coverage changes

Continue to review full report in Codecov by Sentry.

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


Wrong type inference

SafeQL recognize a returned type of an integer as a text:

Query:
      {
        id: string;
        name: string;
        version: string;
        framework: Framework;
        licenses: string[] | null;
        syscalls: string[] | null;
        publiccves: any;
        total_executed_instances: number | null;
        total_loaded_instances: number | null;
        total_installed_instances: number | null;
      }[]
    >(sql`
      SELECT
        cl.id,
        l.name,
        l.version,
        l.framework,
        lm.licenses,
        syscalls.syscalls,
        cves.publicCves,
        executions.executed::INTEGER as total_executed_instances,
        executions.loaded::INTEGER total_loaded_instances,
        executions.installed::INTEGER as total_installed_instances
      FROM client_library cl
        INNER JOIN library l on l.id = cl.library_id
        LEFT JOIN library_metadata lm on lm.library_id = l.id
        LEFT JOIN LATERAL (
          SELECT array_agg(distinct sm.category) as syscalls
          FROM library_syscall ls
            INNER JOIN syscall_metadata sm on sm.global_id = ls.syscall_global_id
          WHERE
            ls.client_library_id = cl.id
        ) as syscalls on true
        LEFT JOIN LATERAL (
          SELECT json_agg(
            json_build_object(
            'code', c.code,
            'cvss_score', c.cvss_score
          )) as publicCves
          FROM
              library_cve lc
          INNER JOIN cve c on c.code = lc.code
          WHERE lc.library_id = l.id
        ) as cves on true
        LEFT JOIN LATERAL (
          SELECT
              SUM (
                  CASE
                      WHEN cli.last_executed_at is not null THEN 1
                      ELSE 0
                  END
              ) as executed,
              SUM (
                  CASE
                      WHEN cli.last_executed_at is null AND cli.state='2' THEN 1
                      ELSE 0
                  END
              ) as loaded,
              SUM (
                  CASE
                      WHEN cli.last_executed_at is null AND cli.state='1' THEN 1
                      ELSE 0
                  END
              ) as installed
          FROM client_library_instance cli
              INNER JOIN live_k8s_image_builds ib on cli.image_build_id = ib.id
          WHERE cli.client_library_id = cl.id
        ) executions on true`

Can you print the table schema?

It's a calculated field (SUM aggregation), not a column:

Here is the used columns declaration
  state  client_library_instance_state_enum  not null,
   last_executed_at   timestamp with time zone,

Here is the client_library_instance_state_enum declaration :
create type client_library_instance_state_enum as enum ('0', '1', '2', '-1');

I see. According to PostgreSQL, SUM returns a bigint type which SafeQL maps it to as a string due to this reason.
If your ORM returns a BigInt or any other value that is not a string, you can override it via overrides.types


Heroku Deploy Erroring After Several Minutes

When the app is deployed out to Heroku, it works fine for a while, but then shuts down seemingly randomly after a few minutes. This occurs when the app is left idle AND when the app is in constant use. Issue first identified by ssbPleb  on Twitter and I can recreate it on my own Heroku account with a fresh app created.
This is an example of the logs when the error occurs.

When Heroku restarts the app, there seems to be two instances which work in parallel for a short amount of time, resulting in messages being processed twice.

After a minute or so Heroku fully shuts down both of the instances.

Heroku on the free tier does shut down instances after 30 minutes of sitting idle, however this error occurs after only a few minutes and even occurs when the instance is not idle.

I discovered that when you click on 'Open app' it triggers 'web' in heroku, so it will run npm start again, this will happen every time that the user enters the auth link displayed in the console or clicks on 'Open app' (wich are the same) as I understand.
More information in the following links:
https://devcenter.heroku.com/articles/dynos#dyno-configurations
https://devcenter.heroku.com/articles/dyno-types
https://stackoverflow.com/a/38965136
I tried enabling only the 'worker' and disabling 'web' but when I try to authenticate by pressing 'Open app', it displays in the console:
heroku[router]: at=error code=H21 desc="Backend connection refused" method=GET path="/" host=twitch-spotify-request-bot.herokuapp.com request_id=eae730a9-eca3-4096-9b94-0daad5803b61 fwd="<IP_ADDRESS>" dyno=web.1 connect=0ms service= status=503 bytes= protocol=https

So you are forced to allow the 'web' to be enabled. If you enable both options, it's still not working.
The solution for this should be one of the following:

Get the 'worker' to work (hehe) with express without using the 'web' (Basically, investigate a way to run express in Heroku without using 'web')
Change the host service from Heroku to another (I heard about Vercel, Netlify, DigitalOcean, but I don't know If those have a free plans and easy usage like Heroku)

Thanks @IvanGodinez21 for investigating! I have some experience with Vercel and Netlify and both do have free tiers, but the setup process may require more technical knowledge than Heroku.

Due to some issues with Heroku and the fact that they removed their free tier, I've removed the recommendations to use it as it was causing confusion. If this changes in the future I will update this ticket.


TypeError: Cannot set property arrow of [object Object] which has only a getter

I'm hitting the following error when I'm trying to set the default for the arrow property to true via config/environment.js:
TypeError: Cannot set property arrow of [object Object] which has only a getter
    at _loop (attach-popover.js:269)
    at Class._setUserSuppliedDefaults (attach-popover.js:274)
    at Class.init (attach-popover.js:246)
    at Class.superWrapper [as init] (ember-utils.js:420)
    at new Class (core_object.js:118)
    at Function._ClassMixinProps.create (core_object.js:277)
    at FactoryManager.create (container.js:420)
    at Proxy.create (container.js:178)
    at CurlyComponentManager.create (curly.js:155)
    at runtime.js:1671

Not sure how I hadn't caught this before. I'll have a fix out in a second.


When there is an error, it removes domains.txt

I ran dehydrated and there was a error in my request ("status": 400). As a result, dehydrated removed domains.txt.
Running it again, same issue with my request, it tries again to remove it and prints:
rm: cannot remove '/etc/dehydrated/domains.txt': No such file or directory

Mh... Are you using the --signcsr function combined with --domain parameters? Those are not designed to be used with this function and seem to be the trigger for this bug.

Mh... Are you using the --signcsr function combined with --domain parameters? Those are not designed to be used with this function and seem to be the trigger for this bug.

I do. OK,  I'll try without --domain (it is in the CSR after all) but the bug is still really damaging.

The problem still here, /etc/dehydrated/domains.txt is removed on error:
# bash -x /usr/local/sbin/dehydrated -c -d test.org
+ set -e
+ set -u
+ set -o pipefail
+ [[ -n '' ]]
+ [[ -z '' ]]
+ shopt -s nullglob
+ set -f
+ umask 077
+ exec
+ exec
+ VERSION=0.6.5
+ SOURCE=/usr/local/sbin/dehydrated
+ '[' -h /usr/local/sbin/dehydrated ']'
+++ dirname /usr/local/sbin/dehydrated
++ cd -P /usr/local/sbin
++ pwd
+ SCRIPTDIR=/usr/local/sbin
+ BASEDIR=/usr/local/sbin
+ ORIGARGS='-c -d test.org'
++ uname
+ OSTYPE=Linux
+ [[ ! '' = \N\O\O\P ]]
+ main -c -d test.org
+ COMMAND=
+ [[ -z -c -d test.org ]]
+ ((  3  ))
+ case "${1}" in
+ set_command sign_domains
+ [[ -z '' ]]
+ COMMAND=sign_domains
+ shift 1
+ ((  2  ))
+ case "${1}" in
+ shift 1
+ check_parameters test.org
+ [[ -z test.org ]]
+ [[ t = \- ]]
+ [[ -z '' ]]
+ PARAM_DOMAIN=test.org
+ shift 1
+ ((  0  ))
+ case "${COMMAND}" in
+ command_sign_domains
+ init_system
+ load_config
+ [[ -z '' ]]
+ for check_config in "/etc/dehydrated" "/usr/local/etc/dehydrated" "${PWD}" "${SCRIPTDIR}"
+ [[ -f /etc/dehydrated/config ]]
+ BASEDIR=/etc/dehydrated
+ CONFIG=/etc/dehydrated/config
+ break
+ CA=https://acme-v02.api.letsencrypt.org/directory
+ OLDCA=
+ CERTDIR=
+ ALPNCERTDIR=
+ ACCOUNTDIR=
+ CHALLENGETYPE=http-01
+ CONFIG_D=
+ CURL_OPTS=
+ DOMAINS_D=
+ DOMAINS_TXT=
+ HOOK=
+ HOOK_CHAIN=no
+ RENEW_DAYS=30
+ KEYSIZE=4096
+ WELLKNOWN=
+ PRIVATE_KEY_RENEW=yes
+ PRIVATE_KEY_ROLLOVER=no
+ KEY_ALGO=rsa
+ OPENSSL=openssl
+ OPENSSL_CNF=
+ CONTACT_EMAIL=
+ LOCKFILE=
+ OCSP_MUST_STAPLE=no
+ OCSP_FETCH=no
+ OCSP_DAYS=5
+ IP_VERSION=
+ CHAINCACHE=
+ AUTO_CLEANUP=no
+ DEHYDRATED_USER=
+ DEHYDRATED_GROUP=
+ API=auto
+ [[ -z /etc/dehydrated/config ]]
+ [[ -f /etc/dehydrated/config ]]
+ echo '# INFO: Using main config file /etc/dehydrated/config'
# INFO: Using main config file /etc/dehydrated/config
++ dirname /etc/dehydrated/config
+ BASEDIR=/etc/dehydrated
+ . /etc/dehydrated/config
++ CONFIG_D=/etc/dehydrated/conf.d
++ BASEDIR=/var/lib/dehydrated
++ WELLKNOWN=/var/lib/dehydrated/acme-challenges
++ DOMAINS_TXT=/etc/dehydrated/domains.txt
+ [[ -n /etc/dehydrated/conf.d ]]
+ [[ ! -d /etc/dehydrated/conf.d ]]
+ [[ -n '' ]]
+ set +f
+ [[ -n '' ]]
+ set -f
+ [[ -n '' ]]
+ [[ -n '' ]]
+ check_dependencies
+ openssl version
+ _sed ''
+ command -v grep
+ command -v mktemp
+ command -v diff
+ set +e
++ curl -V
++ head -n1
++ awk '{print $2}'
+ CURL_VERSION=7.58.0
+ retcode=0
+ set -e
+ [[ ! 0 = \0 ]]
+ [[ /var/lib/dehydrated != \/ ]]
+ BASEDIR=/var/lib/dehydrated
+ [[ -d /var/lib/dehydrated ]]
+ [[ -z '' ]]
+ [[ https://acme-v02.api.letsencrypt.org/directory = \h\t\t\p\s\:\/\/\a\c\m\e\-\v\0\2\.\a\p\i\.\l\e\t\s\e\n\c\r\y\p\t\.\o\r\g\/\d\i\r\e\c\t\o\r\y ]]
+ OLDCA=https://acme-v01.api.letsencrypt.org/directory
++ echo https://acme-v02.api.letsencrypt.org/directory
++ urlbase64
++ openssl base64 -e
++ tr -d '\n\r'
++ _sed -e 's:=*$::g' -e y:+/:-_:
++ [[ Linux = \L\i\n\u\x ]]
++ sed -r -e 's:=*$::g' -e y:+/:-_:
+ CAHASH=aHR0cHM6Ly9hY21lLXYwMi5hcGkubGV0c2VuY3J5cHQub3JnL2RpcmVjdG9yeQo
+ [[ -z '' ]]
+ ACCOUNTDIR=/var/lib/dehydrated/accounts
+ [[ ! -e /var/lib/dehydrated/accounts/aHR0cHM6Ly9hY21lLXYwMi5hcGkubGV0c2VuY3J5cHQub3JnL2RpcmVjdG9yeQo ]]
+ [[ -f /var/lib/dehydrated/accounts/aHR0cHM6Ly9hY21lLXYwMi5hcGkubGV0c2VuY3J5cHQub3JnL2RpcmVjdG9yeQo/config ]]
+ ACCOUNT_KEY=/var/lib/dehydrated/accounts/aHR0cHM6Ly9hY21lLXYwMi5hcGkubGV0c2VuY3J5cHQub3JnL2RpcmVjdG9yeQo/account_key.pem
+ ACCOUNT_KEY_JSON=/var/lib/dehydrated/accounts/aHR0cHM6Ly9hY21lLXYwMi5hcGkubGV0c2VuY3J5cHQub3JnL2RpcmVjdG9yeQo/registration_info.json
+ ACCOUNT_ID_JSON=/var/lib/dehydrated/accounts/aHR0cHM6Ly9hY21lLXYwMi5hcGkubGV0c2VuY3J5cHQub3JnL2RpcmVjdG9yeQo/account_id.json
+ [[ -f /var/lib/dehydrated/private_key.pem ]]
+ [[ -f /var/lib/dehydrated/private_key.json ]]
+ [[ -z '' ]]
+ CERTDIR=/var/lib/dehydrated/certs
+ [[ -z '' ]]
+ ALPNCERTDIR=/var/lib/dehydrated/alpn-certs
+ [[ -z '' ]]
+ CHAINCACHE=/var/lib/dehydrated/chains
+ [[ -z /etc/dehydrated/domains.txt ]]
+ [[ -z /var/lib/dehydrated/acme-challenges ]]
+ [[ -z '' ]]
+ LOCKFILE=/var/lib/dehydrated/lock
+ [[ -z '' ]]
++ openssl version -d
++ cut '-d"' -f2
+ OPENSSL_CNF=/usr/lib/ssl/openssl.cnf
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ '[' '!' '' = noverify ']'
+ verify_config
+ [[ http-01 == \h\t\t\p\-\0\1 ]]
+ [[ http-01 = \d\n\s\-\0\1 ]]
+ [[ http-01 = \h\t\t\p\-\0\1 ]]
+ [[ ! -d /var/lib/dehydrated/acme-challenges ]]
+ [[ rsa == \r\s\a ]]
+ [[ -n '' ]]
+ [[ auto == \a\u\t\o ]]
+ [[ 5 =~ ^[0-9]+$ ]]
+ store_configvars
+ __KEY_ALGO=rsa
+ __OCSP_MUST_STAPLE=no
+ __PRIVATE_KEY_RENEW=yes
+ __KEYSIZE=4096
+ __CHALLENGETYPE=http-01
+ __HOOK=
+ __WELLKNOWN=/var/lib/dehydrated/acme-challenges
+ __HOOK_CHAIN=no
+ __OPENSSL_CNF=/usr/lib/ssl/openssl.cnf
+ __RENEW_DAYS=30
+ __IP_VERSION=
+ [[ -n /var/lib/dehydrated/lock ]]
++ dirname /var/lib/dehydrated/lock
+ LOCKDIR=/var/lib/dehydrated
+ [[ -w /var/lib/dehydrated ]]
+ trap remove_lock EXIT
++ http_request get https://acme-v02.api.letsencrypt.org/directory
+++ _mktemp
+++ mktemp /tmp/dehydrated-XXXXXX
++ tempcont=/tmp/dehydrated-VulQhV
+++ _mktemp
+++ mktemp /tmp/dehydrated-XXXXXX
++ tempheaders=/tmp/dehydrated-o9OFO6
++ [[ -n '' ]]
++ set +e
++ [[ get = \h\e\a\d ]]
++ [[ get = \g\e\t ]]
+++ curl -A 'dehydrated/0.6.5 curl/7.58.0' -L -s -w '%{http_code}' -o /tmp/dehydrated-VulQhV -D /tmp/dehydrated-o9OFO6 https://acme-v02.api.letsencrypt.org/directory
++ statuscode=503
++ curlret=0
++ set -e
++ [[ ! 0 = \0 ]]
++ [[ ! 5 = \2 ]]
++ [[ auto = \1 ]]
++ [[ -n '' ]]
++ echo '  + ERROR: An error occurred while sending get-request to https://acme-v02.api.letsencrypt.org/directory (Status 503)'
  + ERROR: An error occurred while sending get-request to https://acme-v02.api.letsencrypt.org/directory (Status 503)
++ echo

++ echo Details:
Details:
++ cat /tmp/dehydrated-o9OFO6
HTTP/2 503
server: nginx
date: Sat, 29 Feb 2020 05:21:40 GMT
content-type: application/problem+json
content-length: 178
etag: "5d9e23f1-b2"

++ cat /tmp/dehydrated-VulQhV
{
  "type": "urn:acme:error:serverInternal",
  "detail": "The service is down for maintenance or had an internal error. Check https://letsencrypt.status.io/ for more details."
}
++ echo

++ echo

++ [[ -n '' ]]
++ rm -f /tmp/dehydrated-VulQhV
++ rm -f /tmp/dehydrated-o9OFO6
++ [[ sign_domains = \s\i\g\n\_\d\o\m\a\i\n\s ]]
++ [[ -n test.org ]]
++ [[ -n /etc/dehydrated/domains.txt ]]
++ rm /etc/dehydrated/domains.txt
++ exit 1
+ CA_DIRECTORY=
+ remove_lock
+ rm -f /var/lib/dehydrated/lock

I found the error.
command_sign_domains calls init_system first, and checks for PARAM_DOMAIN afterward (creating a temp file if present).
In init_system, line 298, get CA URLs by calling http_request.
In http_request, if the CA is experiencing a temporary issue, we fail through to lines 559-581, where we remove the "temporary" DOMAINS_TXT file. But at this point in the chain, we have not yet created a temporary domains file, and so the actual domains.txt is removed instead.
This is a bug, but it's an extremely specific bug that would only ever be seen if you were using the -c argument, and the -d argument, and had an actual domains.txt file as well, and the CA experienced a temporary issue during the initial request for the directory URLs. Tricky!

Since I've wondered if this might become a problem for my setup, I've looked at the related code. If I'm not mistaken the bug was introduced a long time ago when the call to ìnit_system was added before the temporary domains.txt was defined.
However, from the perspective of separation of concerns it seems strange to have http_request taking care of cleaning up a temporary domains.txt file. Maybe it would be best to just remove these lines: https://github.com/dehydrated-io/dehydrated/blob/dbb0ef1ce1/dehydrated#L577-L578. I guess there are other code pathes that let the script exit without hitting one of the two statements that remove the temporary domains.txt file.
Instead the cleanup of the temporary domains.txt could perhaps be done with a trap. (I'm aware of this suggestion being a bit handwavy ;-) E.g. there already is a trap command in init_system, so this would need some coordination.)


create 3 pages: repo list, repo info, user info

use react-router

[ ] install react-router

[ ] write routes

[ ] master page (layout)

[ ] repo and user params in url

invalid route redirect to main page


How to get the original dataset of MSRVTT?

Hello author, can you provide the original video dataset of MSRVTT?

The videos are from Youtube. We are not allowed to distribute the dataset.


Dynamic Click app generation

Currently, I can export the whole Click structure to JSON by using to_info_dict method. Something like this does it well:
with click.Context(cli) as ctx:
    info = ctx.to_info_dict()
with open('info.json', 'w') as file:
    json.dump(info, file, default=str)

Now I've bumped into a case when I need to be able to make a reversed action - to generate CLI from such info JSON (or maybe another info JSON). Is there a native way to do it, or I just need to go through the info dict manually and create corresponding Click's objects?

You need to write code to do what you want.


fugue fails to install with node 0.6.4

sembiance@bigrapids /tmp $ npm install fugue
npm WARN<EMAIL_ADDRESS>package.json: bugs['web'] should probably be bugs['url']
npm WARN<EMAIL_ADDRESS>package.json: bugs['web'] should probably be bugs['url']

<EMAIL_ADDRESS>install /tmp/node_modules/fugue
node-waf configure build

Checking for program g++ or c++          : /usr/bin/g++
Checking for program cpp                 : /usr/bin/cpp
Checking for program ar                  : /usr/bin/ar
Checking for program ranlib              : /usr/bin/ranlib
Checking for g++                         : ok
Checking for node path                   : not found
Checking for node prefix                 : ok /usr
'configure' finished successfully (0.024s)
Waf: Entering directory /tmp/node_modules/fugue/build' [1/2] cxx: deps/daemon.cc -> build/Release/deps/daemon_1.o ../deps/daemon.cc:13:16: fatal error: ev.h: No such file or directory compilation terminated. Waf: Leaving directory /tmp/node_modules/fugue/build'
Build failed:  -> task failed (err #1):
{task: cxx daemon.cc -> daemon_1.o}
npm ERR! error installing<EMAIL_ADDRESS>Error<EMAIL_ADDRESS>install: node-waf configure build
npm ERR! error installing<EMAIL_ADDRESS>sh "-c" "node-waf configure build" failed with 1
npm ERR! error installing<EMAIL_ADDRESS>   at ChildProcess. (/usr/lib/node_modules/npm/lib/utils/exec.js:49:20)
npm ERR! error installing<EMAIL_ADDRESS>   at ChildProcess.emit (events.js:70:17)
npm ERR! error installing<EMAIL_ADDRESS>   at maybeExit (child_process.js:359:16)
npm ERR! error installing<EMAIL_ADDRESS>   at Process.onexit (child_process.js:395:5)
npm ERR<EMAIL_ADDRESS>install: node-waf configure build
npm ERR! sh "-c" "node-waf configure build" failed with 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is most likely a problem with the fugue package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-waf configure build
npm ERR! You can get their info via:
npm ERR!     npm owner ls fugue
npm ERR! There is likely additional logging output above.
npm ERR!
npm ERR! System Linux 3.0.4
npm ERR! command "node" "/usr/bin/npm" "install" "fugue"
npm ERR! cwd /tmp
npm ERR! node -v v0.6.4
npm ERR! npm -v 1.1.0-alpha-6
npm ERR! code ELIFECYCLE
npm ERR! message<EMAIL_ADDRESS>install: node-waf configure build
npm ERR! message sh "-c" "node-waf configure build" failed with 1
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /tmp/npm-debug.log
npm not ok

Yeah, fugue does not support node >= 0.6.0.
I'll update package.json appropriately.

Looks like ev.h is no more.
Now just include 'node.h' and you get everything ev.h had in it.
Changing daemon.css to include node.h instead of ev.h fixed the configure build for me.
Another module that had the same problem: https://github.com/JustinTulloss/zeromq.node/pull/62

pgte:
Aside from this error, is there another reason why fugue shouldn't be used with node 0.6.x ?
Basically, should I be looking into finding a different daemonizer for my node 0.6.x based project or is it just a matter of fixing this one bug?

Note that node.h from node 0.4.12 already includes ev.h
So just changing #include <ev.h> in daemonize.cc to #include <node.h> should be backwards compatible and allow fugue to compile and install with node 0.6.x

I honestly don't have time to support this module anymore.
I accept a pull request, though, and I'll run the tests under node 0.6 before publishing it :)
Otherwise, these days I tend to use cluster https://github.com/LearnBoost/cluster :)

Added a pull request #14 which changes the include and reverts the package.json node.js requirement back.
Thank you VERY much for making fugue and thank you for pointing me to cluster :)

The tests fail with this:
pedroteixeira:fugue pedroteixeira$ make test
node-waf configure build
Checking for program g++ or c++          : /usr/bin/g++
Checking for program cpp                 : /usr/bin/cpp
Checking for program ar                  : /usr/bin/ar
Checking for program ranlib              : /usr/bin/ranlib
Checking for g++                         : ok
Checking for node path                   : ok /usr/local/lib/node
Checking for node prefix                 : ok /usr/local
'configure' finished successfully (0.441s)
Waf: Entering directory /Users/pedroteixeira/projects/fugue/build' [1/2] cxx: deps/daemon.cc -> build/Release/deps/daemon_1.o [2/2] cxx_link: build/Release/deps/daemon_1.o -> build/Release/daemon.node Waf: Leaving directory /Users/pedroteixeira/projects/fugue/build'
'build' finished successfully (0.582s)
node tools/test.js test_zero_workers test_one_worker test_if_i_can_reach_many_workers test_app_reload test_working_dir test_leaks test_worker_dies_after_master_sudden_death test_unix_socket test_pipe_leaks
running test test_zero_workers...
AssertionErrorErrorNo such moduleError: No such module
at Object.start (/Users/pedroteixeira/projects/fugue/lib/fugue.js:190:28)


add undo/redo shortcut and idea selection-indicator to LabyrinthJS

While linking ideas, no selection-indicator of selected idea was visible thereby creating confusion. Added a selection-indicator to the currently selected idea and auto-deselect after making a link.

Please avoid sending a PR before creating an issue which should also be reviewed by @llaske.

@VishnuVardhanBR It is a minor UI/UX impovement. I don't think this needs an issue to be created. We can discuss here if there's anything to. But I'm new to this community, if that's what people follow here then I shall do so :)

Keyboard shortcuts are useless in Sugarizer because it's too complex for children and because Sugarizer is mostly use on tablets.
As @VishnuVardhanBR suggest, please open an issue before sending a PR.

@llaske Removed shortcuts. Thanks.
Issue #1585

Nice. Thanks.


Update logic-apps-enterprise-integration-overview.md

@MSFTMan Hello, I am tasked with fixing/removing broken links and this article had one flagged.

@msebolt : Thanks for your contribution! The author, @msftman, has been notified to review your proposed change.

#sign-off

@ecfan: I'm sorry - only the author of this article, @msftman, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

@ktoliver : Thanks for your contribution! The author, @msftman, has been notified to review your proposed change.


Cancelling / clearing track search is not instant

It's the delay before firing off search to spotify, but needs to be instant when cancelling.

Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

Local playlist search should be show/hiding, not removing the elements from the DOM since re-adding 200 songs after cancelling a search is causing lag here.


How to use Ashley the most efficient way?

I don't mean to come off as rude, but during the development of a fairly simple game I have bumped into some pretty annoying interactions specifically with Ashley, and I'm not sure if I'm just doing the component oriented game development the wrong way or if these were caused by knowingly made choices in developing Ashley.

Family that checks for superclass. In my game I wanted to have LightComponent that has PointLightComponent, DirLightComponent etc as subclasses. Because of lack of superclass check in Family I ended up with having a Light object in a single LightComponent class, which is then subclasses further.
Access to engine from an entity system. If I want to add a new entity or remove old entity in an entity system, I need to store an engine reference to a field in addedToEngine(), which I think is very annoying as that seems to be a very common thing to do in entity systems.
Easy access to up-to-date entities array for specific Family. In my game I wanted to implement parenting entities to other entities, so I created ParentComponent and ParentSystem that extended IteratingSystem. However, adding a ParentComponent to an arbitrary entity did not update the iterated entities in ParentSystem. Instead I had to create an UpdatingIteratingSystem, which keeps the entities array that holds entities with ParentComponents up to date with added entities. Definitely a viable alternative, but even the wiki uses code that keeps an ImmutableArray that is not updated after the system is added to the engine. I feel like that should not be the default option.

I understand some of these choices (namely 1) were made to be performant on mobile phones,  but I feel like they also gimp users. Now the question is are these things that might change in Ashley or should I create my own fork if I want to see them.

Family that checks for superclass. In my game I wanted to have LightComponent that has PointLightComponent, DirLightComponent etc as subclasses. Because of lack of superclass check in Family I ended up with having a Light object in a single LightComponent class, which is then subclasses further.

That sounds more like object-oriented programming, but making Light an abstract base class might be the right thing to do. Components should really only store data, which means there is no need to subclass them (or rather, it's bad to subclass them). As a matter of style, always declare them final.

Access to engine from an entity system. If I want to add a new entity or remove old entity in an entity system, I need to store an engine reference to a field in addedToEngine(), which I think is very annoying as that seems to be a very common thing to do in entity systems.

This is what you'll have to do when implementing an own EntitySystem. You could declare a common baseclass, say AbstractEntitySystem, but I don't think that would look nicer.

Easy access to up-to-date entities array for specific Family. In my game I wanted to implement parenting entities to other entities, so I created ParentComponent and ParentSystem that extended IteratingSystem. However, adding a ParentComponent to an arbitrary entity did not update the iterated entities in ParentSystem. Instead I had to create an UpdatingIteratingSystem, which keeps the entities array that holds entities with ParentComponents up to date with added entities.

Are you really sure about that?
Adding the ParentComponent to an entity will at least show up in the next iteration - such operations may be delayed. I don't understand why UpdatingIteratingSystem would be different from IteratingSystem - all ImmutableArray instances are updated with the entities added to Engine.

Components should really only store data, which means there is no need to subclass them (or rather, it's bad to subclass them).
Subclasses can still hold only data though, can't they? I have no formal education in OOP so I can't say for sure, but if Light class has a attenuation field and subclassing PointLight has a position field, I don't see how that breaks the store-only-data concept. This was one of my more minor concerns though.

This is what you'll have to do when implementing an own EntitySystem. You could declare a common baseclass, say AbstractEntitySystem, but I don't think that would look nicer.
Would it be a sensible addition to add eg. getEngine() to EntitySystem, where default addedToEngine() would store the engine reference? To me this seems like a very useful addition with no major downsides.

Are you really sure about that?
No.. I believe I did try it, but didn't do any too comprehensive tests because  I thought ImmutableArray would mean that it is, well, immutable.

Thanks for the response. I'll see if I can at least get rid of UpdatingIteratingSystem.

Subclasses can still hold only data though, can't they? I have no formal education in OOP so I can't say for sure, but if Light class has a attenuation field and subclassing PointLight has a position field, I don't see how that breaks the store-only-data concept. This was one of my more minor concerns though.

Yes, fields are inherited from superclasses, so it would work, but wouldn't really suit an ECS design. Rather you could try splitting up LightComponent into different components storing some of a lights aspect, and then introduce a DirLightSystem handling directional lights, PointLightSystem handling point lights, and so on. But I don't really know the right way to go on this one, figure it out yourself.

Would it be a sensible addition to add eg. getEngine() to EntitySystem, where default addedToEngine() would store the engine reference? To me this seems like a very useful addition with no major downsides.

You could do that in an AbstractEntitySystem, or store the engine in a protected field, so it's accessible from subclasses. I don't actually think this is too much of a problem, but that is just my opinion.

No.. I believe I did try it, but didn't do any too comprehensive tests because I thought ImmutableArray would mean that it is, well, immutable.

ImmutableArray is just an immutable view of an array - the wrapped array can still be modified, which is done by Engine when an entity is added/removed to a Family. This is indeed very confusing - the only way to find out the truth is by peeking at the Engine source code.

I kind of meant would it be possible to add getter for the engine reference in EntitySystem in the Ashley code itself.
I know that it then requires subsystems to then call super.addedToEngine() for it to work properly, but to me that seems like a good trade-off considering many more complex entity systems require access to engine, and while your suggestion of creating AbstractEntitySystem works well for my own entity systems, it still makes it impossible to get access to engine in subclasses of built-in entity systems such as IteratingSystem without overriding addedToEngine(), which is what I want to avoid.
If that is not a possibility, feel free to close the issue.

You'll have to ask @saltares about that. It's always possible, but I thought it wouldn't really be necessary.

Lights
Like @Antag99 said, components are just bags of data and should never use inheritance. That's exactly what we're trying to avoid with entity systems in the first place.
Depending on what you want to do I would have different components: PointLightComponent, DirectionalLightComponent and so on and so forth. You could have a system that deals with entities that possess any light component (this is possible with family filtering) or a system per light type. Whatever suits you best.
Entity hierarchy
You could have a NodeComponent that would have references to parent and children so you can represent a general tree. A HierarchySystem would process these entities if need be. Adding a NodeComponent to an entity won't put it in the HierarchySystem until the next tick but once that's done, it'll be processed as well. If you have found issues with this or are experiencing a behaviour you might think of as wrong, please create unit test for it and send a PR.
#####Engine access
I will definitely consider making it easier to get an Engine reference from an EntitySystem. We could even make it so that there is no need to call super.addedToEngine() from the derived class. Engine could call a final method on the base system that would set the reference to the engine and then call the overridable addedToEngine().
Sorry I haven't been able to stay on top of everything but with work and other compromises it can be rather difficult at times.

I think we can close this now, I've created an enhancement ticket for the engine reference from systems.

@wyozi #167 is already closed, getEngine() is in.


Allow an empty paragraph child on converting from markdown

fixes #5516
after:
https://github.com/facebook/lexical/assets/40269597/0e1e970f-f91f-499a-a33c-9ebb6a81979b

@zurfyx Thank you for kind explanation. I misunderstood some methods. I applied your suggestion: 036b878
Btw, while debugging this, I found some other cases that table node looses table row and cell node. I will open a new issue about them.


Request: Add a python 3.6.9 image

Hi,
We are working with medical images which requires the use of iSyntax from Philips. Unfortunately, they only support python 3.6.9. Is it possible to upload a slim image of that?


Fix coverage summary

Fixes a couple intertwined issues in rule summarize_contigs_by_coverage that caused errors when running rotary in long read only mode, to address one part of #118
In the previous version of rotary, long-read only mode actually worked with rule summarize_contigs_by_coverage, but only when a coverage filter threshold was supplied in the config file. The rule resulted in an error when no long read coverage filter thresholds were supplied (which is the config default) in long-read only mode.
In this update, the following changes were made to address this problem:

rule summarize_contigs_by_coverage was moved inside a conditional block (as it should have always been) so that it only runs when some kind of coverage filtration is requested
a basic report summarizing the results of coverage filtration was created -- this is symlinked to {sample}/polish/{sample}_contig_info.tsv. This report is made whether coverage filtration is performed or not.
the above report is used to parse out which contigs to run circularization on in checkpoint split_circular_and_linear_contigs -- before, no report was made if coverage filtration was not run, causing this checkpoint to fail.

Because of how rule summarize_contigs_by_coverage was moved into an existing conditional block in polish.smk, the git diff does not show the file changes very cleanly -- my apologies!
In the long term, I think it might make sense to move the code in summarize_contigs_by_coverage into a Python utility script -- this would make it easier to write/run tests on some of the logic being performed in this code.
Let me know if you have any thoughts -- thanks!

In the long term, I think it might make sense to move the code in summarize_contigs_by_coverage into a Python utility script -- this would make it easier to write/run tests on some of the logic being performed in this code.

This sounds good. Feel free to create an issue for this.

In the long term, I think it might make sense to move the code in summarize_contigs_by_coverage into a Python utility script -- this would make it easier to write/run tests on some of the logic being performed in this code.

@jmtsuji This sounds good. Feel free to create an issue for this.

Will include in issue #120

@jmtsuji Looks good to me at a glance. Feel free to merge in.


Automatically clear the clipboard

Automatically clear the system keyboard after 90 seconds. This value
is configurable. The clipboard is only cleared if it still contains
the content which was originally copied.
To not leak any valueable information about the copied contents,
the clearing background process only receives a truncated hash of
the data which he compares against the (possibly) altered clipboard
contents. Only if they match, the clipboard is wiped.

Updated.

Updated, ptal.

This looks good to me.


[python] [build system] Improve MacOS Wheel Building with Rosetta

Update: pyenv has been removed from the build chain. While the isolation and tooling it provides is convenient, it proved far too opinionated about reaching out and pulling in Homebrew-installed dependencies to be something that adds to build reproducibility (for example, gettext is depended on if it is installed via brew, regardless of architecture, causing linker errors and segfaults when Python localizes strings).
Fixes https://github.com/apache/pulsar/issues/15402
Motivation
Building Python client wheels on MacOS is troublesome on some combinations of architecture/python version. Specifically, Python 3.7 is the most widely used version of Python 3, but it does not support building "universal" binary wheels (wheels which contain both ARM and Intel-architecture binary artifacts).
Additionally, building Python from source on MacOS is troublesome and prone to breakage in older (or future) MacOS versions.
As a result, the wheel building Bash automation refrains from creating 3.7 wheels on ARM, and otherwise special-cases 3.7 in a few different ways.
Two tools are available to help with these issues which the Pulsar client build system does not currently make use of:

~The pyenv project is a widely used means of getting around "python has trouble building from source" on many systems, including MacOS systems. They maintain a curated list of patches (mostly to Python's build system rather than Python itself) to allow it to build well on all sorts of environments. They also provide tooling for semi-hermetic "virtual python environments" (distinct from virtualenvs in that they encapsulate a separate Python interpreter, rather than just a set of dependencies). Using those environments, it's possible to build and install multiple versions of Python and switch between them.~
The rosetta translation system on ARM Macs allows those Macs to run binaries (including compiler toolchains) for both the ARM and x86 architecture.

Modifications
This PR alters the wheel creation script in a few ways:

The MacOS SDK (the stdlib and system headers/libraries) is now looked up using the standard xcrun command rather than via hardcoded and templated path.
Python versions iterated over in the script are also qualified with their architecture--x86, arm, or universal.
The OpenSSL version that is built for the Pulsar client to link against is also used by Python builds.
~pyenv is installed (via git master checkout) in the wheel building scratch environment. git clone is Pyenv's suggested installation mechanism, since many of their patches land in master before they are available in pyenv package artifacts via e.g. Homebrew or dpkg repositories.~
~pyenv is used to install Pythons, rather than a direct download-and-compile.  Appropriate flags are set/unset for each python/architecture "tuple". For example, for 3.7, only native-architecture, non-universal wheels can be created, so its build/install is run twice, one with an ARM architecture and once with x86. Note that this means that arm64 python37 builds will fail on Intel Macs; the Rosetta translation layer used to allow ARM macs to run the Intel build system does not reverse, and so the arch command's invocation will fail for that permutation on an Intel mac. I suggest that Intel mac compiling users comment that permutation out of the PYTHON_VERSIONS list.~
pip, setuptools, and wheel packages are updated to their latest versions supported on the corresponding Python.
~Pyenv is also used to invoke bdist_wheel at the end, providing added assurance that wheel creation executes against the desired versions of resources.~

Verifying this change
I suggest the following test plan:

On a Mac running MacOS 11 or better, ensure cmake and the SDK are installed. Also install pyenv in a separate distribution for testing via brew install pyenv.
If your test system is an Intel Mac, comment out the python37/arm64 entry from the PYTHON_VERSIONS list in this PR's file.
Run bash build-python-wheels.sh
Ensure that the expected wheel artifacts corresponding to the listed Python versions are created in the pulsar-client-cpp/python/dist directory.
For each python interpreter version, do python -mpip install --upgrade pip; python -mpip install --upgrade setuptools wheel.
For each python, find the corresponding wheel file in dist/ and do python -mpip install /path/to/pulsar-client-wheel.whl. Ensure it installs successfully.
Ensure that only system-avaialble or relative linker paths are available via otool -L $(python -c 'import _pulsar; print(_pulsar.__file__)').
Run the python Pulsar client test suite against a running instance of Pulsar, and ensure all tests pass.

Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): sort of
The public API: no
The schema: no
The default values of configurations: no
The wire protocol: no
The rest endpoints: no
The admin cli options: no
Anything that affects deployment: client libraries

Documentation
Need to update docs?

[x] no-need-doc
The wheel creation process is unchanged externally.

@zbentley I'm getting errors in building Python 3.7 with Pyenv through the script:
BUILD FAILED (OS X 12.3.1 using python-build 2.3.0-1-g867f34b5)

Inspect or clean up the working tree at /var/folders/q6/sh01_cr95z7f13gwk1thn3y00000gn/T/python-build.20220505154848.25738
Results logged to /var/folders/q6/sh01_cr95z7f13gwk1thn3y00000gn/T/python-build.20220505154848.25738.log

Last 10 log lines:
		case upgrade in \
			upgrade) ensurepip="--upgrade" ;; \
			install|*) ensurepip="" ;; \
		esac; \
		DYLD_LIBRARY_PATH=/var/folders/q6/sh01_cr95z7f13gwk1thn3y00000gn/T/python-build.20220505154848.25738/Python-3.7.13 ./python.exe -E -m ensurepip \
			$ensurepip --root=/ ; \
	fi
dyld[40040]: missing symbol called
/bin/sh: line 1: 40040 Abort trap: 6           DYLD_LIBRARY_PATH=/var/folders/q6/sh01_cr95z7f13gwk1thn3y00000gn/T/python-build.20220505154848.25738/Python-3.7.13 ./python.exe -E -m ensurepip $ensurepip --root=/
make: *** [install] Error 134

@merlimat when convenient could you attach one of the pyenv build log files mentioned in the error snippet you posted?

Interesting; that's a new one on me (and on google). As with most things pyenv, it's (over)sensitive to workstation environments and so novel failure modes often crop up when used on machines that are configured to build other software.
A couple things to try:

The presence of python.exe is a little weird. Some parts of the python-build system use that, but it shows up a lot in your output. Are you by chance running a case-insensitive MacOS filesystem (this is somewhat rare these days). What version of MacOS are you running, what arch, and what FS (diskutil info / | grep -i personality)?
Make sure you don't have anything er ... unusual being inherited from your system environment. Pyenv's not terribly hermetic when run by default (are you running it via the build-wheels script on that branch, or normally on your shell?).
Try removing --with-openssl=$PREFIX from this line and building again: https://github.com/apache/pulsar/pull/15436/files#diff-5644e2b9669a87858353608a740e7980b50b7161ce9cd84a3b800ec1c53a0999R205
Try building with PYENV_DEBUG=1 and post resulting logs/error output.
Add -k to your pyenv install stanza so it keeps the build dir around. That'll allow you to re-run the failing commands with various changes/debugging rather than rebuilding Python each time. Once you've done that, the tmpdir pyenv uses should not be deleted once it's done. You can export TMPDIR=/stable/path to make it predictable. Then, try these:
Try with faulthandler; if the partially-built python is something you can reproduce that issue by hand with (e.g. you can re-run that ensurepip command after the build fails and it still reproduces the dyld error), add -X faulthandler, so like ....python.exe -X faulthandler -E -m ensurepip.
Try figuring out what module is breaking it. python -c 'import _ssl'; python -c 'import struct'; python -c 'import ctypes' are some common build failure symptoms (ctypes you already had issues with).
If that fails, try dtruss: sudo dtruss /path/to/pyenv/python -E -m ensurepip and post output.

Basically, we're trying to find what it wants to link to that it isn't finding.

@merlimat - Any reason not to Squash and Merge? (once the CI passes?)
@eolivelli - i've noticed that @zbentley is active with on Pulsar in the Homebrew project.

@dave2wave, @merlimat and I paired on this awhile ago and had isolated build-repro issues down to something related to Python locale preventing Pyenv pythons from building on Matteo's setup. I can try a few "see what sticks" standard-issue fixes like LC_ALL exports etc. to see if that unblocks him and/or others.
To do more than that, I need more info about specific build failures on builders' machines in order to give confidence in these changes; I'm happy to collaborate here or synchronously via Zoom; feel free to reach out to zac at klaviyo.com if interested.
Others on this thread: have you had luck (good or bad) building with these changes?

@merlimat pyenv proved not to be worth it (and was responsible for the locale issues we encountered). This PR and its description have been updated to use rosetta but not pyenv to improve the build reproducibility. PTAL.

Closed. This looks good but the code has been moved to https://github.com/apache/pulsar-client-python.


Update GLUE evaluation metadata

This PR updates the evaluation metadata for GLUE to:

Include defaults for all configs except ax (which only has a test split with no known labels)
Fix the default split from test to validation since test splits in GLUE have no labels (they're private)
Fix the task_id for some existing defaults

cc @sashavor @douwekiela

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


testCksum fails with flags "-udp -tcp -ipv4 -ipv6"

git bisect bad
8df5cdbeacd90f7d315d6ec7e12697eb0d90b61b is the first bad commit
reproducer:
 ./test/stability/testCksum/testCksum -udp -tcp -ipv4 -ipv6 -number 10000

fails with
TEST FAILED
Bad data found in the packet: fdfe8aa4586acfce

As Daria pointed these command line invocate random tests. Daria should provide exact line without random generations.

fixed


ocamlPackages: Init ppx_cstubs at <IP_ADDRESS>, add ppxlib 0.22.0, add ppx_deriving 5.2.1

Motivation for this change
Add new package ppx_cstubs, update its dependency ppxlib, and update ppx_deriving
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

@SuperSandro2000 Thanks for the review! I've applied your suggestions.


Fix error when migrating MySQL db (ref #393)

Summary
Some MySQL databases were not properly migrating the foreign key with the most recent migration change (RenameBulkraxImporterRunToImporterRun), while Postgres ones were. This change makes the migration more universal by manually removing / re-adding the foreign key (and index) manually around the column name change
#393 fixed a similar issue
⚠ Add the following section the the next release notes ⚠
If using a MySQL database, follow these steps to repair the migrations:

rails db:migrate:down VERSION=20220609001128
rails db:migrate
Verify the changes to db/schema.rb
a. bulkrax_pending_relationships table1
b. bulkrax_pending_relationships foreign key2

1 bulkrax_pending_relationships table
  create_table "bulkrax_pending_relationships", options: "ENGINE=InnoDB DEFAULT CHARSET=latin1", force: :cascade do |t|
    t.bigint "importer_run_id", null: false
    ...
    t.index ["importer_run_id"], name: "index_bulkrax_pending_relationships_on_importer_run_id"
  end

2 bulkrax_pending_relationships foreign key
  add_foreign_key "bulkrax_pending_relationships", "bulkrax_importer_runs", column: "importer_run_id"

@sephirothkod do you think this is a patch, minor, or major change?


10.17 massively overreports subscription renewals

Description
10.17 is reporting 100s of renewals transactions that are not occurring on multiple users
Reproducing the issue

Firebase SDK Version
10.17
Xcode Version
15.0
Installation Method
CocoaPods
Firebase Product(s)
Analytics
Targeted Platforms
iOS
Relevant Log Output
No response
If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet

Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet

Replace this line with the contents of your Podfile.lock!

Is there a way to disable auto-reporting of these events and mange it manually until this issue can be resolved? It's completely wrecked our revenue reports.

Good afternoon,
I wanted to comment on this pull to let y'all (my team) that I have been hidden from all this. I am a victim of identity theft. I have mentioned this when I started in development. I don't know if this matters but wanted to give a heads up just in case.
 I have tried multiple times to find it to turn on but I can't seem to find it in settings to turn on.
Does anyone have any advice so I can turn JavaScript back on?

Hi John. Thanks for the report.
I found an existing feature request to disable automatically logging purchases: https://github.com/firebase/firebase-ios-sdk/issues/2435 Feature request: disable auto logging of in_app_purchase.
If an existing app with in-app purchases in the receipt doesn't have the analytics library installed, and then later has the analytics library installed, the library will automatically log those previous transactions.
Steps to log new purchases made while the app has the analytics library installed are at https://firebase.google.com/docs/analytics/measure-in-app-purchases.
Steps to request Analytics data to be deleted are at https://support.google.com/analytics/answer/9940393 [GA4] Data-deletion requests.

Experiencing the same issue:

127 renewals for a single user in a single day.
I use Flutter (firebase_analytics 11.3.6).


NPE calling numPlayers at server

Describe the bug
I am getting this error in my server log:
NullReferenceException: Object reference not set to an instance of an object   at Mirror.NetworkManager+<>c.<get_numPlayers>b__66_0 (Mirror.NetworkConnection conn) [0x00000] in <filename unknown>:0    at System.Linq.Enumerable.Count[NetworkConnection] (IEnumerable1 source, System.Func`2 selector) [0x00000] in :0
at Mirror.NetworkManager.get_numPlayers () [0x00000] in :0
at NetworkManagerMMO.WorldStats () [0x00000] in :0
`

:tada: This issue has been resolved in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[Merged by Bors] - Async generator

Change parser to accept async generator.
Closes #612.

Does this page need to be updated?

@Mouvedia Yes, I forgot updating it.

@kdy1 dunno why but babel-plugin-syntax-async-generators swc row is empty.

@Mouvedia Fixed it, thanks!


Build not terminating for repo plugin since 8.2.

Expected Behavior
It should move to another task in a few seconds.
Current Behavior

Context (optional)
No response
Steps to Reproduce

git clone -b mfr-logic https://github.com/MoonLightSuite/MoonLight.git moonlight
./gradlew wrapper --gradle-version=8.2
./gradlew build

Alternatively, one can skip the second step and notice that with 8.1.1 it builds correctly.
Gradle version
8.2
Build scan URL (optional)
No response
Your Environment (optional)
M1 Mac OS

Sorry that you're having trouble with Gradle!
We appreciate the effort that went into filing this issue, but we must ask for more information.
As stated in our issue template, a minimal reproducible example is a must for us to be able to track down and fix your problem efficiently. Our available resources are severely limited, and we must be sure we are looking at the exact problem you are facing.
If we have a reproducer, we may be able also to suggest workarounds or ways to avoid the problem.
The ideal way to provide a reproducer is to leverage our reproducer template. You can also use Gradle Project Replicator to reproduce the structure of your project.
This issue will be closed after 7 days unless you provide more information.

I can't reproduce on a m2 mac with Java 17 (the minimum to build your project apparently).
There must be something different on your end. Can you reproduce on a different machine?

Ok, it seems it was related to my local setup, I can confirm I was able to build from another machine.
Closing the issue, thanks and I apologize for the time spent.


Add private constructor to prevent a class instantiation

No need to instantiate this class

Good point, thanks!
Merged in https://github.com/delight-im/ShortURL/commit/b8cb01965dc70410aaabe5beb14812744199956d.
In addition, I've now made the class final in https://github.com/delight-im/ShortURL/commit/cbc7b94d7e9320d5dec5d155502280d77a6e3ad4.


A way to catch if user enter or leave chat

Is possibile to know when a user enter/leave a chat and so what event is fired?
I can't find anything on README in main page.
I'm sorry if this problem is already solved time ago.
Thanks!

On the top mf my mind I think you have to check what type of message is received because there is one type of message that tells you an user join, cannot check this right now because i'm far away from any computer.

Hi @ebadola,
if a user enters or leaves a chat, you will receive a message of type Telegram.Bot.Types.Enums.MessageType.ServiceMessage.
You get this type of message for a couple of events, like

your bot is added to a channel, group or super group
a new user is added
a user left
the chat title was changed
the chat image was changed
etc.

Depending on the event, certain properties of that message are filled.
If a user enters a chat, you will get a message with the property new_chat_member filled. Like so:
{
  "message_id": 123,

  .. // removed for brevity

  "new_chat_member": {
    "id": 123456,
    "first_name": "Mr.",
    "last_name": "Burns",
    "username": "mrburns"
  },

  .. // removed for brevity
}

If a user leaves left_chat_member is filled.
If you add multiple users at once, you will receive one message for each added user.
Hope that answers your question.

@ebadola Check for these when receiving a message:
msg.Type == MessageType.ServiceMessage
msg.NewChatMember
msg.LeftChatMember

More info: https://core.telegram.org/bots/api#message

Does it work for channels too?

Does it work for channels too?

no it doesn't

How to check the id of the link, by which our new member enter to our channel or group


Measure the performance metrics of discovery and other features

I'm submitting a ...

[x] feature request
[ ] support request

Prepare a report on the performance of overall features

Added logs to get the execution time of various functions.

Enlisting time consumed by each section.

Task Completed, we've got a performance measure matrics. This ticket is no longer need.


Feat: Linux RPM packaging support

This PR adds

support for popular Linux packaging format RPM used in Rhel, Fedora and OpenSuse "Linux distributions"
Docs for newly added appimage, deb and rpm package formats (en & zh)
--flutter-build-args for passing flutter build arguments easily

@lijy91 any response regarding this? :smile:

Thanks for this MR @KRTirtho! I hope this gets merged.

LGTM


Siglent SDS3034X-HD

Can confirm discover ,SCPI and  screenshot all work on the new SDS3034X HD

@EdwinFairchild Thanks. I've added the instrument to our list of tested instruments.
That is a pretty high benchmark figure - looks like Siglent upgraded their chipset in this new generation of SDS instruments.

Yeah I was surprised when I saw that too.


Problems loading custom ONNX model to segnet-camera?

Hi Dusty;
I went through the entire tutorial and have not had any problems running preloaded and pretrained models. When I try to run my own ONNX model using the segnet-camera script, I get the following error:
sudo segnet-camera.py --camera=/dev/video0 --model=custom_model/model.onnx --labels=custom_model/labels.txt --colors=custom_model/colours.txt --input_blob input --output_blob output
jetson.inference.init.py
jetson.inference -- initializing Python 2.7 bindings...
jetson.inference -- registering module types...
jetson.inference -- done registering module types
jetson.inference -- done Python 2.7 binding initialization
jetson.utils.init.py
jetson.utils -- initializing Python 2.7 bindings...
jetson.utils -- registering module functions...
jetson.utils -- done registering module functions
jetson.utils -- registering module types...
jetson.utils -- done registering module types
jetson.utils -- done Python 2.7 binding initialization
jetson.inference -- PyTensorNet_New()
jetson.inference -- PySegNet_Init()
jetson.inference -- segNet loading network using argv command line params
jetson.inference -- segNet.init() argv[0] = '/usr/local/bin/segnet-camera.py'
jetson.inference -- segNet.init() argv[1] = '--camera=/dev/video0'
jetson.inference -- segNet.init() argv[2] = '--model=custom_model/model.onnx'
jetson.inference -- segNet.init() argv[3] = '--labels=custom_model/labels.txt'
jetson.inference -- segNet.init() argv[4] = '--colors=custom_model/colours.txt'
jetson.inference -- segNet.init() argv[5] = '--input_blob'
jetson.inference -- segNet.init() argv[6] = 'input'
jetson.inference -- segNet.init() argv[7] = '--output_blob'
jetson.inference -- segNet.init() argv[8] = 'output'
segNet -- loading segmentation network model from:
-- prototxt:   (null)
-- model:      custom_model/model.onnx
-- labels:     custom_model/labels.txt
-- colors:     custom_model/colours.txt
-- input_blob  ''
-- output_blob ''
-- batch_size  1
[TRT]   TensorRT version 6.0.1
[TRT]   loading NVIDIA plugins...
[TRT]   Plugin Creator registration succeeded - GridAnchor_TRT
[TRT]   Plugin Creator registration succeeded - GridAnchorRect_TRT
[TRT]   Plugin Creator registration succeeded - NMS_TRT
[TRT]   Plugin Creator registration succeeded - Reorg_TRT
[TRT]   Plugin Creator registration succeeded - Region_TRT
[TRT]   Plugin Creator registration succeeded - Clip_TRT
[TRT]   Plugin Creator registration succeeded - LReLU_TRT
[TRT]   Plugin Creator registration succeeded - PriorBox_TRT
[TRT]   Plugin Creator registration succeeded - Normalize_TRT
[TRT]   Plugin Creator registration succeeded - RPROI_TRT
[TRT]   Plugin Creator registration succeeded - BatchedNMS_TRT
[TRT]   Could not register plugin creator:  FlattenConcat_TRT in namespace:
[TRT]   completed loading NVIDIA plugins.
[TRT]   detected model format - ONNX  (extension '.onnx')
[TRT]   desired precision specified for GPU: FASTEST
[TRT]   requested fasted precision for device GPU without providing valid calibrator, disabling INT8
[TRT]   native precisions detected for GPU:  FP32, FP16
[TRT]   selecting fastest native precision for GPU:  FP16
[TRT]   attempting to open engine cache file custom_model/model.onnx.1.1.GPU.FP16.engine
[TRT]   cache file not found, profiling network model on device GPU
[TRT]   device GPU, loading /usr/bin/ custom_model/model.onnx
Input filename:   custom_model/model.onnx
ONNX IR version:  0.0.6
Opset version:    11
Producer name:    tf2onnx
Producer version: 1.6.0
Domain:
Model version:    0
Doc string:
WARNING: ONNX model has a newer ir_version (0.0.6) than this parser was built against (0.0.3).
[TRT]   StatefulPartitionedCall/model_7/model_6/Conv1/Conv2D__8:0:Transpose -> (3, 256, 512)
While parsing node number 1 [Conv]:
ERROR: ModelImporter.cpp:296 In function importModel:
[5] Assertion failed: tensors.count(input_name)
[TRT]   failed to parse ONNX model 'custom_model/model.onnx'
[TRT]   device GPU, failed to load custom_model/model.onnx
segNet -- failed to initialize.
jetson.inference -- segNet failed to load built-in network 'fcn-resnet18-voc'
jetson.inference -- PySegNet_Dealloc()
Traceback (most recent call last):
File "/usr/local/bin/segnet-camera.py", line 51, in
net = jetson.inference.segNet(opt.network, sys.argv)
Exception: jetson.inference -- segNet failed to load network
I am training and designing the model in TensorFlow 2.1.0 and exported it using tf2onnx and opset 11
Any help would be greatly appreciated.

Hi @anoushsepehri, my segNet models were trained with PyTorch and not TensorFlow.  It would seem the ONNX model that TensorFlow exports isn't compatible with the version of TensorRT you are on - you might want to try the latest TensorRT 7.1 from JetPack 4.4.
There is also the issue of the pre/post-processing code from segNet.cpp - right now it is setup to support PyTorch and caffe models and the way those expect their input tensors (e.g. NCHW format, colorspace, mean pixel subtraction, ect) and also the interpretation of the output tensors.
BTW this was the PyTorch code I used:  https://github.com/dusty-nv/pytorch-segmentation


HHH-12508 HHH-12520 (5.1)

This PR applies to 5.1 only.
https://hibernate.atlassian.net/browse/HHH-12508
https://hibernate.atlassian.net/browse/HHH-12520

Merged.


Typo in "Introducing test examples and code cleaning"

I've tried to search sourse code as you mentioned at https://github.com/feenkcom/gtoolkit/issues/2883
'previous tutprial' gtSubstringLiteralMatch
but wasn't able to do so for some reason

one more:

Thanks! Fixed in the next release.
'previous tutprial' gtSubstringLiteralMatch does not search in Lepiter pages. At least not yet.

That was fast. How can I find the place where I need to fix typo in other way?

You can use Spotter, for example:


Add support for Enterprise SQL Server features (i.e. Indexes ONLINE=ON)

When building a SQL Server Database project, if SQL files include enterprise features such as Online Index building, these statements are ignored when outputting the SQL code or applying to target databases.
How to reproduce: add an index to a database project that would get deployed.  test it with "WITH (ONLINE = ON)" and without. You'll see that when looking at the output, you'll see that the "WITH (ONLINE = ON)" is ignored.

Persisted options are honored or ignored according to publish profile flags, but non-persisted options are always ignored.  I would like to see SOME non-persisted options honored, such as ONLINE and  SORT_IN_TEMPDB.  DROP_EXISTING would need to be applied intelligently because it would fail if the index doesn't exist.

Great points Tony! I would have to agree with those options as well.

It would be nice to have an option in the publish profile to create all indexes with ONLINE = ON regardless if the option is not set in the Create Index DDL statement. Right now, I am using this contributor to set ONLINE = ON for all create index statements.

this feature is implemented in dacFx and available in the preview version 162.2.91-preview

Support for applying the non-persistent ONLINE index option has been added in SqlPackage 162.2, releasing this morning.
There will be a blog post shortly with more details, but there's 2 layers of control over the behavior:

A command line publish property (/p:PerformIndexOperationsOnline) can be set to true, which will apply to eligible index operations for that deployment.
ONLINE = ON or ONLINE = OFF statements on indexes in a SQL project will be incorporated in the compiled model (.dacpac) and when the dacpac is published those options override any command line options.  The SQL projects functionality is available in the next Microsoft.Build.Sql SDK version (very soon).  For use with the original SQL projects, it will roll to the different tools - Azure Data Studio will be the first (very soon) and SSDT will come with a future preview of Visual Studio 17.10.

I noticed that there was some discussion here about other non-persisted options - we would be happy to discuss any of those individually in new issues! (I ask for individually so we can be sure to determine and confirm the right behavior for each one)

[like]  Naman Gupta reacted to your message:

From: Drew Skwiers-Koballa @.>
Sent: Tuesday, February 27, 2024 7:27:58 PM
To: microsoft/DacFx @.>
Cc: Assign @.***>
Subject: Re: [microsoft/DacFx] Add support for Enterprise SQL Server features (i.e. Indexes ONLINE=ON) (Issue #27)
Support for applying the non-persistent ONLINE index option has been added in SqlPackage 162.2, releasing this morning.
There will be a blog post shortly with more details, but there's 2 layers of control over the behavior:

A command line publish property (/p:PerformIndexOperationsOnline) can be set to true, which will apply to eligible index operations for that deployment.
ONLINE = ON or ONLINE = OFF statements on indexes in a SQL project will be incorporated in the compiled model (.dacpac) and when the dacpac is published those options override any command line options. The SQL projects functionality is available in the next Microsoft.Build.Sql SDK version (very soon). For use with the original SQL projects, it will roll to the different tools - Azure Data Studio will be the first (very soon) and SSDT will come with a future preview of Visual Studio 17.10.

I noticed that there was some discussion here about other non-persisted options - we would be happy to discuss any of those individually in new issues! (I ask for individually so we can be sure to determine and confirm the right behavior for each one)
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/DacFx/issues/27#issuecomment-1967448529 or unsubscribehttps://github.com/notifications/unsubscribe-auth/A2XYWHZ2P4GCUXICYV437XTYVYXT5BFKMF2HI4TJMJ2XIZLTSSBKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJDUOJ2WLJDOMFWWLLTXMF2GG2C7MFRXI2LWNF2HTAVFOZQWY5LFUVUXG43VMWSG4YLNMWVXI2DSMVQWIX3UPFYGLAVFOZQWY5LFVIZDCOBVGMYDOMZUHCSG4YLNMWUWQYLTL5WGCYTFNSWHG5LCNJSWG5C7OR4XAZNMJFZXG5LFINXW23LFNZ2KM5DPOBUWG44TQKSHI6LQMWVHEZLQN5ZWS5DPOJ42K5TBNR2WLKJSG43TMMBZHEZTDAVEOR4XAZNFNFZXG5LFUV3GC3DVMWUTSNZTGA4DMOJRG2BKI5DZOBS2K3DBMJSWZJLWMFWHKZNKGIYTQNJTGA3TGNBYU52HE2LHM5SXFJTDOJSWC5DF.
You are receiving this email because you were assigned.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

are you considering adding other options such as mentioned DROP_EXISTING in other comments? lack of this feature makes dacpacs kind of useless when you have SQL Enterprise... and you have to write custom contributors or change scripts by hand...

@maciejw - there are quite a few future improvements for DacFx under consideration, so I'd highly recommend that any specific options you're most interested in get filed as new issues

I noticed that there was some discussion here about other non-persisted options - we would be happy to discuss any of those individually in new issues! (I ask for individually so we can be sure to determine and confirm the right behavior for each one)

for example, #483 was added

@maciejw - there are quite a few future improvements for DacFx under consideration, so I'd highly recommend that any specific options you're most interested in get filed as new issues

here you go https://github.com/microsoft/DacFx/issues/488

Hi all, a bit late since this feature is already added, but this can also be accomplished with the ELEVATE_ONLINE database scoped configuration setting: https://learn.microsoft.com/en-us/sql/t-sql/statements/alter-database-scoped-configuration-transact-sql?view=sql-server-ver16#elevate_online---off--when_supported--fail_unsupported-