Vwan availability zones

Overview/Summary
Adding availability zones to the Azure Firewall that is part of the managed VWAN hub template
This PR fixes/adds/changes/removes

Implementing functionality consistent with supported features of Azure Firewall used with Azure Managed virtual wan

Breaking Changes
None
Testing Evidence
Please provide any testing evidence to show that your Pull Request works/fixes as described and planned (include screenshots, if appropriate).
As part of this Pull Request I have

[Y] Checked for duplicate Pull Requests
[ ] Associated it with relevant issues, for tracking and closure.
[Y] Ensured my code/branch is up-to-date with the latest changes in the main branch
[Y] Performed testing and provided evidence.
[Y] Updated relevant and associated documentation.
[ ] Updated the "What's New?" wiki page (located: /docs/wiki/whats-new.md)

@jtracey93 - Let me know if other changes are needed as part of this

@jtracey93 - I believe I have added in the correct places now, but when I go to the firewall and look at properties, the availability zones property is empty: https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fjhajduk-microsoft%2FEnterprise-Scale%2Fvwan-availability-zones%2FeslzArm%2FeslzArm.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2Fjhajduk-microsoft%2FEnterprise-Scale%2Fvwan-availability-zones%2FeslzArm%2Feslz-portal.json

Testing Evidence:


AAPT: error: resource android:attr/fontVariationSettings not found after Flutter Upgrade

My flutter application used to work perfectly until recently I decided to upgrade to Flutter version 1.0.0. After upgrade I'm getting the below errors during compilation in one of my project:
AAPT: error: resource android:attr/fontVariationSettings not found.
AAPT: error: resource android:attr/ttcIndex not found.

FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDevelopmentDebugResources'.
> Failed to process resources, see aapt output above for details.

I've tried many things I can find in Google but none of them works. Appreciates for any help here.

My Compiledsdkversioin is 28 only. But still facing the same issue.
* What went wrong:

Execution failed for task ':url_launcher:verifyReleaseResources'.

> java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed

  D:\flutter-projects\project1\build\url_launcher\intermediates\res\merged\release\values\values.xml:236: error: resource android:attr/fontVariationSettings not found.

  D:\flutter-projects\project1\build\url_launcher\intermediates\res\merged\release\values\values.xml:237: error: resource android:attr/ttcIndex not found.

  error: failed linking references.

I upgraded yesterday to 1.12.13. I now have exactly this issue. More info here  https://github.com/flutter/flutter/issues/46881

I'm also facing the same issue when I run flutter build apk
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':thumbnails:verifyReleaseResources'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > Android resource linking failed
     /Users/divyanshub024/.gradle/caches/transforms-2/files-2.1/8ef0dd1b827b6b28c1e9211227fa2d4c/core-1.0.0/res/values/values.xml:57:5-88:25: AAPT: error: resource android:attr/fontVariationSettings not found.

     /Users/divyanshub024/.gradle/caches/transforms-2/files-2.1/8ef0dd1b827b6b28c1e9211227fa2d4c/core-1.0.0/res/values/values.xml:57:5-88:25: AAPT: error: resource android:attr/ttcIndex not found.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 2m 56s

I upgraded yesterday to 1.12.13. I now have exactly this issue.

I upgraded yesterday to 1.12.13. I have the same issue as well

guys, i facing this issue too, can i know how you guys fix it?

I had this issue with a couple of plugins that my project uses:

devicelocale
vibrate

The issue was gone once these plugins were updated to use compiledsdkversioin set to 28.

my fix here https://github.com/adee42/flutter_keyboard_visibility/issues/42#issuecomment-566656630
CC @nkmswot

If anyone has this issue with some package

In your project folder go to External libraries
Locate the library that raised the issue
Open it's build.gradle(app)
update the compileSdkVersion to 28

If anyone has this issue with some package

In your project folder go to External libraries
Locate the library that raised the issue
Open it's build.gradle(app)
update the compileSdkVersion to 28

Didnt work for me. Didnt find solution already. Any suggestions ?
Plus, android studio throws exception 'Cannot resolve symbol GradleException' at line 11 , but i ignore that one.

I fixed this error by changing compileSdkVersion from 27 to 28 in one of the dependencies. So check build.gradle file in the repo of every dependency that you use.

If anyone has this issue with some package

In your project folder go to External libraries
Locate the library that raised the issue
Open it's build.gradle(app)
update the compileSdkVersion to 28

Thank you. It solved the issue

I'm also facing the same issue when I run flutter build apk
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':thumbnails:verifyReleaseResources'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > Android resource linking failed
     /Users/divyanshub024/.gradle/caches/transforms-2/files-2.1/8ef0dd1b827b6b28c1e9211227fa2d4c/core-1.0.0/res/values/values.xml:57:5-88:25: AAPT: error: resource android:attr/fontVariationSettings not found.

     /Users/divyanshub024/.gradle/caches/transforms-2/files-2.1/8ef0dd1b827b6b28c1e9211227fa2d4c/core-1.0.0/res/values/values.xml:57:5-88:25: AAPT: error: resource android:attr/ttcIndex not found.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 2m 56s

Do you get solution?

My failure appears to be caused by: https://github.com/rickyazhari/root_checker/blob/master/android/build.gradle#L25

I remove all unused plugins from External Libraries folder and pub.yaml to solve the problem.


V0.1.1

Thanks a lot👍👍

Thanks a lot👍👍

@monk-blade You're welcome! FYI there were a couple small fixes I need to make after your comment before pulling this branch in (e.g. clozes inside block quotes). That's all merged into the master branch now


Docker Swarm remove node

Hi, I have docker swarm cluster with 4 nodes, (Consul, Swarm + Registrator). I  added new node and after few hours I removed this node. But docker still wants to connect, and writes this log:
docker[12736]: time="2016-06-22T19:56:09.134424633+02:00" level=info msg="2016/06/22 19:56:09 [INFO] serf: attempting reconnect to node05 <IP_ADDRESS>:7946\n"ow
how i can remove this node from docker memory?
Output of docker version:
docker version
Client:
 Version:      1.11.0
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   4dc5990
 Built:        Wed Apr 13 18:38:59 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.11.0
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   4dc5990
 Built:        Wed Apr 13 18:38:59 2016
 OS/Arch:      linux/amd64

Output of docker info:
docker info
Containers: 32
 Running: 32
 Paused: 0
 Stopped: 0
Images: 101
Server Version: 1.11.0
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 485
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: host bridge null overlay
Kernel Version: 4.2.0-35-generic
Operating System: Ubuntu 15.10
OSType: linux
Architecture: x86_64
CPUs: 12
Total Memory: 62.81 GiB
Name: ns3011296.ip-46-105-114.eu
ID: D5P6:NI3T:KWX2:J4P6:KDKO:6QOZ:NLUY:L7C7:UKPJ:OKYS:K4SS:S4BR
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Cluster store: consul://<IP_ADDRESS>:8500
Cluster advertise: <IP_ADDRESS>:2375

sudo docker -H=tcp://<IP_ADDRESS>:3375 info
Containers: 73
 Running: 73
 Paused: 0
 Stopped: 0
Images: 67
Server Version: swarm/1.2.0
Role: primary
Strategy: spread
Filters: health, port, dependency, affinity, constraint
Nodes: 4
 node01 192.168.1:2375
  └ Status: Healthy
  └ Containers: 19
  └ Reserved CPUs: 0 / 12
  └ Reserved Memory: 0 B / 65.95 GiB
  └ Labels: executiondriver=, kernelversion=4.2.0-35-generic, operatingsystem=Ubuntu 15.10, storagedriver=aufs
  └ Error: (none)
  └ UpdatedAt: 2016-06-22T18:05:01Z
  └ ServerVersion: 1.11.0
 node02: 192.168.1:2375
  └ Status: Healthy
  └ Containers: 32
  └ Reserved CPUs: 0 / 12
  └ Reserved Memory: 0 B / 65.95 GiB
  └ Labels: executiondriver=, kernelversion=4.2.0-35-generic, operatingsystem=Ubuntu 15.10, storagedriver=aufs
  └ Error: (none)
  └ UpdatedAt: 2016-06-22T18:04:43Z
  └ ServerVersion: 1.11.0
 node03: 192.168.1:2375
  └ Status: Healthy
  └ Containers: 11
  └ Reserved CPUs: 0 / 12
  └ Reserved Memory: 35.16 GiB / 65.95 GiB
  └ Labels: executiondriver=, kernelversion=4.2.0-35-generic, operatingsystem=Ubuntu 15.10, storagedriver=aufs
  └ Error: (none)
  └ UpdatedAt: 2016-06-22T18:05:01Z
  └ ServerVersion: 1.11.0
 node04: <IP_ADDRESS>:2375
  └ Status: Healthy
  └ Containers: 11
  └ Reserved CPUs: 0 / 12
  └ Reserved Memory: 35.16 GiB / 65.95 GiB
  └ Labels: executiondriver=, kernelversion=4.2.0-35-generic, operatingsystem=Ubuntu 15.10, storagedriver=aufs
  └ Error: (none)
  └ UpdatedAt: 2016-06-22T18:05:05Z
  └ ServerVersion: 1.11.0

ping @mrjana

I think this question belongs in the https://github.com/docker/swarm/issues issue tracker, however, there's an existing issue on documenting this https://github.com/docker/swarm/issues/1341, and that issue (and linked issues) may contain some information.
I'll close this issue here, because this is about "Swarm", not "Swarm mode", and belongs in the issue tracker linked above. Thanks for reporting though!


errors when run compile.sh

Hi
Many thanks for sharing this tool
I try to run compile.sh but I get 12 errors as below. Could you help me in solving these errors please.
/usr/include/c++/5/functional(78): error: class "std::thread" has no member "result_type"
detected during:
instantiation of class "std::_Maybe_get_result_type<_Functor, void> [with _Functor=std::thread]"
(86): here
instantiation of class "std::_Weak_result_type_impl<_Functor> [with _Functor=std::thread]"
(184): here
instantiation of class "std::_Weak_result_type<_Functor> [with _Functor=std::thread]"
(264): here
instantiation of class "std::_Reference_wrapper_base_impl<true, true, _Tp> [with _Tp=std::thread]"
(283): here
instantiation of class "std::_Reference_wrapper_base<_Tp> [with _Tp=std::thread]"
(399): here
instantiation of class "std::reference_wrapper<_Tp> [with _Tp=std::thread]"
/usr/include/c++/5/future(1638): here
/usr/include/c++/5/functional(266): error: class "std::thread" has no member "argument_type"
detected during:
instantiation of class "std::_Reference_wrapper_base_impl<true, true, _Tp> [with _Tp=std::thread]"
(283): here
instantiation of class "std::_Reference_wrapper_base<_Tp> [with _Tp=std::thread]"
(399): here
instantiation of class "std::reference_wrapper<_Tp> [with _Tp=std::thread]"
/usr/include/c++/5/future(1638): here
/usr/include/c++/5/functional(267): error: class "std::thread" has no member "first_argument_type"
detected during:
instantiation of class "std::_Reference_wrapper_base_impl<true, true, _Tp> [with _Tp=std::thread]"
(283): here
instantiation of class "std::_Reference_wrapper_base<_Tp> [with _Tp=std::thread]"
(399): here
instantiation of class "std::reference_wrapper<_Tp> [with _Tp=std::thread]"
/usr/include/c++/5/future(1638): here
/usr/include/c++/5/functional(268): error: class "std::thread" has no member "second_argument_type"
detected during:
instantiation of class "std::_Reference_wrapper_base_impl<true, true, _Tp> [with _Tp=std::thread]"
(283): here
instantiation of class "std::_Reference_wrapper_base<_Tp> [with _Tp=std::thread]"
(399): here
instantiation of class "std::reference_wrapper<_Tp> [with _Tp=std::thread]"
/usr/include/c++/5/future(1638): here
marvin.hpp(854): error: identifier "CUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD_NONFUSED" is undefined
marvin.hpp(865): error: identifier "CUDNN_CONVOLUTION_BWD_DATA_ALGO_WINOGRAD_NONFUSED" is undefined
marvin.hpp(875): error: identifier "CUDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD_NONFUSED" is undefined
/usr/include/c++/5/bits/stl_iterator_base_types.h(154): error: name followed by "::" must be a class or namespace name
detected during:
instantiation of class "std::__iterator_traits<_Iterator, void> [with _Iterator=int]"
(163): here
instantiation of class "std::iterator_traits<_Iterator> [with _Iterator=int]"
marvin.hpp(6006): here
/usr/include/c++/5/bits/stl_iterator_base_types.h(155): error: name followed by "::" must be a class or namespace name
detected during:
instantiation of class "std::__iterator_traits<_Iterator, void> [with _Iterator=int]"
(163): here
instantiation of class "std::iterator_traits<_Iterator> [with _Iterator=int]"
marvin.hpp(6006): here
/usr/include/c++/5/bits/stl_iterator_base_types.h(156): error: name followed by "::" must be a class or namespace name
detected during:
instantiation of class "std::__iterator_traits<_Iterator, void> [with _Iterator=int]"
(163): here
instantiation of class "std::iterator_traits<_Iterator> [with _Iterator=int]"
marvin.hpp(6006): here
/usr/include/c++/5/bits/stl_iterator_base_types.h(157): error: name followed by "::" must be a class or namespace name
detected during:
instantiation of class "std::__iterator_traits<_Iterator, void> [with _Iterator=int]"
(163): here
instantiation of class "std::iterator_traits<_Iterator> [with _Iterator=int]"
marvin.hpp(6006): here
/usr/include/c++/5/bits/stl_iterator_base_types.h(158): error: name followed by "::" must be a class or namespace name
detected during:
instantiation of class "std::__iterator_traits<_Iterator, void> [with _Iterator=int]"
(163): here
instantiation of class "std::iterator_traits<_Iterator> [with _Iterator=int]"
marvin.hpp(6006): here
12 errors detected in the compilation of "/tmp/tmpxft_00001958_00000000-9_demo.cpp1.ii".
Many thanks

What's your GCC version? I'm using 5.4.0.

The gcc version is 5.4.0. I installed CUDA 7.5 and cuDNN 5.
I get the following error when run ./compile.sh
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
marvin.hpp(854): error: identifier "CUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD_NONFUSED" is undefined
marvin.hpp(865): error: identifier "CUDNN_CONVOLUTION_BWD_DATA_ALGO_WINOGRAD_NONFUSED" is undefined
marvin.hpp(875): error: identifier "CUDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD_NONFUSED" is undefined
3 errors detected in the compilation of "/tmp/tmpxft_00000b1c_00000000-9_demo.cpp1.ii".
Could you please help me solving these errors.
Many thanks

Looks like CUDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD_NONFUSED is new in cuDNN 5.1. Try downloading and installing cuDNN 5.1 and recompiling. I've updated the dependencies information in the README.

@ aalzaid I am getting very similar errors regarding std::thread and result_type to you but nothing regarding CUDNN. I have checked my CUDA 7.5 and cuDNN 5.1 installations. I am using GCC 5.4.0 on Ubuntu 16.04.
How did you resolve the issue? Thanks

Hello,
I was trying to compile the shell script 'compile.sh', I got similar errors as @aalzaid, but not CUDNN error. The details are:

/usr/include/c++/5/functional(78): error: class "std::thread" has no member "result_type"
detected during:
instantiation of class "std::_Maybe_get_result_type<_Functor, void> [with _Functor=std::thread]"
(86): here
instantiation of class "std::_Weak_result_type_impl<_Functor> [with _Functor=std::thread]"
(184): here
instantiation of class "std::_Weak_result_type<_Functor> [with _Functor=std::thread]"
(264): here
instantiation of class "std::_Reference_wrapper_base_impl<true, true, _Tp> [with _Tp=std::thread]"
(283): here
instantiation of class "std::_Reference_wrapper_base<_Tp> [with _Tp=std::thread]"
(399): here
instantiation of class "std::reference_wrapper<_Tp> [with _Tp=std::thread]"
/usr/include/c++/5/future(1638): here
/usr/include/c++/5/functional(266): error: class "std::thread" has no member "argument_type"
detected during:
instantiation of class "std::_Reference_wrapper_base_impl<true, true, _Tp> [with _Tp=std::thread]"
(283): here
instantiation of class "std::_Reference_wrapper_base<_Tp> [with _Tp=std::thread]"
(399): here
instantiation of class "std::reference_wrapper<_Tp> [with _Tp=std::thread]"
/usr/include/c++/5/future(1638): here
/usr/include/c++/5/functional(267): error: class "std::thread" has no member "first_argument_type"
detected during:
instantiation of class "std::_Reference_wrapper_base_impl<true, true, _Tp> [with _Tp=std::thread]"
(283): here
instantiation of class "std::_Reference_wrapper_base<_Tp> [with _Tp=std::thread]"
(399): here
instantiation of class "std::reference_wrapper<_Tp> [with _Tp=std::thread]"
/usr/include/c++/5/future(1638): here
/usr/include/c++/5/functional(268): error: class "std::thread" has no member "second_argument_type"
detected during:
instantiation of class "std::_Reference_wrapper_base_impl<true, true, _Tp> [with _Tp=std::thread]"
(283): here
instantiation of class "std::_Reference_wrapper_base<_Tp> [with _Tp=std::thread]"
(399): here
instantiation of class "std::reference_wrapper<_Tp> [with _Tp=std::thread]"
/usr/include/c++/5/future(1638): here
/usr/include/c++/5/bits/stl_iterator_base_types.h(154): error: name followed by "::" must be a class or namespace name
detected during:
instantiation of class "std::__iterator_traits<_Iterator, void> [with _Iterator=int]"
(163): here
instantiation of class "std::iterator_traits<_Iterator> [with _Iterator=int]"
marvin.hpp(6006): here
/usr/include/c++/5/bits/stl_iterator_base_types.h(155): error: name followed by "::" must be a class or namespace name
detected during:
instantiation of class "std::__iterator_traits<_Iterator, void> [with _Iterator=int]"
(163): here
instantiation of class "std::iterator_traits<_Iterator> [with _Iterator=int]"
marvin.hpp(6006): here
/usr/include/c++/5/bits/stl_iterator_base_types.h(156): error: name followed by "::" must be a class or namespace name
detected during:
instantiation of class "std::__iterator_traits<_Iterator, void> [with _Iterator=int]"
(163): here
instantiation of class "std::iterator_traits<_Iterator> [with _Iterator=int]"
marvin.hpp(6006): here
/usr/include/c++/5/bits/stl_iterator_base_types.h(157): error: name followed by "::" must be a class or namespace name
detected during:
instantiation of class "std::__iterator_traits<_Iterator, void> [with _Iterator=int]"
(163): here
instantiation of class "std::iterator_traits<_Iterator> [with _Iterator=int]"
marvin.hpp(6006): here
/usr/include/c++/5/bits/stl_iterator_base_types.h(158): error: name followed by "::" must be a class or namespace name
detected during:
instantiation of class "std::__iterator_traits<_Iterator, void> [with _Iterator=int]"
(163): here
instantiation of class "std::iterator_traits<_Iterator> [with _Iterator=int]"
marvin.hpp(6006): here
9 errors detected in the compilation of "/tmp/tmpxft_00002361_00000000-9_demo.cpp1.ii".
I've confirmed the cuda version (7.5) and cudnn version (5.1). Do you have any clue about this? Thanks in advance.

@caifazhou @JWHennessey Does it work for you if downgrade your GCC version to 4.8?

Hi, I was compiling following the steps as you show but I have next mistakes:
marvin.hpp(464): error: class "__half" has no member "x"
marvin.hpp(464): error: class "__half" has no member "x"
marvin.hpp(476): error: class "__half" has no member "x"
marvin.hpp(484): error: class "__half" has no member "x"
marvin.hpp(488): error: class "__half" has no member "x"
marvin.hpp(518): error: class "__half" has no member "x"
marvin.hpp(525): error: class "__half" has no member "x"
marvin.hpp(526): error: class "__half" has no member "x"
marvin.hpp(527): error: class "__half" has no member "x"
9 errors detected in the compilation of "/tmp/tmpxft_00000f0a_00000000-8_demo.cpp1.ii".
I have Ubuntu 16.04 machine and I've installed CUDA 9.2 with CUDNN 7.1.4 (Latest releases for both). Did you have something similar? Thanks ind advance.

Hi, I was compiling following the steps as you show but I have next mistakes:
marvin.hpp(464): error: class "__half" has no member "x"
marvin.hpp(464): error: class "__half" has no member "x"
marvin.hpp(476): error: class "__half" has no member "x"
marvin.hpp(484): error: class "__half" has no member "x"
marvin.hpp(488): error: class "__half" has no member "x"
marvin.hpp(518): error: class "__half" has no member "x"
marvin.hpp(525): error: class "__half" has no member "x"
marvin.hpp(526): error: class "__half" has no member "x"
marvin.hpp(527): error: class "__half" has no member "x"
9 errors detected in the compilation of "/tmp/tmpxft_00000f0a_00000000-8_demo.cpp1.ii".
I have Ubuntu 16.04 machine and I've installed CUDA 9.2 with CUDNN 7.1.4 (Latest releases for both). Did you have something similar? Thanks ind advance.

Execuse me.
I face the same issue. How do you solve this one?
Thank you for your time.

class "__half" has no member "x"
Add one!

Any solution to the Error : class "__half" has no member "x" ? Is it because of the newer versions of CUDA/CUDNN ?

Any solution to the Error : class "__half" has no member "x" ? Is it because of the newer versions of CUDA/CUDNN ?

im getting the same error. any luck on this?

Any solution to the Error : class "__half" has no member "x" ? Is it because of the newer versions of CUDA/CUDNN ?

Any solution to the Error : class "__half" has no member "x" ? Is it because of the newer versions of CUDA/CUDNN ?

im getting the same error. any luck on this?

The version of CUDNN and CUDA should be specified.

Any solution to the Error : class "__half" has no member "x" ? Is it because of the newer versions of CUDA/CUDNN ?

Any solution to the Error : class "__half" has no member "x" ? Is it because of the newer versions of CUDA/CUDNN ?

im getting the same error. any luck on this?

The version of CUDNN and CUDA should be specified.

Are you asking me to specify it while commenting ? In which case, it is CUDA 9.0 with cuDNN 7.4.2.
If you meant that I should specify it while running the compile script, I did and faced this error.

Any solution to the Error : class "__half" has no member "x" ? Is it because of the newer versions of CUDA/CUDNN ?

I have solved the problem by configuring it compilation environment exactly the same as the what described by Andy Zeng in the GitHub repository. The error is from the incompatibility between cudnn version and Darwin. The gcc compiler should be lower than 4.9. One more trick, be sure compile it on Ubuntu 16.04. I have tried to compile it on Windows 10 and other release versions of Linux, I cannot make it work. The same errors came out. Good luck.
I am sure that the code itself has no problem. May not try to change the definition in the source code.

@caifazhou @JWHennessey Does it work for you if downgrade your GCC version to 4.8? It's possible that CUDA 7.0/7.5 is unhappy with GCC 4.9+.

It worked for me. But It has to be compiled on Ubuntu 16.04. At least I failed to compile it on other OS.

I'm trying to compile it on ubuntu 16.04 with cuda 7.5 and cudnn5.1. On ./compile.sh I get error cudafe1.cpp:(.text+0x44f8): undefined refernece to `cv::imread(std::string const&, int)'

Any solution to the Error : class "__half" has no member "x" ? Is it because of the newer versions of CUDA/CUDNN ?

I have solved the problem by configuring it compilation environment exactly the same as the what described by Andy Zeng in the GitHub repository. The error is from the incompatibility between cudnn version and Darwin. The gcc compiler should be lower than 4.9. One more trick, be sure compile it on Ubuntu 16.04. I have tried to compile it on Windows 10 and other release versions of Linux, I cannot make it work. The same errors came out. Good luck.
I am sure that the code itself has no problem. May not try to change the definition in the source code.

you mean this compile document only can work on CUDA 7.5 and cuDNN 5.1 which is given by Andy, do you have any idea to make this work on cuda10.2 and cudnn 8.0.3?

Hi, I was compiling following the steps as you show but I have next mistakes:
marvin.hpp(464): error: class "__half" has no member "x"
marvin.hpp(464): error: class "__half" has no member "x"
marvin.hpp(476): error: class "__half" has no member "x"
marvin.hpp(484): error: class "__half" has no member "x"
marvin.hpp(488): error: class "__half" has no member "x"
marvin.hpp(518): error: class "__half" has no member "x"
marvin.hpp(525): error: class "__half" has no member "x"
marvin.hpp(526): error: class "__half" has no member "x"
marvin.hpp(527): error: class "__half" has no member "x"
9 errors detected in the compilation of "/tmp/tmpxft_00000f0a_00000000-8_demo.cpp1.ii".
I have Ubuntu 16.04 machine and I've installed CUDA 9.2 with CUDNN 7.1.4 (Latest releases for both). Did you have something similar? Thanks ind advance.

Execuse me.
I face the same issue. How do you solve this one?
Thank you for your time.

Is there any one solve this problem? what kinds of reason  lead to this problem???


Confusion about repo paths for hyper-trust-dns

Hey there,
This is just a question about code location / redirects. I used hyper-trust-dns in order to experiment with how small I could go with a scratch container in https://github.com/Ocramius/oci-srm-server-mock-rust/blob/75b688929ed338f677a31c0f811b133b9f986a89/Cargo.toml#L26
When browsing from https://docs.rs/hyper-trust-dns/latest/hyper_trust_dns/, I get redirected to this repository.
What happened? Is the original source gone? Should I migrate my implementation?
Thanks in advance!

The trust-dns project rebranded to hickory-dns, so I renamed this crate accordingly.

Thanks for clarifying


fix(LICENSE): Updating the license

:tada: This PR is included in version 7.1.9 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:


Update README.md

any else you think is pertinent? cc @SamProtas @jthandy

@3mei I updated this w/ model config instructions!


Tuple: bug when calling a function that takes another tuple in parameter without parentheses

Hello,
I found out that I cannot write {...}.method {...}, it is required to write {...}.method({...}). I think it's a bug right ?
Two examples:
{:id, :author}.zip({1, "me"})
{:id, :author}.zip {1, "me"}

produces ( https://play.crystal-lang.org/#/r/2ipu ):
Syntax error in eval:3: unexpected token: ,

and
{:id}.zip({ 1 })
{:id}.zip { 1 }

produces ( https://play.crystal-lang.org/#/r/2ipv ):
Error in line 3: wrong number of arguments for 'Tuple(Symbol)#zip' (given 0, expected 1)
Overloads are:
 - Indexable(T)#zip(other : Indexable, &block)
 - Indexable(T)#zip(other : Indexable(U))

This is correct behaviour, there's no way to disambiguate between a tuple and a block here.

Ok, that makes sense ^^.
Thanks!


[Card] overflow removed

Closes #2623

@heetvachhani Have a look at https://help.github.com/articles/closing-issues-via-commit-messages/

Looking good :+1: :+1: Thanks a lot :grin:

thanks will add that in my next commit @alitaheri


Suggestion of supporting m=128 in C++ version

As in FSS in CCS, the max $m$ (without adding $z$ in Theorem 3.3) is 128-bit
https://cs.idc.ac.il/~elette/FSS-CCS.pdf
However, go language does not provide good support of 128-bit. In C++, like libgarble (https://github.com/amaloz/libgarble/blob/master/src/garble/block.h), some special techniques may help 128-bit integer.
WIll the C++ version supports up to m=128 in C++ version?

It does not, but I'll take it under consideration. If you would like submit a pull request to do it, that works too!
The C++ version will be out soon. Just fixing some issues for easier portability.

Just now I am also considering the necessity. Maybe not needed. You now, if we restrict m=1 (and b=1), we can use the so-called early termination. It would be efficient.
And m=1 is sufficient for PIR-read in Splinter (make it as the {0,1} sequence and XOR).
If the m=128 or m is very big, we can use m=1 DPF "to construct two {0,1} sequences that differ on one position". And use these two sequences for PIR-read and also PIR-write via XOR on larger message space.
So I am now still thinking 1-bit libfss is enough for PIR, and do you implement the early termination in Boyle et al paper in C++ version?


Ignore MongoDB documents in posts collection that have no properties field

This PR addresses #692 .
A more robust solution would be to run a validator (ajv, zod, joi, JSON schema, etc...) against each document extracted from the MongoDB posts collection. But that would mean introducing a new dependency in the codebase.

I’m quite interested in the idea of running validations on properties, but agree that for now, ignoring an item and showing a warning in the console is a better way of dealing with this scenario.


Weird top padding in DraggableScrollableSheet with no app bar

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
When I display a DraggableScrollableSheet in a Scaffold without using an AppBar, I have a weird top padding in the DraggableScrollableSheet.
Trying to bypass the bug
To work around the problem, I made the `AppBar` invisible and let the body go behind the `AppBar` with the following code:
        appBar: AppBar(
          elevation: 0,
          backgroundColor: Colors.transparent,
        ),
        extendBodyBehindAppBar: true,

But that only made the padding worse.

Expected results
Expected results

Actual results
Actual results

Code sample
Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        // Include the app bar to remove the weird padding
        // appBar: AppBar(title: const Text('DraggableScrollableSheet')),
        body: SizedBox.expand(
          child: DraggableScrollableSheet(
            builder: (BuildContext context, ScrollController scrollController) {
              return Container(
                color: Colors.blue[100],
                child: ListView.builder(
                  controller: scrollController,
                  itemCount: 25,
                  itemBuilder: (BuildContext context, int index) {
                    return ListTile(title: Text('Item $index'));
                  },
                ),
              );
            },
          ),
        ),
      ),
    ),
  );
}

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.10.4, on macOS 13.3.1 22E772610a darwin-arm64, locale en-DE)
    • Flutter version 3.10.4 on channel stable at /opt/homebrew/Caskroom/flutter/3.10.0/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 682aa387cf (7 days ago), 2023-06-05 18:04:56 -0500
    • Engine revision 2a3401c9bb
    • Dart version 3.0.3
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at /Users/friebetill/Library/Android/sdk
    • Platform android-33, build-tools 33.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.78.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.64.0

[✓] Connected device (3 available)
    • iPhone 14 Pro Max (mobile) • 9A17669C-5B36-483A-B34D-4FB10DCEE95A • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • macOS (desktop)            • macos                                • darwin-arm64   • macOS 13.3.1 22E772610a darwin-arm64
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 114.0.5735.106

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Thanks for filing this issue @friebetill. The top padding is caused by the ListView.builder and not the DraggableScrollableSheet which is intentional from the documentation.

/// By default, [ListView] will automatically pad the list's scrollable
/// extremities to avoid partial obstructions indicated by [MediaQuery]'s
/// padding. To avoid this behavior, override with a zero [padding] property.

Adding zero padding to the code sample provided should solve this.
Code

import 'package:flutter/material.dart';

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        // Include the app bar to remove the weird padding
        // appBar: AppBar(title: const Text('DraggableScrollableSheet')),
        body: SizedBox.expand(
          child: DraggableScrollableSheet(
            builder: (BuildContext context, ScrollController scrollController) {
              return Container(
                padding: EdgeInsets.zero,
                color: Colors.blue[100],
                child: ListView.builder(
                  controller: scrollController,
                  padding: EdgeInsets.zero,
                  itemCount: 25,
                  itemBuilder: (BuildContext context, int index) {
                    return ListTile(title: Text('Item $index'));
                  },
                ),
              );
            },
          ),
        ),
      ),
    ),
  );
}

Kindly confirm this matches your use case.

Yes that's perfect, thank you!


Update update-a-web-application-url-and-iis-bindings.md

Replaced the invlid link with https://docs.microsoft.com/en-us/iis/manage/configuring-security/how-to-set-up-ssl-on-iis

@nenonix @JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@Techwriter40 Changes look correct. Could you please review and merge? Thanks!


cudnn.so could not be found when using bazel-0.21.0 in r1.13

System information

OS Platform and Distribution : Linux 3.10.0-CentOS 7
TensorFlow installed from: source
TensorFlow version: r1.13
Python version: 2.7
Bazel version : 0.21.0
GCC/Compiler version (if compiling from source): 4.8.5
CUDA/cuDNN version: cuda9.0/cudnn7.3.1
GPU model and memory: V-100

Describe the problem
I encountered below error using bazel-0.21.0. It has gone when replaced with bazel-0.19.2
ERROR: /apsarapangu/disk2/xinan.jxn/my_git/tensorflow/tensorflow/python/BUILD:1847:1: Executing genrule //tensorflow/python:sdca_ops_pygenrule failed (Exit 127): bash failed: error executing command
(cd /root/.cache/bazel/_bazel_root/xxxxxx/execroot/org_tensorflow &&
exec env -
PATH=/bin:/usr/bin
/bin/bash bazel-out/host/genfiles/tensorflow/python/sdca_ops_pygenrule.genrule_script.sh)
Execution platform: @bazel_tools//platforms:host_platform
bazel-out/host/bin/tensorflow/python/gen_sdca_ops_py_wrappers_cc: error while loading shared libraries: libcudnn.so.7: cannot open shared object file: No such file or directory
I have added right LD_LIBRARY_PATH "/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
and libcudnn.so.7 is just in /usr/local/cuda/lib64

Did you try to follow the steps mentioned here for the installation. Please let us know. Thanks!

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


[OPPRO-123] Support dwrf format in Gluten's velox backend

What changes were proposed in this pull request?
Add DWRF format in Gluten's velox backend.
How was this patch tested?
test "spark.read.format("dwrf").load(dwrf_path)" locally

@zhztheplayer
Please help to review if you have available time! Thanks for your help!

Thank you very much Ke. btw Did both v1 & v2 passed some tests from your side?

@zhztheplayer
V2 can passed the Q1 in TPC-H after changing the date type to string. We can merge this firstly and will fix the V1 bug in the following PRs.

@zhztheplayer @zhouyuan
The latest commit fix the exception when testing the V1. Now both V1 and V2 can pass the tests in my local environment.


Support non-github.com URLs

This PR adds support for non-github URLs (Github Enterprise)
Similar to the changes made in https://github.com/actions/add-to-project/commit/399442f46a29fcd11ad6e75129a466d97eeba0af

I'll close this PR to do more adjustments in my fork. Feel free to add the changes when you have time.


Update Node packages and reformat

On which code style is your re-formatted code based on? By default this project uses prettier for formatting TypeScript code

well didnt knew that, i jst tried to compress up some things by hand

You shouldn't do that, it'll make branch merging basically impossible. You could run npm run prettier:fix to restore the old formatting or I'll just accept the package updates, those are long overdue

ok i may make another workflow just to format

Creating a workflow for formatting the code isn't really the way to go here, a workflow checking the code style would be far better. And yes, I didn't create such a workflow because I was lazy.

:p i will try to make one

can u look onto this?

OR WAIT LOL

okay its done but im unsure if its working? the files seem to be non formatted tho

That's because you can't write files persistently during a workflow run (well, you technically can, I wouldn't accept such a MR because that is just bad design and nobody should do that). You'll have to run npm run prettier:fix on you local machine and commit the result.

well it still fails

we still have to run --write after running check

we still have to run --write after running check

No, we don't and we shouldn't. Formatting should be done by the developer locally and the formatted version must be pushed. The workflow must not format the code.

mb

so ur gonna format locally?

you should do it since you are the author of this pull request

lel


very very serious performance problem

Hi All,
This is a very simple program. but you can see that the subscriber callback function is very very slow and it suspend - run - suspend - run, you can see it on subscribe console.
I tested on Windows 8 64bit and gnatsd 0.9.4 and csnats 0.6.0
I've tested golang client, it seems better than cs client.
I've tested if subscribe maybe 1-2 subjects, it's ok, but if subscribe count more than 20 or 30. the performance is very very terrible.
Can anyone tell what's wrong with this? or how can I fix it?
I think subject count should't significant impact on performance and I only use 30-50. I think 30-50 is very very easy to NATS.
It's not about data size because I use just 10 bytes. and it's same as 500 bytes
I look at taskmgr, the cpu usage is very low, but it's very slow :(
Publish
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NATS.Client;
namespace Publish
{
    class Program
    {
        static void Main(string[] args)
        {
            Options opts = ConnectionFactory.GetDefaultOptions();
            opts.Url = "nats://<IP_ADDRESS>:4222";
            string data = "01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789";
            using (IConnection c = new ConnectionFactory().CreateConnection(opts))
            {
                for(int i=0;i<100000; ++i)
                {
                    c.Publish("ABCDEFGHIJK_" + (i % 200).ToString(), Encoding.Default.GetBytes(data + i.ToString()));
                }
                c.Flush();
            }
            Console.WriteLine("Finish");
            Console.Read();
        }
    }
}

Subscriber
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NATS.Client;
namespace Subscribe
{
    class Program
    {
        static void Main(string[] args)
        {
            Options opts = ConnectionFactory.GetDefaultOptions();
            opts.Url = "nats://<IP_ADDRESS>:4222";

            int count = 0;
            object obj = new object();

            IConnection c = new ConnectionFactory().CreateConnection(opts);
            EventHandler<MsgHandlerEventArgs> msgHandler = (sender, args2) =>
            {
                lock(obj)
                {
                    count++;
                    Console.WriteLine(count);
                    if (count == 100000)
                    {
                        Console.WriteLine("Finish");
                    }
                }
            };

            for (int i = 0; i < 30; ++i)
            {
                string subject = "ABCDEFGHIJK_" + (i).ToString();
                c.SubscribeAsync(subject, msgHandler);
            }
            c.Flush();
            Console.Read();
        }
    }
}

Thank you for raising the issue - I will take a look.

@s921102002 ,
You are likely running into contention with thread scheduling.  Internally, each subscription uses a task to deliver messages (firing the message handler event) - increasing the thread pool will help performance here.
What happens when you add  ThreadPool.SetMinThreads(128, 128); at the beginning of your subscriber application?  You can tune this higher or lower to meet the memory/performance requirements of your application.  It really increased performance in my tests.
Also, I notice that there is an inconsistency between your publisher and subscriber - the example provided publishes to 200 subjects, but the subscriber uses 30 subjects - you should publish and subscribe to the same subjects for the test.

Hi @ColinSullivan1
I've add
int workerThreadsMin, completionPortThreadsMin;
ThreadPool.GetMinThreads(out workerThreadsMin, out completionPortThreadsMin);
int workerThreadsMax, completionPortThreadsMax;
ThreadPool.GetMaxThreads(out workerThreadsMax, out completionPortThreadsMax);
ThreadPool.SetMinThreads(workerThreadsMax, completionPortThreadsMax);

but it's no use, consider if subjects 5000 or 10000, you can see the taskmgr that  thread count reach 1035, I think a process use 1035 threads is incorrect.
it cause run-suspend-run-suspend in print count ( do you know what I means?)
here's a link about task start slowly
http://stackoverflow.com/questions/22036365/newly-created-threads-using-task-factory-startnew-starts-very-slowly
one subscription one task I think maybe it's not good design.
maybe use a thread pool and fit cpu counts to do callback is better?
I test golang client it works very very well even 5000 subscription, when send complete, the receive complete immediately too.
Thanks.

@s921102002 , 10000 subscriptions for an application is a very large number indeed.  About tasks compared to go routines - this is an area where go is exceptional - go routines are very efficient compared to .NET tasks.
There are a few of approaches you can take to scale to that many subscribers.  You can subscribe to a wildcard and then distribute messages internally based on subject, or an identifier in the message.  This will utilize network bandwidth much better, since a message is sent to each subscription.
Alternatively you can scale using synchronous subscriptions distributed across threads, multiplexing a set of synchronous subscribers in each thread.
Can you share your use case where you need 10000 subscriptions in an application?
Thanks,
Colin

Hi, @ColinSullivan1
The use case very difficult to say here.
And subscribe to 5000 is possible, you can image if you be a DataHub, client->DataHub->DataProvider1-10
DataHub hold all data from DataProvider, and user will subscribe any subject, and the problem is here.
DataHub asyncsub 5000 subject, but it will be very slow because task issue.
I think client can't using goroutine style by task here.
1 How do I poll SyncSubscription?
2.using wildcard is not a good choice.
I've done a callback thread pool version, and I test it, I just open one thread to execute callback, and the performance is very very good. and it can improve better, but I dont know is there any problems in my version.
I  test C client too, there's same problem in C client, but it provide to use libuv and libevent, I think that's right way to solve this issue.
Thanks for your help.

In regards to the C client, you said that you have experienced the same problem. Have you tried with the latest release? https://github.com/nats-io/cnats/releases/tag/v1.4.4
As you can see, I have introduced the option natsOptions_UseGlobalMessageDelivery() (or set the environment variable NATS_DEFAULT_TO_LIB_MSG_DELIVERY to any value) to use a global thread pool. When this option is set, all asynchronous subscribers will use a shared thread pool responsible for message delivery.

Hi, @kozlovic
Sorry I don't notice natsOptions_UseGlobalMessageDelivery() before, but I tested it, and it works very good.
Thanks for your reminder and can set it as default?(but it should be test how many time diff in using thread pool and one subscription per thread).
Thank you very much.

@s921102002 ,
I can look at adding some functionality into the .NET client that mirrors UserGlobalDeliveryOption in C.
To poll sync subscribers, setup your subscribers in a list, then continually traverse the list, retrieving messages with a timeout of 0.  This services subscribers fairly and will reduce the number of tasks created in your application.
Here's example code demonstrating what I'm describing:
        static void Main(string[] args)
        {
            using (var c = new ConnectionFactory().CreateConnection())
            {

                Task.Run(() =>
                {
                    // let the subscribers start
                    Thread.Sleep(1000);
                    for (int i = 0; i < 20000; i++)
                    {
                        c.Publish("foo-" + (i % 1000), Encoding.UTF8.GetBytes("hello"));
                    }
                });

                // 1000 subscribers in one task
                var t = Task.Run(() =>
                {
                    var subs = new List<ISyncSubscription>();
                    for (int i = 0; i < 1000; i++)
                    {
                        subs.Add(c.SubscribeSync("foo-" + i));
                    }

                    // listen to all subscribers in this thread.
                    int count = 0;
                    while (true)
                    {
                        foreach (var s in subs)
                        {
                            try
                            {
                                var msg = s.NextMessage(0);

                                // PROCESS MESSAGE HERE

                                if (++count % 1000 == 0)
                                {
                                    Console.WriteLine("Recieved {0} msgs.", count);
                                }
                            }
                            catch (NATSTimeoutException)
                            {
                                // ignore
                            }
                        }
                    }
                });

                t.Wait();
            }
        }

You can then add subscribers in additional threads/tasks to scale as necessary.

Hi, @ColinSullivan1
Your code like I think, but there's a big problem in channel.cs,
When timeout, channel throw NATSTimeoutException. throw exception is very very expensive.
you can test in subscribe
Here's example code
  private TimeSpan receiveSyncSubscriber(IConnection c)
        {
            using (ISyncSubscription s = c.SubscribeSync(subject))
            {
                Stopwatch sw = new Stopwatch();

                while (received < count)
                {
                    if (received == 0)
                        sw.Start();
                    try
                    {
                        Msg m = s.NextMessage(0);
                    }
                    catch
                    {

                    }
                    received++;
                }

                sw.Stop();

                return sw.Elapsed;
            }
        }

So using this way will reduce performance significant and waste cpu usage.
I think NATS says it's high performance, so I think the measure unit is microsecond not millisecond
So I think client should consider all performance issue, like throw exception or lock.
@ColinSullivan1  thank you very much, I think this is a very very good project, and I want it more powerful.
If there's any words or suggestion make you uncomfortable, I apologize and forgive me please :)

@s921102002 , No worries, no words or suggestions are making me uncomfortable, and I welcome the discussion!  We are happy you are using NATS, and appreciate your suggestions!
I do agree that throwing an exception is expensive, although it keeps the NATS C# client in line with the other clients.  I could add an option that will make NextMessage(int) return null instead of throwing an exception, or provide another mechanism similar to the global delivery thread in C.  I'll have to think about it a bit.  Even with the exception being thrown, will this perform well enough for you right now?
Regarding microsecond vs millisecond, for a timeout it's unusual to require that level of precision, but the API can always be expanded...

Hi, @ColinSullivan1
I mean if this client do benchmark, it should consider microsecond level.
I think a high performance system should be consider microsecond level, so I say throw exception is expensive.
Now, I use my version (I make a callback thread pool version)  and using async subscribe, because I use it on a real-time system, and the system require in microsecond level, so I don't use sync subscribe and poll it, because it's too slow for me
I am looking forward to see global delivery thread in c# client!!
Thank you very much!!

@s921102002,  #124 should address your performance issue here.  Please let me know how it works out for you.  Thanks!


Add runtime versions for 3.6/3.7

@ahmelsayed, this should fix the resolution of dependencies. If you want to try it out with your own image in the  meantime to unblock, you can run with -e "FUNCTIONS_WORKER_RUNTIME_VERSION=3.7".

👍 :shipit:


Fix pnetcdf tests in cmake

Fixes #2435

Fixes cmake configuration for pnetcdf-based tests, and adds pnetcdf-based parallel one-off tests to our github actions.

I hope it is ok to comment on this old PR. But I just noticed just now while building netCDF 4.9.1 that errno is still used unconditionally if fd < 0.
Posting the one line change here again in case you are still interested in fixing that bug (see #2426):
diff -urN netcdf-c-4.9.1/libsrc/posixio.c.orig netcdf-c-4.9.1/libsrc/posixio.c
--- netcdf-c-4.9.1/libsrc/posixio.c.orig	2023-02-03 21:49:17.000000000 +0100
+++ netcdf-c-4.9.1/libsrc/posixio.c	2023-02-06 15:53:16.004702400 +0100
@@ -1768,7 +1768,7 @@
 #endif
 	if(fd < 0)
 	{
-		status = errno;
+		status = errno ? errno : ENOENT;
 		goto unwind_new;
 	}
 	*((int *)&nciop->fd) = fd; /* cast away const */

Thank you, I'll incorporate the fix.


Permissions Issue with DataStore in the Functions Emulator

Error

Error: 7 PERMISSION_DENIED: Missing or insufficient permissions.

Environment details

OS: High Sierra version 10.13.6
Node.js version: v6.14.4
npm version: 3.10.10
@google-cloud/functions-emulator version: 1.0.0-beta.5

Steps to reproduce

Run: functions config set projectId my-project (with datastore enabled on the project level)
Download the following repo: https://github.com/GoogleCloudPlatform/nodejs-docs-samples/tree/master/functions/datastore
Deploy each trigger

functions deploy get --trigger-http
functions deploy set --trigger-http
functions deploy del --trigger-http

Run the example: functions call set --data '{"kind":"Task","key":"sampletask1","value":{"description":"Buy milk"}}'

I have encountered the same problem.  It sounds like a IAM permission issue, but I can't figure it out as I am using the owner account for testing and can't get it to work.

@ethan-seer I am not sure if you are still having this issue, but found this post that solved my problem https://stackoverflow.com/questions/39978077/gcloud-exceptions-forbidden-403-missing-or-insufficient-permissions  I had used gcloud auth login and evidently I needed to use gcloud auth application-default login

Thanks @briantq . I figured out it was because I am in a beta that blocked my access. Thanks for f/u.


UCF101 Training from Scratch

Thank you very much for your contribution on C3D.
Is it possible to provide some information about UCF101 Training from scratch instead of finetuning? It would be very helpful to provide a graph or at least some numerical data that shows the test accuracy/loss on each epoch so that we can compare our on-going training.
Thanks.

Hi @ardasnck
I am a little busy in recent days, I think I can do the evaluation in next week.

@hx173149 sure! i can't reproduce the same results with the paper on my own tensorflow implementation. So if you can get similar results after your evaluation, it would be great to add your train-from-scratch implementation in this repository.

@ardasnck if you want to get the same acc with the paper you must do fine tuning from sports-1M, the paper has said it. Actually you can reference this issue #2, and I have tried that if I don't do the fine tuning I just get the 33% acc.
Cheers

@hx173149 yeah i know issue #2 and also read the C3D official documentation and paper about fine-tuning. But my question is exactly on training from scratch(not fine-tuning). Actually i got 40% accuracy when I train from the scratch and you mentioned that you only reached to 33%. https://docs.google.com/document/d/1-QqZ3JHd76JfimY4QKqOojcEaf5g3JS0lNh-FHTxLag/edit states that they reached 45% so I was wondering what could be the potential reason for the difference? Also another observation that loss value in tensorflow is clearly higher than caffe implementation during training...

Hi @ardasnck I think I have some free time in next days,I will reproduce my result once more... and have you ever try the caffe version code? Did it can get the 45% accuracy with training from scratch? I am curious about this problem too...
PS: I can't open the URL page you mentioned upside.
Cheers

Hi @hx173149. I updated the link once again but I'm not sure what's happening with that...
For the training from scratch: Yes I run the caffe version of the code on my machine and I got 42.88% accuracy (note that I used batch size 16 because of my gpu capacity).  I also edited my own tensorflow implementation (some minor changes) and I got 42.64%. I believe this shows that it works as it should be.

Hi @ardasnck
There are 13318 videos in UCF101 dataset, I used 11318 videos for traning and 2000 videos for test, and I can get a 50% top 1 accuracy after 8000 iterations with batch_size is 64.
This is my traning from scratch top-1 accuracy curve, cross entropy curve, total loss(cross entropy + regularized loss) curve:

Dear @hx173149 ,
Thank you very much for the very detailed feedback. This is great that you reach to 50% top 1 accuracy. Did you use the same train and test split that original caffe implementation used? Because paper claims that they got 45% accuracy and when I run their code on my own machine (batch size 16) i got 42.9% accuracy.

Hello,
I also want to train from scratch but I am kind of new to Deep Learning, especially using 3d convNet. Could you briefly explain the training mechanism? Based on my understanding, you feed in 16 frames as input and a label to perform supervised learning. But do you use all the frames for training? I would really appreciate your help if you can briefly explain the whole data preparation and training process.
(I am trying to rewrite everything in Keras. So far I have defined the nets but I do not know how to prepare the video data)

Hello @gyang1011
My training mechanism is like this:
First  I will choose 64 samples randomly for each iteration
Then I will slice a 3.2 seconds(about 16 frames) randomly from each sample for training.

@ardasnck @hx173149 @gyang1011
I trained this network and got 33% in split 1 of UCF101. However, I think the accuracy of this 8-layer convolution network should be 33%. In paper C3D, the author use a 5-layer convolution network (not 8-layer convolution), so they can get 45% in UCF101.  This means that the structure of the network training from  scratch and pre-trained in Sport 1M is different!

@LongLong-Jing I think you are right, maybe there have some duplication samples among my train list and test list,  I am not very sure.


feat: customize service type

Fixes #93
Exposes service type so that end user can expose Grafana using a NodePort. Currently the service was always created as a ClusterIP

@camba1 Looks like a regeneration of the API.md file is needed.

Regenerated and checked-in the Api.md file. Thanks!


Missing a way to ignore .tool-versions

I'm currently integrating mise into a Bitrise workflow.
Bitrise's stack on this workflow is using asdf for managing the environment (to install Go, Node and Ruby), meaning that there's a ~/.tool-versions file always available.
I'm not using any of the dependencies declared with asdf in this file – it's just the way Bitrise preinstalls some tools in the stack. But this means that whenever I run mise install, it not only installs my dependencies declared in .mise.toml, but also installs those of the Bitrise stack (which I don't need), which takes quite a lot of time. Not to mention they are already installed with asdf in case I actually do need them.
It would be great if there was a way to tell mise not to consider .tool-versions at all. This will help in situations like these when this file cannot be removed. Or maybe there is already a way to do this with an existing config? I didn't manage to find one in the docs.

Have you tried setting MISE_DEFAULT_TOOL_VERSIONS_FILENAME to something else?

I could be open to something that excluded particular filenames or something to that effect

What about a setting in .mise.toml that indicates that fallback tool version files should not be used (ignore_fallback_tool_config = true)? (That would mean that environment-specific mise config files could be loaded as expected, but .tool-versions and language version files would be ignored.

mise trust --ignore should handle this use-case


Smart Meter readout overwirtes Carlo Galvazzi Meter

I managed to start your service. Thanks so much for this!
Unfortunatly i have no smart meter connected to my kostal. So when the service reads out the "meter" from the Plenticore Modbus Registers, it gets no values. So now I have a dead Smart Meter and my EM24 in the menu. In the display and on the VRM it only shows the dead Smart Meter with 0 values.  Would be great to deactivate the function for smartmeter-readout via the Kostal Modbus.

Since nobody answered here is the documentation on how to solve this problem:
comment out by adding a # on the following lines:
        # dbusservice['grid']['/Ac/Power'] =  self.Adr252[3]

        # dbusservice['grid']['/Ac/L1/Current'] = self.Adr222[3]
        # dbusservice['grid']['/Ac/L2/Current'] = self.Adr232[3]
        # dbusservice['grid']['/Ac/L3/Current'] = self.Adr242[3]

        # dbusservice['grid']['/Ac/L1/Voltage'] = self.Adr230[3]
        # dbusservice['grid']['/Ac/L2/Voltage'] = self.Adr240[3]
        # dbusservice['grid']['/Ac/L3/Voltage'] = self.Adr250[3]

        # dbusservice['grid']['/Ac/L1/Power'] = self.Adr224[3]
        # dbusservice['grid']['/Ac/L2/Power'] = self.Adr234[3]
        # dbusservice['grid']['/Ac/L3/Power'] = self.Adr244[3]

        # dbusservice['grid']['/Ac/Energy/Forward'] = self.Adr112[3]

then the service is not adding any values from the smart meter into the dbus


parseCognitoWebResponse with useCodeGrantFlow() only works on Chrome

On Safari and Firefox the makePOSTRequest at the end of getCodeQueryParameter inside parseCognitoWebResponse always fails with "error": "invalid_grant". This causes an infinite loop of parseCognitoWebResponse constantly requesting new code tokens.
Oddly it works fine on Chrome but fails on the other browsers.

Sorry my mistake.
I didn't realise getSession and parseCognitoWebResponse are both asynchronous functions.
Reading the source code is your friend. :)

I have this issue as well, how did you end up solving it?


CLI doesn't work

Cloned, built with Gradle (would prefer a JAR download), run on Windows:
jarjar-command.bat
Exception in thread "main" java.lang.IllegalArgumentException: [output] is required.
        at com.tonicsystems.jarjar.Main.valueOf(Main.java:95)
        at com.tonicsystems.jarjar.Main.process(Main.java:130)
        at com.tonicsystems.jarjar.Main.run(Main.java:75)
        at com.tonicsystems.jarjar.Main.main(Main.java:144)

Same for jarjar-command.bat help, jarjar-command.bat process x y z, etc.

The documentation says process <rulesFile> <inJar> <outJar> is supposed to work, but it does not. -rules [rulesFile] -output [outputJAR] [inputJAR] is required. help still doesn't work.

@NathanSweet it works. Parameters should be passed with "--". For example try to run java -jar .\jarjar.jar --help


Add URL octet decoding

Decoding percent-encoded octets of unreserved characters, using decodeURI().
For example %7E becomes ~.

references issue #1

New issue created due to incorrect behavior https://github.com/sindresorhus/normalize-url/issues/165


Allow multiple preemptible instances to be created

Allow multiple preemptible instances to be created with ex_create_multiple_nodes
Description
This change enables multiple nodes to be created as preemptible on Google Cloud through the ex_create_multiple_nodes function call. Currently, this parameter is supported in the underlying functions in libcloud called by ex_create_multiple_nodes such as _create_node_req but the function itself does not expose this parameter at the top level. This patch enables a cluster of preemptible instances to be provisioned in parallel.
Status

ready for review

Checklist (tick everything that applies)

[ ] Code linting (required, can be done after the PR checks)
[X] Documentation
[X] Tests
[ ] ICLA (required for bigger changes)

\cc @supertom @erjohnso

@supertom This pull request is important for ansible now that ansible's gce module uses ex_create_multiple_nodes and provides the same parameters conditionally to both create_node and ex_create_multiple_nodes based on the number parameter. I recently tried to provision a cluster of preemptible nodes from ansible and libcloud notified me that ex_preemptible was not a supported parameter. I have tested the custom build of libcloud with this patch and it fixes the behavior I described in ansible in that use case.

Thanks @jbaublitz!  LGTM!  @erjohnso, OK to merge.

Just for the sake of a breadcrumb trail, I'm going to link to the PR in ansible which will depend on the release including this PR to properly execute. ansible/ansible-modules-core#4276

@supertom @erjohnso Is there a status on merge date?

sorry @jbaublitz this got left a bit too long. merging.


Support callbacks

The tests for the JSON-LD 1.0 Processing Algorithms and API fail because callbacks are not supported yet. The idlharness test can be found here:
http://json-ld.org/test-suite/idltest/

This issue has been moved to https://github.com/w3c/web-platform-tests/issues/7147; please continue all discussion there.


Update of the Rotativa.dll in nuget package

I'm wondering why the Rotativa.dll file is not being updated in nuget package.
Current version of this file is outdated (almost 3 years).

I've just noticed exactly the same problem.


externalQuery and remote mode error with on-search parameters

Issue Type

[x] Bug

Specs
Version 2.14.0
Chrome
Expected Behavior
I want to use remote mode with an external query field and a custom @on-search event to load my data from the server.
Actual Behaviour
Everything works, but it seems that this combination causes the @on-search event to fire early, so that the last character entered in the search field does not come through in the parameters.
Steps to Reproduce the Problem
I'm logging the parameters sent to @on-search method to the console, and the searchTerm is always one character short. You can see this in the jsfiddle below. Obviously this is a problem, because the server query is not what the user typed.
jsfiddle
https://jsfiddle.net/57a2a4ce/582/

Hey @sgjackman, thanks for pointing this out. it is now fixed in v2.14.1. your jsfiddle is working too now.


libuvc: fix undefined behavior caused by capture-by-reference of local variable

"&" captures all used variables by reference; as mentioned in this Stack Overflow question, that causes undefined behavior if the lambda is invoked after the function's stack frame is deallocated.
This means that the child thread was dereferencing a pointer from the other thread's stack frame -- sometimes it would happen to work because that data was still there, and other times it wouldn't and the process would segfault.
It appears this was introduced in 9d17956c82e79e72f4e12df40bd0f8848bec11a5.

Thanks @WasabiFan @radfordi


fix package-lock.json

Goal
The package-lock.json file contained references to an internal npm repository. This means that users without access to that could not install the dependencies of this repo.
Changeset

Deleted package-lock.json
Regenerated with npm install

Ok, instead of regenerating the whole file I've just changed all references to https://bugsnag.jfrog.io/artifactory/api/npm/platforms-npm-virtual to https://registry.npmjs.org so there shouldn't be any dependency changes.


Opening functions directory in Finder breaks execution

This is because a .DS_Store file is generated, and we attempt to treat it as if it were a function. We should ignore or delete this file when executing.

Can you open a PR to automatically ignore .DS_Store when sending to the registry?

Fixed.


Rename imports to new repo location

Rename imports to new repo location
Add delivery.yaml to build on CDP.

:+1:

:+1:


Task gallery: tristate filters

Problem
Currently the index.html shows all the tasks in the dataset. It's impossible to find anything.
On loda-lang the tristate filter is pretty useful for narrowing the list of items. I miss this kind of filtering.
Solution
The 3 states are: Plus, Neutral, Minus:

Plus - only show tasks that has this label.
Neutral - don't care about this label.
Minus - don't show any task with this label.

Ideas for labels:

same input output size
solved by icecuber
solved by gpt4
correct prediction
incorrect prediction
easy
medium
hard
ambiguous test output

In the top of index.html show all the available labels.
Extend all the bundle json gz files with labels.
Or provide a csv file with task-ids;status, so it’s possible to see what tasks parapraxis and icecuber are solving, not solving.

Now there are 3-state filter tags.
https://neoneye.github.io/arc/?dataset=ARC&filter=expert
Alas these tags makes the UI noisy.


Fixed the long strings not wrapping in

Summary
Add css to wrap long strings in the text chat.
PR in Platform:
https://github.com/rifflearning/riff-rtc/pull/34
Reduced check-style problems from 4482 to 4453.
Ticket Link
https://trello.com/c/ahrdTnNi/195-text-chat-long-strings-do-not-wrap
Checklist

[x] Ran make check-style to check for style errors (required for all pull requests)

 Text chat: Long strings do not wrap


chore(all)

build and configure the plugin such that it can be installed and used from jspm
@PWKad @EisenbergEffect This gets the plugin to a state where we are able to use it for basic tasks.

@michaelmalonenz Awesome thanks!  I'm not sure we'll be able to merge this in because I've got a bunch of configuration changes locally I've not pushed out yet but I'll look at the changes and see if it is possible to re-base on top of them or if you have a better method we can merge in - sound good?

@PWKad  OK - sounds great.  I haven't done anything fancy, really, so I'm not worried if the changes aren't merged - it was just me trying to help out as we are ready to start using the dialogs now.

@michaelmalonenz Thanks for this pulling in now and I'll rebase changes on top of it.


synchronizable(true) and accessGroup not iCloud Syncing

I am trying to get the iCloud Syncing working with accessGroup but when I test on other devices the value does not come through.
let keychain = Keychain(service: "com.company.App", accessGroup: "group.com.company.App").synchronizable(true)
        let isEnabled = try! keychain.getString("isEnabled")

Any ideas?
Thanks

Just checking on any progress on this issue.
Thanks.

Same for me, I can't find the saved key anywhere in the mac keychain app (should be listed there as application passord-Pencil with three dots, right?)
I store and get a Bool value from an iOS app this way
private static let keyChain = Keychain(service: "serviceKeychainString").synchronizable(true)

class func set(mVal: Bool) -> Bool {
       do {
           try keyChain.set(NSKeyedArchiver.archivedData(withRootObject: NSNumber(value: mVal)), key: "theKey")
       } catch {
           return false
       }
       return true
   }
class func getValue() -> Bool {
       var mValue: Data?
       do {
           mValue = try keyChain.getData("theKey")
       } catch {
           return false
       }
       if mValue == nil {
           return false
       }
       let boolValue = (NSKeyedUnarchiver.unarchiveObject(with: mValue!) as! NSNumber).boolValue

       return boolValue
   }

I've enabled the keychain sharing in the project (not iCloud)
It works within the same app/appExtension, not tested different ios devices
I can set the value in the app and retrieve in the extension

Update
I fount that the Cababilities - Keychain Sharing - Keychain groups String
(the one you set) is different from the one declared in the entitlements
Example
I write    group.key.my
And i got in the entitlements
<key>keychain-access-groups</key>
	<array>
		<string>$(AppIdentifierPrefix)group.key.my</string>
	</array>

There is a $(AppIdentifierPrefix) more (is the developerGroup followed by a dot
Don't know if can be removed manually (for now i give a solution to add it programmatically to the keychain call
so the solution may be:
Set in all (all the apps / extension with the same Keychain group) info.plist the a value like
<key>KaychainGroup</key>
    <string>$(AppIdentifierPrefix)group.key.my</string>

then use it this way
let keyChain = Keychain(service: Bundle.main.object(forInfoDictionaryKey: "KaychainGroup") as! String).synchronizable(true)

@Sun3 can you test with your devices?

I also had the same issue and just tried your solution now and it works.  I'm able to see the app password in MacOS keychain. Also, if you add a .label() when you create your Keychain it shows up with a friendly readable name, otherwise it shows up as  string $(AppIdentifierPrefix)group.key.my
Also doesn't appear you can remove $(AppIdentifierPrefix) from the entitlements file, it won't build without it.


Create Ublue-OS Custom Start Template Repo

I would say we have completed this!
https://github.com/ublue-os/image-template
But perhaps we want to update some docs/website stuff before closing this ticket.


Add TrackingGC, a runtime, opt-in way to track memory allocations

Disclaimer: This is still very much a WIP, and by the time it's completed, should probably be split in its own library.
Putting it here for discussion / visibility.
We need to be able to get better insight into what's going on inside Agora. The memory leak in #1480 motivated this, but there are other places where using the call-stack sampling could be useful.
Currently, this doesn't work on Mac OSX. First, because there was a bug in libbacktrace (https://github.com/wolfpld/tracy/pull/174). Second, because the server itself crashes on OSX (https://github.com/wolfpld/tracy/issues/172#issuecomment-770283815).
However, I'm hoping to soon build the server in a VM and be able to debug the servers with that setup.

Hum, the app doesn't shut down with this, probably because one of the thread never exits. We'll need to integrate the "client" thread with the signal handler set by vibe.d

Hum, the app doesn't shut down with this, probably because one of the thread never exits. We'll need to integrate the "client" thread with the signal handler set by vibe.d

@ferencdg Gave this a run today and it seems to work well on Ubuntu, just not on OSX... I'm fairly certain the bug is on Tracy's side. In any case, the early investigation seems to point towards the logger allocating a lot due to the module logger and the many threads we use (I suspect Vibe.d reusing threads).

This is now its own GC, and should correctly detect GC collections.

Here's the diff for the utility modules with upstream (after https://github.com/dlang/druntime/pull/3370):
 --- dlang/druntime/src/core/internal/gc/bits.d	2021-02-18 11:08:52.000000000 +0900
+++ bpfk/agora/source/agora/utils/gc/bits.d	2021-02-18 11:14:46.000000000 +0900
@@ -5,7 +5,7 @@
  * License:   $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
  * Authors:   Walter Bright, David Friedman, Sean Kelly
  */
-module core.internal.gc.bits;
+module agora.utils.gc.bits;

 import core.bitop;

--- dlang/druntime/src/core/internal/gc/os.d	2021-02-18 11:08:52.000000000 +0900
+++ bpfk/agora/source/agora/utils/gc/os.d	2021-02-18 11:10:29.000000000 +0900
@@ -5,7 +5,7 @@
 * License:   $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
 * Authors:   Walter Bright, David Friedman, Sean Kelly, Leandro Lucarella
 */
-module core.internal.gc.os;
+module agora.utils.gc.os;

version (Windows)

--- /Users/geod24/projects/dlang/druntime/src/core/internal/gc/pooltable.d	2021-02-18 11:08:52.000000000 +0900
+++ source/agora/utils/gc/pooltable.d	2021-02-18 11:06:15.000000000 +0900
@@ -5,7 +5,7 @@
 * License:   $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
 * Authors:   Walter Bright, David Friedman, Sean Kelly, Martin Nowak
 */
-module core.internal.gc.pooltable;
+module agora.utils.gc.pooltable;

static import cstdlib=core.stdc.stdlib;

And now for the real work:
--- /Users/geod24/projects/dlang/druntime/src/core/internal/gc/impl/conservative/gc.d	2021-02-18 11:08:52.000000000 +0900
+++ source/agora/utils/gc/GC.d	2021-02-18 11:07:50.000000000 +0900
@@ -1,11 +1,25 @@
-/**
- * Contains the garbage collector implementation.
- *
- * Copyright: D Language Foundation 2001 - 2021.
- * License:   $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
- * Authors:   Walter Bright, David Friedman, Sean Kelly
- */
-module core.internal.gc.impl.conservative.gc;
+/*******************************************************************************
+
+    A garbage collector that register memory allocations
+
+    This file was originally copied verbatim from druntime
+    (src/gc/impl/conservative/gc.d) at v2.095.0
+    (last commit 99b04d8e5b509ab471b7d5ca83b85a7c4ecd9dd0).
+
+    It was subsequently modified to include changes to allow tracking
+    allocations / deallocations using Tracy.
+
+*******************************************************************************/
+
+module agora.utils.GC;
+
+// There were a few PRs between v2.094 and v2.095 that refactored modules,
+// moving them from `rt` to `core.internal`, and making them available to
+// power users. We need access to those modules, as we don't want to replicate
+// half of the `rt` code.
+static if (__VERSION__ > 2095):
+
+import agora.utils.TracyAPI;

// D Programming Language Garbage Collector implementation

@@ -29,10 +43,12 @@ module core.internal.gc.impl.conservativ
/***************************************************/
version = COLLECT_PARALLEL;  // parallel scanning

-import core.internal.gc.bits;
-import core.internal.gc.os;
+import agora.utils.gc.bits;
+import agora.utils.gc.os;
+
import core.gc.config;
import core.gc.gcinterface;
+import core.gc.registry;

import core.internal.container.treap;

@@ -40,6 +56,7 @@ import cstdlib = core.stdc.stdlib : call
import core.stdc.string : memcpy, memset, memmove;
import core.bitop;
import core.thread;
+import core.time;
static import core.memory;

version (GNU) import gcc.builtins;
@@ -47,7 +64,6 @@ version (GNU) import gcc.builtins;
debug (PRINTF_TO_FILE) import core.stdc.stdio : sprintf, fprintf, fopen, fflush, FILE;
else                   import core.stdc.stdio : sprintf, printf; // needed to output profiling results

-import core.time;
alias currTime = MonoTime.currTime;

// Track total time spent preparing for GC,
@@ -75,6 +91,11 @@ __gshared long lockTime;

ulong bytesAllocated;   // thread local counter

+static this ()
+{
+    ___tracy_init_thread();
+}
+
private
{
    extern (C)
@@ -101,16 +122,16 @@ alias GC gc_t;
/* ============================ GC =============================== */

// register GC in C constructor (_STI_)
-extern(C) pragma(crt_constructor) void _d_register_conservative_gc()
+extern(C) pragma(crt_constructor) void _d_register_tracking_conservative_gc()
{
    import core.gc.registry;
-    registerGCFactory("conservative", &initialize);
+    registerGCFactory("tracking-conservative", &initialize);
}

-extern(C) pragma(crt_constructor) void _d_register_precise_gc()
+extern(C) pragma(crt_constructor) void _d_register_tracking_precise_gc()
{
    import core.gc.registry;
-    registerGCFactory("precise", &initialize_precise);
+    registerGCFactory("tracking-precise", &initialize_precise);
}

private GC initialize()
@@ -720,6 +741,7 @@ class ConservativeGC : GC
        if (off != base)
            return;

+        ___tracy_emit_memory_free(p, true);
        sentinel_Invariant(p);
        p = sentinel_sub(p);

@@ -1232,7 +1254,7 @@ struct Gcx
    debug(INVARIANT) bool inCollection;
    uint disabled; // turn off collections if >0

-    import core.internal.gc.pooltable;
+    import agora.utils.gc.pooltable;
    private @property size_t npools() pure const nothrow { return pooltable.length; }
    PoolTable!Pool pooltable;

@@ -1270,9 +1292,9 @@ struct Gcx
            if (!atforkHandlersInstalled)
            {
                pthread_atfork(
-                    &_d_gcx_atfork_prepare,
-                    &_d_gcx_atfork_parent,
-                    &_d_gcx_atfork_child);
+                    &_d_gcx_tracking_atfork_prepare,
+                    &_d_gcx_tracking_atfork_parent,
+                    &_d_gcx_tracking_atfork_child);
                atforkHandlersInstalled = true;
            }
        }
@@ -1625,8 +1647,12 @@ struct Gcx

    void* alloc(size_t size, ref size_t alloc_size, uint bits, const TypeInfo ti) nothrow
    {
-        return size <= PAGESIZE/2 ? smallAlloc(size, alloc_size, bits, ti)
+
+        auto ptr = size <= PAGESIZE/2 ? smallAlloc(size, alloc_size, bits, ti)
                                  : bigAlloc(size, alloc_size, bits, ti);
+
+        ___tracy_emit_memory_alloc_callstack(ptr, size, 32, true);
+        return ptr;
    }

    void* smallAlloc(size_t size, ref size_t alloc_size, uint bits, const TypeInfo ti) nothrow
@@ -2357,6 +2383,7 @@ struct Gcx

                        debug(COLLECT_PRINTF) printf("\tcollecting big %p\n", p);
                        leakDetector.log_free(q);
+                        ___tracy_emit_memory_free(q, true);
                        pool.pagetable[pn..pn+npages] = B_FREE;
                        if (pn < pool.searchStart) pool.searchStart = pn;
                        freedLargePages += npages;
@@ -2471,6 +2498,7 @@ struct Gcx

                                    debug(COLLECT_PRINTF) printf("\tcollecting %p\n", p);
                                    leakDetector.log_free(sentinel_add(p));
+                                    ___tracy_emit_memory_free(p, true);

                                    debug (MEMSTOMP) memset(p, 0xF3, size);
                                }
@@ -2963,19 +2991,19 @@ struct Gcx
        // make sure no GC code is running by acquiring the lock here,
        // before a fork.

-        extern(C) static void _d_gcx_atfork_prepare()
+        extern(C) static void _d_gcx_tracking_atfork_prepare()
        {
            if (instance)
                ConservativeGC.lockNR();
        }

-        extern(C) static void _d_gcx_atfork_parent()
+        extern(C) static void _d_gcx_tracking_atfork_parent()
        {
            if (instance)
                ConservativeGC.gcLock.unlock();
        }

-        extern(C) static void _d_gcx_atfork_child()
+        extern(C) static void _d_gcx_tracking_atfork_child()
        {
            if (instance)
            {

I think we can go ahead with this, since it's opt-in only (currently not usable but soon will).

Note that the advantage of merging this is that we can later add profiling to Agora, independently of the GC stats.

Any readme instructions for using this?

Good point, will add

Updated


TypeError: Cannot read property 'now' of undefined in 1.1.0

I am using typescript with react-hooks-testing-library that uses this library. To get tests to run, I had to mock Date in my tests
declare global {
interface Window { Date: any; }
}
window.Date = Date;
And comment out the code in wait-for-expect starting at line 16:
var _ref = typeof window !== "undefined" ? window : global,
setTimeout = _ref.setTimeout,
now = _ref.Date.now;
Is this a bug?

Moving the discussion from #12
Repro at https://github.com/chetmurphy/wait-for-expect-test - you do some weird things there, the hole setup of enzyme is not needed when you use *-testing-library.
To sum up, I removed setupFiles and testEnvironment from your package.json and it worked.

I don't think this is a bug in the library, when you start mocking your globals, windows, etc, things might start breaking.
Also, your mocking of date in Block.test.tsx could not work - since the code is breaking on the import, before you even get to your "mock"

Confirmed and thanks.

From: Łukasz Gandecki<EMAIL_ADDRESS>Sent: Monday, March 25, 2019 2:00:18 AM
To: TheBrainFamily/wait-for-expect
Cc: chetmurphy; Author
Subject: Re: [TheBrainFamily/wait-for-expect] TypeError: Cannot read property 'now' of undefined in 1.1.0 (#17)
Moving the discussion from #12https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FTheBrainFamily%2Fwait-for-expect%2Fissues%2F12&data=02|01||c7f4af74c0ea4bc9824008d6b1004e45|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636891012198143958&sdata=WCFWhH9dEGhBYuBckEaCbGuX%2FkzLp%2FtcF9grUJjpo%2BI%3D&reserved=0
Repro at https://github.com/chetmurphy/wait-for-expect-testhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fchetmurphy%2Fwait-for-expect-test&data=02|01||c7f4af74c0ea4bc9824008d6b1004e45|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636891012198153969&sdata=16BTGNuxJkI86vEV%2BPV4m4L9g74a%2BLVgX9IO4mf%2BcMU%3D&reserved=0 - you do some weird things there, the hole setup of enzyme is not needed when you use *-testing-library.
To sum up, I removed setupFiles and testEnvironment from your package.json and it worked.
[Screen Shot 2019-03-25 at 12 57 44 PM]https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F4002543%2F54906839-9d0bcf00-4efd-11e9-8401-5e81766fec14.png&data=02|01||c7f4af74c0ea4bc9824008d6b1004e45|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636891012198163967&sdata=hfFqYNczi2b%2Frnwz3xMZelgpztwmfsCHPVxWK59KHWE%3D&reserved=0
[Screen Shot 2019-03-25 at 12 34 21 PM]https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F4002543%2F54906841-9d0bcf00-4efd-11e9-8e08-31cd43e508df.png&data=02|01||c7f4af74c0ea4bc9824008d6b1004e45|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636891012198173978&sdata=sX6rRuRcuMOClU5wE7Qp9EyMi1%2BssNs0v9iJMWZS%2Fv0%3D&reserved=0
I don't think this is a bug in the library, when you start mocking your globals, windows, etc, things might start breaking.
Also, your mocking of date in Block.test.tsx could not work - since the code is breaking on the import, before you even get to your "mock"
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FTheBrainFamily%2Fwait-for-expect%2Fissues%2F17%23issuecomment-476107816&data=02|01||c7f4af74c0ea4bc9824008d6b1004e45|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636891012198183983&sdata=AloNAGzPA%2F%2F8Nog6nVnNHKPIdy1i%2BpB%2Bve%2BL8TwduoQ%3D&reserved=0, or mute the threadhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAJrbVhJGKBwfpZwp7ShZmPzaD0lho5ayks5vaJAigaJpZM4cFq-m&data=02|01||c7f4af74c0ea4bc9824008d6b1004e45|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636891012198193994&sdata=jAnCuCOY%2BUXIoMepFgJehG%2FSjlFqJngk%2BQr2sO59AK4%3D&reserved=0.

Hi, for lost googlers that struggled like me, I needed to initialize JSDOM this way server side so window object is fully defined:
import jsdom from "jsdom-global";

const initComponentTest = () => {
	// init jsdom for SSR
	jsdom("", {
		runScripts: "outside-only"
	});

For the details this manual initialization of JSDOM is needed to test components with Enzyme server side in Vulcan (a Meteor + Mocha + React setup with SSR).
The runScripts option will load window.Date, window.Map and so on, that are not included in JSDOM as a default as stated in their doc.
As explained in #15 maybe it would nice to catch this error early on in wait-for-expect, because it's quite hard to debug and can easily happen with a bad setup/too much mocking.


Chat history is being sent all at once

The chat history is currently being sent all at once, which is a terrible idea. It's like this for the moment until a new solution is implemented.

I plan on grabbing the first 30 or so messages from the database. Then if the client wants more, they can request it. There will be rate limiting of course, but the logic of when to ask for more messages is entirely based on the client.


Parameter for finalized data needed

Awesome work. yfinance turned 500 lines of code into 20.
I was wondering if you could add a parameter for yfinance.download() that asks if the user only wants finalized data. Passing True will return NaN values for the markets currently opened for trading.
and.. This may be a great challenge, but would be even more awesome if i could download multiple tickers in UTC time.

Does anyone else want this feature? If not, I will close.


(Chore) #966 claim small changes in design text

Description
Change text and fix styles for a new design of the claim page.
Links to the new design:
https://xd.adobe.com/spec/8f259bcd-550e-4f0c-40bb-bdce2ed36fe5-f914/screen/23d218ca-4c56-4348-a708-4bfa2a851614/Claim-2
https://xd.adobe.com/spec/8f259bcd-550e-4f0c-40bb-bdce2ed36fe5-f914/screen/bfcc9047-dd71-41c6-89c9-d90084894417/Claim-3
About #966
How Has This Been Tested?
Open claim page. see new design implemented.
Checklist:

[x] PR title matches follow: (Feature|Bug|Chore) Task Name
[x] My code follows the style guidelines of this project
[x] I have followed all the instructions described in the initial task (check Definitions of Done)
[x] I have performed a self-review of my own code
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] I have added reference to a related issue in the repository
[x] I have added a detailed description of the changes proposed in the pull request. I am as descriptive as possible, assisting reviewers as much as possible.
[x] I have added screenshots related to my pull request ( for frontend tasks)
[ ] I have pasted a gif showing the feature.
[x] @mentions of the person or team responsible for reviewing proposed changes

Screenshots:

Browser
Simulators

11/xr and 11pro seem almost same height
why do they differ?

I think it is just scale of the simulator. So u can scale it to fit the screen. that's why screen size is different. and height is different.

11/xr and 11pro seem almost same height
why do they differ?

I think it is just scale of the simulator. So u can scale it to fit the screen. that's why screen size is different. and height is different.

doesnt make sense to me
please verify again and send full size images

11/xr and 11pro seem almost same height
why do they differ?

I think it is just scale of the simulator. So u can scale it to fit the screen. that's why screen size is different. and height is different.

Yes, aggreed

11/xr and 11pro seem almost same height
why do they differ?

I think it is just scale of the simulator. So u can scale it to fit the screen. that's why screen size is different. and height is different.

doesnt make sense to me
please verify again and send full size images

@sirpy the 11 pro, in reality, is slightly bigger than 11/xr. ON my image. I scale the 11 pro to fit the 11/xr dimesions. So that is why they are different looking

11/xr and 11pro seem almost same height
why do they differ?

I think it is just scale of the simulator. So u can scale it to fit the screen. that's why screen size is different. and height is different.

doesnt make sense to me
please verify again and send full size images

@sirpy the 11 pro, in reality, is slightly bigger than 11/xr. On my image I resize the 11 pro to fit the 11/xr dimesions. So that is why they are different looking

dono the ratio between how things look on these devices looks strange, especially when you say the difference in size is small. but the difference in image sizes seems large

@sirpy here are the screenshots with 11 pro and 11/xr simulators with nearly realistic dimension relations.

on mobile: looks great.
on desktop: the illustration should be bigger and so does the hight of the white rectangle behind it.

@LiavGut @sirpy
The second argument for getDesignRelativeHeight didn't help (no effect)
There is a solution to increase the height of the white area, but it will influence on small mobile devices. The scroll will be increased/added. Also, I think the scroll will be added for the 6/7/8 iPhone in that case.

Sorry. That was some issue with my local dapp server. After restart the second parameter did a trick. See how it is looking now for desktop and mobile:

Desktop
Mobile


Extension of PR Validations to solutions folder

Fixes #
Extension of PR Validations to solutions folder
Test URL used to verify the fixes :
https://github.com/Azure/Azure-Sentinel/pull/2394
Proposed Changes

@Amitbergman we have extended the validations to solutions folder. Request you to please review and provide your approval
Thanks!!!

@Amitbergman we have extended the validations to solutions folder. Request you to please review and provide your approval
Thanks!!!

Hey @Amitbergman Could you please help reviewing these validation extension changes
Thanks !!!!


uv pip compile --universal gives contradictory versions of same packages

Affected versions: uv 0.2.30 to uv 0.3.0+
Steps to reproduce:

Create requirements.in:

alembic==1.8.1
ipython>=8.4.0
pylint>=2.14.5

Create constraints.txt:

dill==<IP_ADDRESS>
exceptiongroup==1.0.0rc8

Run the uv command:

$ uv pip compile requirements.in -c constraints.txt --universal --python-version 3.10 --annotation-style line 2>/dev/null | grep "astroid=="
astroid==2.13.5           # via pylint
astroid==3.2.4 ; python_full_version < '3.11'  # via pylint

Which, if you try and install on Python 3.10 gives you:
  × No solution found when resolving dependencies:
  ╰─▶ Because you require astroid==2.13.5 and astroid{python_full_version < '3.11'}==3.2.4, we can conclude that your requirements are unsatisfiable.

I'll look now.

Very slightly changing the requirements.in or constraints.txt, or moving the constraints into the requirements produces the correct:
astroid==2.13.5 ; python_full_version >= '3.11'  # via pylint
astroid==3.2.4 ; python_full_version < '3.11'  # via pylint

Wow very interesting!

It looks like #6268 fixes this.

@charliermarsh How are you so fast?!?! Indeed, I just confirmed it's fixed in #6268 too:
$ cargo r --manifest-path ~/astral/uv/Cargo.toml -p uv -- pip compile requirements.in -c constraints.txt --universal --python-version 3.10 --annotation-style line 2>/dev/null | grep "astroid=="
astroid==2.13.5 ; python_full_version >= '3.11'  # via pylint
astroid==3.2.4 ; python_full_version < '3.11'  # via pylint

He has two clones of the repo so he can do twice as much!

Correct


Adding to model and comment-practice

Please review the requested changes.

I updated snack.js. Please let me know if anything else is needed. Not sure if I need to do anything for the comment-practice.js file.


get empty struct when the query data is not exist

SQL
SELECT * FROM `app_instances` WHERE id = 10010 and status != 9 ORDER BY `app_instances`.`id` LIMIT 1

there's no data here with id 10010, but I got
{
  ID: (uint32) 0,
  Name: (string) "",
  AppId: (string) "",
  AppName: (string) "",
  AppGroup: (string) "",
  AppVersion: (string) "",
  Services: (string) "",
  Binding: (string) "",
  CTime: (time.Time) 0001-01-01 00:00:00 +0000 UTC,
  MTime: (time.Time) 0001-01-01 00:00:00 +0000 UTC
 }

db.Error value:
nil

Is this by design ?

I'm not using it the right way
	db := aid.getDB(ctx.DebugModel())

	res := db.Where("id = ? and status != ?", insId, sagecorev1.AppDeletedCode).First(&appInstanceModel)


⚠ Nextcloud has degraded performance

In d2d3561, Nextcloud ($URL_NEXTCLOUD) experienced degraded performance:

HTTP code: 200
Response time: 4455 ms

Resolved: Nextcloud performance has improved in 3b32e59.


bug: The page direction in the notes on cms is redirecting to wrong URL

When Clicking on button to redirect in notes of section, the redirect is at wrong URL for e.g. I was on week 17.1 Notes, was going through notes, when I clicked on week 17 in notes,I was redirected to a wrong URL

Expected behaviour
It should redirect to the correct URL such as https://app.100xdevs.com/courses/3/245

Hi @Ayush-Baliyan-19, Can I work on this issue?

We can pass disableHeader={true}.
@hkirat , @devsargam  , I've investigated the issue, and it's not a bug on our end. We're using import { NotionRenderer as NotionRendererLib } from 'react-notion-x'; and passing records to this component that come from the Notion API. I don't think we can customize this, but we can disable the header from that component since we already have our own breadcrumb just above it.
Please assign this to me, as I've already figured out the solution. @hkirat  @devsargam

Sorry, something was wrong with the firist PR, I created new one.


Test: highlight modified tabs

https://github.com/Microsoft/vscode/issues/26284
Complexity: 2

[ ] anyOS
[ ] anyOS

A new setting workbench.editor.highlightModifiedTabs allows to draw a (themable: tab.activeModifiedBorder etc. ) border to the top of tabs whenever they are dirty.
Verify:

no border is drawn unless workbench.editor.highlightModifiedTabs is true
when enabled a border is showing on top of the tab until you save
even if the theme (or your settings) configure to draw a top border for a tab (via tab.activeBorderTop), the modified border will win

Note: the border will not show if auto save is enabled after 1s delay.

In today's Insider release (10-29), when enabling or disabling this setting without restarting Visual Studio, the editor will duplicate the tab when editing it.

I don't see that @Studio384, maybe it was already fixed, if not, please open an issue with details.


Locality = true causing issues

With locality = False

Compared to with locality = True

Suggested fix:
Change the default kernel with locality=True to Matern(length_scale=1.0, nu=3/2).
It helps the solution cope with discontinuities at the edge of the clusters.
It is not perfect and I think there's still work to do here, but it makes it a better starting default at least.
With Matern(length_scale=1.0, nu=3/2):

Looking at the log(absolute_error) is informative also, the model edges are clearly visible.

I'm in favor of this. I think you could assign self.kernel = Matern(length_scale=1.0, nu=3/2) directly after this line in the current code to do that. In case you didn't see it, I just pushed a new commit that refactored some code! But no changes to the actual logic or defaults was made, it was just reorganized to separate things out.

Ah I think our commit and message"crossed in the post", I thought it made sense to put it in the init function, but it's probably style change really.

Resolved in PR 04a22e7. I'm fine with it being in the init where you had it in your commit.