syscall: win32api: Unexplained crashes when using win32api (PostMessage)

What version of Go are you using (go version)?
go version go1.17.3 windows/amd64
windows 10 64bit
Does this issue reproduce with the latest release?
I don't know, I haven't tried it with beta versions or older versions.
What operating system and processor architecture are you using (go env)?
go env Output
set GO111MODULE=on
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\dl\AppData\Local\go-build
set GOENV=C:\Users\dl\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\dl\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\dl\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=c:\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=c:\go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.17.3
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=NUL
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\Users\dl\AppData\Local\Temp\go-build2985149018=/tmp/go-build -gno-record-gcc-switches

What did you do?
After long test I decided to share this. In this way, maybe a solution can be found, or this is the cause of an error in Golang's runtime.
Here I am summarizing the issue so that everyone can understand what I want to do:
Let's create a simple Win32api application. I will share an example program below.
We don't use cgo. We will use syscall.
The Win32api function GetMessage blocks the program if there are no messages in the event queue. So if no event is created, the program waits forever for an event to occur.
So I'm sending messages to the queue with PostMessage. I do this with time.Ticker.
Now we have prevented the program from being blocked forever. We can receive the events we send with PostMessage from the queue.
As a note, PostMessage runs another goroutine. Using runtime.LockOSThread does not prevent the program from crashing.
The program can run without anything for a long time. Sometimes it crashes with no errors. Sometimes it works normally for a very long time, sometimes it crashes immediately. Finally, after a certain time, the program stops responding.
This made me think about the possibility of race condition. But there is no such thing.
I wrote a duplicate of the same code in C++. Win32api shows no problems. The program never crashes. I know that C++ and Golang are not the same thing. I just wanted to understand where the problem is.
So the program not crashing in C++ makes me think that Golang is doing something wrong for win32api in runtime.
My guess is that he is moving the runtime goroutines to different threads or dealing with a similar golang thing. Some win32api functions are sensitive to the called thread. In other words, the thread that the goroutine is connected to should not change. Maybe GC is deleting something important for win32api. I really don't know what's going on here.
I tried to keep this issue simple so anyone can generate it themselves but since win32api is a low level api it takes a long time to create something.
Those who want to confirm this example can run the program and wait. You can leave the program's window and switch to something else. Because sometimes it works right for too long for incomprehensible reasons.
I don't know how to test this in a simpler way.
Go code (go build app.go):
package main

import (
	"errors"
	"fmt"
	"syscall"
	"unsafe"

	"time"
	"runtime"
)

var (
	k32 = syscall.NewLazyDLL("kernel32.dll")

	procGetModuleHandle         = k32.NewProc("GetModuleHandleW")
)

var (
	u32 = syscall.NewLazyDLL("user32.dll")

	procRegisterClassEx            = u32.NewProc("RegisterClassExW")
	procUpdateWindow               = u32.NewProc("UpdateWindow")
	procCreateWindowEx             = u32.NewProc("CreateWindowExW")
	procDestroyWindow              = u32.NewProc("DestroyWindow")
	procDefWindowProc              = u32.NewProc("DefWindowProcW")
	procPostQuitMessage            = u32.NewProc("PostQuitMessage")
	procGetMessage                 = u32.NewProc("GetMessageW")
	procTranslateMessage           = u32.NewProc("TranslateMessage")
	procDispatchMessage            = u32.NewProc("DispatchMessageW")
	procPostMessage                = u32.NewProc("PostMessageW")
)

func RegisterClassEx(wndClassEx *WNDCLASSEX) ATOM {
	ret, _, _ := procRegisterClassEx.Call(uintptr(unsafe.Pointer(wndClassEx)))
	return ATOM(ret)
}

func UpdateWindow(hwnd HWND) bool {
	ret, _, _ := procUpdateWindow.Call(
		uintptr(hwnd))
	return ret != 0
}

func CreateWindowEx(exStyle uint, className, windowName *uint16,
	style uint, x, y, width, height int, parent HWND, menu HMENU,
	instance HINSTANCE, param unsafe.Pointer) HWND {
	ret, _, _ := procCreateWindowEx.Call(uintptr(exStyle), uintptr(unsafe.Pointer(className)),
		uintptr(unsafe.Pointer(windowName)),
		uintptr(style),
		uintptr(x),
		uintptr(y),
		uintptr(width),
		uintptr(height),
		uintptr(parent),
		uintptr(menu),
		uintptr(instance),
		uintptr(param))
	return HWND(ret)
}

func DestroyWindow(hwnd HWND) bool {
	ret, _, _ := procDestroyWindow.Call(
		uintptr(hwnd))
	return ret != 0
}

func DefWindowProc(hwnd HWND, msg uint32, wParam, lParam uintptr) uintptr {
	ret, _, _ := procDefWindowProc.Call(uintptr(hwnd), uintptr(msg), wParam, lParam)
	return ret
}

func PostMessage(hwnd HWND, msg uint32, wParam, lParam uintptr) bool {
	ret, _, _ := procPostMessage.Call(uintptr(hwnd), uintptr(msg), wParam, lParam)
	return ret != 0
}

func TranslateMessage(msg *MSG) bool {
	ret, _, _ := procTranslateMessage.Call(
		uintptr(unsafe.Pointer(msg)))
	return ret != 0
}

func DispatchMessage(msg *MSG) uintptr {
	ret, _, _ := procDispatchMessage.Call(
		uintptr(unsafe.Pointer(msg)))
	return ret
}

func GetMessage(msg *MSG, hwnd HWND, msgFilterMin, msgFilterMax uint32) int {
	ret, _, _ := procGetMessage.Call( uintptr(unsafe.Pointer(msg)), uintptr(hwnd), uintptr(msgFilterMin), uintptr(msgFilterMax))
	return int(ret)
}

func PostQuitMessage(exitCode int) {
	procPostQuitMessage.Call(
		uintptr(exitCode))
}

func GetModuleHandle(lpModuleName *uint16) HINSTANCE {
	ret, _, _ := procGetModuleHandle.Call(uintptr(unsafe.Pointer(lpModuleName)))
	return HINSTANCE(ret)
}

type (
	ATOM uint16

	DWORD uint32

	HANDLE uintptr

	HINSTANCE HANDLE

	HMODULE HANDLE

	HRESULT int32

	HWND HANDLE

	LPARAM uintptr

	HKL     HANDLE

	LPCVOID unsafe.Pointer

	LRESULT uintptr

	PVOID unsafe.Pointer

	QPC_TIME uint64

	ULONG_PTR uintptr

	WPARAM uintptr

	HCURSOR HANDLE

	HICON HANDLE

	HMENU HANDLE

	HHOOK HANDLE

	HRAWINPUT HANDLE

	COLORREF uint32

	HBITMAP HGDIOBJ

	HBRUSH HGDIOBJ

	HDC HANDLE

	HFONT HGDIOBJ

	HGDIOBJ HANDLE

	HPALETTE HGDIOBJ

	HRGN HGDIOBJ

)

// http://msdn.microsoft.com/en-us/library/windows/desktop/ms633577.aspx
type WNDCLASSEX struct {
	Size       uint32
	Style      uint32
	WndProc    uintptr
	ClsExtra   int32
	WndExtra   int32
	Instance   HINSTANCE
	Icon       HICON
	Cursor     HCURSOR
	Background HBRUSH
	MenuName   *uint16
	ClassName  *uint16
	IconSm     HICON
}

// http://msdn.microsoft.com/en-us/library/windows/desktop/dd162805.aspx
type POINT struct {
	X, Y int32
}

// http://msdn.microsoft.com/en-us/library/windows/desktop/ms644958.aspx
type MSG struct {
	Hwnd    HWND
	Message uint32
	WParam  uintptr
	LParam  uintptr
	Time    uint32
	Pt      POINT
}

const (
	TickerMSG uint32 = 0x10

	WM_USER                   = 1024

	WM_DESTROY                = 2

	WM_QUIT                   = 18

	WS_EX_APPWINDOW        = 0x00040000

	WS_VISIBLE          = 0x10000000

	COLOR_BACKGROUND              = 1

	WS_POPUP            = 0x80000000

	)

const CW_USEDEFAULT = ^0x7fffffff

type Window struct {
	wc                WNDCLASSEX
	msg               MSG
	die               chan struct{}
	ticker            *time.Ticker
	tickerMillisec    time.Duration
	tickerActive      bool
	handle            HWND
}

func NewWindow(title string, wi, he uint32) (*Window, error) {
	var w Window
	w.die = make(chan struct{}, 1)
	utf16ClassName := syscall.StringToUTF16Ptr("myWinApp")
	w.wc.Size = uint32(unsafe.Sizeof(w.wc))
	w.wc.Style = 0
	w.wc.WndProc = syscall.NewCallback(w.callback)
	w.wc.Background = (HBRUSH)(COLOR_BACKGROUND)
	w.wc.Instance = GetModuleHandle(nil)
	w.wc.ClassName = utf16ClassName
	if RegisterClassEx(&w.wc) == 0 {
		return nil, errors.New("RegisterClassEx error")
	}
	w.handle = CreateWindowEx(WS_EX_APPWINDOW, utf16ClassName, syscall.StringToUTF16Ptr(title), WS_POPUP | WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, int(wi), int(he), 0, 0, GetModuleHandle(nil), nil)
	if w.handle == 0 {
		return nil, errors.New("CreateWindowEx error")
	}
	UpdateWindow(w.handle)
	return &w, nil
}

func (w *Window) callback(hwnd HWND, msg uint32, wParam, lParam uintptr) uintptr {
	if msg == WM_DESTROY || msg == WM_QUIT {
		PostQuitMessage(0)
		return 0
	}
	if msg == WM_USER + TickerMSG {
		return 0
	}
	return DefWindowProc(hwnd, msg, wParam, lParam)
}

func (w *Window) StartTicker(millisec uint32) {
	runtime.LockOSThread()
	defer runtime.UnlockOSThread()
	// don't start before main loop
	time.Sleep(500 * time.Millisecond)
	w.tickerMillisec = time.Duration(millisec) * time.Millisecond
	w.tickerActive = true
	w.ticker = time.NewTicker(w.tickerMillisec)
	defer w.ticker.Stop()
	for w.tickerActive {
		select {
		case <-w.ticker.C:
			if !PostMessage(w.handle, WM_USER + TickerMSG, 0, 0) {
				fmt.Println("Ticker error. Exiting.")
				w.tickerActive = false
				return
			}
		case <-w.die:
			w.tickerActive = false
			return
		}
	}
}

func (w *Window) Destroy() {
	DestroyWindow(w.handle)
}

func (w *Window) Update()  bool {
	b := GetMessage(&w.msg, 0, 0, 0) > 0
	if !b {
		return false
	}
	TranslateMessage(&w.msg)
	DispatchMessage(&w.msg)
	return true
}

func main() {
	w, err := NewWindow("test window from golang", 440, 440)
	if err != nil {
		fmt.Println(err)
		return
	}
	defer w.Destroy()
	go w.StartTicker(5) // every 5 milliseconds

	for w.Update() {

}

}

C++ (g++ app.cpp):
#include <iostream>
#include <windows.h>
#include <thread>
#include <chrono>

void ticker(HWND hwnd)
{
	using namespace std::chrono_literals;
	// don't run before mainloop
	std::this_thread::sleep_for(1000ms);
	bool r = true;
	while(r) {
		if(!PostMessage(hwnd, WM_USER+10, 0, 0)) {
			MessageBox(NULL, "PostMessage error!", "Error!", MB_ICONEXCLAMATION | MB_OK);
			r = false;
			break;
		}
		std::this_thread::sleep_for(5ms); // sleep 5ms and send message
	}
}

// forward decleration
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);

int main()
{
MSG msg          = {0};
	HWND handle;

	WNDCLASS wc      = {0};
	wc.lpfnWndProc   = WndProc;
	wc.hInstance     = GetModuleHandle(NULL);
	wc.hbrBackground = (HBRUSH)(COLOR_BACKGROUND);
	wc.lpszClassName = "minwindowsapp";
	if( !RegisterClass(&wc) )
		return 1;

	handle = CreateWindow(wc.lpszClassName, "Minimal Windows Application", WS_OVERLAPPEDWINDOW|WS_VISIBLE, 0,0, 640, 480, 0, 0, GetModuleHandle(NULL), NULL);
	if(handle == NULL) {
		return 2;
	}

	std::thread t1(ticker, handle);
	t1.detach();

	while(GetMessage(&msg, NULL, 0, 0 ) > 0) {
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}
	return 0;
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	switch(message) {
	case WM_CLOSE:
		PostQuitMessage(0);
	break;
	default:
		return DefWindowProc(hWnd, message, wParam, lParam);
	}
return 0;
}

What did you expect to see?
The program should not crash.
Ok, a program can crash anytime. But it should not crash sporadically, for no reason. I want to know the problem here.
What did you see instead?
I see a program crashing at unpredictable times.
Sometimes it works correctly for a very long time. Sometimes it crashes within 1-2 minutes.
I think the crash was caused by a component that started running in the runtime. Maybe gc is kicking in or something.
I am apologize for my English. It's not my native language. I hope the codes I shared describe the problem better.

You need to use this:
https://github.com/faiface/mainthread
Otherwise there is a chance that you will not be on the main thread when the windows GUI code executes, which is not allowed.

Hi @beoran ,
All this package does is call runtime.LockOSThread at startup.
It didn't work in the ticker function, but I'll try it in the main function.

Please study that package in detail.  Timing and functionality are crucial is crucial. Lockosthread must be called in an init function, and then you have to post callbacks on a channel to be sure that you are on the main thread. Once in the main function the hola g runtime might already have started another thread.

I haven't taken a close look, but yes, anything that requires running on the main thread (like most GUI-related things) requires some special care, and it's more subtle than you might think.
The precise steps are:

LockOSThread in any init function.
main will now be called in a goroutine locked to the main thread.
Start a goroutine in main to do the rest of your program's work.
Accept requests on main via a channel or some other mechanism to run code on that goroutine.

This is exactly what https://github.com/faiface/mainthread does, but it wraps it in an API.
Given that this is well-understood, I think that explains what could be going wrong with your program. If you have a reproducer that only relies on PostMessage and such, then that's another story.
Leaving this open for the moment as waiting for info.

Hi,
in my case call runtime.LockOSThread in main function fixed the problem.
You can close.

Although this issue was closed, perhaps it should be documented somewhere a bit better what running on the main thread is and when, why and how it should be done?

@beoran See #23112 and https://pkg.go.dev/runtime#LockOSThread. I'm not sure where else this should be documented, but if another place feels better to you, then let us know. Or you can send us a PR as well. :)

It could be added there that it is necessary to lick and use the main thread for Windows and Osx GUI calls and that on Unix/Linux the thread that connects to X11 or Wayland needs to be locked and used for future calls.
As for a PR. I oppose CLAs for floss, so I cannot contribute to Go. A DCO should be sufficient. ( http://esr.ibiblio.org/?p=8287) Once you allow people to contribute with a DCO, I definitely will join in.

Hi @mknyszek , @beoran ,
I don't think the documentation is missing, but a little more detail would be nice.
For example, why does calling LockOSThread inside the goroutine (see. StartTicker) not work, as I tried?
It would be good to know that.
As I understand it, the goroutine I am calling is supposed to prevent it from switching to another thread etc , but I seem to have misunderstood this.
As another form of question: Is LockOSThread only there to work in the main function?

Lockosthread also works later on, but it may lock the goroutine to a non main thread from which you cannot call Windows GUI functions.


Register CLI - Issues

Below is a list of the issues and enhancements that have been identified while testing the most recent version of the Register CLI.
Issues
Bugs

[x] While running the tool from the code base, when my atSign was activating I saw multiple lines of "Connecting to secondary...." on attempt resulted in 14 lines of this and another attempt resulted in 100s of lines as this went on for a few minutes until I terminated it.
[x] If someone already has 10 free atSigns registered to their email and they try to get another one using the tool, it is displaying the correct message however it is then proceeding to throw an unhandled exception. Please proposed steps for handling this on page 2 of the wording doc  [DONE]
[x] If someone runs the tool with an option that doesn't exist, eg -r, we are getting an unhandled exception. This should be handled in the same way as when someone runs the tool without entering any options. [DONE]
[x] If someone runs the tool with the correct -e option but no email address, we are getting an unhandled exception. This should be handled in the same way as when someone runs the tool without enter any options. [DONE]
[x] If someone runs the tool with the correct -e option but the email address is not in the correct format eg hhhhhhhhh, we are getting the correct message saying unable to run , you have entered an invalid email etc but then the tool proceeds to get an atSign and attempts to send the verification code to null and we get an unhandled exception. After displaying the unable to run Register Cli message, the tool should stop and prompt the person to enter their email address again [Action Required] Enter your email address: [DONE]

Wording/Visual

[x] After using the tool successfully the final log displayed after letting me know where my atKeys are stored says "SEVERE|2022-12-8 10:44:12.082697|OnboardingCli}Killing current instance of at_onboarding_cli". If this is meant to signify the successful end of the process then could we replace this with something a little friendlier? SEVERE implies something has gone wrong. Maybe [Information] Your atSign Registration has been completed.
[x] When asked to enter my verification code, if I press enter without typing anything it says "Enter you verification code", but it should be "Enter your verification code" [DONE]
[x] When it's activating the atSign it says "Activating you atSign: @tinashe404", but it should be "Activating your atSign: @tinashe404". This line also appears twice instead of only once.
[x] When generating the keys it says "Generating you encryption keys and .atKeys file", but it should be "Generating your encryption keys and .atKeys file"

Enhancements

[ ] Provide the Register CLI in the form of a downloadable binary. I attempted to access it using "dart pub global..." and although activation was successful, I was not able to run it. I got "Could not find an option or flag -e" after running "dart pub global at_register -e myemailaddress"
[x] Since this tool will be used by the general public, we dont want them to have access to staging/dev and should therefore not give them the -n and --environment usage instructions [DONE]

The tool keeps hanging on "activating atSign". I waited nearly 2 minutes for the first attempt and nearly 5 minutes for the second one and it didn't progress beyond this point.
When i logged into the dashboard, both atSigns were showing the "click to scan" button so it looks like activation did successfully start but did not finish.

Tried the latest version, and still not able to activate. It hung for a while then the following logs were displayed...

@tinashe404 the above logs show that register_cli and onboarding_cli were working perfectly fine. But the secondary belonging to that atsign was not available for connection. Onboarding_cli made approx 50 attempts to connect, but the secondary was still unavailable. So, let me talk to who might know about this and find out why this is happening.

Attached are the server logs for that secondary. The timestamps are UTC
The server finished starting up at 2022-12-14 23:58:29.276162 UTC

<EMAIL_ADDRESS>  | INFO|2022-12-14 23:58:29.276162|AtSecondaryServer|Secure Socket open for @41wittering !

@tinashe404 if you have timestamps then this should help you identify where the problem was

Looking at the code
    while (secureSocket == null && _retryCount < maxRetries) {
      logger.finer('retrying connect secondary.......$_retryCount/$maxRetries');
      stdout.writeln('Connecting to secondary ...');
      try {
        secureSocket = await SecureSocket.connect(
            _secondaryAddress!.host, _secondaryAddress.port);
      } on Exception catch (e) {
        logger.finer(e);
      }
    }

it seems unlikely that the issue is with the CLI tool. Seems likely that the secondary was unreachable.
Question is whether (1) the secondary was not yet running, or (2) the secondary was running but somehow this client could not establish a SecureSocket connection
@tinashe404 if you know the UTC time at which you ran the tool you may be able to answer that question
@srieteja I note that there is no delay between retrying the SecureSocket.connect
@tinashe404 do you recall how quickly in succession those "Connecting to secondary" messages were printed?

@gkc thank you for taking time to look into this. I ran the tool at around 11:58pm UTC.
The messages are printed pretty quickly. Maybe 5 or so per second.
I am going to see what the success rate is this afternoon and also look into whether that atSign's activation can be completed via an app.

The messages are printed pretty quickly. Maybe 5 or so per second.

Aha ... as I suspected. I think it's just not waiting long enough for the secondary to start.
I've pushed the following changes to the srieteja-patch-6 branch:

fix: Add a 3-second delay between attempts to look up the secondary's address
fix: Add a 3-second delay between attempts to connect to the secondary
fix: Add a 30-second timeout for the SecureSocket.connect call ... this should be long enough to succeed even on slow networks, but short enough that if there is some serious networking issue then we won't hang for the underlying operating system default (which is typically 3 minutes)
chore: clean up some lint warnings

150 (3 times 50) seconds should be plenty of time for the secondary to start, although we might want to allow more.

With the changes above, I managed to successfully activate 5 atSigns.
@srieteja Could we update "Activating your atSign" to "Activating your atSign. This may take up to 2 minutes."

I've just made that change @tinashe404 since I had the branch checked out

Thank you, @gkc


On hover effect on Features

Related Issues
I have added a on-hover on cards of features to distinguish it from other cards and making the user experience better
Proposed Changes
Added on hover effects on cards of 'Features'
Screenshots

sorry this wasn't required. Please take some other issues that are available


Run asv for single commit

I am trying to run asv for a single commit but it seems to pick up all commits since the start of the project:
$ asv run --bench CsvFloat c2ef85974c13cbba5dc72df72607ff284cffc6d5
· Creating environments
· Discovering benchmarks
·· Uninstalling from conda-py2.7-Cython-jinja2-nomkl-numpy1.12-scipy
·· Building for conda-py2.7-Cython-jinja2-nomkl-numpy1.12-scipy..............
·· Installing into conda-py2.7-Cython-jinja2-nomkl-numpy1.12-scipy..
· Running 7996 total benchmarks (3998 commits * 1 environments * 2 benchmarks)
[  0.00%] · For astropy commit hash c2ef8597:

Is there a way to run single commits?

Same as for "git log":
c2ef85974c13cbba5dc72df72607ff284cffc6d5^!

I wonder if we could add that example to the asv run help? This is some git-fu that not everyone will necessarily know.

Yes, adding example somewhere, documentation, and maybe add in asv run --help something like following:
Run a benchmark suite.

examples:
  asv run master^!      run benchmarks for one commit (in git repository)


Joystick integration

Add the duguidlab joystick as an input device to Visiomode.
Details TBD, this is a placeholder

@jdacre FYI, let's add details here when we're doing this in anger


Create technozion.txt

Adding domain of National Institute of Technology Warangal, India

@VinayakZT I am sorry, I have to close this request without merging, because you requested to add a non-existent domain to this repository:
$ host -t any technozion.in
Host technozion.in not found: 3(NXDOMAIN)

Please ensure you are familiar with this repository rules located at the bottom of this page and submit a new request with correct information. Thank you for
In a new request please provide us with:

the university official website URL, if different from the domain you are submitting
an URL of a page on the official website where an IT-related long-term (>1 year) course is offered by the university
an URL of a page or another proof (.pdf or a screenshot are OK) showing that the university recognizes the domain which you are submitting as an official email domain for the students.

Thank you!


what's the f?

https://github.com/Rayhane-mamah/Tacotron-2/blob/de5e151e8568fc052de0455731cf7f12e4c3a11a/tacotron/models/helpers.py#L44
hi ,is this seems a bug?where the f come from?how to predict mel outputs when given a sentence?

You're right that file isn't up to date, i'll come back to you on that
tonight and i'll be adding the prediction part short enough. Thanks for
reaching out.
On 23 Feb 2018 03:59, "zhf459"<EMAIL_ADDRESS>wrote:

https://github.com/Rayhane-mamah/Tacotron-2/blob/
de5e151e8568fc052de0455731cf7f12e4c3a11a/tacotron/models/helpers.py#L44
hi ,is this seems a bug?where the f come from?how to predict mel outputs
when given a sentence?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Rayhane-mamah/Tacotron-2/issues/3, or mute the thread
https://github.com/notifications/unsubscribe-auth/AhFSwBGrEt5OJbRskwaGp789nvfPSm1gks5tXimPgaJpZM4SQURG
.

I updated the helpers file and added the synthesis code. Although we are not entirely sure of the performance of the stop token prediction, as it fails sometimes to efficiently choose when to end and goes all the way to the max decoder steps.
If you notice any other issue feel free to report, we'll get right to it.


Added notes on device permission behavior across login sessions

Summary: there has been some confusion around the expected behavior of device permissions when a user switches tenants (or logs out). I've added notes to the Native Device Permissions documentation to explain the expected behavior: permissions are stored per login session, so if you switch tenants or log out, your device permissions will not be persisted.

Docs Build status updates of commit 573fdb8:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/tabs/how-to/native-device-permissions.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 573fdb8:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/tabs/how-to/native-device-permissions.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[Event Request] codeunit 8614 "Config. XML Exchange" - OnAfterCreateRecordNodes

We would like to add a new event OnAfterCreateRecordNodes in the following procedure:
local procedure CreateRecordNodes(var PackageXML: DotNet XmlDocument; ConfigPackageTable: Record "Config. Package Table")
.
.
.
            if ConfigPackageTable."Dimensions as Columns" and ExcelMode then
                AddDimensionFields(ConfigPackageField, RecRef, PackageXML, RecordNode, FieldNode, true);
            OnAfterCreateRecordNodes(ConfigPackageTable, ConfigPackageField, RecRef, PackageXML, RecordNode, FieldNode, ExcelMode, true); //A100F0001.Event.n A200F0003.Event.n
            ExportMetadata := false;
            ProcessedRecordCount += 1;

        if ConfigPackageTable."Dimensions as Columns" and ExcelMode then
            AddDimensionFields(ConfigPackageField, RecRef, PackageXML, RecordNode, FieldNode, false);
        OnAfterCreateRecordNodes(ConfigPackageTable, ConfigPackageField, RecRef, PackageXML, RecordNode, FieldNode, ExcelMode, false); //A100F0001.Event.n A200F0003.Event.n
    end;

Event signature:
[IntegrationEvent(false, false)]
local procedure OnAfterCreateRecordNodes(ConfigPackageTable: Record "Config. Package Table"; var ConfigPackageField: Record "Config. Package Field"; var RecRef: RecordRef; var PackageXML: DotNet XmlDocument; var RecordNode: DotNet XmlNode; var FieldNode: DotNet XmlNode; ExcelMode: Boolean; ExportValue: Boolean)
begin
//A100F0001.Event A200F0003.Event
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Error when running Testing Kinetics: no is_shift defined in TSN()

Thanks for sharing the codes.
I tried to evaluate TDN-ResNet50-8x3x10 in your model zoo on Kinetics following your examples:

CUDA_VISIBLE_DEVICES=0 python3 test_models_three_crops.py  kinetics
--archs='resnet50' --weights <your_checkpoint_path>  --test_segments=8
--test_crops=3 --batch_size=16 --full_res --gpus --output_dir <your_pkl_path>
-j 4 --clip_index <your_clip_index>

Error occurs when constructing TSN (Line 124 in test_models_three_crops.py):

net = TSN(num_class, this_test_segments, modality,
          base_model=this_arch,
          consensus_type=args.crop_fusion_type,
          img_feature_dim=args.img_feature_dim,
          pretrain=args.pretrain,
          is_shift=is_shift, shift_div=shift_div, shift_place=shift_place
          )

There is no is_shift, shift_div and shift_place defined for TSN(nn.module) in ops/models.py.
Maybe you need to update ops/models.py?

@caidonkey Sorry, we have updated the test code, you can try the same test scripts again.

@caidonkey Sorry, we have updated the test code, you can try the same test scripts again.


Capacity Isolation Resource Management

Feature Description

One-line feature description (can be used as a release note): This feature adds capacity isolation support for local storage at node, container, and volume levels.
Primary contact (assignee): @vishh @jingxu97
Responsible SIGs: @kubernetes/sig-storage-feature-requests
Design proposal link (community repo): kubernetes/community#306
Reviewer(s) - (for LGTM) recommend having 2+ reviewers (at least one from code-area OWNERS file) agreed to review. Reviewers from multiple companies preferred: @derekwaynecarr
Approver (likely from SIG/area to which feature belongs):
Feature target (which target equals to which milestone):

Alpha release target (x.y)
Beta release target (x.y)
Stable release target (x.y)

# Description
Today, there are ways to guarantee and limit CPU and memory usage of containers and pods, but not storage.  Capacity isolation is important so that pods and system processes can have guaranteed space, and that bad actors cannot bring down the system.
Design Proposal: kubernetes/community#306
Tracker Issue: kubernetes/kubernetes#43607
Progress Tracker

[ ] Alpha

[ ] Write and maintain draft quality doc

[ ] During development keep a doc up-to-date about the desired experience of the feature and how someone can try the feature in its current state. Think of it as the README of your new feature and a skeleton for the docs to be written before the Kubernetes release. Paste link to Google Doc: DOC-LINK

[ ] Design Approval

[ ] Design Proposal.  This goes under design-proposals.  Doing a proposal as a PR allows line-by-line commenting from community, and creates the basis for later design documentation.  Paste link to merged design proposal here: PROPOSAL-NUMBER
[ ] Decide which repo this feature's code will be checked into. Not everything needs to land in the core kubernetes repo. REPO-NAME
[ ] Initial API review (if API).  Maybe same PR as design doc. PR-NUMBER

Any code that changes an API (/pkg/apis/...)
cc @kubernetes/api

[ ] Identify shepherd (your SIG lead and/or<EMAIL_ADDRESS>will be able to help you). My Shepherd is<EMAIL_ADDRESS>(and/or GH Handle)

A shepherd is an individual who will help acquaint you with the process of getting your feature into the repo, identify reviewers and provide feedback on the feature. They are not (necessarily) the code reviewer of the feature, or tech lead for the area.
The shepherd is not responsible for showing up to Kubernetes-PM meetings and/or communicating if the feature is on-track to make the release goals. That is still your responsibility.

[ ] Identify secondary/backup contact point. My Secondary Contact Point is<EMAIL_ADDRESS>(and/or GH Handle)

[ ] Write (code + tests + docs) then get them merged.  ALL-PR-NUMBERS

[ ] Code needs to be disabled by default.   Verified by code OWNERS
[ ] Minimal testing
[ ] Minimal docs

cc @kubernetes/docs on docs PR
cc @kubernetes/feature-reviewers on this issue to get approval before checking this off
New apis: Glossary Section Item in the docs repo: kubernetes/kubernetes.github.io

[ ] Update release notes

[ ] Beta

[ ] Testing is sufficient for beta
[ ] User docs with tutorials
- Updated walkthrough / tutorial in the docs repo: kubernetes/kubernetes.github.io
- cc @kubernetes/docs on docs PR
- cc @kubernetes/feature-reviewers on this issue to get approval before checking this off
[ ] Thorough API review

cc @kubernetes/api

[ ] Stable

[ ] docs/proposals/foo.md moved to docs/design/foo.md
- cc @kubernetes/feature-reviewers on this issue to get approval before checking this off
[ ] Soak, load testing
[ ] detailed user docs and examples

cc @kubernetes/docs
cc @kubernetes/feature-reviewers on this issue to get approval before checking this off

FEATURE_STATUS is used for feature tracking and to be updated by @kubernetes/feature-reviewers.
FEATURE_STATUS: IN_DEVELOPMENT
More advice:
Design

Once you get LGTM from a @kubernetes/feature-reviewers member, you can check this checkbox, and the reviewer will apply the "design-complete" label.

Coding

Use as many PRs as you need.  Write tests in the same or different PRs, as is convenient for you.
As each PR is merged, add a comment to this issue referencing the PRs.  Code goes in the http://github.com/kubernetes/kubernetes repository,
and sometimes http://github.com/kubernetes/contrib, or other repos.
When you are done with the code, apply the "code-complete" label.
When the feature has user docs, please add a comment mentioning @kubernetes/feature-reviewers and they will
check that the code matches the proposed feature and design, and that everything is done, and that there is adequate
testing.  They won't do detailed code review: that already happened when your PRs were reviewed.
When that is done, you can check this box and the reviewer will apply the "code-complete" label.

Docs

[ ] Write user docs and get them merged in.
User docs go into http://github.com/kubernetes/kubernetes.github.io.
When the feature has user docs, please add a comment mentioning @kubernetes/docs.
When you get LGTM, you can check this checkbox, and the reviewer will apply the "docs-complete" label.

/assign @jingxu97 @vishh

cc @kubernetes/sig-storage-feature-requests @kubernetes/sig-node-feature-requests

cc/ @kubernetes/sig-scheduling-feature-requests

@msau42 @vishh @jingxu97 I've updated the feature description to fit the new template. Please, fill the empty fields in the new template (their actual state was unclear).

@msau42 @vishh @jingxu97 please, update the feature description, fields "Approver" and "Feature target" are still unclear.

@vishh @jingxu97 please, provide us with the docs PR link (and update the features tracking spreadsheet with it).
/cc @kubernetes/sig-storage-feature-requests

@jingxu97 @vishh For 1.8 is alpha still correct?

I think currently we keep it alpha. We need to finish a number of items lists in #43607

I plan to split this into three features as follows

Supports storage as one of the node allocatable resources.
Support local storage isolation at pod and container levels.
Expose storage usage metrics to end users.

@jingxu97 @saad-ali have these features been splitted? If yes, please provide us with the links to the new features; and close the current one.

I opened up feature #361 #362 #363 to replace this one.

/subscribe


Timer and notification between sets

Clock (DONE), alarm, notifications
https://pub.dev/packages/awesome_notifications

Todo: get vibrations working in background, if failed a set, don't play success timer(s), customize text on timer


Api authentication fails with passport guard due to cookie prefix not being removed from JWT token

Laravel Version: 7.28.0
PHP Version: 7.3.15
Database Driver & Version: MySQL 5.7

Description:
When i use the default laravel api endpoints with the builtin axios javascript library passport api:auth is broken. After extensive debugging of the laravel framework i found the problem is the decrypted laravel_token which is fed to JWT::decode(). The CookieValuePrefix, which is added on cookie create, is not removed in the Passport TokenGuard after decrypting so validating the JWT token fails and an "Unauthenticated" message is returned.
The fix is to remove the cookie prefix before JWT::decode is called.
I Changed Laravel\Passport\Guards\TokenGuard from:
    protected function decodeJwtTokenCookie($request)
    {
        return (array) JWT::decode(
            $this->encrypter->decrypt($request->cookie(Passport::cookie()), Passport::$unserializesCookies),
            $this->encrypter->getKey(),
            ['HS256']
        );
    }

to:
    protected function decodeJwtTokenCookie($request)
    {
        return (array) JWT::decode(
            CookieValuePrefix::remove($this->encrypter->decrypt($request->cookie(Passport::cookie()), Passport::$unserializesCookies)),
            $this->encrypter->getKey(),
            ['HS256']
        );
    }

Steps To Reproduce:
Upgade from < 5.6.30 to 7.28.0
And using CreateFreshApiToken -> https://laravel.com/docs/7.x/passport#consuming-your-api-with-javascript

Which passport version are you using?

I have the same issue, and I'm using Laravel Passport version 8.5 according to my composer.lock. My composer json is set to "laravel/passport": "^8.4",
Also I can pinpoint that on Laravel 7.15 using the CreateFreshApiToken works, but in 7.16 it doesn't.

You need to upgrade to Passport v9.3.2 which fixes this.

Gonna close this as I suspect the OP is also using an outdated Passport version.

I was using passport 7.2.4. Updating to 9.3.2 fixed the issue.
I assumed that running composer update after updating to laravel 7 in composer.json would also update passport to a working (non breaking) version. That is not the case unfortunately.
Thank you for your answer and i hope this helps others fixing this when they encounter the same issue.

@bertploeger when upgrading to new major versions you always have to do that manually.

It would be nice if this would be packported to 7.x and 8.x too, since this took days to debug and find this ticket 🤪

We don't maintain old passport versions. The newer passport supports both Laravel 6 and 7. Laravel 5.7 isn't supported anymore.

I'm just saying I followed official guides and those recommend me to upgrade to a broken passport version.
If you like keeping that broken, is not my problem right now. But it is annoying to everybody else.


First try at plugin

Refs #4
Sources are here: https://github.com/xtuc/rust-plugin

@xtuc The rust-plugin assumes that we have wasm-opt in that right? can we make it optional?

Yes, it was optional before and should be with the plugin as well.
Maybe we could even download it for the user from binaryen or other stuff.

Should rust-plugin be renamed wasm-opt-plugin? AFAICT, it only runs wasm-opt.  I also think it is nice if every tool was its own plugin so you could pick and choose what tools you want, rather than getting all rust+wasm related tools entangled together even if you only want to use some of them.
Also, we should really expose the ability to pass configuration flags to wasm-opt, so we can control if we are optimizing for size (-Os) or speed (-O3) and can enable or disable individual passes (see wasm-opt --help).
Overall, though, I think this is a huge improvement over the bash script! Thanks :)

I also think it is nice if every tool was its own plugin

That's a good point, I had in mind a super plugin in mind with all the tools and that would be configurable.
For example: dce: true could call multiple tools under the hood. I believe that it could be more user-friendly. Does it make sense to you?

Also, we should really expose the ability to pass configuration flags to wasm-opt

Yes, currently it's just a poc.

@fitzgen IMO I think a single plugin (with configuratble options) that handles everything would really make sense and creates less confusion. WDYT?

Changes:

wasm-opt is now optional and used the same warning than before.
we can configure the optimization level in wasm-opt. Is there any other interesting options?

It seems to be in a mergeable state now.

@sendilkumarn

@fitzgen IMO I think a single plugin (with configuratble options) that handles everything would really make sense and creates less confusion. WDYT?

I guess it makes sense to have a super-plugin that is an umbrella of other plugins specifically for the typical Rust+Wasm project.
I still think it makes sense to have individual tools have their own plugin, since a C++ and Wasm project will almost certainly also want to use wasm-opt.
@xtuc

we can configure the optimization level in wasm-opt. Is there any other interesting options?

The optimization level is the biggest thing, and we can add more as users ask for them.
Taking a second look at the whole PR now. Thanks!

That's great.
I'll probably split into individual plugins and keep a super-plugin which aggregate them.


Dashboard

This should be good enough for a simple dashboard. Also we shouldn't need any turbolinks flag-checking magic in the js/dashboard.js primarily because this page is not accessible from a turbolink.
Closes #52

I was thinking the same. I can push something soon


How can I change the scrolling behavior?

Hi,
Is it possible for the minibuffer to start scrolling down only when selection hits the last line displayed? As it is by default it starts scrolling candidates as soon as you reach half the minibuffer lines. I didn't find any option in the customize-group to modify this.
Not sure if I'm very clear in my explanations, let me know if you need me to be more precise.
Thanks for your help.

It makes sense to me. I don't believe we have a way of providing this feature currently, but I would have no objection to an option being added to allow this behavior. It would be a conditional to change the index computations in the post-command hook in the minibuffer when we decide which candidates to display. It might be a little more tricky since we will want a hysteresis effect (i.e., the same thing happens when scrolling up as when scrolling down, instead of your cursor always being stuck to the bottom of the minibuffer), but should be not too hard.


Add tag flavor

Fixes #13
For cases where you have multiple flavors of the same container, like node:12-alpine, node:12-debian, etc, it would be nice to be able to specify these flavors in this github action. This was requested in #13.
Let's say that your container has two flavors, debian and alpine, and that you want images like foo:latest to be based on the debian flavor. You might want to generate these tags:

foo:x.y.z-debian
foo:x.y.z-alpine
foo:x.y.z (= foo.x.y.z-debian)
foo:debian (= foo.x.y.z-debian)
foo:alpine (= foo.x.y.z-alpine)
foo:latest (= foo.x.y.z-debian)
foo:sha-AAAAAA-debian
foo:sha-AAAAAA-alpine
foo:sha-AAAAAA (= foo:sha-AAAAAA-debian`)

To achieve this, I added two options: flavor (string) and main-flavor (boolean). Trying to summarize their behavior:

specifying a flavor will generate tags with the flavor suffix
if no flavor is specified, or if there is a flavor but main-flavor is true, the flavorless tags will be emitted as well
versionless flavorful tags (foo:debian) will only be generated if there's a flavor and the tag matches as latest.

In other words, each previously emited tag has its flavor counterpart:

foo:x.y.z => foo:x.y.z-{flavor}
foo:latest => foo:{flavor}
foo:sha-AAAAAA => foo:sha-AAAAAA-{flavor}

And the left side are emited if no flavor != '' or mainFlavor, and the right side is emited if flavor != ''.
This is how I'm using this in a project:
on:
  push:
    tags: '*.*.*'

jobs:
  release:
    strategy:
      matrix:
        base: [debian, alpine]
    steps:
      - uses:  hugopeixoto/ghaction-docker-meta@d08260d
        name: Docker meta
        id: docker_meta
        with:
          images: quay.io/hedgedoc/hedgedoc
          flavor: ${{ matrix.base }}
          main-flavor: ${{ matrix.base == 'debian' }}

I hope this is understandable :P Let me know what you think, and if this is an approach that makes sense. I wasn't sure if the sha tags should be flavored as well.
I still need to add tests and document this in the readme, but I'd like to know if this is something that you would consider integrate and iterate on before spending time there.

@hugopeixoto Thanks for this PR. Can you merge please?

@hugopeixoto Thanks for this PR. Can you merge please?

I've rebased the PR to the latest master, resolving the conflicts. Let me know if you meant something else.

@hugopeixoto Ahah my bad was tired yesterday, I meant rebase :sweat_smile:

@hugopeixoto you beat me to it.

I want to append suffix(like -tesseract_opencv-4.5.0). When this PR is merged, can I do that?

I suspect #24 may supersede this entirely, even though it may not have been intentionally designed to do so.

@LongLiveCHIEF

I suspect #24 may supersede this entirely, even though it may not have been intentionally designed to do so.

Actually no, tag-custom add additional tags to those already produced and do not modify them as this PR does.

I've updated the PR to include documentation in README.md and some tests in meta.test.ts.
@crazy-max I'm fighting codecov and losing. The current problem seems to be the line let main = !flavor || this.inputs.mainFlavor;, which is marked as partial, but I think I have the four cases covered. Could you help me figure out what's missing? The coverage report from yarn test doesn't seem to be as extensive as whatever codecov does.

How about this? Some coverage tools cannot recognize short circuits correctly.
    let tags: Array<string> = [];
    const tagPush = (tagStr: string) => {
      if (this.inputs.flavor) {
        tags.push(`${tagStr}-${this.inputs.flavor}`);
        if (this.inputs.mainFlavor) {
          tags.push(tagStr);
        }
      } else {
        tags.push(tagStr);
      }
    };
    for (const image of this.inputs.images) {
      const imageLc = image.toLowerCase();
      tagPush(`${imageLc}:${this.version.main}`);
      for (const partial of this.version.partial) {
        tagPush(`${imageLc}:${partial}`);
      }
      if (this.version.latest) {
        if (this.inputs.flavor) {
          tags.push(`${imageLc}:${this.inputs.flavor}`);
          if (this.inputs.mainFlavor) {
            tags.push(`${imageLc}:latest`);
          }
        } else {
          tags.push(`${imageLc}:latest`);
        }
      }
      if (this.context.sha && this.inputs.tagSha) {
        tagPush(`${imageLc}:sha-${this.context.sha.substr(0, 7)}`);
      }
    }

How about this? Some coverage tools cannot recognize short circuits correctly.

Thanks for the suggestion. I tried a variation of that: instead of using let main = x || y, I tried this:
if (flavor === '') {
  main = true;
} else if (this.inputs.mainFlavor) {
  main = true;
} else {
  main = false;
}

And each of the main = true/false lines is green (hit), but the if/else lines are yellow (partial). It seems like every if statement in this file is being marked as partial:
https://codecov.io/gh/crazy-max/ghaction-docker-meta/pull/15/src/src/meta.ts
Could it be that there's a problem with codecov's typescript tooling? I rolled the commit back to !flavor || etc.

Oh...

@hugopeixoto Yes don't worry with codecov for this kind of stuff, there's something wrong on their side about it or something needs to be configured on our side. Will check this out later.

@crazy-max Do you have any updates? Are there any other problems?

@crazy-max Do you have any updates? Are there any other problems?

Exactly the feature I need :+1:

Exactly the feature I need :+1:

Hi @crazy-max , is there more to do here? 🙏

@lpil Will focus on proposal in #30 and also work to drastically reduce the workflow by removing a maximum of inputs. I keep this PR opens for now as it provides a good use case.


switch script to local

Unfortunately it's not quite that simple! We don't serve all static files from the package, only files in the /public folder. And then the link is a bit more complicated. I have left instructions in the review

Thank you! I will release a new version when i have tested this


[sw] Add API Guidelines for DIF Parametization

During the implementation of the Reset Manager, there were queries about
how to expose hardware parameters to DIF users, especially where those
parameters are related to the size of buffers required by the interface.
This Change adds guidance about how we want to treat these parameters
going forwards, so there don't have to be major interface changes when
we switch to fully parameterizing the DIFs.

Updated to add: As @silvestrst says, the intention of this PR is not that current DIFs are updated just to comply with this guidance, the idea is to ensure we follow this going forwards, and update out-of-date DIFs when we are revisiting their implementations anyway.

Yeah, also, the "dynamic allocation" is only from the viewpoint of the DIF, which is not allowed to allocate, and after this change, strongly advised against exposing HW parameters using defines
The overall idea would be to teach topgen to create the right dif_<ip>_params_t for each instance, which would then be used in the right places.

The overall idea would be to teach topgen to create the right dif_<ip>_params_t for each instance, which would then be used in the right places.

Would this mean sharing SW implementation details w/ topgen? But, I guess it already knows a lot of things.

The overall idea would be to teach topgen to create the right dif_<ip>_params_t for each instance, which would then be used in the right places.

Would this mean sharing SW implementation details w/ topgen? But, I guess it already knows a lot of things.

Yes, but topgen does already know a lot about the RTL implementation of the peripherals it parameterizes, so I'm not sure telling it DIF details is a major worry.


[kws_streaming] Error about converting stream_state_internal KWS model to tflite with micro preprocess

Hi,
I had problem to convert stream_state_internal KWS model to tflite. I have tried to convert from both tfpb and h5. The issue is same. Does anyone have any idea? I used "micro" as preprocess.
Thanks.
Model:
ds_cnn_stream.zip
Traceback (most recent call last):
File "/home/temp/anaconda3/envs/py38/lib/python3.8/site-packages/tensorflow/python/framework/importer.py", line 496, in _import_graph_def_internal
results = c_api.TF_GraphImportGraphDefWithResults(
tensorflow.python.framework.errors_impl.InvalidArgumentError: Input 0 of node functional_1/stream/AssignVariableOp was passed float from functional_1/stream/ReadVariableOp/resource:0 incompatible with expected resource.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "run_convert.py", line 16, in
tfmodel = converter.convert()
File "/home/temp/anaconda3/envs/py38/lib/python3.8/site-packages/tensorflow/lite/python/lite.py", line 808, in convert
_convert_to_constants.convert_variables_to_constants_v2_as_graph(
File "/home/temp/anaconda3/envs/py38/lib/python3.8/site-packages/tensorflow/python/framework/convert_to_constants.py", line 1108, in convert_variables_to_constants_v2_as_graph
frozen_func = _construct_concrete_function(func, output_graph_def,
File "/home/temp/anaconda3/envs/py38/lib/python3.8/site-packages/tensorflow/python/framework/convert_to_constants.py", line 999, in _construct_concrete_function
new_func = wrap_function.function_from_graph_def(output_graph_def,
File "/home/temp/anaconda3/envs/py38/lib/python3.8/site-packages/tensorflow/python/eager/wrap_function.py", line 650, in function_from_graph_def
wrapped_import = wrap_function(_imports_graph_def, [])
File "/home/temp/anaconda3/envs/py38/lib/python3.8/site-packages/tensorflow/python/eager/wrap_function.py", line 621, in wrap_function
func_graph.func_graph_from_py_func(
File "/home/temp/anaconda3/envs/py38/lib/python3.8/site-packages/tensorflow/python/framework/func_graph.py", line 986, in func_graph_from_py_func
func_outputs = python_func(*func_args, **func_kwargs)
File "/home/temp/anaconda3/envs/py38/lib/python3.8/site-packages/tensorflow/python/eager/wrap_function.py", line 87, in call
return self.call_with_variable_creator_scope(self._fn)(*args, **kwargs)
File "/home/temp/anaconda3/envs/py38/lib/python3.8/site-packages/tensorflow/python/eager/wrap_function.py", line 93, in wrapped
return fn(*args, **kwargs)
File "/home/temp/anaconda3/envs/py38/lib/python3.8/site-packages/tensorflow/python/eager/wrap_function.py", line 648, in _imports_graph_def
importer.import_graph_def(graph_def, name="")
File "/home/temp/anaconda3/envs/py38/lib/python3.8/site-packages/tensorflow/python/util/deprecation.py", line 507, in new_func
return func(*args, **kwargs)
File "/home/temp/anaconda3/envs/py38/lib/python3.8/site-packages/tensorflow/python/framework/importer.py", line 400, in import_graph_def
return _import_graph_def_internal(
File "/home/temp/anaconda3/envs/py38/lib/python3.8/site-packages/tensorflow/python/framework/importer.py", line 501, in _import_graph_def_internal
raise ValueError(str(e))
ValueError: Input 0 of node functional_1/stream/AssignVariableOp was passed float from functional_1/stream/ReadVariableOp/resource:0 incompatible with expected resource.

One more comments. I also tried 'raw' preprocess, the tflite can be generated successfully.

Here is a test validating that conversion works with any frontend: is shows that model with external state can be converted. Frontend type should not matter.
Streaming with internal state is still in dev mode in tflite, but streaming with external state works ok. If you are interested in converting your model to streaming tflite with internal state, then you should use this example. This feature was added recently, it works only in eager mode. You can use above example for conversion to streaming tflite with internal state, but it has to be executed separately from kws_streaming (kws_streaming runs in session mode for backward compatibility with tf v1 and streaming with external state). Streaming with internal state also has some issues with quantization and we are working on it. Please confirm that you use tf-nightly, so that all latest features are supported.
ds_cnn_stream.zip is not enought to reproduce your issues, I also need to see how you convert the model in "run_convert.py".

@rybakov . Thanks for your help. The run_convert.py is below.
import tensorflow as tf
from kws_streaming.layers import stream
custom_objects={"Stream":stream.Stream}
#model = tf.keras.models.load_model('models1/ds_cnn_stream1/stream_state_internal.h5', custom_objects=custom_objects)
#converter = tf.lite.TFLiteConverter.from_keras_model(model)
converter = tf.lite.TFLiteConverter.from_saved_model( 'models1/ds_cnn_stream1/stream_state_internal')
#converter.inference_type = inference_type
#converter.experimental_new_quantizer = experimental_new_quantizer
converter.experimental_enable_resource_variables = True
converter.target_spec.supported_ops = [
tf.lite.OpsSet.TFLITE_BUILTINS, tf.lite.OpsSet.SELECT_TF_OPS
]
converter.allow_custom_ops = True
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tfmodel = converter.convert()
open ("model.tflite" , "wb") .write(tfmodel)

Hi,  @rybakov
Thanks again. The problem is solved with tf-night(2.7.0.dev20210824). The version tensorflow2.3 had this issue.


Change default database type to "public"

@NorbertKocsis proposed that we should change the default database type from private to public.
The reasoning was that rarely if ever did he want a database to be (very) private, and he believes that others are in the same shoes.
What do you guys think, @balcsida, @sorin-pop? I'm all for this change, though users should be educated if something like this gets pushed to live.

I also usually rather create public databases. I guess Norbi's got a point. So I'm not against this change, I don't really see any strong counter-argument. But perhaps you could conduct some kind of poll, statistics to get a better idea how the users are using CloudDB from this point of view.

In LiferayUP, when choosing CloudDB for the database location, we currently create it as a private one by default. So we should also think about this. Should we leave it like this, or should we create it as public from here as well, in case we do this?

According to the responses in the feedback form, the default database visibility being created is about half public, half private. As such, I think we could implement a property/checkbox something that the user could configure whether they want the database to be public or private by default (which they can then change, of course)

That's surprising. But the solution sounds nice :)

Migrated to new location


Graphs showing negative values for active cases

In 'Spread Trends' section on the home page, graphs of few states are showing negative values for active cases under 'Daily' section.
I don't think it is a data issue, rather there are some calculation errors.
Daily active cases should be calculated by the formula:
daily_active = total_confirmed_till_date - (total_recovered_till_date + total_deaths_till_date)

There is no calculation error. Refer to https://github.com/covid19india/covid19india-react/issues/2038#issuecomment-641962963 for the definitions


Update the parent link when committing active

We also need to update the parent link in CommitActive.
Signed-off-by: Yanqiang Miao<EMAIL_ADDRESS>

Codecov Report

Merging #754 into master will decrease coverage by 0.32%.
The diff coverage is 40%.

@@            Coverage Diff             @@
##           master     #754      +/-   ##
==========================================
- Coverage   62.46%   62.13%   -0.33%
==========================================
  Files           5        5
  Lines         682      692      +10
==========================================
+ Hits          426      430       +4
- Misses        160      163       +3
- Partials       96       99       +3

Impacted Files
Coverage Δ

snapshot/storage/bolt.go
72.98% <40%> (-1.65%)
:arrow_down:

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 3d076e5...fa40191. Read the comment docs.

What is this fixing? Please be clear in the behavior that you expecting and what this changes.
There are two properties of active snapshots that are important to hold:

Active snapshots have a fixed parent that is assigned at creation time. This cannot change and should be a part of the beginning metadata. This should be transferred over to the metadata at commit time when the snapshot becomes committed.
Active snapshots do not have children, as there is no way of maintaining the correct state for child snapshots that descend from an snapshot that is changing.

@stevvooe  The key is a random string in the current code, which is a meaningless string when the snapshot is commit, so I think we need to change it to name.

@stevvooe The key is a random string in the current code, which is a meaningless string when the snapshot is commit, so I think we need to change it to name.

I'm not sure this PR is the right approach.
Please take some time to describe the problem and we'll consider solutions.


Added Heroku production settings file, and removed heroku lines from generic production settings file.

This creates a new settings file, called production_heroku.py, and removes the lines regarding heroku from the generic production file. This fixes #1561 - using generic production settings creates static files in the correct place.

See https://github.com/OpenTechFund/opentech.fund/pull/1580


Collapse display of large author lists

https://culibrary.atlassian.net/browse/ARXIVNG-924

Pull Request Test Coverage Report for Build 79

33 of 33 (100.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.2%) to 88.661%

Totals

Change from base Build 76:
1.2%

Covered Lines:
1814

Relevant Lines:
2046

💛  - Coveralls

Merges ARXIVNG-924 to develop


Use Stream Encoder for JSON

we could use https://github.com/json-iterator/go to speedup encoding/decoding.
also a stream interface can fix #14432

this is a great idea.

this is a great idea.

Hm, If it supports copy data from a reader to responsewriter?

Hm, If it supports copy data from a reader to responsewriter?

https://godoc.org/github.com/json-iterator/go#NewStream

https://godoc.org/github.com/json-iterator/go#NewStream

I also write a library https://gitea.com/lunny/dreamjson

I also write a library https://gitea.com/lunny/dreamjson

looking forward to #14841 ...

Since #14841 merged, maybe we could do something.

<EMAIL_ADDRESS>appears to have a direct writer interface that means

Looks like https://github.com/bytedance/sonic is a better choice.

Looks like https://github.com/bytedance/sonic is a better choice.

Although the idea is cool, but the bytedance/sonic uses many hacky methods. https://github.com/bytedance/sonic/tree/main/decoder , it would become a blocker for users to use Go 1.18 if the team don't add Go 1.18 support in the first time.


Grid.Columns in ItemTemplte

Hello,
in the Monkey example, the image and the text are under each other, but according to XML file, the text should standing next to the picture.
The Image is in Grid.Column 0 and Grid.Row 0
The Text is  in Grid.Column 1 and Grid.Row 0
                            <Grid
                                Padding="10"
                                RowSpacing="10"
                                ColumnSpacing="10">
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="Auto"/>
                                    <RowDefinition Height="*"/>
                                </Grid.RowDefinitions>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="Auto"/>
                                    <ColumnDefinition Width="*"/>
                                </Grid.ColumnDefinitions>
                                <Image
                                    HeightRequest="66"
				    Aspect="AspectFill"
                                    WidthRequest="66"
                                    Grid.RowSpan="2"
                                    Source="{Binding Image}"/>
                                <Label
                                    Grid.Column="1"
                                    Text="{Binding Name}"
                                    FontSize="24"
				    VerticalOptions="End"/>
                                <Label
                                    Grid.Column="1"
                                    Grid.Row="1"
                                    VerticalOptions="Start"
                                    Text="{Binding Location}"/>
                            </Grid>

Regards
Uwe

It is the same issue as this:
https://github.com/praeclarum/Ooui/issues/141


Unable to invoke function only in Android

This is how my dependencies looks like.
dependencies {
// From node_modules
compile 'com.android.support:appcompat-v7:23.2.1'
compile project(':react-native-billing')
compile project(':react-native-spinkit')
compile project(':react-native-vector-icons')
compile project(':react-native-linear-gradient')
compile project(':react-native-calendar-events')
compile fileTree(dir: "libs", include: ["*.jar"])
compile 'com.facebook.react:react-native:+'
compile(project(':react-native-firebase')) {
transitive = false
}
compile "com.google.android.gms:play-services-base:11.2.2"
compile 'com.google.firebase:firebase-core:11.2.2'
compile 'com.google.firebase:firebase-messaging:11.2.2'
compile 'com.google.firebase:firebase-auth:11.2.2'
compile 'com.google.firebase:firebase-database:11.2.2'
compile 'com.google.firebase:firebase-crash:11.2.2'
compile project(':react-native-api-ai')
}
Also, I have apply plugin: 'com.google.gms.google-services'
at the end of my app.gradle.

The compile project(':react-native-api-ai') dependency is definitely missing.
Try to link your project again with react-native link. It should be there after that command and also in the settings file.

Thank you for your reply. I can assure you I have done react-native link. In fact, you can see the compile project(':react-native-api-ai') at the end of the dependencies.
I just tried relink the module and it still doesn't work.

I just noticed one thing. I have ApiAi.setConfiguration('<API_KEY>', ApiAi.LANG_ENGLISH); in the constructor function of my component. and ApiAi.requestQuery('PHONE_CONVO_BEGIN', this.setAPIResults, this.setAPIError); in the componentDidMount method. setConfiguration produces no error

Ok, then your decencies should be right.
Can you show me the call of requestQuery?
Make sure you have three Parameters: requestQuery("some text", r=>console.log(r), e=>console.log(e))

I can assure you that the code is correct as it is working in iOS perfectly. The issue happens only in Android.
ApiAi.requestQuery('PHONE_CONVO_BEGIN', this.setAPIResults, this.setAPIError);

Can you try ApiAi.requestQuery('PHONE_CONVO_BEGIN', r=>this.setAPIResults(r), e=>this.setAPIError(e)); just to make sure that no callback is null?

Still the same error. But there are some changes in the error report.

Unfortunately, I'm on the way to the react con in Alicante and I don't have my notebook with me. Can you try the sample app of the example folder. Does requestQuery work or at least start listening on android?

Hi,
I just did that and the same error happened.

I will have a deeper look into this issue when I'm back in office next Monday!

I just did some googling on my own on this issue. This issue seems to be affecting many libraries like this. Then I went to official API AI android client and found this.
The solution was to replace compile 'ai.api:libai:1.4.8' with compile('ai.api:libai:1.4.8') {         exclude module: 'log4j-core'     }.
And I can confirm that it is working.

However, there is another issue right now. In iOS, the result is an object but in Android the result is returned as a JSON string

I just was trying to reproduce your issue and didn't get any error while invoking requestQuery. It might be related to your android configuration. But anyway, thank you for your research and solving this problem!
For following issue:

However, there is another issue right now. In iOS, the result is an object but in Android the result is returned as a JSON string

I open a separate one #13


Problem with Chinese text ISO Standard

@opoudjis I've encountered this really strange bug.
If I have these lines in the T&D section, the entire section 3 doesn't render. This is simply the translation of the ISO boilerplate.
In addition, the links can't get rendered even in the English version.
* ISO在线浏览平台： http://www.iso.org/obp
* IEC Electropedia： http://www.electropedia.org

Thanks!

The English version links are now working. The boilerplate is supplied by Isodoc; any boilerplate in the source is in fact meant to be ignored.

But we still need a way to override the boilerplate text for the translation of the boilerplate text. For the foreword, just in case, the bottom part often describes the history of the edition and will be different for most documents (and hence is not boilerplate text)

Right, and for that reason I don't introduce any boilerplate into the foreword: it's just too variable.
The boilerplate is only in Normative References and Terms and Definitions, and it needs to be there, because it is determined by the contents (and the user shouldn't have to do that check).
https://github.com/riboseinc/isodoc/issues/47 is going to introduce Chinese text for that terms & definitions boilerplate. I don't agree that the boilerplate text should be overridden for translation by the user: it should be overridden by the gem, which should know the boilerplate in the target language.

Isn't it hard for the gem to know the boilerplate in "all" the target languages? This means we need to have a pre-set list that we support.

And I'm OK with that. The i18n module is all in one file, and it's a finite set, realistically.

As I said in message, we can deal with unsupported languages by asking users to provide the localisations as document attributes (or maybe a yaml prefix), once we've got the full list of localisations done.

Is this issue still there?

@opoudjis I agree that we should allow unsupported languages with a YAML file (or a prefix). The key point is to provide them with a sample template (e.g., via a command like asciidoctor-iso generate-language-template) (a list of keys they need to fill).

There's a template already provided, and linked from the README. As of now, all i18n (including English) is done by YAML.

As far as I can tell, this issue has gone away.


⚠ Turnos 24x7 has degraded performance

In 359da80, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 1164 ms

Resolved: Turnos 24x7 performance has improved in fa30657.


Create an FAQ page?

I see a lot of people open issues for similar questions, so I feel that an FAQ page would be helpful to both sides:

Users solve common questions more easily
Maintainers spend less time digging through issues to find duplicate sources

The FAQ page would follow your changelog / history page, with each item linked to its original issue thread for faster lookup and navigation.

It's a good idea but not sure if it will be of much help. In my experience no one reads the documentation to begin with. A lot of the support issues are for things that are covered in detail in the docs already.
The other 3 questions I get over and over again are general Jekyll 101 things. Not sure how to handle those as I don't really want to be a "how to use Jekyll guide"...

@iBug Looks like Discussions are in beta on GitHub and I see this being a useful way of surfacing frequently asked (and answered) questions.
Having them under Issues has never been that great. Not sure when it will make it to all GitHub users but next.js has it enabled now.

@mmistakes (OT) May I ask for "Triage" access to this repository so I can better help sort out new issues and PRs?

@iBug Doesn't look like there are roles on personal GitHub repos. If there are I couldn't find where you set that.

Oops, I might have forgot this. Seems like it's for organization repos only. Never mind.

I'm hoping the Discussions feature rolls out eventually. Most of these "issues" fit better in that area where they can treated more like a help forum. And then issues can go back to being a bug tracker instead of a repository of how to's.

Well then let's set this aside until Discussions becomes generally available.

It's a good idea but not sure if it will be of much help. In my experience no one reads the documentation to begin with.

Well, don't underestimate the power of these docs. I for one really appreciate all the documentation you created, and I thank you a lot for creating it! I am not a Ruby / Jekyll developer myself, and many things are not directly obvious without this extra info. +1

Not stale.

Hey, I just came up with this. I still feel that extra permissions (managing issues and PRs) would be more productive. If you're not fine with granting me permission to push, "branch protection rules" come out helpful, as shown below.

You can check the first one and uncheck the last one, so no one else except yourself can push directly to the master branch (or whichever you'd like to protect - an asterisk as a catch-all wildcard is also useful). Does this sound good?


A few small cleanup commits

This is going to fail, I need to fix something

Should be alright now


[windows] Fix Python tests in Windows.

Forward several environment variables to the test environment because
Windows uses them to inform the processes about things like the number
of processors and the architecture.
Normalize some literal Unix paths to be the same as the results in
Windows, that will have forward slashes and the drive letter.
Skip some test that use build-script-impl and tests that check for
files being executable (everything is executable in Windows).
Don't use the owner and group arguments for tar on Windows.
Hide the stderr output of which. In Windows it prints the full PATH in
case of failures, which is disrupting.
Quote many paths in Windows in the output of build-script results.
Provide a version of mock-distcc that can be executed in Windows. The
raw Python script cannot.
Change the expected results for clang/clang++ to the right values in
Windows (clang-cl in both cases).

CC: @ros

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge

@swift-ci please smoke test macOS platform

@swift-ci please smoke test macOS platform

@swift-ci please smoke test macOS platform


Number of records in current page is showing 1 result less. (Pagination)

Issue: The number of records in any current page is always ( pageLength - 1). Is this intended behavior or bug.
Lets say my pageLength is 20, but number of records in current page is 19.
If I select all records in current page, the Selected Label in Gridstats is showing  (pageLength - 1). But each page should have pageLength number of rows only right...

The number of records in DOM is correct, but last record is displayed behind pagination.


Make the install script for the vela cli available in repo

Currently when we try to run the vela cli install script from the document, it seems to be pointing to a script hosted in another server only installs the 1.8 version of the cli while the currently released version is 1.9.4. It seems that both the script and binaries are hosted in that server instead of from github
Expected behavior
We expect that the script looks up github and finds the latest release from there
KubeVela Version
1.9.4
Additional context
Having the install script present in the kubevela repo would be more transparent and we could use the script to find the latest version as well as the binary using github apis to download and install.

Looks like the script is hosted along with the docs repo. Will close this and open a new one under the docs repo

This seems to be the script https://github.com/kubevela/kubevela.github.io/blob/49e8a503bb875a5acef616b824ac10992bdef181/static/script/install.sh


Refs 1963: Bump mem request to 200Mi

Summary
The kafka consumer init container is crashing while trying to introspect repos (On startup, all repos in the database are introspected.). This problem only occurs in ephemeral env.
As per @jrusz 's suggestion, this issue could be due to memory taking to long to be increased, so bumping the request size to see if that helps to get the memory increased before the pod crashes.
Testing steps
Check for content-sources-backend-kafka-consumer restarting multiple times.

https://issues.redhat.com/browse/HMS-1963


Microsoft Edge “Object doesn’t support this action”

Version: Microsoft Edge 25.10586.672.0
Getting a javascript exception in Edge. Related to EventSource?
Attaching screenshots of console and breakpoint:

Thanks for reporting, looking into it now

Found the issue and pushed a new version, however, we've discovered a bug in the API that is preventing the polyfill in IE/Edge from working. It will hopefully be fixed later today - for now I'll leave this open.

Bug should be fixed now, let us know if you are still having issues.


Add Google Cloud support

In related to  #39

GitHub Actions as the CI/CD platform.
Ability to generate ML project from the cookiecutter template. Which allows the user to configure:

ML Project
CI/CD platform (Github Actions)
Choose Google Cloud as the cloud provider
Enable Feature Store
Production / Staging workspaces
ML experiment parent directory
Github branches

Integration between GitHub Actions and Google Cloud.

Authentication through Workload Identity Pool.
Setup and configure required Google Cloud permissions / roles through Terraform.

Add required configuration and setup instructions to the readme.

Hi @michael-chi @stawo, we've made some pretty significant changes to MLOps Stacks since this PR was opened, would you be interested in updating your PR?

@arpitjasa-db , I don't own this PR, I just did a small and incomplete review of it 😄
Let's see if @michael-chi will update the PR following the latest changes.

Closing this since we now support GCP with https://github.com/databricks/mlops-stacks/pull/153


Avoid unnecessary binding of occlusion polygon vertex array

By binding the vertex array here and not unbinding it, the state was getting modified in other parts of the pipeline. Since we don't need the vertex array to update the buffers, we can just not bind it. We should also unbind the buffers just in case.
Fixes: https://github.com/godotengine/godot/issues/73487

Thanks!


Add Branch Deployments to Puprun Action

This PR adds the ability to run arbitrary puppet environments, which map 1:1 to branches on the st2puppet project.

Tested and working on st2ops001.
/cc @DoriftoShoes https://stackstorm.slack.com/archives/opstown/p1435856242000639

LGTM


Update colors.py to support Python 3.9 and later

The random.shuffle function in Python's standard library doesn't take a second argument in Python versions 3.9 and onwards.
Previously, random.shuffle allowed for a random generator function as its second argument, but this feature was deprecated in Python 3.9 and has been removed in Python 3.10 and onwards.
Without the patch, we're presented with a Traceback:
  File "../lib/python3.11/site-packages/pysc2/lib/colors.py", line 224, in categorical
    palette = shuffled_hue(palette_size)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "../lib/python3.11/site-packages/pysc2/lib/colors.py", line 121, in shuffled_hue
    random.shuffle(palette, lambda: 0.5)  # Return a fixed shuffle
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

TypeError: Random.shuffle() takes 2 positional arguments but 3 were given

I confirm that this is a working solution. I had the same problem, had to internally change this to have a working environment.


Delete archive goal automatically after a particular time.

In the case of a mailing application, some mails are automatically deleted after a particular period. We can implement this feature in this application. I will try to work on this issue, But give me at least 4 days for this.
Assign it to me.

@SB2318
Give your time ,
But here I will say you that ,
There will be a settings that user can on or off , if user off the settings for particular goal then archive goal can't be delete any period of time , if user turn on settings then will this fn will execute

Yeah, that will also be great. I will contact you before working on this.


Fixes #680: Coverity fix - remove check for host since it is already …

…checked previously

Codecov Report

Merging #695 (1b63850) into main (e01bece) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##             main     #695   +/-   ##
=======================================
  Coverage   25.90%   25.90%
=======================================
  Files         128      128
  Lines       31190    31190
  Branches     4972     4972
=======================================
  Hits         8081     8081
  Misses      22054    22054
  Partials     1055     1055

Flag
Coverage Δ

unittests
25.90% <0.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/adaptors/http_common.c
0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Fixed clang-format issue


Display conditional rendering state for compute shader

If conditional rendering is enabled its state is always displayed in both 'Rasterizer' and 'CS' states.

Thanks!


tensor.cat of dynamic length tensors always results in slow memcopys

The following block always generates a slow memory copy for performing the concatenation
func.func @main(%arg0: tensor<4x?x4x64xf32>, %arg1: tensor<4x?x4x64xf32>) -> tensor<8x?x4x64xf32> {
  %1 = tensor.concat dim(0) %arg0, %arg1 : (tensor<4x?x4x64xf32>, tensor<4x?x4x64xf32>) -> tensor<8x?x4x64xf32>
  return %1 : tensor<8x?x4x64xf32>
}

Well yes. The concats arent contiguous?
If the concat cannot be made contiguous on ingestion, you can try --iree-opt-outer-dim-concat=true.

I thought they are right? The concat is happening on the outermost dim. I think the issue is that when this gets decomposed into a tensor.insert_slice we lose the knowledge that we are inserting into the full length of the dynamic dim.

The choice to decompose tensor.concat was just because that's where I stopped plumbing through support for it. It should be easy to keep it around and convert it to flow.tensor.update ops if it's on the outer most dim.

func.func @main(%arg0: tensor<4x?x4x64xf32>, %arg1: tensor<4x?x4x64xf32>) -> tensor<8x?x4x64xf32> {
  %1 = tensor.concat dim(0) %arg0, %arg1 : (tensor<4x?x4x64xf32>, tensor<4x?x4x64xf32>) -> tensor<8x?x4x64xf32>
  return %1 : tensor<8x?x4x64xf32>
}

Wait isn't this sample degenerate? We always have to copy because the only thing here is a concat.

@qedawkins I think the problem is that it gets lowered to a flow.dispatch + flow.tensor.load + flow.tensor.store instead of a flow.tensor.update. I tried to change https://github.com/iree-org/iree/blob/915b06bb8c3a5471f1a28e743dbe4a403ebc591b/compiler/src/iree/compiler/Dialect/Flow/Conversion/TensorToFlow/Utils.cpp#L111-L120 but ValueBoundsOpInterface doesn't work with hal buffer dim ops

Sorry, I missed that it is contiguous. @IanWood1  lets look at this deeper today in our 1:1

I havent looked at this in a while. I'll need some context. Even for this degenerate case we should be able to not generate slow memcpys, even if it means we keep the concat around longer.

Ok, for now I am taking this from Ian. Ill start with trying to push concat through further down the compilation flow cause at insert_slice you dont have information that this is contiguous


Fix position of Talk/Groups containers

Fixes LAND-702
Small update that fixes the position of the container components that wrap Talk and Groups. Apart from hopefully resolving the scroll issue referenced, this should help the mobile app feel more native by ensuring navigational elements can't be dragged out of position.
Give it a spin and let me know what y'all think. If we want to preserve the existing feel on desktop, I can add a mobile check.

I can't tell the difference at all on desktop, maybe it's too subtle for my eye. Seems good!


Missing tab spaces for text with new line

Nested Text with multiple new lines has a tab appended only at the beginning of the text.
Text: lorem ipsum\nlorem ipsum
Expected Result:
    lorem ipsum
    lorem ipsum

Outcome:
    lorem ipsum
lorem ipsum

Notion:

Markdown Output:

works from my end. Can you share how the text looks in notion?

@souvikinator
Notion:

Markdown output and view:

Expected output and view:

So basically the library is only adding indentation to the first line of the nested blocks.
We need to add indentation to all the nested blocks' lines...
Codeblocks, tables are affected because of this, because these elements have multiple lines in it
@vildar's PR will resolve this issue

Merged the PR.
Will create a new release shortly.
Thanks for the contribution.


Problems with using different converted caffemodels to finetune mnist data

Hi,
I modified the finetune_mnist.py by importing the .npy model as well as the corresponding weight converted from several caffemodels(including VGG16, AlexNet, GoogLenet, etc.) using convert.py. However, all of the coverted models except the original LeNet generate a traceback error like follow(The following used AlexNet model):
Traceback (most recent call last):
File "finetune_mnist.py", line 34, in
net = MyNet({'data': images})
File "/home/username/Documents/caffe-tensorflow/examples/mnist/kaffe/tensorflow/network.py", line 43, in init
self.setup()
File "/home/username/Documents/caffe-tensorflow/examples/mnist/mynet.py", line 10, in setup
.conv(5, 5, 256, 1, 1, group=2, name='conv2')
File "/home/username/Documents/caffe-tensorflow/examples/mnist/kaffe/tensorflow/network.py", line 21, in layer_decorated
layer_output = op(self, layer_input, *args, **kwargs)
File "/home/username/Documents/caffe-tensorflow/examples/mnist/kaffe/tensorflow/network.py", line 131, in conv
output_groups = [convolve(i, k) for i, k in zip(input_groups, kernel_groups)]
File "/home/username/Documents/caffe-tensorflow/examples/mnist/kaffe/tensorflow/network.py", line 121, in
convolve = lambda i, k: tf.nn.conv2d(i, k, [1, s_h, s_w, 1], padding=padding)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_nn_ops.py", line 394, in conv2d
data_format=data_format, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/op_def_library.py", line 704, in apply_op
op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2262, in create_op
set_shapes_for_outputs(ret)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1702, in set_shapes_for_outputs
shapes = shape_func(op)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/common_shapes.py", line 246, in conv2d_shape
padding)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/common_shapes.py", line 184, in get2d_conv_output_size
(row_stride, col_stride), padding_type)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/common_shapes.py", line 149, in get_conv_output_size
"Filter: %r Input: %r" % (filter_size, input_size))
ValueError: Filter must not be larger than the input: Filter: (5, 5) Input: (2, 2)
where the coverted AlexNet.py tensorflow code is as follow:
class AlexNet(Network):
def setup(self):
(self.feed('data')
.conv(11, 11, 96, 4, 4, padding='VALID', name='conv1')
.lrn(2, 2e-05, 0.75, name='norm1')
.max_pool(3, 3, 2, 2, padding='VALID', name='pool1')
.conv(5, 5, 256, 1, 1, group=2, name='conv2')
.lrn(2, 2e-05, 0.75, name='norm2')
.max_pool(3, 3, 2, 2, padding='VALID', name='pool2')
.conv(3, 3, 384, 1, 1, name='conv3')
.conv(3, 3, 384, 1, 1, group=2, name='conv4')
.conv(3, 3, 256, 1, 1, group=2, name='conv5')
.max_pool(3, 3, 2, 2, padding='VALID', name='pool5')
.fc(4096, name='fc6')
.fc(4096, name='fc7')
.fc(1000, relu=False, name='fc8')
.softmax(name='prob'))
I would like to know what might be the possible reason causing this common 'filter larger than input size' error and how could I fix it?
Thanks!

A bit late, but: it appears that the input is too small for the model and is getting downsampled beyond the kernel size.


When is created a new collection is not possible add a schema, is that right?

When is created a new collection is not exist the options for add a schema, is that right?

Collections support to add libraries that contains schemas not a single schema.

That's all.


iOS (APNS) Examples?

This is working excellent for pushing to Android following your example.  But I cannot get the APNS or iOS combination of values and configuration to work.  Do you have any APNS examples that you could provide?

@bcooper I'll do some work to update the Readme in the next few days, but in the meantime, here's a sample APNS message hash from another Issue:

message = {
  apns: {
    payload: {
     aps: {
       alert: {
         title: "title"
       },
       badge: 2 }
     }
  },
  token: "my_fcm_reg_id"
}

You can see all the supported fields in the different data objects like FirebaseCloudMessenger::Apns::ApsDictionary, which mirror Apple's own APNS docs.

Thanks for the quick response and info.  Just that input helped me understand how the payload fits in.

Glad I could help! Yeah, the JSON structure that the FCM API expects for APNS messages is a bit oddly constructed, imo, but I think it's best to keep the wrapper light and match that structure. We'll just have to do some documentation work so folks can more easily see what that structure is.

I will close this issue. APNS notifications working. Thanks for the help and for creating this Gem.


Support grpahql-config

Per https://github.com/jasonkuhrt/graphql-request/discussions/922#discussioncomment-9885338
Support https://the-guild.dev/graphql/config/docs/library/load-config

I took a look at https://the-guild.dev/graphql/config/docs/user/usage#extensions and https://github.com/kamilkisiela/graphql-config and find its not clear enough for me to take on owning an extension for GraphQL Config. @P4sca1 if you can help, PRs welcome.


/bin/bash: line 1: gobuster: command not found  Finished gobuster scan

The script will not run the gobuster portion. I took a look at the gobuster repo to see if there were any issues related and I did not come across any. I followed your installation steps. any recommendations on how to mitigate this? Really love the script!

Hey @giant372 yes I followed the  instructions located in the readme file specifically I ran
apt-get install gobuster --only-upgrade```

Just use apt-get install gobuster
--only-upgrade does just that. does not install the tool, just upgrades it if its already there

If you already have gobuster 2.0, use the command with --only-upgrade, otherwise use:
apt-get install gobuster


Include updated meta-raspberrypi in the resin-raspberrypi repository

We need an updated meta-raspberrypi which should contain the dtb for the pizero w and also should contain updated firmware that must handle loading this new dtb along with other fixes, out of which one should be the fix for https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=145980
 Front conversations

Update done, pizero w now supported. Closing this item


Removed Python v3.8 support

Fixes #84
Now supports Python versions >=3.9

The check for Python v3.8 failed because support for it was removed. Should the check be removed/ignored or should support for v3.8 remain until official EOL?

@volks73 @Apilny This PR is ready for review!


Disable attachment support in SubForm component

Attachments should not be supported in the current iteration of sub-forms. If the upload component is added it should throw an error.

Implemented.


[Feat] Support more file formats for payload files

Is your feature request related to a problem? Please describe.
The GraphAr's chunk file now could be store in ORC, parquet or CSV. We can support more builtin file format like
Json, hdf5 and avro to enhance capacity of GraphAr and satisfy different requirements for file format.
Describe the solution you'd like
Extends the file type support by metadata information and implement the reading and writing functions  with help of
arrow or other third-party libraries.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

HDF5 could be the first First priority and is the good first issue to address.


Initial attempt to get spark working with new testing framework

resolves #298
Description
Initial implementation of new testing framework in Spark
Checklist

[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] I have updated the CHANGELOG.md and added information about my change to the "dbt-spark next" section.

Nice work! Just in case you didn't see, the currently failing test is because of:
https://github.com/dbt-labs/dbt-spark/blob/d7f1d38d0dcf272dc0e513db4eeada0c08c407f5/tests/specs/spark-thrift.dbtspec#L20-L22

The spark thrift one was the one I tested locally, and that test passed :). So I'm guessing locally we're using a different Spark version?  I'll mark that test as a skip though.


show-busy-java-threads可以升级一下（终于支持Top的方式来获取CPU了）

@superhj1987 终于支持Top的方式来获取CPU了， #23 这个Issue放了5年…… 😂
# https://github.com/oldratlee/useful-scripts/blob/master/show-busy-java-threads
Change Log

New Features

use top command to get percent of thread cpu usage 🎩 #67 #23
you can use -P, --use-ps option so as to use ps command to find busy thead(cpu usage) instead of top command.
support -S, --jstack-file-dir option to specify the dir for storing jstack output files, and keep files.  🛐
default store jstack output files at tmp dir, and auto remove after run.
use this option to keep files so as to review jstack output later.
support -d, --top-delay option to specifies the delay between top samples. 😋
get thread cpu percentage during this delay interval.
support unlimited use name width(use ps  wide output) 🍻
support options -s to specify jstack path, it's convenient when run by sudo
support full options of jstack, like -m/-l :scream:
support jstack options -F, force dump 😱
support options -a to append info to log file, so as to review later  😋

Bug Fix

fix wrong user bug, when run by sudo -u user_foo
should re-jstack when next update
option parse fail should exit

Improvements

check os support, report os unsupported info and exit
improve show-busy-java-threads help format 📚
improve output color  🌈
improve docs

Code Cleanup

use ARITHMETIC EVALUATION explicitly instead of -gt etc 🔢
use fatal function to simplify exit logic
main function style 💅
reorder functions
fix typo

更多Change Log参见（From version 1.0.0 to 1.4.0）：
https://github.com/oldratlee/useful-scripts/releases
帮助信息
$ show-busy-java-threads -h
Usage: show-busy-java-threads [OPTION]... [delay [count]]
Find out the highest cpu consumed threads of java, and print the stack of these threads.

Example:
  show-busy-java-threads       # show busy java threads info
  show-busy-java-threads 1     # update every 1 second, (stop by eg: CTRL+C)
  show-busy-java-threads 3 10  # update every 3 seconds, update 10 times

Output control:
  -p, --pid <java pid>      find out the highest cpu consumed threads from the specified java process,
                            default from all java process.
  -c, --count <num>         set the thread count to show, default is 5.
  -a, --append-file <file>  specifies the file to append output as log.
  -S, --jstack-file-dir <path>  specifies the directory for storing jstack output files, and keep files.
                            default store jstack output files at tmp dir, and auto remove after run.
                            use this option to keep files so as to review jstack later.
  delay                     the delay between updates in seconds.
  count                     the number of updates.
                            delay/count arguments imitates the style of vmstat command.

jstack control:
  -s, --jstack-path <path>  specifies the path of jstack command.
  -F, --force               set jstack to force a thread dump.
                            use when jstack <pid> does not respond (process is hung).
  -m, --mix-native-frames   set jstack to print both java and native frames (mixed mode).
  -l, --lock-info           set jstack with long listing. Prints additional information about locks.

cpu usage calculation control:
  -d, --top-delay           specifies the delay between top samples, default is 0.5 (second).
                            get thread cpu percentage during this delay interval.
                            more info see top -d option. eg: -d 1 (1 second).
  -P, --use-ps              use ps command to find busy thread(cpu usage) instead of top command,
                            default use top command, because cpu usage of ps command is expressed as
                            the percentage of time spent running during the entire lifetime of a process,
                            this is not ideal.

Miscellaneous:
  -h, --help                display this help and exit.

更多详见文档：
https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-show-busy-java-threads

已经合并，多谢


Ubuntu 20 setup following the doc

zlibstd-dev is present, yet we get:
    LINK redis-server
g++: error: ../deps/staticlib/libz.a: No such file or directory
g++: error: ../deps/staticlib/libbz2.a: No such file or directory
g++: error: ../deps/staticlib/libsnappy.a: No such file or directory
g++: error: ../deps/staticlib/liblz4.a: No such file or directory
g++: error: ../deps/staticlib/libzstd.a: No such file or directory

These are the static compressed library files, i.e, *.a.
RocksDB support compressed library and auto detect all of them and try to use them all. So I include all the compressed libraries of source files in deps folder.
You can try to build them one by one in folder deps. After the building of all these lib, the static lib files need to be in deps/static/lib/ folder because RedRock link them statically.
I tried to build them in the src/makefile. But I am not sure the makefile would work in all platforms.
Check the following in src/makefile:
libz.a:
cd ../deps/cd zlib-1.2.11 && ./configure && make && mv libz.a ../staticlib/
libbz2.a:
cd ../deps && make bzip2 && mv bzip2/libbz2.a staticlib/
libsnappy.a:
cd ../deps && make snappy
liblz4.a:
cd ../deps && make lz4
libzstd.a:
cd ../deps && make zstd