runtime: fatal error: unknown caller pc

We've received a GC crash report from a Windows 10 user, running our Ethereum client built with Go 1.8.3 (amd64). We've never seen this error ever, so I doubt we can make a repro out of it, but here's the crash logs if you can make heads or tails of it  (you can find the full crash dump at https://github.com/ethereum/go-ethereum/issues/14725):
runtime: unexpected return pc for net.(*netFD).writeTo called from 0x80002000720013
fatal error: unknown caller pc

runtime stack:
runtime.throw(0xea8762, 0x11)
        C:/go/src/runtime/panic.go:596 +0x9c
runtime.gentraceback(0xffffffffffffffff, 0xc044903698, 0x0, 0xc0440544e0, 0x0, 0x0, 0x7fffffff, 0xf405e8, 0x45c2f978, 0x0, ...)
        C:/go/src/runtime/traceback.go:317 +0x13f8
runtime.copystack(0xc0440544e0, 0x2000, 0x0)
        C:/go/src/runtime/stack.go:932 +0x377
runtime.shrinkstack(0xc0440544e0)
        C:/go/src/runtime/stack.go:1186 +0x18c
runtime.scanstack(0xc0440544e0, 0xc042015228)
        C:/go/src/runtime/mgcmark.go:762 +0x386
runtime.scang(0xc0440544e0, 0xc042015228)
        C:/go/src/runtime/proc.go:866 +0x210
runtime.markroot.func1()
        C:/go/src/runtime/mgcmark.go:264 +0x7b
runtime.systemstack(0x45c2fda0)
        C:/go/src/runtime/asm_amd64.s:343 +0xb5
runtime.markroot(0xc042015228, 0xc00000006b)
        C:/go/src/runtime/mgcmark.go:269 +0x1e9
runtime.gcDrain(0xc042015228, 0x6)
        C:/go/src/runtime/mgcmark.go:1051 +0xcc
runtime.gcBgMarkWorker.func2()
        C:/go/src/runtime/mgc.go:1530 +0x101
runtime.systemstack(0xc0429f9700)
        C:/go/src/runtime/asm_amd64.s:327 +0x7e
runtime.mstart()
        C:/go/src/runtime/proc.go:1132

goroutine 19 [GC worker (idle)]:
runtime.systemstack_switch()
        C:/go/src/runtime/asm_amd64.s:281 fp=0xc042439f50 sp=0xc042439f48
runtime.gcBgMarkWorker(0xc042014000)
        C:/go/src/runtime/mgc.go:1537 +0x218 fp=0xc042439fd8 sp=0xc042439f50
runtime.goexit()
        C:/go/src/runtime/asm_amd64.s:2197 +0x1 fp=0xc042439fe0 sp=0xc042439fd8
created by runtime.gcBgMarkStartWorkers
        C:/go/src/runtime/mgc.go:1412 +0x9f

@aclements?

The only slightly odd thing I see in the full backtrace is
goroutine 84 [runnable, locked to thread]:
syscall.Syscall6(0x7ffcc6d84ab0, 0x4, 0x54, 0xc044539884,                 0x1, 0xc044539780, 0x0, 0x0, 0x1, 0x0, ...)
        C:/go/src/runtime/syscall_windows.go:174 +0x6b
syscall.(*Proc).Call(0xc0440062a0, 0xc042dd2180, 0x4, 0x4,                 0x20, 0xd36820, 0x1483201, 0xc042dd2180)
        C:/go/src/syscall/dll_windows.go:153 +0x4dc
syscall.(*LazyProc).Call(0xc0421d1e60, 0xc042dd2180, 0x4,                 0x4, 0x1, 0x0, 0x14832e0, 0xc0423560b0)
        C:/go/src/syscall/dll_windows.go:303 +0x66
github.com/ethereum/go-ethereum/vendor/github.com/peterh/l                iner.(*State).readNext(0xc0421daa80, 0xc044539ae0, 0x2, 0x                20, 0xc044539a60)
        C:/gopath/src/github.com/ethereum/go-ethereum/vend                or/github.com/peterh/liner/input_windows.go:178 +0x120

Why is a goroutine running in syscall6 marked as runnable?
We should probably force GOTRACEBACK=system for this crash, so that we can see the runtime functions.
In fact, since this problem seems somewhat repeatable, can we see a stack trace with GOTRACEBACK=system set in the environment?

I asked for the GOTRACEBACK=system traceback on the original issue.
For reference, here's the trace of the goroutine with the bad return PC:
goroutine 140524 [runnable (scan)]:
net.runtime_pollWait(0x4c442b8, 0x77, 0x0)
        C:/go/src/runtime/netpoll.go:164 +0x60
net.(*pollDesc).wait(0xc0421cefa0, 0x77, 0x0, 0x0)
        C:/go/src/net/fd_poll_runtime.go:75 +0x3f
net.(*ioSrv).ExecIO(0xc0420fa698, 0xc0421cef00, 0xe91b9f, 0x9, 0xf40140, 0x4, 0x4, 0x765f)
        C:/go/src/net/fd_windows.go:196 +0xfe
net.(*netFD).writeTo(0xc0421cee00, 0xc04697a1a0, 0x8b, 0xc3, 0x1481420, 0xc042bd6b40, 0x0, 0x0, 0x0)
        C:/go/src/net/fd_windows.go:561 +0x17f
created by github.com/ethereum/go-ethereum/p2p/discover.(*Table).bondall
        C:/gopath/src/github.com/ethereum/go-ethereum/p2p/discover/table.go:432 +0xac

It, of course, stops when it hits the bad return PC from writeTo (since it's just printing the traceback, it moves on instead of panicking).

here's the trace of the goroutine with the bad return PC:

FYI. To muddy the waters even more
548 func (fd *netFD) writeTo(buf []byte, sa syscall.Sockaddr) (int, error) {
549         if len(buf) == 0 {
550                 return 0, nil
551         }
552         if err := fd.writeLock(); err != nil {
553                 return 0, err
554         }
555         defer fd.writeUnlock()
556         o := &fd.wop
557         o.InitBuf(buf)
558         o.sa = sa
559         n, err := wsrv.ExecIO(o, "WSASendto", func(o *operation) error {
560                 return syscall.WSASendto(o.fd.sysfd, &o.buf, 1, &o.qty, 0, o.sa, &o.o, nil)
561         })
562         if _, ok := err.(syscall.Errno); ok {
563                 err = os.NewSyscallError("wsasendto", err)
564         }
565         return n, err
566 }

Normal windows syscalls use memory passed to it as parameters during the call only. But syscall.WSASendto here just makes record of "&o.buf" and "&o.o" and returns immediately. Then Windows actually uses memory later to send its contents to the network. Windows signals when it finishes via GetQueuedCompletionStatusEx. So the "o.buf" and "o.o" should not be moved until after line 561. So, hopefully, they are allocated on the heap.
Alex

@alexbrainman, good call. However, while we're clearly skating on thin ice, it appears to be okay right now:
net/fd_windows.go:548: leaking param: fd
net/fd_windows.go:548:  from fd (passed to call[argument escapes]) at net/fd_windows.go:552

Got an update with GOTRACEBACK=system on the original thread. The full traceback is in https://github.com/ethereum/go-ethereum/issues/14725#issuecomment-312212668.
This time it's a different, though clearly related failure. It looks like netFD.writeTo is actually attempting to return and crashing. Though, oddly, while the crashing PC is a RET, the faulting PC looks to be valid. If something clobbered the saved return PC, I would have expected for the faulting address and PC to be the same.
unexpected fault address 0xffffffffffffffff
fatal error: fault
[signal 0xc0000005 code=0x0 addr=0xffffffffffffffff pc=0x5cb4f6]

goroutine 7117 [running]:
runtime.throw(0xe8c58f, 0x5)
        C:/go/src/runtime/panic.go:596 +0x9c fp=0xc042c83860 sp=0xc042c83840
runtime.sigpanic()
        C:/go/src/runtime/signal_windows.go:164 +0xff fp=0xc042c83890 sp=0xc042c83860
net.(*netFD).writeTo(0xc042221dc0, 0xc042468340, 0x8b, 0xc3, 0x1481420, 0xc04908e4c0, 0x8b, 0x0, 0x0)
        C:/go/src/net/fd_windows.go:565 +0x1e6 fp=0xc042c83898 sp=0xc042c83890
created by github.com/ethereum/go-ethereum/p2p/discover.(*Table).bondall
        C:/gopath/src/github.com/ethereum/go-ethereum/p2p/discover/table.go:432 +0xac

Leading up to fd_windows.go:565 +0x1e6:
        0x01bf 00447 (.../net/fd_windows.go:565)     MOVQ    CX, "".~r2+176(FP)
        0x01c7 00455 (.../net/fd_windows.go:565)     MOVQ    AX, "".~r3+184(FP)
        0x01cf 00463 (.../net/fd_windows.go:565)     MOVQ    DX, "".~r3+192(FP)
        0x01d7 00471 (.../net/fd_windows.go:565)     PCDATA  $0, $9
        0x01d7 00471 (.../net/fd_windows.go:565)     XCHGL   AX, AX
        0x01d8 00472 (.../net/fd_windows.go:565)     CALL    runtime.deferreturn(SB)
        0x01dd 00477 (.../net/fd_windows.go:565)     MOVQ    112(SP), BP
        0x01e2 00482 (.../net/fd_windows.go:565)     ADDQ    $120, SP
        0x01e6 00486 (.../net/fd_windows.go:565)     RET

Too late for 1.9.

I'm not making much progress here, but a few observations:

In the original crash we're shrinking the stack with the net.(*netFD).writeTo call. We crash when walking the new stack to adjust pointers, so the return IP is already corrupted by this point. However, we don't know if it was corrupted by the stack copy, or already corrupted on the original stack (we've already installed the new stack at this point, so the panic traceback is also walking the new stack). I imagine net.(*netFD).writeTo isn't on the stack for very long, which would suggest that the stack copy itself did the corruption, but the second crash suggests that it's not the stack copy.

In the original crash (the one that happened while shrinking net.(*netFD).writeTo's stack), the return PC is 0x80002000720013. That looks an awful lot like an array of small uint16s: [0x13, 0x72, 0x20, 0x80]. Probably not UTF-16 text given the 0x80. Unfortunately, in the second crash it's completely unclear what the corrupted value is, or how we can even crash in that manner on the RET (unless Windows is doing something really fancy like detecting that we just returned to a bad PC and using the branch trace buffer to back us up to a useful PC.. but then failing to tell us the bad PC).

@alexbrainman, I was looking at the docs for WSASendTo and noticed they say "Use NULL for lpNumberOfBytesSent if the lpOverlapped parameter is not NULL to avoid potentially erroneous results." I'm not sure what the "erroneous results" could be, but it looks like we're not following this advice here:

return syscall.WSASendto(o.fd.sysfd, &o.buf, 1, &o.qty, 0, o.sa, &o.o, nil)

@alexbrainman, I was looking at the docs for WSASendTo and noticed they say "Use NULL for lpNumberOfBytesSent if the lpOverlapped parameter is not NULL to avoid potentially erroneous results." I'm not sure what the "erroneous results" could be, but it looks like we're not following this advice here:
return syscall.WSASendto(o.fd.sysfd, &o.buf, 1, &o.qty, 0, o.sa, &o.o, nil)

I don't see how it is possible to use WSASendTo with lpNumberOfBytesSent set to NULL. From https://msdn.microsoft.com/en-us/library/windows/desktop/ms741693(v=vs.85).aspx - "... Overlapped Socket I/O
If an overlapped operation completes immediately, WSASendTo returns a value of zero and the lpNumberOfBytesSent parameter is updated with the number of bytes sent. If the overlapped operation is successfully initiated and will complete later, WSASendTo returns SOCKET_ERROR and indicates error code WSA_IO_PENDING. In this case, lpNumberOfBytesSent is not updated. When the overlapped operation completes the amount of data transferred is indicated either through the cbTransferred parameter in the completion routine (if specified), or through the lpcbTransfer parameter in WSAGetOverlappedResult. ..." Also see "Example Code" at the end of the doco - it uses lpNumberOfBytesSent just as we do.
Alex

Hello - I think I've run into a similar issue on my machine and wanted to see if that information would be of benefit in resolving this issue. If so I'm happy to send you whatever you need for that. Thanks and my apologies if this isn't the correct mechanism for communicating this to you.

Not sure if this right place to put this and my apologies if not. I'm seeing a similar error on my machine anytime I attempt to execute "go run". Specifically, the error I'm seeing is runtime: unexpected return pc for runtime.goexit called from 0x0. If this is something that would be helpful I'm happy to provide whatever details you'd like. Thanks!

@jcshelby That error can have many different root causes.  If you're willing I would encourage you to open a new issue about it, ideally with instructions for how to reproduce the problem.  Thanks.

Thanks for the feedback and apologies for any inconvenience. I actually ended up resolving this by reinstalling my environment, thinking it might have been a corrupted installation. That seems to have fixed things but if I see this happen again I’ll be sure to open an issue as directed. Thanks again for the help!
Respectfully,
Joseph Shelby
Sr. Infrastructure Engineer, IT Platform Architecture
zoom: https://asurion.zoom.us/my/josephshelby | slack: @jcshelby
voice:<PHONE_NUMBER> | mobile:<PHONE_NUMBER>
mail: Asurion I 648 Grassmere Park, Nashville, TN 37211
www.asurion.comhttp://www.asurion.com/ I Twitterhttps://twitter.com/Asurion I Facebookhttps://www.facebook.com/Asurion
From: Ian Lance Taylor<EMAIL_ADDRESS>Sent: Monday, April 30, 2018 13:26
To: golang/go<EMAIL_ADDRESS>Cc: Shelby, Joseph<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [golang/go] runtime: fatal error: unknown caller pc (#20846)
@jcshelbyhttps://github.com/jcshelby That error can have many different root causes. If you're willing I would encourage you to open a new issue about it, ideally with instructions for how to reproduce the problem. Thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/golang/go/issues/20846#issuecomment-385485972, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AR1zoMRzloOcGD7Er-lq-AiTCuYse3jLks5tt1crgaJpZM4OI9NU.

This message (including any attachments) contains confidential and/or privileged information. It is intended for a specific individual and purpose and is protected by law. If you are not the intended recipient, please notify the sender immediately and delete this message. Any disclosure, copying, or distribution of this message, or the taking of any action based on it, is strictly prohibited.

This message (including any attachments) contains confidential and/or privileged information. It is intended for a specific individual and purpose and is protected by law. If you are not the intended recipient, please notify the sender immediately and delete this message. Any disclosure, copying, or distribution of this message, or the taking of any action based on it, is strictly prohibited.

Circling back on this. The original issue was closed by OP. @karalabe - have you seen any more of these crashes with newer Go versions like 1.12 ?

Haven't seen this since then, so I guess something must have fixed it either on our side or Go side.

I'm going to close this then. Feel free to re-ping/re-open it if the problem comes back.

Just got a crash from "fuzzit.dev" where I am running continuous fuzz testing of my compression packages. Go 1.12.10 was used for building.
There is no assembly or "unsafe" involved so there shouldn't be any reasonable way for memory corruption. This fuzzing is also strictly running in a single goroutine, so races also seems unlikely.
That said I have no idea about the hardware stability of the servers running the tests.
Also, a lot of new code has just been added here, so there is a chance of something bad, though I don't know how I would be able to trigger this error
FUZZER: #4322	REDUCE ft: 7177 corp: 607/64Mb lim: 6 exec/s: 2 rss: 776Mb L: 376/1048216 MS: 5 EraseBytes-InsertByte-ChangeBinInt-InsertRepeatedBytes-ChangeBinInt-
FUZZER: runtime: unexpected return pc for runtime.gopark called from 0x7fc9c40d3ba6
FUZZER: stack: frame={sp:0xc000060f40, fp:0xc000060f60} stack=[0xc000060000,0xc000061000)
FUZZER: 000000c000060e40:<PHONE_NUMBER>4d648b <runtime.futexsleep+75><PHONE_NUMBER>7a4a70
FUZZER: 000000c000060e50:<PHONE_NUMBER>000080<PHONE_NUMBER>000000
FUZZER: 000000c000060e60:<PHONE_NUMBER>4d654c <runtime.futexwakeup+60><PHONE_NUMBER>7a4a70
FUZZER: 000000c000060e70:<PHONE_NUMBER>4c65e9 <runtime.(*gcControllerState).endCycle+137>  000098f06e2fa7f5
FUZZER: 000000c000060e80:<PHONE_NUMBER>000000<PHONE_NUMBER>000000
FUZZER: 000000c000060e90:  3febab726d45c66b<PHONE_NUMBER>7a4a70
FUZZER: 000000c000060ea0:  000000c000000002  ffffffffffffffff
FUZZER: 000000c000060eb0:  000000c000060ed0<PHONE_NUMBER>4b97a8 <runtime.unlock+136>
FUZZER: 000000c000060ec0:<PHONE_NUMBER>7a4a70<PHONE_NUMBER>000001
FUZZER: 000000c000060ed0:  000000c000082a80  000000c000001980
FUZZER: 000000c000060ee0:  000000c000001980  41426da700000000
FUZZER: 000000c000060ef0:  000000c000082b78  000000c000060f00
FUZZER: 000000c000060f00:<PHONE_NUMBER>4c7c60 <runtime.gcMarkDone+512>  3febab726d45c66b
FUZZER: 000000c000060f10:  3febab726d45c66b<PHONE_NUMBER>000000
FUZZER: 000000c000060f20:<PHONE_NUMBER>000000<PHONE_NUMBER>8c4420
FUZZER: 000000c000060f30:  000000c000060f50<PHONE_NUMBER>4da5a5 <runtime.gopark+245>
FUZZER: 000000c000060f40: <00000000008142e0  000000c000060f37
FUZZER: 000000c000060f50:<PHONE_NUMBER>000000 !00007fc9c40d3ba6
FUZZER: 000000c000060f60: >00000000008141a0<PHONE_NUMBER>00000f
FUZZER: 000000c000060f70:  000000c000060fb0<PHONE_NUMBER>41d250
FUZZER: 000000c000060f80:<PHONE_NUMBER>000000  000000005da1d967
FUZZER: 000000c000060f90:<PHONE_NUMBER>ffb79d<PHONE_NUMBER>430b46
FUZZER: 000000c000060fa0:<PHONE_NUMBER>00000f<PHONE_NUMBER>000003
FUZZER: 000000c000060fb0:  000000c000061af0  00007fc9c4cb50e0
FUZZER: 000000c000060fc0:<PHONE_NUMBER>000007<PHONE_NUMBER>000000
FUZZER: 000000c000060fd0:  00007fc9c5452000  000000c000000000
FUZZER: 000000c000060fe0:<PHONE_NUMBER>008000<PHONE_NUMBER>00000e
FUZZER: 000000c000060ff0:<PHONE_NUMBER>00000e<PHONE_NUMBER>00004b
FUZZER: fatal error: unknown caller pc
FUZZER:
FUZZER: runtime stack:
FUZZER: runtime.throw(0x580c9b, 0x11)
FUZZER: 	/tmp/go-fuzz-build414022191/goroot/src/runtime/panic.go:617 +0x74
FUZZER: runtime.gentraceback(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0xc000001980, 0x0, 0x0, 0x7fffffff, 0x7fc9b2ffcb48, 0x0, 0x0, ...)
FUZZER: 	/tmp/go-fuzz-build414022191/goroot/src/runtime/traceback.go:275 +0x1cd5
FUZZER: runtime.scanstack(0xc000001980, 0xc000025c70)
FUZZER: 	/tmp/go-fuzz-build414022191/goroot/src/runtime/mgcmark.go:711 +0x163
FUZZER: runtime.scang(0xc000001980, 0xc000025c70)
FUZZER: 	/tmp/go-fuzz-build414022191/goroot/src/runtime/proc.go:888 +0x1e6
FUZZER: runtime.markroot.func1()
FUZZER: 	/tmp/go-fuzz-build414022191/goroot/src/runtime/mgcmark.go:221 +0x72
FUZZER: runtime.markroot(0xc000025c70, 0x7fc900000010)
FUZZER: 	/tmp/go-fuzz-build414022191/goroot/src/runtime/mgcmark.go:202 +0x2eb
FUZZER: runtime.gcDrain(0xc000025c70, 0x7)
FUZZER: 	/tmp/go-fuzz-build414022191/goroot/src/runtime/mgcmark.go:899 +0x116
FUZZER: runtime.gcBgMarkWorker.func2()
FUZZER: 	/tmp/go-fuzz-build414022191/goroot/src/runtime/mgc.go:1926 +0x16e
FUZZER: runtime.systemstack(0x0)
FUZZER: 	/tmp/go-fuzz-build414022191/goroot/src/runtime/asm_amd64.s:351 +0x63
FUZZER: runtime.mstart()
FUZZER: 	/tmp/go-fuzz-build414022191/goroot/src/runtime/proc.go:1153
FUZZER:
FUZZER: goroutine 51 [GC worker (idle)]:
FUZZER: runtime.systemstack_switch()
FUZZER: 	/tmp/go-fuzz-build414022191/goroot/src/runtime/asm_amd64.s:311 fp=0xc00046c760 sp=0xc00046c758 pc=0x500000
FUZZER: runtime.gcBgMarkWorker(0xc000024a00)
FUZZER: 	/tmp/go-fuzz-build414022191/goroot/src/runtime/mgc.go:1890 +0x1c6 fp=0xc00046c7d8 sp=0xc00046c760 pc=0x4c8ae6
FUZZER: runtime.goexit()
FUZZER: 	/tmp/go-fuzz-build414022191/goroot/src/runtime/asm_amd64.s:1337 +0x1 fp=0xc00046c7e0 sp=0xc00046c7d8 pc=0x502101
FUZZER: created by runtime.gcBgMarkStartWorkers
FUZZER: 	/tmp/go-fuzz-build414022191/goroot/src/runtime/mgc.go:1784 +0x79
FUZZER:
FUZZER: goroutine 17 [runnable, locked to thread]:
FUZZER: github.com/klauspost/compress/flate.(*decompressor).Read(0xc0000dc140, 0xc0001e1e00, 0x80000, 0x80000, 0x7e00, 0x0, 0x0)
FUZZER: 	/home/travis/gopath/src/github.com/klauspost/compress/flate/inflate.go:363 +0x433
FUZZER: bytes.(*Buffer).ReadFrom(0xc000061d28, 0x7fc9c5275148, 0xc0000dc140, 0x0, 0x0, 0xc000061d50)
FUZZER: 	/home/travis/.gimme/versions/go1.12.10.linux.amd64/src/bytes/buffer.go:207 +0x105
FUZZER: io/ioutil.readAll(0x7fc9c5275148, 0xc0000dc140, 0x200, 0x0, 0x0, 0x0, 0x0, 0x0)
FUZZER: 	/home/travis/.gimme/versions/go1.12.10.linux.amd64/src/io/ioutil/ioutil.go:36 +0x11c
FUZZER: io/ioutil.ReadAll(...)
FUZZER: 	/home/travis/.gimme/versions/go1.12.10.linux.amd64/src/io/ioutil/ioutil.go:45
FUZZER: github.com/klauspost/compress-fuzz/flate.Fuzz(0x6a8d5f0, 0xf0072, 0xf0072, 0xc0000d0b40)
FUZZER: 	/home/travis/gopath/src/github.com/klauspost/compress-fuzz/flate/flate.go:70 +0x86c
FUZZER: main.LLVMFuzzerTestOneInput(0x6a8d5f0, 0xf0072, 0x8143a0)
FUZZER: 	/tmp/go-fuzz-build414022191/gopath/src/github.com/klauspost/compress-fuzz/flate/go.fuzz.main/main.go:35 +0x66
FUZZER: main._cgoexpwrap_3b201cb0391d_LLVMFuzzerTestOneInput(0x6a8d5f0, 0xf0072, 0x8bee20)
FUZZER: 	_cgo_gotypes.go:64 +0x37
FUZZER: ==1692== ERROR: libFuzzer: deadly signal
FUZZER:     #0 0x4b059f in __sanitizer_print_stack_trace /tmp/final/llvm.src/projects/compiler-rt/lib/ubsan/ubsan_diag_standalone.cc:29:3
FUZZER:     #1 0x4529a8 in fuzzer::PrintStackTrace() /tmp/final/llvm.src/projects/compiler-rt/lib/fuzzer/FuzzerUtil.cpp:206:5
FUZZER:     #2 0x430c8b in fuzzer::Fuzzer::CrashCallback() /tmp/final/llvm.src/projects/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:237:3
FUZZER:     #3 0x430c4f in fuzzer::Fuzzer::StaticCrashSignalCallback() /tmp/final/llvm.src/projects/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:209:6
FUZZER:     #4 0x7fc9c4cb50df  (/lib/x86_64-linux-gnu/libpthread.so.0+0x110df)
FUZZER:     #5 0x503a50 in runtime.raise /tmp/go-fuzz-build414022191/goroot/src/runtime/sys_linux_amd64.s:149
FUZZER:
FUZZER: NOTE: libFuzzer has rudimentary signal handlers.
FUZZER:       Combine libFuzzer with AddressSanitizer or similar for better crash reports.
FUZZER: SUMMARY: libFuzzer: deadly signal
FUZZER: MS: 3 ShuffleBytes-ChangeBit-ChangeBinInt-; base unit: 871c33da728a54b2d3a0c3bb526a5133e58f8148
FUZZER: artifact_prefix='./'; Test unit written to ./artifact
FUZZER: stat::number_of_executed_units: 5400
FUZZER: stat::average_exec_per_sec:     2
FUZZER: stat::new_units_added:          8
FUZZER: stat::slowest_unit_time_sec:    0
FUZZER: stat::peak_rss_mb:              776
2019/10/12 13:47:20 process finished with error = exit status 76
2019/10/12 13:47:20 Exit Status: 76
2019/10/12 13:47:21 uploading crash...

I now have a second crash 10 days later (see above). The tested binary is the same.
Both crashes are here: https://gist.github.com/klauspost/d4ec7bd6ecefa1bec56dd8ca4ac8ec39
It is completely different functions that were pre-empted (flate.(*fastGen).matchlenLong) vs. flate.(*decompressor).Read. Both crashes were in mgcmark.go:711. I will upgrade the fuzz test to Go 1.13.

@bradfitz Just had a Fuzz crash on Go 1.13.3 - https://gist.github.com/klauspost/d4ec7bd6ecefa1bec56dd8ca4ac8ec39#file-orgs_klauspost_targets_compress-flate_jobs_onxawufuyjqdnywpd07u_log-txt
So 3 crashes in total in the same fuzz test, but otherwise seemingly unrelated.

This looks slightly different. The original issue had problems originating from the syscall in net.(*netFD).writeTo. This seems to bubble up from runtime.gcBgMarkWorker and runtime.gopark.
Perhaps you want to open a new issue ?

@klauspost, can you file a new bug with that?

Gah .. crossed responses.

This looks like the stack has been trashed somehow.
Not only the return address for gopark. gopark's arguments also look trashed. The gcBgMarkWorker failure looks similar, hard to tell for sure if its args are trashed as it has only one arg.
Not sure what might cause this. Could be misuse of unsafe, could be runtime bug (use after free of stack memory?).
It would be really nice to have something more repeatable.

Added https://github.com/golang/go/issues/35158
@randall77 This does not use unsafe and the only assembler would be in the stdlib. Imports here: https://godoc.org/github.com/klauspost/compress/flate?imports
"sync" is only used for a sync.Once and there are no goroutines, so no races should happen either.
Fuzz test imports: https://godoc.org/github.com/klauspost/compress-fuzz/flate?imports


Improve deployment

It would be nice to add back the loading animation sometime later.
However this finally seems capable of running with 1000 samples.

Closes #205


修复多账号导致openstack region同步异常

这个 PR 实现什么功能/修复什么问题:
修复多账号导致openstack region同步异常
是否需要 backport 到之前的 release 分支:

release/2.9.0
release/2.8.0
release/2.7.0
release/2.6.0

/cc @swordqiu

Codecov Report

Merging #896 into master will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #896      +/-   ##
=========================================
+ Coverage    7.62%   7.63%   +0.01%
=========================================
  Files         355     355
  Lines       55105   55105
=========================================
+ Hits         4204    4210       +6
+ Misses      50504   50497       -7
- Partials      397     398       +1

Flag
Coverage Δ

#aFlag
7.63% <ø> (+0.01%)
:arrow_up:

Impacted Files
Coverage Δ

pkg/util/seclib2/seclib.go
91.48% <0%> (-4.26%)
:arrow_down:

pkg/util/rbacutils/rabc.go
72.72% <0%> (+3.03%)
:arrow_up:

Continue to review full report at Codecov.

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

/cherrypick release/2.9.0

/cherrypick release/2.8.0

/cherrypick release/2.7.0

/cherrypick release/2.6.0

/lgtm
/approve


PEAR-2111: Improve web crawler efficiency

Description
Checklist

[N/A] Added proper unit tests
[N/A] Left proper TODO messages for any remaining tasks
[N/A] Scanned for web accessibility with aXe, and mitigated or documented
flagged issues

Screenshots/Screen Recordings (if Appropriate)

I see the 410 response in the network tab when I hit a v1 path 👍


Check for unused arguments and variables

add linter options to check for unused arguments and variables, and add corresponding ignores

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

14 of 14 (100.0%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 91.378%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
6020

Relevant Lines:
6588

💛  - Coveralls


Add SASS support to project

I love how this PR adds support for sass out of the box. But I dont want to make knowing sass a barrier to using the boilerplate. How about we keep keep the .css files as they were but keep all the other changes this PR brings?

Ok so i revert to original .css files and keep my SASS configs as option to use.

Yea. also I would recommend commenting why the sass webpack configs are there. Someone may think they are unnecessary in the future and try to remove them. Comment something like 'these are hear for out of the box support for sass'

Also I forgot to ask. Does this work with live reloading? What's the performance like?

Ok, I reverted all css files to state from master branch and short feature description in README.md.
I also added some feature comments in webpack config files.

Does this work with hot reloading?

Yes it is, reloads view almost instantly so I think it performs well.

Great! Also is it possible to add the webpack configs to the webpack base config? What was the reason for adding to both dev and prod configs?


new phi syntax is not supported

This is the latest syntax of phi calculus. It's not supported by the latest version of normalizer. I pass this code to it:
{
  ⟦
    foo ↦ Φ.jeo.int(
      α0 ↦ Φ.org.eolang.bytes(
        α0 ↦ ⟦ Δ ⤍ 00 00 00 00 00 00 00 37 ⟧
      )
    )
  ⟧
}

I run:
$ eo-phi-normalizer rewrite --rules rules/none.yml Foo.phi --single -o out.phi
eo-phi-normalizer: An error occurred when parsing the input program:
syntax error at line 5, column 22 due to lexer error

@deemp please, help, this is a blocker now

@deemp my mistake, ignore it


Provide License

Would be super beneficial if you will share an origin of data and define License.

Added MIT license! thanks for the reminder


Update funding.yml

Hey @tobozo,
Something went wrong with the build.
TravisCI finished with status errored, which means the build failed because of something unrelated to the tests, such as a problem with a dependency or the build process itself.
View build log
TravisBuddy Request Identifier: 011989f0-a502-11ea-af7d-f32b9e1b312f


Copy namespace and all attributes between documents before copying IED

Please never merge this! For discussion only.

Very hacky but I tried to use importNode in 7820235a8e523242640e0caad732d50303fc6f57 but without success.

OK, a little progress, it may be that to get the DOM to recognise the namespaces we need to be more explicit, something like this seems to help:
this.doc.documentElement.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:esel', 'http://www.selinc.com/2006/61850');

I think it is insufficient to copy the attributes associated with the namespace to the document element without explicitly handling the prefixes.

This has served it's purpose and I have a way forward thanks to discussion with ca-d


AuxiliaryBlockStore should assert that the target is an ancestor of the source

In the common BlockStore, this cannot be checked as not all block headers are reported to the block store.
However, in the auxiliary block store we do store all block headers so ancestry can and should be checked.

Converted parent epic to issue.


chore: content audit add another deadline item (APPLICS-925)

Describe your changes
APPLICS-925- https://pins-ds.atlassian.net/browse/APPLICS-925

Update translations for adding another deadline item

Type of change 🧩

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[x] Other (please explain in the description section above)

Checklist before requesting a review

[x] I have performed a self-review of my own code
[x] I have double checked this work does not include any hardcoded secrets or passwords
[ ] I have made corresponding changes to the documentation
[x] I have provided details on how I have tested my code
[x] I have referenced the ticket number above
[x] I have provided a description of the ticket
[x] I have included unit tests to cover any testable code changes

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.15.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.37.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add popup window

[ ] Added the popup window to my portfolio. Please review and let me know if to make changes.

[ ] Added the suggest changes. Please review and let me know if to make changes.
[ ] I have used different images in the popupwindow for mobile version in respective of the project being built, but I Couldn't for desktop version since the images look unpresentable while sketched.


Enable Spotless for azure-monitor-opentelemetry-exporter

Description
Enable Spotless code formatting, using the Azure SDK formatting configuration, in azure-monitor-openteletry-exporter.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.


User-defined schedules

Specification in the webinterface (see https://github.com/HSAnet/glimpse_website/issues/34)
Only pre-defined timings for now
It has to be possible to select one or multiple devices from the user
Rework supervisor task handling to have an own table for user-defined schedules

Works out of the box after adding the interface on the website.


K8SPXC-511: Delete secrets on PVC finalizer

Test name
Status

scaling
passed

storage
passed

big-data
passed

upgrade-haproxy
passed

scheduled-backup
passed

recreate
passed

haproxy
passed

self-healing
passed

scaling-proxysql
passed

init-deploy
passed

restore-to-encrypted-cluster
passed

security-context
passed

upgrade-proxysql
passed

limits
passed

self-healing-advanced
passed

demand-backup
passed

monitoring-2-0
failed

smart-update
failed

operator-self-healing
passed

affinity
passed

one-pod
passed

auto-tuning
passed

pitr
passed

upgrade-consistency
passed

proxysql-sidecar-res-limits
passed

users
passed

demand-backup-encrypted-with-tls
failed

tls-issue-self
passed

tls-issue-cert-manager
passed

tls-issue-cert-manager-ref
passed

validation-hook
passed

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/867/commits/45530e48ceb7ff21a1dc811ba5d5d1e796c04630
image: perconalab/percona-xtradb-cluster-operator:PR-867-45530e48

Test name
Status

haproxy
passed

upgrade-haproxy
passed

recreate
passed

big-data
passed

scheduled-backup
passed

scaling
passed

storage
passed

init-deploy
passed

scaling-proxysql
passed

self-healing
passed

security-context
passed

restore-to-encrypted-cluster
passed

upgrade-proxysql
passed

limits
passed

monitoring-2-0
passed

self-healing-advanced
passed

smart-update
passed

demand-backup
passed

affinity
passed

one-pod
passed

operator-self-healing
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

pitr
passed

users
passed

upgrade-consistency
passed

tls-issue-self
passed

demand-backup-encrypted-with-tls
passed

tls-issue-cert-manager
passed

tls-issue-cert-manager-ref
passed

validation-hook
passed

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/867/commits/83fa43a665cee139c22be49190587a1cb85845e3
image: perconalab/percona-xtradb-cluster-operator:PR-867-83fa43a6

It's not maybe about this PR but I would not call deltePVC and deleteSecrets from deleteStatefulSet but call them one by one on the same level


Making Keras flexible without too many specific edge cases

As we approach have passed the 3000 stars and attract several users more and more edge cases are being added to the main repo. As this is awesome to make the library grow fast and help as much people as possible, it makes me wonder if we can continue to scale at that speed.
To make sure Keras can continue to grow fast and helping as much as possible without breaking things, I'd like to propose some functional options, the first two things I thought about was a LambdaLayer and LambdaDataset. I'm already using LambdaLayer in Seya pretty successfully and it looks like this:
class Lambda(MaskedLayer):
    def __init__(self, func, output_shape, ndim=2):
        super(Lambda, self).__init__()
        self.input = ndim_tensor(ndim)
        self.func = func
        self._output_shape = output_shape

    def get_output(self, train=False):
        X = self.get_input(train)
        return self.func(X)

    @property
    def output_shape(self):
        return self._output_shape

As an example of how powerful this is, we can bootstrap all Merge modes with a combination of merge_mode="join" and a LambdaLayer. For example, say we want to merge things with a kernel projection:
def kproj(x):
    # x[0] is layer1
    # x[1] is layer2
    return (T.dot(x[0], x[1].T) + 1)**3

model.add_node(Lambda(kproj, output_shape=(None, out_dim)), inputs=['layer1', 'layer2'], merge_mode='join')

We did it pretty quickly and nothing new had to be added to the main repo, although now we are merging layer1 and layer2 in a huge dimensional space and making Jordan happy.
The same flexibility could be added to datasets and I'm sure you guys have ideas of how to do that elsewhere. This is the same philosophy as the one behind our beloved Callbacks. Let me know what you think.

I think lambda layers are a great idea, in fact it's surprising we don't have them already. They're in the spirit of our existing "freeform" elements (activations, losses, callbacks).
They can definitely help reduce the amount of layers in Keras, which might be starting to reach its limits. By the way, one way to control that amount is to start deleting unnecessary layers. Like WordContextProduct (should be implementable with a Dot layer) and a few others. Striving for simplicity also means deleting that which is not essential.
Only technical issue I could see with lambda layers is the output shape computation. Here's a suggestion: the output_shape constructor argument should be polymorphic and should take 3 types:

None (default): we default to returning the input shape
a tuple (not including the samples dimension (first dimension) for consistency with the input_shape layer API): we return (input_shape[1],) + tuple.
a lambda taking a tuple and returning a tuple. Maps input shape (including samples dimension) to output shape.

About samples dimension: in the general case it only contains None because the number of samples in a batch is variable. But it maybe not always be the case. If you are doing exotic reshapes / dimshuffles, you might want to fix the batch size.

Note that one issue that would be raised with lambda layers is serialization. How do you serialize/deserialize the func argument and the output_shape argument (when that one is a lambda too)?

It would not be possible to serialize lambdas, as @fchollet mentioned, at least when using the HDF5 or JSON serialization backends. We could either keep a stub for lambda layers in the serialization format and have the user fill in the func and output_shape fields. Any other thing would look like an ugly hack :)

If the user user a python function instead of a lambda it will work but the
pickled file will depend on his code to be present.
Le 24 oct. 2015 16:16, "François Chollet"<EMAIL_ADDRESS>a
écrit :

Note that one issue that would be raised with lambda layers is
serialization. How do you serialize/deserialize the func argument and the
output_shape argument (when that one is a lambda too)?
—
Reply to this email directly or view it on GitHub
https://github.com/fchollet/keras/issues/883#issuecomment-150847355.

@EderSantana Can you help me understand the difference between merge_modes join and concat?

concat creates a new tensor. Say you have dimensions [100, 5] and [100, 4]. The result is a tensor with dimensions [100, 9]. join simply creates a list with both tensors and pass it to the next layer.

Thanks!
On Wed, Nov 4, 2015 at 7:42 AM, Eder Santana<EMAIL_ADDRESS>wrote:

concat creates a new tensor. Say you have dimensions [100, 5] and [100,
4]. The result is a tensor with dimensions [100, 9]. join simply creates
a list with both tensors and pass it to the next layer.
—
Reply to this email directly or view it on GitHub
https://github.com/fchollet/keras/issues/883#issuecomment-153767271.

Is it possible to pass a function that takes additional parameters? I tried to implement a custom activation function with a Lambda layer but couldn't really figure out how to do it properly (see #1061). Are there any alternatives?

Can someone please add a backend function to get tensor shape? Otherwise Lambda still can't do the trick such as custom loss function.

There is K.shape -> symbolic shape
K.int_shape -> static shape

Hmm, I tried but got error:
def get_lossfunc(y_true, y_pred):
  output_shape = K.init_shape(y_pred)[:-1] + (1,)
  mu = Lambda(lambda x:x[:,0], output_shape=output_shape)(y_pred)
  sigma = Lambda(lambda x:x[:,1], output_shape=output_shape)(y_pred)
  p = K.exp(-K.square((y_true - mu)/sigma)*0.5) / sigma * PI_half + K.epsilon()
  return K.mean(-K.log(p))

K.init_shape:

output_shape = K.init_shape(y_pred)[:-1] + (1,)
AttributeError: 'module' object has no attribute 'init_shape'

K.shape

raise TypeError('In Lambda, output_shape '
TypeError: In Lambda, output_shape must be a list, a tuple, or a function.

@joetigger  it's K.int_shape() and not K.init_shape().


Fix bugs preventing memory reclamation

Fix two bugs that were preventing memory reclamation from occurring and another bug exposed by reclaiming the memory.
In my brief testing, performance impact is fairly small (and positive sometimes?). Might be worth regenerating the doc graphs anyways, though?

Thanks so much!
Unfortunately, this appears to be failing some CI tests with a segfault, so there's still some trouble afoot.

Oh, oops, I only tested the benchmark program, not the test suite.
I think I've tracked down this crash, which also happens to be in lazy Participant reclamation code. The problem is that nodes in the participant list can get unlinked multiple times. If we have
A --> B --> C --> null, with B and C inactive, thread 1 looking at A and thread 2 looking at B (I think this requires B to become inactive while the list is being traversed), then, if thread 1 CASes A's next pointer to point at C and we wind up with
A --> C --> null
      ^
B-----|

Then threads 1 and 2 both successfully unlink C from the nodes they are looking at (A and B) and, having done that, call unlinked on C, which gets double freed.

I have a patch that I think works that addresses this issue by adding an unlinked boolean field to Participant. Before calling unlinked, we do a CAS on it to make sure it hasn't been unlinked before.
A variant of that is to generalize active to be an int instead of a bool and add another state for having been unlinked.
I don't love this solution; it seems hacky. But I think it should work and it has passed the test suite 300+ times in a row.

Thanks again, @msullivan!
I agree both that this approach to participant reclamation seems plausible and also a bit hacky. I want think think a bit more deeply about an alternative representation for the list that allows for simpler cleanup. (Unfortunately I don't have a lot of time to work on crossbeam at the moment.) In the meantime, this PR is a clear improvement, and I'm going to merge.


Ping

Hi, no real specific issue here. I just stumbled on this tool from https://github.com/akullpp/awesome-java#logging
This tool seems really nice as of 1.1 (what with the excellent documentation, RollingFileWriter, and the SLF4J binding)!
I was just wondering whether there are still plans to continue maintenance of 1.x and 2.0 development?
Either way, this looks great!

Currently I'm developing tinylog 1.2 and plan to release it during this year. tinylog 1.2 will have full support of Android and Java EE data sources.
tinylog 2.0 is still in a very early concept phase. As for tinylog 1.0, there will be a very long beta phase of tinylog 2.0 to ensure a stable API. tinylog 1.x will be supported even after releasing tinylog 2.0 as the new version will require Java 1.8 and current Android versions support only Java 1.6.

Thank you!


LOTR + GPC_4T - add a "stack overflow error"

Please add logic to ensure all the stack pointers of each thread do not overflow to the memory region of the next thread or outside the memory stack. (which can occur when having too many nested functions like in recursive programs)
The logic will set the CR, which indicates an error - and should freeze the core (the EN_PC CR).
Also - this CR should be exposed to a visual representation on the FPGA. (7SEG / LED)
Simple "or" the LED/7SEG CRs with the Core CR that has the error.

add an assertion for simulation.

We should probably connect all the "assertions" to this error indication.

Nice to have. But not planned for this project.
maybe in this project:
https://github.com/amichai-bd/riscv_manycore_mesh_fpga


Cannot read property 'toCustomLabel' of undefined

VSCode Version: Code - Insiders 1.6.0-insider (be5e8d5733c1c012d7e3a6c7e049b59d67c13978, 2016-09-26T06:05:01.421Z)
OS Version: Darwin x64 16.0.0

Steps to Reproduce:

Started vscode
Hit Cmd+Shift+F

Got this:

Turns out that Rest Client extension was causing this. Wondering if there is any way VSCode could know which extension is causing an issue and present that information

cc @jrieken

I'm guessing Rest Client offers a keybinding that overwrites one of the new bindings for project search options. This error apparently crops up when there's not an available keybinding for each of the functions (whole word, exact case, regex). See: https://github.com/Microsoft/vscode/issues/13447

No, it's not a problem with Rest Client, I uninstalled that extension and I still can't use the search in project feature anymore. It's frustrating, and it happened right after the 1.6.0 official vs Code update.

@sandy081 I believe this is the search viewlet issue, right?

@jrieken Yes which is being tracked here #13447


Object has no attribute 'code'

Hi there, I noticed that sample_space does not seem to work with class instances, because they do not have a __code__ attribute:
import exmol
class A:
    pass
exmol.sample_space('C', A(), batched=True)

AttributeError: 'A' object has no attribute '__code__'

Is there any way around this other than forcing the call to a separate function?

Not exactly sure how your class is supposed to work, but here are a few examples:
Make class on each call:
import exmol
class A:
    def __call__(self, seqs):
      # do something with seqs
      return ys
obj = A()
exmol.sample_space('C', obj, batched=True)

Make new object each time
def wrapper(seqs):
  my_a = A()
  return my_a(seqs)
exmol.sample_space('C', wrapper, batched=True)

Did this fix your issue @oiao ?

Sorry for the late reply Andrew.
The second example works, but the first one - providing a class object directly to sample_space - would still fail with the same AttributeError described above. It's not a major issue since one can always wrap the call into another function. I was just wondering if this could be addressed somehow.

Perfect, thanks a lot!


Use --extra-index-url for resolution

Fixes #1539
Currently writes the wrong index name to the lockfile
Currently fails one round before succeeding

I think this caused issues with pipenv install --skip-lock
See this output
pipenv install --verbose --skip-lock                                                                                1 ↵
Installing dependencies from Pipfile…
Installing 'uwsgi==2.0.17 --extra-index-url https://private.example.com/simple'

WARNING: Invalid requirement, parse error at "'--extra-'"
ABORTING INSTALL... You will have to reinstall any packages that failed to install.
You may have to manually run pipenv lock when you are finished.

Without knowing your implementation, I guess the problem is how you pass the arguments to pip.
["pip", "install", "--extra-index-url", "https://private.example.com/simple", "uwsgi==2.0.17"]

@jonlil this is a pull request, not an issue
if you have a bug, please report it in a new issue

Without knowing your implementation, I guess the problem is how you pass the arguments to pip.

This is wrong, you are using this incorrectly, please read the documentation.

I'm impressed that you know how I'm using it!
I'm aware that this is a PR, thought It should be more helpful to comment on the actual changes then on some random issue needing. Feel free to investigate on your own. I will not!

@jonlil I can see how you're using it, passing --extra-index-url is not a syntax we support. I don't really need to investigate further. Please read the documentation.

also apologies for the assumptions


1770 update log format and add additional fields to webhook server logs

https://github.com/actions-runner-controller/actions-runner-controller/issues/1770
This change updates the log format to JSON and adds two new fields to webhook workflow logs runId and Id.
Logs will look like this.
{"severity":"info","ts":1662068399.1369355,"logger":"controllers.webhookbasedautoscaler","message":"job scale up target is repository-wide runners","event":"workflow_job","hookID":"374760745","delivery":"3f7412e0-2
85b-11ed-8a67-3440ca5a40cb","workflowJob.status":"queued","workflowJob.labels":["self-hosted","lab-ie-core","build"],"repository.name":"dh-bosun-test","repository.owner.login":"sainsburys-tech","repository.owner.ty
pe":"Organization","enterprise.slug":"j-sainsbury-plc","action":"queued","workflowJob.runID":"2956053697","workflowJob.ID":"8091421879","repository":"dh-bosun-test"}
{"severity":"info","ts":1662068399.1369936,"logger":"controllers.webhookbasedautoscaler","message":"scaled hello-bosun-df12a by 1","event":"workflow_job","hookID":"374760745","delivery":"3f7412e0-285b-11ed-8a67-344
0ca5a40cb","workflowJob.status":"queued","workflowJob.labels":["self-hosted","lab-ie-core","build"],"repository.name":"dh-bosun-test","repository.owner.login":"sainsburys-tech","repository.owner.type":"Organization
","enterprise.slug":"j-sainsbury-plc","action":"queued","workflowJob.runID":"2956053697","workflowJob.ID":"8091421879"}
{"severity":"info","ts":1662068399.1370363,"logger":"controllers.webhookbasedautoscaler","message":"Starting batch worker","event":"workflow_job","hookID":"374760745","delivery":"3f7412e0-285b-11ed-8a67-3440ca5a40c
b","workflowJob.status":"queued","workflowJob.labels":["self-hosted","lab-ie-core","build"],"repository.name":"dh-bosun-test","repository.owner.login":"sainsburys-tech","repository.owner.type":"Organization","enter
prise.slug":"j-sainsbury-plc","action":"queued","workflowJob.runID":"2956053697","workflowJob.ID":"8091421879"}

Hello @mumoshu, I have added a flag, could you review again when you have some time? Thanks

@malachiobadeyi Thanks a lot for your effort! I think this is so close to becoming mergeable. Would you mind checking my comments once again?

@mumoshu thanks for taking the time to review, I have updated the following your comments.

Oops, approved by mistake! But yeah, the implementation code almost LGTM now.
We're currently in process of sorting all the pending pull requests, and this will be merged after all those pull requests.
Don't worry, as I'll be testing this change locally and make any changes required to fix conflicts introduced by those PRs.
In the meantime though, it would be great if you could address my last two comments:

https://github.com/actions-runner-controller/actions-runner-controller/pull/1771#discussion_r986356873
https://github.com/actions-runner-controller/actions-runner-controller/pull/1771#pullrequestreview-1129197603

so that it takes less time to fix things on the day we merge this pull request!
Thanks again for your patience and contribution.

Would you mind adding the new logFormat value and its description to https://github.com/actions-runner-controller/actions-runner-controller/tree/master/charts/actions-runner-controller#values? Probably adding it immediately after the existing logLevel would make it discoverable and readable. WDYT?

Thanks, updated

@malachiobadeyi looks like you need to format the code, make fmt

Ran make-fmt and commited the changes.

Squashed, rebased, and force-pushed the changes to prepare for testing.


fr-fr.json : French Translation.

French translation.

Hi. This file should be in CR2W binary format. It can be converted using WolvenKit.


add coveralls

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Closes #(issue)
Type of change
Please delete options that are not relevant.

[ ]  Bug fix (non-breaking change which fixes an issue)
[ ]  New feature (non-breaking change which adds functionality)
[ ]  Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ]  Performance (if you touched existing code run asv to detect performance changes)
[ ]  refactoring

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. This could point to a cell in the updated notebooks. Or a snippet of code with accompanying figures here.
Checklist (while developing)

[ ]  I have added docstrings to all new functions.
[ ]  I have commented my code, particularly in hard-to-understand areas
[ ]  Tests added for pytest, if necessary.

Pre-Merge Checklist (final steps)

[ ]  I have rebased onto master or develop (wherever I am merging) and dealt with any conflicts.
[ ]  I have squashed commits to a reasonable amount, and force-pushed the squashed commits.

References
Please add any references to manuscripts, textbooks, etc.

@aaronspring I believe this is all thanks needed for coveralls. Going to test locally and once merged I believe I can grab the badge from https://coveralls.io/

@aaronspring happy for me to merge?

Thanks a lot @aaronspring. I missed the update for .travis.yml


Update mkdocs.yml

Added two links:

NFT-API: Which is a guide on how to create and mint NFTs on the Polygon chain.
Zapier Integration: Which is again another guide for low-code users that teaches them how to create and mint NFTs on the Polygon chain.

Hi @kmurphypolygon
Added them as external links under mkdocs.yml as you suggested.

Thanks for approving @kmurphypolygon
Do you have any other way I can ask you questions about adding/updating documentation? Preferably Slack or if you have any other option? thnks

Thanks for approving @kmurphypolygon
Do you have any other way I can ask you questions about adding/updating documentation? Preferably Slack or if you have any other option? thnks

At the moment there hasn't been a need to support external chat or messaging. What sorts of things were you thinking about?

Well then I'll just ask questions whenever I open a PR. No questions atm. thnks

Well then I'll just ask questions whenever I open a PR. No questions atm. thnks

Cool, great, if things start getting busy, we can rethink and I'll set up a slack channel for externals ... who do you liaise with in dev rel at the moment?


Preview

Describe the bug
The Preview is blank and not visiable
Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-5x7byl
Steps to reproduce
view webiste preview
Expected behavior
I expected to see a preview
Screen Recording / Screenshot
No response
Platform
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 131
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 56370804,
  "usedJSHeapSize": 46889116,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Username = Chousman
Chat ID = 624d20fa8721

Additional context
No response

Appreciate the feedback! We are aware of this issue with the preview not displaying and are tracking it here.


Back button does not work in gallery in Kitchen Sink demo

Using Galaxy S5 + Chrome, open up the Kitchen Sink demo:

Go to reapp.io
Click "Kitchen Sink Demo"
Click "Gallery"
Click "Show Gallery", the picture opens
Click "Back" (either the one in page or device's back button)

Expected:
The gallery closes and view moves back to main page?
Result:
On first click, nothing happens. Clicking back a second time moves the view back to reapp.io main page.

Realized this belongs to reapp-ui project. Moved there.


Unable to Correctly Render Colored Text in Ghost

Issue Summary
Unable to Correctly Render Colored Text in Ghost
Steps to Reproduce
Description
I am trying to extend the Ghost editor by adding a button that allows setting text color. However, I found that this functionality does not work as expected.
Specifically, when I set the text color and save the post, the lexical field correctly records the <span> tags with the style attribute, but the html and plaintext fields have the <span> tags with color removed.
Steps to Reproduce

Select some text in the editor.
Click the color button I added and set the text color (e.g., red).
Save the post.
Check the fields in the database and observe that the lexical field correctly records the <span> tags with the style attribute, whereas the html and plaintext fields have the <span> tags with the color removed.

Expected Behavior
After saving the post, the html and plaintext fields should retain the <span> tags with color styles, and the colored text should render correctly on the front end.
Actual Behavior
After saving the post, the html and plaintext fields have the <span> tags with color styles removed.
Additional Notes

DB Data
lexical

{"root":{"children":[{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":"the black one. ","type":"extended-text","version":1},{"detail":0,"format":0,"mode":"normal","style":"color: rgb(204, 11, 11);","text":"the red color. ","type":"extended-text","version":1},{"detail":0,"format":0,"mode":"normal","style":"","text":"the other one. ","type":"extended-text","version":1}],"direction":"ltr","format":"","indent":0,"type":"paragraph","version":1}],"direction":"ltr","format":"","indent":0,"type":"root","version":1}}

html
<p>the black one. the red color. the other one. </p>

I would appreciate any guidance on how to retain the color styles in the html and plaintext fields, ensuring that the colored text is rendered correctly just like in the lexical field.
Ghost Version
5.91.0
Node.js Version
v20.17.0
How did you install Ghost?
yarn
Database type
MySQL 5.7
Browser & OS version
No response
Relevant log / error output
No response
Code of Conduct

[X] I agree to be friendly and polite to people in this repository

Update
After further debugging, I found that the saved HTML used the render method from the kg-lexical-html-renderer package. Fortunately, I found the render(): string method in the utils->TextContent.ts file and discovered that the node object does have the __style property. However, the LexicalNode defined in TypeScript does not include this property.
To verify this issue, I added the following experimental code:
// imseanpan add test code
if (node.__style !== '') {
    const span = document.createElement('span');
    span.setAttribute('style', node.__style);
    span.textContent = node.getTextContent();
    currentNode.append(span);
    continue;
}

It appears to be working successfully. Although my code ran successfully, it is not rigorous. Therefore, I'm just identifying the issue and confirming the problematic code location. If possible, I hope the official team can quickly fix this issue and add support for changing text color so that we can happily use Ghost.

Thank you!

Style support for text was intentionally left out. I thought we also had a transform to strip style properties on the Lexical side of things too but I can't find that now.
It's a design decision for our editor to provide minimal routes to creating poorly designed content and text color was a big part of that, not just for design but because of the accessibility issues that can create across light/dark mode and ensuring content displays correctly across different themes. On top of that, style attributes can leak across copy/paste into the editor which then creates a whole lot of other issues because there's no real way to undo that unless you add in support for editing all of the different styles that can be attached.
As such I wouldn't consider this a bug. If you're looking to make changes in your own fork then the forum (I see you've already duplicated your question there) is a better place to get support.


message_cache: Use the sender’s recipient_id for incoming 1:1 DMs

For an incoming 1:1 DM, the recipient’s own recipient_id is useless to the recipient themselves. Substitute the sender’s recipient_id, so the recipient can use recipient_id as documented to uniquely represent the set of 2 users in this conversation.
Discussion.

Merged, thanks @andersk!


MINOR: Fix typos introduced into README.md by PR #12

This PR fixes the typos introduced into README.md by previous commits.

@tombentley Could you have a look?

lgtm, but I don't have write access to this repo. @ppatierno can you merge this, if you're also happy with it?

@tombentley I gave you rights for doing that :-)


Styling for features that disappear with widget filtering

Is it possible to have a second set of styling for features that don't meet the filtering criteria? For example, on a choropleth map, can the polygons that meet the criteria stay and then anything that doesn't stays but gets a style that pushes it to the background? Using some visual hierarchy we can keep the overall pattern/distribution of the data while bringing the queried elements to the foreground instead of anything that doesn't meet the criteria being removed from the map.
Something like this:
All points:

Filtered:

features that don't meet criteria get marker-fill-opacity: 0.3; (or something)
features that do meet criteria come to the foreground with marker-fill-opacity: 1;

cc @saleiva

That was an idea we had at the beginning but got out of scope for v1. :(
On May 17, 2016 12:21 PM, "Mamata Akella"<EMAIL_ADDRESS>wrote:

Is it possible to have a second set of styling for features that don't
meet the filtering criteria? For example, on a choropleth map, can the
polygons that meet the criteria stay and then anything that doesn't stays
but gets a style that pushes it to the background? Using some visual
hierarchy we can keep the overall pattern/distribution of the data while
bringing the queried elements to the foreground instead of anything that
doesn't meet the criteria being removed from the map.
Something like this:
All points:
[image: screen shot 2016-05-17 at 10 06 52 am]
https://cloud.githubusercontent.com/assets/1566273/15329810/4819d0d0-1c17-11e6-80c4-e2490deb915a.png
Filtered:

features that don't meet criteria get marker-fill-opacity: 0.3; (or
something)
features that do meet criteria come to the foreground with marker-fill-opacity:
1;

[image: screen shot 2016-05-17 at 10 07 56 am]
https://cloud.githubusercontent.com/assets/1566273/15329901/b5be4846-1c17-11e6-8a52-47405c10a024.png
cc @saleiva https://github.com/saleiva
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/CartoDB/deep-insights.js/issues/353

let's bring it back! (if we can)


Re-add Source Sans Pro

Somehow the code for this font was deleted. Need to re-add it back to the website as the fallback Verdana is far too large in comparison to the headings that are all in Montserrat.
Need to update Verdana to Arial.

Now that you are looking into the fonts maybe it's a good time to review if we need all font weights for montserrat?

Might be able to reduce to 2 from the 3 but I'm not sure. I will have to see which font weights are applied where.

I mean down to 2 from 4.

There are currently 4 weights: 200,300,400,500


C_CPP : Storage Classes in C++

Description 📜
This documentation contains explanations along with examples of storage classes in C++.
Fixes #3988

Type of change 📝

[ ] Au#dio (Should be in mp3 format Includes speech clarity, Concise ,Low distortion)
[ ] Vi#deo (Animations, screen-recordings, presentations and regular explanatory films are all possibilties etc)
[x] Documentation (Content Creation in the form of codes or tutorials)
[ ] Other (If you choose other, Please mention changes below)

Domain of Contribution 📊

[ ] Android Dev #(Flutter)
[ ] Android Dev #(Java)
[ ] Android Dev #(Kotlin)
[ ] Backend Dev #(Java)
[ ] Backend Dev #(.NET)
[ ] Backend Dev #(PHP)
[ ] Backend Dev #(Python)
[x] C/CPP
[ ] Competitive #Programming
[ ] Cyber #Security
[ ] DS#A
[ ] Data#base
[ ] Datascience with #Python
[ ] Datascience with #R
[ ] Frontend Dev #HTML/CSS/JS
[ ] Frontend Dev #React/Angular/Vue
[ ] Go#lang
[ ] Interview #Prep
[ ] Java_#Domain
[ ] Java#Script
[ ] ME#RN
[ ] Machine #Learning
[ ] Open #Source
[ ] Python_#Domain
[ ] Ru#st
[ ] Statis#tics
[ ] UI/#UX

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@apeksha235 I've done the suggested changes. Please look into it.


Slides disappear in Google Chrome 45.x

In Google Chrome the slider is displaying but the slider contents and images can not display. I believe the problem is the "transform perspective(2000px)" attached to slides.

I see, please set $HWA to false.
btw, the $HWA is obsolete in version 20. I will upload version 20 soon.

I too have this issue.


LineChart breaks with nullSpot values

Description

LineChart simply throws an exception and fails to draw when its List<FlSpot> starts with a FlSpot.nullSpot:

The following assertion was thrown during paint():
'package:fl_chart/src/utils/utils.dart': Failed assertion: line 183 pos 12: 'input >= 1.0': is not true.

It also draws belowBarData fine only when there are no FlSpot.nullSpot values in the list. But as soon as there are, betweenBarsData is simply gone, without any exceptions.

To Reproduce
https://github.com/AntonShinkaretsky/fl_chart_bugs
Screenshots

Versions

[√] Flutter (Channel stable, 2.10.1, on Microsoft Windows [Version 10.0.22000.493], locale en-US)
fl_chart: ^0.45.0

Thank you!

Hi.
I couldn't reproduce it with our samples.

Also, your code is hard to reproduce. I cannot clone a repository on my machine per issue.
Please make a single main.dart file and give me here to run your reproducible code.
Thanks!

Do you simply want it as plain text? There you have it:
import 'package:flutter/material.dart';
import 'package:fl_chart/fl_chart.dart';
import 'dart:math';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const HomeView(),
    );
  }
}

class HomeView extends StatelessWidget {
  const HomeView({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: Padding(
          padding: const EdgeInsets.all(16.0),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              const Text("FL Chart bugs (below are buttons):"),
              const SizedBox(height: 16),
              TextButton(
                onPressed: () {
                  Navigator.of(context).push(MaterialPageRoute(
                    builder: (context) => const FirstNullSpotBugView(),
                  ));
                },
                child: const Text("Line Chart: first nullSpot bug"),
              ),
              TextButton(
                onPressed: () {
                  Navigator.of(context).push(MaterialPageRoute(
                    builder: (context) => BetweenBarsDatBugView(),
                  ));
                },
                child: const Text("Line Chart: betweenBarsData bug"),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

class FirstNullSpotBugView extends StatelessWidget {
  const FirstNullSpotBugView({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: Padding(
          padding: const EdgeInsets.all(16.0),
          child: ListView(
            children: [
              const Text("Works fine when all are values:"),
              const SizedBox(height: 4),
              LineChartView(
                lineBarsData: getOneLineChartBarData(
                  getMockedChartPoints(size: 5),
                ),
                betweenBarsData: const [],
              ),
              const SizedBox(height: 12),
              const Text("Works fine when nulls are in the end:"),
              const SizedBox(height: 4),
              LineChartView(
                lineBarsData: getOneLineChartBarData(
                  getMockedChartPoints(size: 5, nullIndexes: [4]),
                ),
                betweenBarsData: const [],
              ),
              const SizedBox(height: 12),
              const Text("Works fine when nulls are in the middle:"),
              const SizedBox(height: 4),
              LineChartView(
                lineBarsData: getOneLineChartBarData(
                  getMockedChartPoints(size: 5, nullIndexes: [2]),
                ),
                betweenBarsData: const [],
              ),
              const SizedBox(height: 12),
              const Text("BREAKS when the nullSpot is the first value:"),
              const SizedBox(height: 4),
              LineChartView(
                lineBarsData: getOneLineChartBarData(
                  getMockedChartPoints(size: 5, nullIndexes: [0]),
                ),
                betweenBarsData: const [],
              ),
            ],
          ),
        ),
      ),
    );
  }
}

class BetweenBarsDatBugView extends StatelessWidget {
  final betweenBarsData = [
    BetweenBarsData(
      fromIndex: 0,
      toIndex: 1,
      colors: [Colors.red.withOpacity(0.3)],
    )
  ];

  BetweenBarsDatBugView({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: Padding(
          padding: const EdgeInsets.all(16.0),
          child: ListView(
            children: [
              const Text("Works fine when all are values:"),
              const SizedBox(height: 4),
              LineChartView(
                lineBarsData: getTwoLineChartBarData(
                  getMockedChartPoints(size: 5),
                  getMockedChartPoints(size: 5),
                ),
                betweenBarsData: betweenBarsData,
              ),
              const SizedBox(height: 12),
              const Text(
                "DOESN'T SHOW between bars data when nulls are in the end:",
              ),
              const SizedBox(height: 4),
              LineChartView(
                lineBarsData: getTwoLineChartBarData(
                  getMockedChartPoints(size: 5, nullIndexes: [4]),
                  getMockedChartPoints(size: 5, nullIndexes: [4]),
                ),
                betweenBarsData: betweenBarsData,
              ),
              const SizedBox(height: 12),
              const Text(
                "DOESN'T SHOW between bars data when nulls are in the middle:",
              ),
              const SizedBox(height: 4),
              LineChartView(
                lineBarsData: getTwoLineChartBarData(
                  getMockedChartPoints(size: 5, nullIndexes: [2]),
                  getMockedChartPoints(size: 5, nullIndexes: [2]),
                ),
                betweenBarsData: betweenBarsData,
              ),
              const SizedBox(height: 12),
              const Text("BREAKS when the nullSpot is the first value:"),
              const SizedBox(height: 4),
              LineChartView(
                lineBarsData: getTwoLineChartBarData(
                  getMockedChartPoints(size: 5, nullIndexes: [0]),
                  getMockedChartPoints(size: 5, nullIndexes: [0]),
                ),
                betweenBarsData: betweenBarsData,
              ),
            ],
          ),
        ),
      ),
    );
  }
}

class LineChartView extends StatelessWidget {
  final List<LineChartBarData> lineBarsData;
  final List<BetweenBarsData> betweenBarsData;

  const LineChartView({
    Key? key,
    required this.lineBarsData,
    required this.betweenBarsData,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return SizedBox(
      height: 40,
      child: Container(
        decoration: BoxDecoration(
          border: Border(
            top: BorderSide(color: Colors.grey[300]!),
            bottom: BorderSide(color: Colors.grey[300]!),
            right: BorderSide(color: Colors.grey[300]!),
            left: BorderSide(color: Colors.grey[300]!),
          ),
        ),
        child: LineChart(
          LineChartData(
            minY: 0,
            maxX: 4,
            lineBarsData: lineBarsData,
            betweenBarsData: betweenBarsData,
            titlesData: FlTitlesData(
              leftTitles: SideTitles(showTitles: false),
              topTitles: SideTitles(showTitles: false),
              bottomTitles: SideTitles(showTitles: false),
              rightTitles: SideTitles(showTitles: false),
            ),
            gridData: FlGridData(show: false),
            borderData: FlBorderData(show: false),
          ),
        ),
      ),
    );
  }
}

List<FlSpot> getMockedChartPoints({
  required int size,
  int min = 0,
  int max = 30,
  List<int> nullIndexes = const [],
}) {
  var rng = Random();
  List<FlSpot> result = [];
  int index = 0;
  while (index < size) {
    if (nullIndexes.contains(index)) {
      result.add(FlSpot.nullSpot);
    } else {
      result.add(
        FlSpot(
          index.toDouble(),
          min + rng.nextInt(max - min).toDouble(),
        ),
      );
    }
    index++;
  }
  return result;
}

List<LineChartBarData> getOneLineChartBarData(List<FlSpot> flSpotsList) {
  return [
    LineChartBarData(
      showingIndicators: [],
      spots: flSpotsList,
      isCurved: true,
      barWidth: 2,
      belowBarData: BarAreaData(
        show: true,
        colors: [
          Colors.blue[50]!,
        ],
      ),
      dotData: FlDotData(show: false),
      colors: [Colors.blue[200]!],
    )
  ];
}

List<LineChartBarData> getTwoLineChartBarData(
    List<FlSpot> flSpotsList,
    List<FlSpot> secondFlSpotsList,
    ) {
  return [
    LineChartBarData(
      showingIndicators: [],
      spots: flSpotsList,
      isCurved: true,
      barWidth: 2,
      belowBarData: BarAreaData(
        show: false,
      ),
      dotData: FlDotData(show: false),
      colors: [Colors.blue[200]!],
    ),
    LineChartBarData(
      showingIndicators: [],
      spots: secondFlSpotsList,
      isCurved: true,
      barWidth: 2,
      belowBarData: BarAreaData(
        show: false,
      ),
      dotData: FlDotData(show: false),
      colors: [Colors.red[200]!],
    ),
  ];
}

Okay, I found the bug now.

Awesome, thank you for such a quick reaction! :)

That's the power of reproducible code :)
I just fixed it in #916.

I'll check it out in a sec.
Do you think it will fix both nullSpot-s in the beginning, and betweenBarsData?

It will be landed on the stable version soon.

Yes, It will fix both of them.

Awesome, thank you!

Landed on the dev branch. (check here to get the dev version)

Fixed in 0.45.1.
Thanks for reporting!

@imaNNeoFighT as you can see with the very same example, it does fix "first nullSpot" behavior, but it doesn't fix betweenBarsData:

Do you want me to create a separate issue for that?

No need to create a new issue.
I'm trying to fix it. (I didn't know there is a problem with between bars)

It has just been fixed in the dev branch.
If you can test it, please try it.

Check it out in 0.46.0

Sorry, didn't have a chance to check it out before.
It does work, thank you!
In the future, you could also filter out values that don't have pairs instead of throwing an exception btw. Not something I personally need right now, but I think would be nice for the library in general :)


Some common and rarely modified build processes should be implemented in the base image.

Some common and rarely modified build processes should be implemented in the base image.
For example, the tools and python modules that the program depends on.
After this change, the program build is performed directly on the base image, reducing the build steps and build time.

Close by https://github.com/SkywardAI/chat-backend/pull/73


Several questions about code base actuality

hasIntrospection looks like useless check at the moment: https://github.com/dfilatov/inherit/blob/master/lib/inherit.js#L10
Why not to use shims for Object.create, Object.keys, Object.assign (extend), etc.
Can we remove or replace comment with obscene lexic?  https://github.com/dfilatov/inherit/blob/master/lib/inherit.js#L43
https://github.com/dfilatov/inherit/blob/master/lib/inherit.js#L49 — it is the same as Object.keys, right?
Why not to use noOp as emptyBase? They are both empty functions.

Yes, seems it can be removed.
What's the point?
Yes, we can.
No, it's not. Object.keys is used inside it.
Seems that emptyBase can be replaced with noOp.

1, 3, 5. Great, can we make PR for it?
2. To reduce code base, since inherit library still used in the last i-bem.
4. Feels like it depends on polyfill we use. https://github.com/es-shims/es5-shim/blob/master/es5-shim.js#L948 https://github.com/es-shims/es5-shim/blob/master/es5-shim.js#L1042 versus https://github.com/bem/es5-shims/blob/master/common.blocks/ecma/__object/ecma__object.js#L4

1, 3, 5. Yes, we can :)
2, 4. Looks unhelpful to me

@zxqfox @dfilatov  1, 3, 5 ready in  #37

Great news! I've lost this....


Reorganising core godot module

I'll merge it later, after everything is done

Most notable changes are:

godot.api -> godot.util
godot.api.util -> godot.util.tools
godot.c -> godot.abi
godot.d -> godot.api
godot.util.path -> godot.api.path
godot.core -> godot
godot.c.core -> godot.abi.core + godot.abi.types
godot.core.defs -> godot.api.types
godot.d.type -> godot.api.types

And several other ones


jenkinsx-quickstart-nuxeo-poc to 1.0.24

Promote jenkinsx-quickstart-nuxeo-poc to version 1.0.24

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.jenkins-x-bot seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Clicking images in channel details that have no link behind them opens the Computer explorer window

Description
When viewing a channel's details and it has an image without a link behind it, clicking this image will open the Computer explorer window (where it shows your hard drives, optical drives, that stuff).
Expected / Actual behavior
Expected: Nothing should happen.
Actual: The Computer explorer window opens.
Reproduction steps

Click an image that has no link behind it.
The Computer explorer window opens.

Environment details (operating system, etc.)
Windows 7, 64-bit.

Thanks for reporting!


Multilingual Mode: Redirects for sections of defaultContentLanguage are not created

Summary
Redirects for the defaultContentLanguagein multilingual mode exists only for the root, not for sections. Because of this, example.org/en/ redirects to example.org/ but example.org/en/post results in http 404 (if "en" is defaultContentLanguage)
Motivation
As users could reach the site via a deep link (exmple.org/de/posts/my-first-post) I'd like to be able to give them the option (additionaly to a language select on my site) to change the language part of the url.
Expected behaviour
If a site is created with multiple languages a redirect is correctly created for the defaultContentLanguage for the root as well as all sections
If defaultContentLanguageInSubdir is false
Created redirects:

example.org/ serves /index.html
example.org/post/ serves /post/index.html (created from /post/index.en.md)
example.org/en/ redirects to example.org/
example.org/en/post redirects to example.org/post

If defaultContentLanguageInSubdir is true
Created redirects:

example.org/ redirects to example.org/en/
example.org/post redirects to example.org/en/post
example.org/en/ serves /en/index.html
example.org/en/post/ serves /en/post/index.html (created from /post/index.en.md)

Actual behaviour
If a site is created with multiple languages a redirect is not correctly created for the defaultContentLanguage for sections, only for the root
If defaultContentLanguageInSubdir is false
Created redirects:

example.org/ serves index.html
example.org/post/ serves /post/index.html (created from /post/index.en.md)
example.org/en/ redirects to example.org/
example.org/en/post  -> http 404

If defaultContentLanguageInSubdir is true
Created redirects:

example.org/ redirects to example.org/en/
example.org/post -> http 404
example.org/en/ serves index.html
example.org/en/post/ serves /post/index.html (created from /post/index.en.md)

Setup
A newly created multilingual site with the following configuration
defaultContentLanguageInSubdir = false
defaultContentLanguage = "en"

[languages]
  [languages.en]
    languageName = "English"
    weight = 1
  [languages.de]
    languageName = "Deutsch"
    weight = 2

and the following content
/content
  /post
    /index.en.md
    /index.de.md

and the following layout
/layouts
  /_default
    /baseof.html
    /single.html
  /post
    /baseof.html
    /single.html
index.html

Workaround
Creating an entry in aliases for each content of the defaultContentLanguage. Depending on the defaultContentLanguageInSubdir setting the alias has to be the not generated url. For the above example:
If defaultContentLanguageInSubdir is true
In /content/post/index.en.md
...
aliases: ["/post/"]
...
If defaultContentLanguageInSubdir is false
In /content/post/index.en.md
...
aliases: ["/en/post/"]
...

I understand the argument, but my main problem with this is that if we create these redirects for the sections, we should also create redirects for all pages, and that is stretching it. That kind of redirection needs to be handled by a proper router with some kind of pattern matching.

As there is a workaround which is only needed for the defaultContentLanguage (and in my case this means 3-5 aliases) this isn't really an urgent issue, I'd say.
But it's documented and someone with a similar problem can use the workaround.


[Storage] Update documentation for batch APIs to include batch size limit

Recreating from #22832 as I messed up the merge there :)

Closing this too as I think the branch is corrupted.


OBLIQUE 8.2.0 BUG - Move relearners broken.

The move relearner in Nyr does not work properly. He does not teach pokemon the requested moves even when offered his fee of a mind badge, he does not consume the badge, and the pokemon does not relearn the move. This is true for all move relearners as tested by me in multiple locations.

Closed. Just need open move slot.


Updated "image-min" dependency to "imagemin"

There was a mistake on a dependency which was causing the error below:

@Kurtz1993 I could have sworn that I fixed that dependency issue. Merging in and closing issue.


Fix: Make Devise not store location if it's too big

ISSUE: Devise storing URLs too long in return_to causes CookieOverflow to be thrown.
Overrides Devise's internal store_location_for function to not store URLs that are too big

ISSUE: Devise storing URLs too long in return_to causes CookieOverflow to be thrown.
Overrides Devise's internal store_location_for function to not store URLs that are too big

@tachyons Is this feasible?

Coverage increased (+0.4%) to 82.645% when pulling 96cf843e0862785ffb3940bccbdaa9f1190d43ab on gr455:devise-location-patch into d519756fd2e3adbeb251023d66ef1f0c5b79ba2e on CircuitVerse:master.

Can you try to do this on application controller instead
class ApplicationController

def store_location_for(resource_or_scope, location)
  return if location.length > 100
  super
end
end

Alternate fix is to store session in the backend using database or redis. But that seems overkill for this use case

Can you also add a test to validate this behaviour ?

Also a sanity test to ensure that our regular urls are below 150 bytes ?

Also a sanity test to ensure that our regular urls are below 150 bytes ?

Should we just use MAX_COOKIE_SIZE / 2 or something for this

MAX cookie size is 4096 by default. it needs to store to many values encoded in json, so better not to use half of it just store urls

Also a sanity test to ensure that our regular urls are below 150 bytes ?

The longest URL that make sense to be redirected to are project pages, To be safe I think 200 bytes seems like a good number.


Persisting Docker Images

I was having an issue with viewing my environments through VNC using open vnc://localhost:5900 and have found that it is an issue with old Docker containers persisting. If you have multiple Docker containers stored locally the localhost port iteratively increases, i.e. 5901, 5902, 5903...
I've been using tmux kill-session to terminate my agents, but it looks like that does not terminate the local Docker images as well. Restarting Docker seems to clean out old containers, but the containers are still hosted starting at localhost:5901 and up, not localhost:5900

You can add docker rm $(docker ps -q) into your train.py script, which should take care of the containers.

Fixed by https://github.com/openai/universe-starter-agent/commit/a670bdaba284bccb7b96d60a4d7a0d9dc231685b


Clarify documentation on the config options

Configuration Options
jshint.options: an option bag as defined by the JSHint API here. Defaults to an empty option bag.

I suggest that the guidance is that the jshint.options is used to configure how to options for starting jshint through the CLI. Users should use the .jshintrc for defining jshint options.

The doc clearly needs to be more explicit. However, the current behavior is a natural extension of how the jshint cli behaves (http://jshint.com/docs/cli/)

jshint will look for this configuration in a number of locations, stopping at the first positive match:

The location specified with the --config flag
A file named package.json located in the current directory or any parent of the current directory (the configuration should be declared as the jshintConfig attribute of that file's JSON value)
A file named .jshintrc located in the current directory or any parent of the current directory
A file named .jshintrc located in the current user's "home" directory (where defined)

The extension is doing the following:

The location specified in jshint.options.config
A file named package.json located in the current directory or any parent of the current directory (the configuration should be declared as the jshintConfig attribute of that file's JSON value)
A file named .jshintrc located in the current directory or any parent of the current directory
A file named .jshintrc located in the current user's "home" directory (where defined)
The options specified in jshint.options either in workspace settings or the user settings.


Package cleanup

Goals of this PR:

[x] Refactor imglyb/ directory into src/imglyb/ directory. See this article for the benefits
[x] Minimize setup.py in favor of setup.cfg. This seems to be the preferred approach nowadays.
[x] Add a linting strategy (using black)
[x] Add a code coverage strategy
[ ] Allow these features to block merge through Github Actions

Closes #15

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@fe96518). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #16   +/-   ##
=========================================
  Coverage          ?   65.62%
=========================================
  Files             ?       11
  Lines             ?      448
  Branches          ?        0
=========================================
  Hits              ?      294
  Misses            ?      154
  Partials          ?        0

Continue to review full report at Codecov.

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

One thing I think would be slick is exporting these actions to a separate repo. There is a lot of overlap with scyjava, pyimagej.
We may be able to follow the outline presented in number 2 here

Woot!


Why do elli depend on inets?

Elli starts inets if you run application:ensure_all_started(elli), yet inets isn't used anywhere.

Hi, Elli uses http_uri:decode/1 which is a part of inets. http_uri:decode/1 does not rely on the inets application being started so one could argue that it should be moved to included_applications. Would that work for you?

True, didn't think to check for that. That solution absolutely works for me in the short run.
I just can't help the feeling that it is kind of dirty to pull in a library containing another full http-server, http-client and ftp-client, just to call the one function. Have you considered just copying that function into elli or write your own version? Would be happy to supply a PR if you want to outsource that. :)

Yeah, we'll happily take a PR for that :)
On Thu, Dec 7, 2017 at 4:44 AM, Christoffer Vikström <
<EMAIL_ADDRESS>wrote:

True, didn't think to check for that. That solution absolutely works for
me in the short run.
I just can't help the feeling that it is kind of dirty to pull in a
library containing another full http-server, http-client and ftp-client,
just to call the one function. Have you considered just copying that
function into elli or write your own version? Would be happy to supply a
PR if you want to outsource that. :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/knutin/elli/issues/109#issuecomment-349956525, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAWPxMlkJ5z7KaeRI3mRmNkrgHW_spaiks5s992VgaJpZM4Q4qDY
.


S-parameter example

Hello Victor,
This is not an issue. Could you do me a favor and provide a small example on how S-parameters can be calculated using AC analysis, e.g. for the BJT, please?
Thank you for considering.

I found out in the meantime. You can add bias T at gate and drain. Add a AC vsource at gate to 50 Ohm. s21 = vac, s11=vac-1. You can do the same at output for s22 and s12. This "issue" can be closed. Thank you.

Hey, sorry for the delay, but yes, your approach is correct. You can just start from the basic definitions of s-parameters (place 50 ohm ports and measuring the waves)


Create dataset loader for Liputan6 summarization

https://indonlp.github.io/nusa-catalogue/card.html?liputan6

Hi @cahya-wirawan, are you still working on this? I will assume inactivity if there's no reply and will free the assignees. Thanks!

Hi @bryanwilie, sorry for the late action. I am working on it.

Noted Pak @cahya-wirawan. No worries, please take your time. Thank you for the confirmation!

#self-assign


fixed usage of random (max is exclusive)

Documentation of random says the upper bound of the random value is exclusive. Therefore adapted the usage here.
Further in Fletcher32_performance.ino z could be uint16_t instead of uint8_t and the random value could then also be 16 bit.
Similar in Fletcher64_performance.ino could be used uint32_t instead of uint8_t.
If you are interested, I would also provide this small enhancement in this small merge request.

Thanks for this PR, it won't make a big difference performance wise. The final result will be different.

If you are interested, I would also provide this small enhancement in this small merge request.

Think I prefer new examples e.g. Fletcher32_16_performance.ino Fletcher64_32_performance.ino.
The existing examples are used to compare the add(8-bit) of the existing classes.

Ah, I see your point. But I think that's too much here. I will provide you another PR.

If it are just additional examples, it can be in one PR.

I added an example now. It creates an array of values and calculates checksums. Here are some results:
On Arduino Nano (ATmega 328P):

alg
data rate

Fletcher16
1333.04 us/kByte

Fletcher32
1106.78 us/kByte

Fletcher64
3791.83 us/kByte

On Arduino MKRZERO (SAMD21):

alg
data rate

Fletcher16
1011.79 us/kByte

Fletcher32
597.56 us/kByte

Fletcher64
436.85 us/kByte


Atkinson dithering

As a Mac user in the 80s I wanted to add Atkinson dithering for old times' sake. It's not that different from Floyd Steinberg, but there is a difference.
Also changed a couple of typos in the comments that I noticed.

Oh, by the way, I tested on an MX11 cat printer. No problems other than that the prints are lighter and less contrasty than the ones from Fun Print.

Thanks @litlnemo. I just gave -b atkinson a go and it looks great.


Is it possible to generate different instruments sounds with this library?

I am writing a code which receives as input a text and the selected instrument (guitar, piano, flute) and has to convert this text to a song with the respective instrumental tone.
It is possible?

I'd convert the text to MIDI, and then use something like MeltySynth (https://github.com/sinshu/meltysynth) to render that to audio using a SoundFont.

hm, i'm kinda rookie on sound application, could you explain this logic? i didn't understand why would I convert to MIDI file.
My program has already the equivalent note to which char, for example:
The text file "AB C" is equivalente to each note and blank space means a little pause. I have to call a function with instrument input and the respective note.
Play(Instrument, Note); => in the output it would be something like this "A", "B", pause, "C".
Understand?

Mark,
Thanks for help me, but I found what I was lookking for.
I am providing this link (Microsoft Article) for others possible doubts.


Data model

In this milestone, I did the following activities

Add Connection into the Postgress SQL
Migrate Tables
create Foreign Keys and indexes

thank you very Much 😄


feat: add user invite management

Homarr

Thank you for your contribution. Please ensure that your pull request meets the following pull request:

[x] Builds without warnings or errors (pnpm buid, autofix with pnpm format:fix)
[x] Pull request targets dev branch
[x] Commits follow the conventional commits guideline
[x] No shorthand variable names are used (eg. x, y, i or any abbrevation)

Regarding the renaming of those router endpoints. I understand why you want to change it but on the same time it is kind of unnecessary as you'll always call them with clientApi.invite.create which already contains what you create and so it's kind of a duplicate

Regarding the renaming of those router endpoints. I understand why you want to change it but on the same time it is kind of unnecessary as you'll always call them with clientApi.invite.create which already contains what you create and so it's kind of a duplicate

No, this is not my point. Consider the following endpoints: clientApi.invite.create and clientApi.invite.createTemporaryToken (note: these are illustrative names / ideas). So what does the first one do? Yes, the invite router does indicate it roughly, but since there are now to names, it is no longer clear.


fix reference error auth is not util/auth

incorrect auth.js is required.
util/auth.js has getIssuer  function, not auth.js

Thanks for this! This change will actually provide the wrong discovery URL, because the one from the lambda has /Prod appended to it.
However, you're right that the auth in the web folder doesn't expose the right interface. I'll correct this.

Thanks for this! This change will actually provide the wrong discovery URL, because the one from the lambda has /Prod appended to it.
However, you're right that the auth in the web folder doesn't expose the right interface. I'll correct this.

Thanks for this! This change will actually provide the wrong discovery URL, because the one from the lambda has /Prod appended to it.
However, you're right that the auth in the web folder doesn't expose the right interface. I'll correct this.

Thanks for this! This change will actually provide the wrong discovery URL, because the one from the lambda has /Prod appended to it.
However, you're right that the auth in the web folder doesn't expose the right interface. I'll correct this.

Thanks for this! This isn't quite the right fix, because ${host}/Prod isn't the right URL for the web version.
However, you're right to point out that getIssuer was missing from auth.js. I've fixed this in d098a43.

Hm. Sorry for the spam. GitHub is a bit unstable today.

Alright. Thanks 😄


soc: riscv: telink_b9x: Add timer usage in mode 2 example

Add overlays for b91 and b92 boards
Implement timer App

Approved, but lets wait additional review from @andriy-bilynskyy or @mishadesh before merge


azure.cognitiveservices.speech - can't import with py2exe

Package Name: azure.cognitiveservices.speech
Package Version: 1.25.0
Operating System: Windows 11
Python Version: 3.10

Describe the bug
Azure package does not get pulled by py2exe for building into an executable. I have tried multiple versions of includes, excludes, packages.  Just keeping hitting the cannot find module azure error, all the time.  I have tried multiple different hacks and this problem does not seem to go away... The Executable being built by py2exe just cannot run if I use the azure sdk it looks like.
To Reproduce
Steps to reproduce the behavior:

import azure sdk and try a simple python program
generate an exe for this program using py2exe (basic set up, advanced setup don't care)
run the exe file

Expected behavior
The exe should run
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Thank you for the feedback @pradsy90 . We will investigate and get back to you asap.

@pradsy90 you might try moving your issue to this repo: https://github.com/Azure-Samples/cognitive-services-speech-sdk. I would move it for you, but it doesn't look like I can. That repo houses the samples for the SDK, but the maintainers of the speech SDK are active there and will be able to help.


🐛 BUG: pages_build_output_dir resolving to root

Which Cloudflare product(s) does this pertain to?
Pages
What version(s) of the tool(s) are you using?
3.50.0
What version of Node are you using?
20
What operating system and version are you using?
Pages CI
Describe the Bug
Observed behavior
If you have a config like:
pages_build_output_dir = "/dist"

It will resolve to the root of Pages CI (and thus throw an error). It will also fail to resolve in wrangler dev and cause the assets to not be served.
Example bad build: 9feb8399-ddc5-473b-bf90-0776a8f7ca62
Expected behavior
It should resolve as if it was ./ (as in, within the defined root). This is the behaviour today on Pages and we should continue it through wrangler.toml
Steps to reproduce
Set:
pages_build_output_dir = "/dist"

and try to run a build through CI or run wrangler pages dev
Please provide a link to a minimal reproduction
No response
Please provide any relevant error logs
No response

It should resolve as if it was ./ (as in, within the defined root). This is the behaviour today on Pages and we should continue it through wrangler.toml

I don't think this is a good idea. The other paths in wrangler.toml are relative to the wrangler.toml path (or possibly the current working directory).
Changing the path resolution just for this field is inconsistent with the other paths. But moreover, it would prevent users from providing an absolute path in this field. (I appreciate that using an absolute path here would be bad practice in the context of CI since the user doesn't control the containing paths to the project.)


Fix include of OvrIntegration enums.

Hi @mosra !
Here is the requested fix for the HmdEnums.h missing include.
Regards, Jonathan.
PS: I snuck in another enhancement ;)

Thanks a lot for the quick fix!