All handlers: Unexpected error: Broken pipe

We are using Sensu with almost 2k checks with no problem but now we have some strange issue. If we add batch1 (50 more checks) or batch2 (50 more checks) it is working fine. But we if add both batch1 and batch2 (100 more checks) we get following errors:

All checks executed by sensu-client is returning status 127 (only the sensu-client instance on the sensu-server)
In the sensu-server log all handlers is broken:

{"timestamp":"2015-05-22T14:10:14.452618+0200","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/debug.rb","name":"debug"},"output":["Unexpected error: Broken pipe"]}
{"timestamp":"2015-05-22T14:10:14.454732+0200","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/notification/mailer.rb","name":"mailer"},"output":["Unexpected error: Broken pipe"]}
{"timestamp":"2015-05-22T14:10:14.454905+0200","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/notification/logevent.rb","name":"logevent"},"output":["Unexpected error: Broken pipe"]}
All checks should be json valid. (checked with python -m json.too) and if we add batch1 or batch2 it is working fine.
Other log files I should look at to find the problem?

Perhaps the process ulimit? Unable to spawn additional processes?

My money is on the limit, /proc//limits

I try to increase the limit for sensu user (nofile:50000, nproc: 100000):
sensu    30522 12.7  0.7 1467500 54888 ?       Sl   15:10   1:59 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-server -b -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/extensions -p /var/run/sensu/sensu-server.pid -l /var/log/sensu/sensu-server.log -L info
root@prod-monitor01-server01:/etc/sensu/conf.d/checks# cat /proc/30522/limits
Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            8388608              unlimited            bytes
Max core file size        0                    unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             100000               100000               processes
Max open files            50000                50000                files
Max locked memory         65536                65536                bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       59753                59753                signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us
and one of the handlers:
root@prod-monitor01-server01:/etc/sensu/conf.d/checks# mypid=ps aux | grep /etc/sensu/handlers/notification/mailer.rb | head -1 | awk '{print $2}'; cat /proc/${mypid}/limits
Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            8388608              unlimited            bytes
Max core file size        0                    unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             100000               100000               processes
Max open files            50000                50000                files
Max locked memory         65536                65536                bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       59753                59753                signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us
but still getting the error

We still have this issue. Open files and number of user processes has been increased for the sensu user.
If i run a strace on the sensu-client process I get this:
[pid 24218] getrlimit(RLIMIT_NOFILE, {rlim_cur=100000, rlim_max=100000}) = 0
[pid 24218] getrlimit(RLIMIT_NOFILE, {rlim_cur=100000, rlim_max=100000}) = 0
[pid 24218] getcwd("/", 200)            = 2
[pid 24218] getcwd("/", 200)            = 2
[pid 24218] chdir("/")                  = 0
[pid 24218] vfork(Process 25661 attached
<unfinished ...>
[pid 25661] setpgid(0, 0)               = 0
[pid 25661] dup2(13, 1)                 = 1
[pid 25661] dup2(13, 2)                 = 2
[pid 25661] execve("/opt/sensu/embedded/bin/sh", ["sh", "-c", "/etc/sensu/plugins/rabbitmq/rabb"...], [/* 33 vars /]) = -1 ENOENT (No such file or directory)
[pid 25661] execve("/usr/local/sbin/sh", ["sh", "-c", "/etc/sensu/plugins/rabbitmq/rabb"...], [/ 33 vars /]) = -1 ENOENT (No such file or directory)
[pid 25661] execve("/usr/local/bin/sh", ["sh", "-c", "/etc/sensu/plugins/rabbitmq/rabb"...], [/ 33 vars /]) = -1 ENOENT (No such file or directory)
[pid 25661] execve("/sbin/sh", ["sh", "-c", "/etc/sensu/plugins/rabbitmq/rabb"...], [/ 33 vars /]) = -1 ENOENT (No such file or directory)
[pid 25661] execve("/bin/sh", ["sh", "-c", "/etc/sensu/plugins/rabbitmq/rabb"...], [/ 33 vars */]) = -1 E2BIG (Argument list too long)
[pid 25661] exit_group(127)             = ?
[pid 25661] +++ exited with 127 +++
Is it because we have too many files in /etc/sensu/conf.d/checks

[pid 25661] execve("/opt/sensu/embedded/bin/sh", ["sh", "-c", "/etc/sensu/plugins/rabbitmq/rabb"...], [/* 33 vars /]) = -1 ENOENT (No such file or directory)

Do the files exist with the appropriate permissions? Looks like process setup is working until  ENOENT (No such file or directory).

Is a batch possibly merging with the existing definitions, setting the wrong attributes values?

If I have below about 2000 checks on the sensu-server then all sensu-client checks on the same server is working fine but when I get over about 2000 checks then all sensu-client checks on the same server is broken. See strace.
I think when you get "No such file or directory" from the strace It tried to find "sh" in different path and then it found it in the end. The files exist and have the right permissions because everything is working when I get below about 2000 checks.
I do not think it is a batch merging issue. I used Chef to create dummy checks
1.upto(100) do |i|
sensu_check "mytest#{i}" do
command "true"
handlers ["default"]
subscribers ["some.server"]
interval 60
additional(:notification => "mytest#{i}", :occurrences => 2)
end
end
And when I get high enough I get the errors mention in the first post.
Should it be a problem if I have both a embedded_ruby and ruby (rvm)
/etc/default/sensu:
EMBEDDED_RUBY=false
LOG_DIR=/var/log/sensu
LOG_LEVEL=info
SERVICE_MAX_WAIT=60
ulimit -Hn 100000
ulimit -Sn 100000
ulimit -Hu 200000
ulimit -Su 200000
Some times I get this error:
/usr/local/rvm/gems/ruby-2.1.1@global/gems/ffi-1.9.3/lib/ffi/types.rb:67: [BUG] Segmentation fault
ruby 2.0.0p645 (2015-04-13 revision 50299) [x86_64-linux]
-- Control frame information -----------------------------------------------
c:0022 p:---- s:0112 e:000111 CFUNC  :initialize
c:0021 p:---- s:0110 e:000109 CFUNC  :new
c:0020 p:0128 s:0106 e:000102 METHOD /usr/local/rvm/gems/ruby-2.1.1@global/gems/ffi-1.9.3/lib/ffi/types.rb:67
c:0019 p:0019 s:0098 e:000094 METHOD /usr/local/rvm/gems/ruby-2.1.1@global/gems/ffi-1.9.3/lib/ffi/types.rb:41
c:0018 p:0395 s:0090 e:000089 CLASS  /usr/local/rvm/gems/ruby-2.1.1@global/gems/ffi-1.9.3/lib/ffi/types.rb:167
c:0017 p:0009 s:0088 e:000087 TOP    /usr/local/rvm/gems/ruby-2.1.1@global/gems/ffi-1.9.3/lib/ffi/types.rb:34 [FINISH]
c:0016 p:---- s:0086 e:000085 CFUNC  :require
c:0015 p:0115 s:0082 e:000081 METHOD /opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55
c:0014 p:0015 s:0072 e:000071 TOP    /usr/local/rvm/gems/ruby-2.1.1@global/gems/ffi-1.9.3/lib/ffi/ffi.rb:32 [FINISH]
c:0013 p:---- s:0070 e:000069 CFUNC  :require
c:0012 p:0115 s:0066 e:000065 METHOD /opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55
c:0011 p:0150 s:0056 e:000055 TOP    /usr/local/rvm/gems/ruby-2.1.1@global/gems/ffi-1.9.3/lib/ffi.rb:17 [FINISH]
c:0010 p:---- s:0054 e:000053 CFUNC  :require
c:0009 p:0115 s:0050 e:000049 METHOD /opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55
c:0008 p:0052 s:0040 e:000039 METHOD /usr/local/rvm/gems/ruby-2.1.1@global/gems/childprocess-0.5.3/lib/childprocess.rb:63
c:0007 p:0091 s:0035 e:000034 METHOD /usr/local/rvm/gems/ruby-2.1.1@global/gems/childprocess-0.5.3/lib/childprocess.rb:14
c:0006 p:0097 s:0031 e:000030 METHOD /usr/local/rvm/gems/ruby-2.1.1/gems/sensu-spawn-1.1.0/lib/sensu/spawn.rb:47
c:0005 p:0013 s:0022 e:000021 METHOD /usr/local/rvm/gems/ruby-2.1.1/gems/sensu-spawn-1.1.0/lib/sensu/spawn.rb:81
c:0004 p:0011 s:0012 e:000011 BLOCK  /usr/local/rvm/gems/ruby-2.1.1/gems/sensu-spawn-1.1.0/lib/sensu/spawn.rb:24 [FINISH]
c:0003 p:---- s:0010 e:000009 CFUNC  :call
c:0002 p:0046 s:0007 e:000006 BLOCK  /usr/local/rvm/gems/ruby-2.1.1@global/gems/eventmachine-1.0.3/lib/eventmachine.rb:1037 [FINISH]
c:0001 p:---- s:0002 e:000001 TOP    [FINISH]
-- Ruby level backtrace information ----------------------------------------
/usr/local/rvm/gems/ruby-2.1.1@global/gems/eventmachine-1.0.3/lib/eventmachine.rb:1037:in block in spawn_threadpool' /usr/local/rvm/gems/ruby-2.1.1@global/gems/eventmachine-1.0.3/lib/eventmachine.rb:1037:in call'
/usr/local/rvm/gems/ruby-2.1.1/gems/sensu-spawn-1.1.0/lib/sensu/spawn.rb:24:in block in process' /usr/local/rvm/gems/ruby-2.1.1/gems/sensu-spawn-1.1.0/lib/sensu/spawn.rb:81:in child_process'
/usr/local/rvm/gems/ruby-2.1.1/gems/sensu-spawn-1.1.0/lib/sensu/spawn.rb:47:in build_child_process' /usr/local/rvm/gems/ruby-2.1.1@global/gems/childprocess-0.5.3/lib/childprocess.rb:14:in new'
/usr/local/rvm/gems/ruby-2.1.1@global/gems/childprocess-0.5.3/lib/childprocess.rb:63:in posix_spawn?' /opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require'
/opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' /usr/local/rvm/gems/ruby-2.1.1@global/gems/ffi-1.9.3/lib/ffi.rb:17:in <top (required)>'
/opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' /opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require'
/usr/local/rvm/gems/ruby-2.1.1@global/gems/ffi-1.9.3/lib/ffi/ffi.rb:32:in <top (required)>' /opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require'
/opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' /usr/local/rvm/gems/ruby-2.1.1@global/gems/ffi-1.9.3/lib/ffi/types.rb:34:in <top (required)>'
/usr/local/rvm/gems/ruby-2.1.1@global/gems/ffi-1.9.3/lib/ffi/types.rb:167:in <module:FFI>' /usr/local/rvm/gems/ruby-2.1.1@global/gems/ffi-1.9.3/lib/ffi/types.rb:41:in typedef'
/usr/local/rvm/gems/ruby-2.1.1@global/gems/ffi-1.9.3/lib/ffi/types.rb:67:in find_type' /usr/local/rvm/gems/ruby-2.1.1@global/gems/ffi-1.9.3/lib/ffi/types.rb:67:in new'
/usr/local/rvm/gems/ruby-2.1.1@global/gems/ffi-1.9.3/lib/ffi/types.rb:67:in `initialize'

More information:
from strace (sensu-client process):
22227 getrlimit(RLIMIT_NOFILE, {rlim_cur=300000, rlim_max=300000}) = 0
22227 getrlimit(RLIMIT_NOFILE, {rlim_cur=300000, rlim_max=300000}) = 0
22227 getcwd("/", 200)                  = 2
22227 getcwd("/", 200)                  = 2
22227 chdir("/")                        = 0
22227 vfork( <unfinished ...>
22596 setpgid(0, 0)                     = 0
22596 dup2(13, 1)                       = 1
22596 dup2(13, 2)                       = 2
22596 execve("/opt/sensu/embedded/bin/sh", ["sh", "-c", "/etc/sensu/plugins/rabbitmq/rabbitmq-overview-metrics.rb"], [/* 31 vars /]) = -1 ENOENT (No such file or directory)
22596 execve("/usr/local/sbin/sh", ["sh", "-c", "/etc/sensu/plugins/rabbitmq/rabbitmq-overview-metrics.rb"], [/ 31 vars /]) = -1 ENOENT (No such file or directory)
22596 execve("/usr/local/bin/sh", ["sh", "-c", "/etc/sensu/plugins/rabbitmq/rabbitmq-overview-metrics.rb"], [/ 31 vars /]) = -1 ENOENT (No such file or directory)
22596 execve("/sbin/sh", ["sh", "-c", "/etc/sensu/plugins/rabbitmq/rabbitmq-overview-metrics.rb"], [/ 31 vars /]) = -1 ENOENT (No such file or directory)
22596 execve("/bin/sh", ["sh", "-c", "/etc/sensu/plugins/rabbitmq/rabbitmq-overview-metrics.rb"], [/ 31 vars */]) = -1 E2BIG (Argument list too long)
22596 exit_group(127)
On this link http://sourceforge.net/p/nagios/mailman/message/21629385/ they have same problem for nagios. They found out that it is not **args that is too long but **envp
And on this https://tomtools.its.cern.ch/jira/browse/SAM-326 they have a patch for nagios (large installation).
Should it be the same problem for Sensu?

Sensu sets the environment variable SENSU_CONFIG_FILES after loading and validating configuration. This variable provides check plugins w/ a list of current and validated configuration files. As a quick fix, can you consolidate your configuration files? We need to revisit the use of this variable now.

https://github.com/sensu/sensu-settings/blob/master/lib/sensu/settings/loader.rb#L142

@khuongdp what's your max? getconf ARG_MAX

Possible solution https://github.com/sensu/sensu-settings/pull/14 - will need to ship a release that has both options for the transition, allowing libraries that use the ENV var to switch to reading the temporary file.

getconf ARG_MAX says 2097152
I will try to merge the configuration files together. Right now we are using Chef Sensu cookbook where each sensu_check ressource create one json file.
Great with a fast solution. I will try the changes in sensu-settings and sensu-plugin

Hi
I have just patched my sensu-settings and sensu-plugin with our changes. And for the sensu-client it is working fine. But on the sensu-server the handler is still broken. This time with this error:
{"timestamp":"2015-06-12T14:06:02.985832+0200","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/notification/mailer.rb","name":"mailer"},"output":["/opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-plugin-1.1.0/lib/sensu-plugin/utils.rb:7:in `read': No such file or directory - /tmp/sensu_loaded_files20150612-6640-b8ii6g (Errno::ENOENT)\n","\tfrom /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-plugin-1.1.0/lib/sensu-plugin/utils.rb:7:in `config_files'\n","\tfrom /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-plugin-1.1.0/lib/sensu-plugin/utils.rb:20:in `settings'\n","\tfrom /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-plugin-1.1.0/lib/sensu-handler.rb:101:in `filter_repeated'\n","\tfrom /etc/sensu/handlers/notification/mailer.rb:52:in `filter_repeated'\n","\tfrom /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-plugin-1.1.0/lib/sensu-handler.rb:30:in `filter'\n","\tfrom /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-plugin-1.1.0/lib/sensu-handler.rb:54:in `block in class:Handler'\n"]}
Is it because sensu-server is not using sensu-settings? or because sensu-client and sensu-server is running on the same server and /tmp/sensu_loaded_files20150612-6640-b8ii6g is already deleted

If i keep the tempfile using
ObjectSpace.undefine_finalizer(file)
it is working fine for the sensu-server daemon. It looks like the object is garbage collected or the Ruby interpreter exits.

Ah, it will be GC'd and deleted when the process daemonizes, fork/detach. We can either leave tempfiles around or work the file write into the daemonize process.

Would you like to submit a PR to sensu-settings to remove the finalizer to stop it from being removed by GC? Patching the method. We would then rely on the platform/system to reap the tempfiles (on reboot etc).

Wouldn't it be better to persist the file (no temp file) in e.g. /var/run/sensu/sensu_loaded_files and then overwrite it each time?

@khuongdp was thinking about multiple Sensu services, each loading configs/settings at different times. Perhaps a single/consistent file is the better approach.

Will need to use the system tmp dir path, to support multiple platforms (e.g. Windows).

Hmm, wouldn't be good to have multiple Sensu services writing to the same file. Also, wouldn't want plugins to read a partially written file etc.

Possible solution https://github.com/sensu/sensu-settings/pull/17


Ensure everyone uses the less privileged workflow

This PR partially exists so that I can test the CI
Checklist

[x] I have updated the relevant documentation
[x] I have added the semver-major, semver-minor or semver-patch label as appropriate
[ ] I would like multiple reviewers to approve my code before merging

Why do you want to make these changes?
All contributors should use the less-privileged workflow to ensure that our CI behaves appropriately.
Which parts of the codebase do your changes affect?
None
How do your changes affect student or volunteer experience?
N/A
Are your changes related to any existing issues or PRs? How so?
Fixes #571

I had to fiddle one setting in CircleCI to fix #460 but this otherwise works.
Once this is merged, I'll mail the list to let them know and we can consider restricting write access a little?

Reopening until #609 gets closed and the branch deleted. This is the last branch on the main repo.
After that is merged, we should email the mailing list and restrict writes.


Don't create empty elements in include path vars

What does your PR fix?
This PR fixes a reproducible build error for gettext[tools]:x64-osx when libxml2 was already installed. It may fix a number of similar build quirks with vcpkg_configure_make.

Which triplets are supported/not supported?
-/-

Background
I got reproducible failures when I tried to build gettext[tools] on osx with port libxml2 installed. The error pointed to vcpkg's libxml2 where I would have expected to find usage of gettext's embedded libxml2. From running:
gcc -DHAVE_CONFIG_H -I. -I../.././../src/0.21-508c311661/libtextstyle/lib -I..  -I. -I../.././../src/0.21-508c311661/libtextstyle/lib -I.. -I../.././../src/0.21-508c311661/libtextstyle -Iglib -DIN_LIBTEXTSTYLE -DLIBXML_STATIC    -I../.././../src/0.21-508c311661/libtextstyle/lib/libcroco  -DDEPENDS_ON_LIBICONV=1   -fPIC -g -c ../.././../src/0.21-508c311661/libtextstyle/lib/libxml/globals.c

(no reference to vcpkg!) the errors were like:
../.././../src/0.21-508c311661/libtextstyle/lib/libxml/globals.c:367:7: error: illegal initializer (only variables can be initialized)
void *xmlGenericErrorContext = NULL;
      ^
/Users/me/dev/vcpkg/installed/x64-osx/include/libxml/globals.h:360:4: note: expanded from macro 'xmlGenericErrorContext'
(*(__xmlGenericErrorContext()))
   ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]

I looked into vcpkg_configure_cmake and found:
# Used by GCC
set(ENV{C_INCLUDE_PATH} "${_VCPKG_INSTALLED}/include${VCPKG_HOST_PATH_SEPARATOR}${C_INCLUDE_PATH_BACKUP}")

Note that this creates values like:
/Users/me/dev/vcpkg/installed/x64-osx/include:

... including the trailing :, i.e. a separator followed by an empty element. Gcc documentation states that the empty element is treated as the current directory, aka -I.

ignoring duplicate directory "../.././../src/0.21-508c311661/libtextstyle/lib"
ignoring duplicate directory ".."
ignoring duplicate directory "."
  as it is a non-system directory that duplicates a system directory
#include "..." search starts here:
#include <...> search starts here:
 ../.././../src/0.21-508c311661/libtextstyle/lib
 ..
 ../.././../src/0.21-508c311661/libtextstyle
 glib
 ../.././../src/0.21-508c311661/libtextstyle/lib/libcroco
 /usr/local/include
 /Users/kpa/dev/vcpkg/installed/x64-osx/include
 .
 /Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include
 /Library/Developer/CommandLineTools/usr/include
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks (framework directory)
End of search list.

... and leaves it only after all explicit entries and the vcpkg include dir.
So that is why libxml/globals.h is not taken from . but from /Users/me/dev/vcpkg/installed/x64-osx/include with libxml2 installed.
And that's probably also the reason for #17892 where the earlier definition is from /usr/local/include.

Yes this PR fixes #17892. I have tested it locally. 👍

x64_osx libmicrohttpd: unrelated, #17653.
x64_uwp libdatrie: unrelated, download error.

More background
clang documentation says that "Empty components in the environment variable are ignored." But this is not true, as can be verified by experimentation and source code inspection.

Empty components at the beginning or end are treated as "."
https://github.com/llvm/llvm-project/blob/5f58322368b070b63fe2b2559a54f646cb97e2c4/clang/lib/Driver/ToolChains/CommonArgs.cpp#L187-L221
Unlike CPATH (-I), the components in the per-language variables are added as system include directories (-c-isystem).
https://github.com/llvm/llvm-project/blob/6381664580080f015bc0c2ec647853f697cf744a/clang/lib/Driver/ToolChains/Clang.cpp#L1389-L1392
For system include directories, clang removes the earlier duplicates, i.e. those from command line arguments.
https://github.com/llvm/llvm-project/blob/d480f968ad8b56d3ee4a6b6df5532d485b0ad01e/clang/lib/Frontend/InitHeaderSearch.cpp#L496-L503

Reproducer:
mkdir /tmp/MARK-I-OPTION
mkdir /tmp/MARK-ENV-VAR
echo | C_INCLUDE_PATH=/tmp/MARK-ENV-VAR clang -E -Wp,-v - -o /dev/null -I. -I/tmp/MARK-I-OPTION 2> c_include_path-no-colon
echo | C_INCLUDE_PATH=/tmp/MARK-ENV-VAR: clang -E -Wp,-v - -o /dev/null -I. -I/tmp/MARK-I-OPTION 2> c_include_path-with-colon
diff -U20 c_include_path-no-colon c_include_path-with-colon
echo | CPATH=/tmp/MARK-ENV-VAR clang -E -Wp,-v - -o /dev/null -I. -I/tmp/MARK-I-OPTION 2> cpath-no-colon
echo | CPATH=/tmp/MARK-ENV-VAR: clang -E -Wp,-v - -o /dev/null -I. -I/tmp/MARK-I-OPTION 2> cpath-with-colon
diff -U20 cpath-no-colon cpath-with-colon

Output for C_INCLUDE_PATH (somewhat older clang on Linux):
--- c_include_path-no-colon	2021-05-18 19:23:22.718867910 +0200
+++ c_include_path-with-colon	2021-05-18 19:59:06.197846524 +0200
@@ -1,12 +1,14 @@
 clang -cc1 version 8.0.0 based upon LLVM 8.0.0 default target x86_64-pc-linux-gnu
 ignoring nonexistent directory "/include"
+ignoring duplicate directory "."
+  as it is a non-system directory that duplicates a system directory
 #include "..." search starts here:
 #include <...> search starts here:
- .
  /tmp/MARK-I-OPTION
  /tmp/MARK-ENV-VAR
+ .
  /usr/local/include
  /usr/lib/llvm-8/lib/clang/8.0.0/include
  /usr/include/x86_64-linux-gnu
  /usr/include
 End of search list.

Output for CPATH:
--- cpath-no-colon	2021-05-18 19:23:53.654933769 +0200
+++ cpath-with-colon	2021-05-18 19:24:00.914949225 +0200
@@ -1,12 +1,13 @@
 clang -cc1 version 8.0.0 based upon LLVM 8.0.0 default target x86_64-pc-linux-gnu
 ignoring nonexistent directory "/include"
+ignoring duplicate directory "."
 #include "..." search starts here:
 #include <...> search starts here:
  .
  /tmp/MARK-I-OPTION
  /tmp/MARK-ENV-VAR
  /usr/local/include
  /usr/lib/llvm-8/lib/clang/8.0.0/include
  /usr/include/x86_64-linux-gnu
  /usr/include

CMake Error at D:/installed/x64-uwp/share/yasm-tool-helper/yasm-tool-helper.cmake:16 (message):
  Cross-targetting and x64 ports requiring yasm require the x86-windows
  yasm-tool to be available.  Please install yasm-tool:x86-windows first.
Call Stack (most recent call first):
  ports/mpg123/portfile.cmake:37 (yasm_tool_helper)
  scripts/ports.cmake:141 (include)

Error: Building package mpg123:x64-uwp failed with: BUILD_FAILED
Elapsed time for package mpg123:x64-uwp: 1.738 s

I think we should wait for #16478.

gcc (tested: 7.5) behaves the same.
--- c_include_path-no-colon	2021-05-22 18:59:14.961368312 +0200
+++ c_include_path-with-colon	2021-05-22 18:59:14.965368394 +0200
@@ -1,13 +1,15 @@
 ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
 ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/7/../../../../x86_64-linux-gnu/include"
+ignoring duplicate directory "."
+  as it is a non-system directory that duplicates a system directory
 #include "..." search starts here:
 #include <...> search starts here:
- .
  /tmp/MARK-I-OPTION
  /tmp/MARK-ENV-VAR
+ .
  /usr/lib/gcc/x86_64-linux-gnu/7/include
  /usr/local/include
  /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed
  /usr/include/x86_64-linux-gnu
  /usr/include
 End of search list.

This changes also fixes building gettext[tools] on Linux.

/azp run

Ping @Neumann-A for review this PR.

This LGTM, thanks for the fix!


Upstream truffleruby patches needed when using system libraries

Adapt tests for that configuration.

What problem is this PR intended to solve?
https://github.com/sparklemotion/nokogiri/issues/2491
Have you included adequate test coverage?
Yes.
Does this change affect the behavior of either the C or the Java implementations?
Only C, no need to change Java code.

Normally we don't run the suite against TR for every commit (because it takes so long we opt for a cron job), so I've just pushed a commit that tries to make sure CI will run TR when branch names have "truffle" in them.

Normally we don't run the suite against TR for every commit (because it takes so long we opt for a cron job), so I've just pushed a commit that tries to make sure CI will run TR when branch names have "truffle" in them.

Right. Since there is workflow_dispatch I should be able to schedule it on my fork manually.
BTW for test speed, the main cost is the default NOKOGIRI_TEST_GC_LEVEL=major. Without that tests execute in just 1 minute for me locally. So maybe we should set NOKOGIRI_TEST_GC_LEVEL=normal for TruffleRuby, or GC less often and then we could run it in the gate/more often?

It passed in https://github.com/eregon/nokogiri/actions/runs/3237310347/jobs/5304216696

Given these test times over 1 hour yeah I think we should definitely force GC less often 😅
We can do that separately though, I can try it on a branch tomorrow with NOKOGIRI_TEST_GC_LEVEL=normal for comparison.

We can do that separately though, I can try it on a branch tomorrow with NOKOGIRI_TEST_GC_LEVEL=normal for comparison.

It runs in ~3min (with --enable-system-libraries) and ~8-9min (without): https://github.com/eregon/nokogiri/actions/runs/3241791089/jobs/5314201500
I'll push that on this PR too, but feel free to remove it if you want to keep it for these jobs.
I'm unsure how useful it is to GC between tests on TruffleRuby. I would say not worth it given the huge overhead.
Marking actually happens when leaving a C function in TruffleRuby, not during the JVM GC, and to detect a problem we need to execute code using e.g. a freed handle. The GC between tests makes it rather unlikely to reuse such a handle, so for TruffleRuby I'd think GCs happening during the tests (which already occur naturally) are more useful to detect this kind of bugs.

Yes, the GC settings are there primarily to exercise CRuby and I wasn't even aware that TruffleRuby supported those settings. Please do feel free to add a commit that restores normal GC behavior for TR.
I have a terribly busy day today, but I will circle back to this by the weekend. I'm glad we're green and look forward to staying green!

Thank you, @eregon!

Thank you for merging!
I plan to remove the patches in TruffleRuby after the next nokogiri release, because they shouldn't be needed anymore, they are currently only needed when using system libraries, and with this PR won't be necessary for future nokogiri versions (when using system libraries).
When using packaged libraries (the default) there is already no patching.

OK. If it's helpful, for managing upstream version checks, these changes will show up in Nokogiri 1.14.0.


Run the automated test in BrowserStack from the CI/CD pipeline

Describe the issue

Learn how run the automation test suite (#1456) for containers app in BrowseStack on the CI/CD pipeline in GitHub, so after building the application the test suite will run automatically.
Additional context

BrowserStack provide a couple advantages over the geb/spock reports.

It saves a video of the test itself
allows testing in many different platforms (OS/Browser/Appliance)

Currently I am accessing BrowserStack using my own account. Need to create a 'team' account to use
Definition of done

Test run on the GitHub CI/CD pipeline and the results are available through BrowserStack
Clean up and PR the code
Improve the readme file (separate testing readme)

Done (congrats!)

PR #78 https://github.com/bcgov/startup-sample-project-aws-containers/pull/78


[GKE] Cannot switch cloud credentials for imported cluster

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):
Scenario 1:

From Rancher, create 2 Google Cloud Credentials with valid service accounts ("cred1" and "cred2").
From GKE console, create a cluster.
From Rancher, import the cluster with "cred1".
After cluster becomes available, edit the cluster.
Change the cluster cloud credential to "cred2".
Edit the cluster using "cred2". Add a node group.

Result:
Cluster goes into error state with:
Googleapi: Error 400: Auto_upgrade and auto_repair cannot be false when release_channel REGULAR is set., badRequest
Scenario 2:

From Rancher, create 1 Google Cloud Credential with valid service account ("cred1")
From GKE console, create a cluster.
From Rancher, import the cluster with "cred1".
After cluster becomes available, edit the cluster.
BEFORE the cluster edit is saved, disable the service account associated with the cloud credential from GKE console.
Save the cluster.
The cluster will error with Get "https://...": oauth2: cannot fetch token: 400 Bad Request Response: {"error":"invalid_grant","error_description":"Invalid grant: account not found"} This is expected.
From GKE console, reenable the service account.
Edit the cluster. Try to bring the cluster out of error state. Add a node pool.
Save.

Result:
Cluster goes into error state with:
Googleapi: Error 400: Auto_upgrade and auto_repair cannot be false when release_channel REGULAR is set., badRequest
Other details that may be helpful:
This is not seen with hosted clusters. So far, only seen with imported clusters.
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): v2.5-41f173a-head
Installation option (single install/HA): single install

This is not related to switching the cloud credential, you will see the same behavior without doing so. When creating a cluster in the GKE web UI, under "Control plane version" it will default to selecting "release channel". When we create a cluster through Rancher it uses "Static version". When you add a node pool through Rancher, "Auto upgrade" and "Auto repair" default to off, but GKE requires them to be turned on when using the "regular" channel in "release channel" mode. So the way around this is either to create the cluster in GKE using "Static version" from the start, or check "Auto upgrade" and "Auto repair" when you add a new node pool.

@cmurphy Thank you for pointing this out.
Tested and validated the following scenarios on v2.5-41f173a-head:
Scenario 1:

From Rancher, create 2 Google Cloud Credentials with valid service accounts ("cred1" and "cred2").
From GKE console, create a cluster.
From Rancher, import the cluster with "cred1".
After cluster becomes available, edit the cluster.
Change the cluster cloud credential to "cred2".
Edit the cluster using "cred2". Add a node group. Enable Auto Upgrade and Auto Repair.
Result:
The cluster is updated successfully. New node group is added.

Scenario 2:
From Rancher, create 1 Google Cloud Credential with valid service account ("cred1")
From GKE console, create a cluster using "Static version"
From Rancher, import the cluster with "cred1".
After cluster becomes available, edit the cluster.
Add a node group. Do not enable Auto Upgrade and Auto Repair
Result:
The cluster is updated successfully. New node group is added.
Scenario 3:
From Rancher, create 1 Google Cloud Credential with valid service account ("cred1")
From GKE console, create a cluster.
From Rancher, import the cluster with "cred1".
After cluster becomes available, edit the cluster.
BEFORE the cluster edit is saved, disable the service account associated with the cloud credential from GKE console.
Save the cluster.
The cluster will error with Get "https://...": oauth2: cannot fetch token: 400 Bad Request Response: {"error":"invalid_grant","error_description":"Invalid grant: account not found"} This is expected.
From GKE console, reenable the service account.
Edit the cluster. Try to bring the cluster out of error state. Add a node pool. Enable Auto Upgrade and Auto Repair.
Result:
The cluster is updated successfully. New node group is added.

@aaronRancher based on your latest validation, do you think this bug can be closed? Or is there something we should address?

Closing this issue, as this is not a bug.
Will track the needed UI change and documentation here: https://github.com/rancher/rancher/issues/32282


Initial configuration of the backend stack

Please fill all pull request properties.

approved, but we need to change the name of "app" folder in order to make frontend working properly

Ideed, we will consolidate this with work done by @MatSzpy and afterwards with your frontend config @Ave44


Minor grammar

:cake: Thanks. Hope my examples were useful.

Definitely!  Thank you.  Any recommendations for other good python repositories?

Reading code by well written python libraries like requests, flask, django
will help.
On Mon, Feb 16, 2015 at 9:34 AM, patrickFalvey<EMAIL_ADDRESS>wrote:

Definitely! Thank you. Any recommendations for other good python
repositories?
—
Reply to this email directly or view it on GitHub
https://github.com/kracekumar/pythonbyexamplestutorial/pull/6#issuecomment-74457553
.

--
Regards
Kracekumar Ramaraju
http://kracekumar.com
+91 85530 29521


Avalonia.diagnostics & Microsoft.CodeAnalysis version clash

I can see that https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Diagnostics/Avalonia.Diagnostics.csproj#L27 requires Microsoft.CodeAnalysis.CSharp.Scripting version 3.4.0. However, I have already Microsoft.CodeAnalysis.CSharp version 3.6.0 so I have a conflict in my project.
Can avalonia.diagnostics possibly require 3.4+ versions?
Cheers!

Same here!

Any news on this point?

#9244

This is still an issue,

How can I fix this ?

You need to directly reference a newer version from your project


Disk Stress

we currently focus on experiments for cloud APIs.
Regarding nomad we could probably think about to implement a generic experiment executor for containers, in which you could run disk, network, etc, experiments.
I could think of prepared batch jobs which will get executed by chaotic.
What do you think about this idea?

yeah that will be awesome the batch jobs with parameter will dispatch  job in terms of parameter we will pass

here are some tools we can think about it.
https://github.com/alexei-led/pumba
https://github.com/ColinIanKing/stress-ng


Element literals in the toolbox show weird values

Probably because the toolbox still refers to elements by old names like "SAND" instead of number IDs.

I've temporarily put in some placeholder values that appear before the custom element names have loaded. This works a bit better (the value doesn't change anymore when you drag out the block).
UNLESS you've renamed those elements. It SHOULD dynamically update somehow instead.


Add SpinButton Component #261

This closes #261

please remove ".css" files in this commit.

because of inactivity for a long time in this PR, I'm closing this issue until further updates.

since the author came back, after a long hiatus I'm going to reopen this PR.

because this PR made from the develop branch, I'm closing it.


Feat/column names

Added column names to dataframes returned by DenodoDataFrameClient().to_dataframe(), because it is anticipated to be important for users.

Looks good


Wrong detection of the OS version

Environment
Windows build number: 19041.329
PowerToys version: v0.18.2
PowerToy module for which you are reporting the bug (if applicable): KeyBoard Manager and PowerToys Run

Steps to reproduce
reboot since last update and open PowerToys
Expected behavior
be able to use both modules
Actual behavior
Modules are disabled
Screenshots

Fixed by:

deleting the content of %localappdata%/Microsoft/PowerToys/PowerToys Run.
Exit PowerToys
Restart Power Toys

Interestingly it fixed the keyboard module too.


Get a list of all allowed states for a user

I'd like to use it to generate a navigation menu.

Hmmm, this could be done for now by testing each perimission and mapping the results. A built in solution would havr to be implwmented in the exact same way

Yeah, I've been testing each permission by doing some ugly code like this:
if (route.data.permissions.only) {
    return (route.data.permissions.only.indexOf(permission) !== -1) ? true : false;
}
else if (route.data.permissions.except) {
    return (route.data.permissions.except.indexOf(permission) !== -1) ? false : true;
}

I would like to use methods you provide instead, but I'm not sure how. I see there are a handleAuthorization method in the Authorization service. Do you think I can use that ?

Thanks! This will be useful for me.


Platform should emit a close on socket close?

I'm trying to implement something a bit more long lived than the examples, and I think I hit a snag. The heartbeat maintains an active connection, and on a timeout looks like it would emit an error event from the Platform to indicate said timeout.
However on a forceful close of the socket, say me walking over an unplugging the Google Home to simulate, the socket close looks like it is wrapped ok by castv2's client and emitted as a "close" event that the Platform grabs and does some internal cleanup... but then it fails to emit a "close" event from the Platform, meaning as a caller, I don't seem to have a way to be notified of this event?
Let me know if I'm missing something here for why that doesn't emit, and if there's a different way to identify this state.

Played around a bit and realized I could register my own handlers to Platform.client instead... is that the expected path here, or does my assertion that an explicit close from Platform stand?


Allow support users to impersonate candidates

Context
Now that we've built the first steps in the application process we're building functionality that happens later in the process. For example, we need to test applications that have received an offer to test https://github.com/DFE-Digital/apply-for-postgraduate-teacher-training/pull/744. This should make that easier.
Changes proposed in this pull request
This adds a button to the application form that allows a support user to sign in as a candidate. This allows for easier manual testing by people in the team - it avoids us from having to sign in manually.
I've enabled this only on test environments, because user impersonation is a bit perilous when it comes to audibility and non-repudiation (we don't want to accidentally accept an user on behalf of a real candidate).

Guidance to review
Test that it works.
Link to Trello card
Part of https://trello.com/c/49yLJZEW

Luxury UX would be if clicking "sign out" when impersonating a candidate returned you to the candidate's page in /support


Problems

Hi
I was using this plugin fine until my router failed and since replacing it, the harmony hub is now on a new IP address. HomeKit is now showing 2 instances of the hub, the old IP and the new one. I have tried turning on “clean cache” and also have tried removing cachedAccessories directly from my Pi4 but the old hub is still showing in HomeKit.
The second issue is that every time i restart homebridge, the harmony hub resets back to “Default Room” in home app.
Any ideas?

Hi, why didn’t you assigned the same fixed up through your new router ? Has mentioned you must have a static ip set for your harmony hub.
If it resets to default room, it is probably because it is seen as a new device each time. If you played with clean cache and cached accessories / persist folder, be sure to turn the option back off, and clean also files for harmony at your homebridge root directory . I would need your config file and logs in debug if you need more help
Sent with GitHawk

I didn’t realise it was needed to be static. Have now changed it back to old IP but it is still showing the original duplicate instance in HomeKit.
The option is definitely off for cleancache??
Configure file looks like this -
������������"platform": "HarmonyHubWebSocket",
������������"name": "Living Room TV",
������������"hubIP": "<IP_ADDRESS>",
������������"cleanCache": false,
����������"mainActivity": "Apple TV",
������������"playPauseBehavior": false
��

The only real error in the log i can see is this - [Living Room TV] WARNING - configureAccessory - The platform HubName is not there anymore in your config (name property). It won't be loaded and will be removed from cache.

Have now removed persist folder and completely removed homebridge from HomeKit but when readding the old TV with remote is still there???? I’ve turned off TV accessory in harmony config as well so only showing the one old accessory????

You have probably added it once as external accessory just delete it in home app on ios
Sent with GitHawk

Started from scratch and all working as it should be.
The control centre remote doesn’t work on my Apple TV. Any ideas? iPhone Volume buttons work fine for my AV Receiver.

I don’t really understand what you mean , the control center remote bonds it’s command to the one of the current activity (volume, arrows...)
Sent with GitHawk

Yes and all activities the remote works ok except for the Apple TV activities. This does not control the Apple TV like the harmony remote does.

You will have to check the logs in debug mode to verify what key binding is in place with this activity . You can always override them in config if needed (see readme)
Sent with GitHawk

I am closing this since I had no feedback, feel free to re open if necessary
Sent with GitHawk


Support print method

Lesson from new() is that I should avoid this kind of special convention for simplicity. Closing.


Pass link search path to doctests even if build script gave no links

It is entirely possible for a crate to have a build script that is simply
the equivalent to
fn main() {
    println!("cargo:rustc-link-search=native=/some/path");
}

Without actually giving anything to link (for example, because the code
contains #[link(name="foo")]. In this case, we aren't actually passing
-L through when running doctests, even though they're passed when
compiling the main crate.
Fixes #1592

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @alexcrichton (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

Oh, right! I think in this case the any_dylib clause can be dropped as it's moot. Also, does this actually fix the use case in mind? If the build script doesn't link to anything it looks like it's still ignored in terms of passing arguments?
(also, can you add a test for this?)

Yes, Diesel passes with this change at least. The build script doesn't have to link it for something to be linked. I'll see what happens if we just drop the conditional and add a test tomorrow. (STAR WARS TIME!!!!!)

@alexcrichton Seems like removing the dylib check was fine, tests all passed. Added a test for this change as well

@bors: r+ a6f20637872d79336150bb62c6ccbc384f4d7ff0

:hourglass: Testing commit a6f2063 with merge e1c105e...

:broken_heart: Test failed - cargo-win-gnu-64

@bors: retry
On Saturday, December 19, 2015, bors<EMAIL_ADDRESS>wrote:

[image: :broken_heart:] Test failed - cargo-win-gnu-64
http://buildbot.rust-lang.org/builders/cargo-win-gnu-64/builds/297
—
Reply to this email directly or view it on GitHub
https://github.com/rust-lang/cargo/pull/2225#issuecomment-166070845.

:zap: Previous build results for cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-gnu-32, cargo-win-msvc-32, cargo-win-msvc-64 are reusable. Rebuilding only cargo-win-gnu-64...

:sunny: Test successful - cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-gnu-32, cargo-win-gnu-64, cargo-win-msvc-32, cargo-win-msvc-64


dgrijalva/jwt-go is archived, the maintain move to golang-jwt/jwt

There is HIGH vulnerability CVE-2020-26160 NOT fix yet.
And github.com/dgrijalva/jwt-go is not maintained anymore.
It is now maintained at: github.com/golang-jwt/jwt.
Test Result:
$ go test --cover ./...
ok  	github.com/go-ozzo/ozzo-routing/v2	0.009s	coverage: 92.4% of statements
ok  	github.com/go-ozzo/ozzo-routing/v2/access	0.014s	coverage: 100.0% of statements
ok  	github.com/go-ozzo/ozzo-routing/v2/auth	0.018s	coverage: 96.0% of statements
ok  	github.com/go-ozzo/ozzo-routing/v2/content	0.008s	coverage: 97.5% of statements
ok  	github.com/go-ozzo/ozzo-routing/v2/cors	0.002s	coverage: 100.0% of statements
ok  	github.com/go-ozzo/ozzo-routing/v2/fault	0.008s	coverage: 100.0% of statements
ok  	github.com/go-ozzo/ozzo-routing/v2/file	0.002s	coverage: 93.2% of statements
ok  	github.com/go-ozzo/ozzo-routing/v2/slash	0.002s	coverage: 100.0% of statements

@qiangxue could you take some time to review?

Thank you very much!


Add Heartbeat to operator

Signed-off-by: Zachary Kayyali<EMAIL_ADDRESS>https://github.com/open-cluster-management/multiclusterhub-operator/pull/701

Closing PR.
We would like to avoid implementing polling behavior into our codebase in order to ensure our functionality stays event-driven


Can you help with converting aax to mp3

Hi I am reaching out to the universe with this message. My son is in prison and not allowed any internet devises. I want to send him audible books on an mp3 player. I am a middle aged mum and not tech savvy. I am nervous about subscribing to paid unknown converter software. My file is 1.3 GB.

@AlisonGuthrie what type of computer do you have, and are you comfortable with basic command line usage?

@zchrykng  Hey can u help me out even don't know convert to MP3 "you comfortable with basic command line usage" I know some or very little part of it I only know basic commands like ls,pwd...

@AlisonGuthrie I apologize but I would not consider this script to be at a level to help you accomplish what you are wanting to do. Having worked for the prison system I applaud your desire to help your son. I wish there were something I could do.


this.files.get is not a function when combining file

Laravel Mix Version: 6.0.32 (npm list --depth=0)
Node Version (node -v): v14.18.0
NPM Version (npm -v): 6.14.15
OS:

Description:
I update some packages today, and seems it need node >14.17, so I installed new node and yarn. rimraf node_modules, reinstall packages, when I run watch I got these error.
Steps To Reproduce:
// webpack mix

mix.styles(
    [
        "node_modules/quill/dist/quill.core.css",
        "node_modules/quill/dist/quill.snow.css"
    ],"themes/css/editor.css")

yarn run watch

(node:28032) UnhandledPromiseRejectionWarning: TypeError: this.files.get is not a function
at ConcatenateFilesTask.watch (D:\xampp\htdocs\indoconnex\node_modules\laravel-mix\src\tasks\Task.js:23:32)
at D:\xampp\htdocs\indoconnex\node_modules\laravel-mix\src\webpackPlugins\CustomTasksPlugin.js:30:57
at Array.forEach ()
at D:\xampp\htdocs\indoconnex\node_modules\laravel-mix\src\webpackPlugins\CustomTasksPlugin.js:30:36
(Use node --trace-warnings ... to show where the warning was created)
(node:28032) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)

Yes, getting the same error while combining css.

+1


Include qunit-dom global augmentation via import

This change resolves https://github.com/typed-ember/ember-cli-typescript/issues/568

Thank you @mike-north! But closing this in favor of #2, which follows your suggestion in https://github.com/typed-ember/ember-cli-typescript/issues/568#issuecomment-463300525.


[Datumaro] Avoid tf deprecation warning

Fixes:

TF eager execution warning is now avoided

@zhiltsov-max , @azhavoro ,
Could you please investigate the problem:
  File "/home/django/cvat/apps/engine/views.py", line 50, in <module>
5772    import cvat.apps.dataset_manager.task as DatumaroTask
5773  File "/home/django/cvat/apps/dataset_manager/task.py", line 24, in <module>
5774    from datumaro.components.project import Project, Environment
5775  File "/home/django/datumaro/datumaro/components/project.py", line 8, in <module>
5776    import git
5777  File "/usr/local/lib/python3.5/dist-packages/git/__init__.py", line 38, in <module>
5778    from git.exc import *                       # @NoMove @IgnorePep8
5779  File "/usr/local/lib/python3.5/dist-packages/git/exc.py", line 9, in <module>
5780    from git.compat import UnicodeMixin, safe_decode, string_types
5781  File "/usr/local/lib/python3.5/dist-packages/git/compat.py", line 16, in <module>
5782    from gitdb.utils.compat import (
5783ImportError: No module named 'gitdb.utils.compat'

@zhiltsov-max , @azhavoro ,
Could you please investigate the problem:
...
5783ImportError: No module named 'gitdb.utils.compat'

@nmanovic The issue has already been fixed #1146.

@zhiltsov-max , could you please merge develop to be sure that the build is OK?


Multiple targets in scrape_configs

I want to install node_exporter on several hosts.
For example i have 3 hosts in inventory file, and i want that after i install prometheus - there will be all my hosts listed in targets, like this:

targets:

host1:9100
host2:9100
host3:9100
How should i edit scrape_configs (defaults/main.yml) to have all hosts from my inventory file in targets.

I tried to use "for" loop

"{% for host in groups['worker'] %}
{{ host + ':9100 ' }}
{% endfor %}"

But it makes a string like "- host1:9100 host2:9100 host3:9100"
Please help

Thanks! That helps a lot! My problom solved 👍


Sidebar appearing blank

I have a spreadsheet that I had the JSON export functionality working great on my personal google account. I then made a copy of that sheet in my organizational account and it worked on July 9. I revisited on 9/17 and when I go to open the sidebar it appears blank. I uninstalled and re-installed on an organizational level, but the issue still occurs.

Do you have multiple accounts signed in?

I do. Yes.

If you sign out of all but one and try opening the sidebar, does it work as expected?

Closing this issue for now as multiple accounts were probably the issue here.


Add support for specifying GSI without a sort key

Discussed in https://github.com/typedorm/typedorm/discussions/297

Originally posted by mathieubrd December 20, 2022
Why it is not possible to have a GSI without any sort key?
For example, my use case is to retrieve all items of the same entity (e.g. retrieve all users).
So I would create my entity like so:
@Entity({
  name: "User",
  primaryKey: {
    partitionKey: "USER#{{email}}",
    sortKey: "USER#{{email}}",
  },
  indexes: {
    entity: {
      type: INDEX_TYPE.GSI,
      partitionKey: "User",
      // No need to have a sort key for this GSI
    },
  },
})

To retrieve all my users, I can query on my entity GSI with entity = User
But Index is typed in a way I cannot provide only a partition key.
I try to put an empty string in the sort key but nothing is inserted in my GSI.
Or maybe there is another way to fullfill my use case?

@whimzyLive is there any update here?

I came here to ask the same @whimzyLive

Any update around this?


Package request: new-lg4ff

Project description
Improved Linux module driver for Logitech driving wheels.
With this module, it is possible to make use of force feedback with the connected peripherals, something that hid-logitech does not have.
Metadata

homepage URL: https://github.com/berarma/new-lg4ff
source URL: https://github.com/berarma/new-lg4ff
license: gpl2
platforms: linux

Currently trying to package it myself with some success.
I will create a pull request after some more testing.


Notes and Boons tabs to character sheet

Notes page similar to general description pages (like Equipment)
Boons page similar to other feature lists
New boon item type with name, description, boontype fields

Can you reorder boon to fall after Features?
As well I think Notes might fit under Description as well.
What do you think? I want to avoid too many tabs haha :)

I totally agree, too many tabs will be confusing to players.
So maybe Boons under the Features tab, but at the top of the page?
And rename equipment tab to Other and put the notes there?
At least in my games these things should be used quite frequently, so I
would like easy access to them. :)
On Fri, Feb 26, 2021, 01:47 Ray Ji<EMAIL_ADDRESS>wrote:

Can you reorder boon to fall after Features?
As well I think Notes might fit under Description as well.
What do you think? I want to avoid too many tabs haha :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Rayji96/foundry-V5/pull/51#issuecomment-786330231,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQQM72T6EFNZXQPYOROZDDTA3VRXANCNFSM4YFLSB6Q
.

How about this?
I went ahead and also added a new feature type: Background; which is somewhat different from merits/flaws.


RSocket Kotlin server-side support

Take inspriration from https://github.com/marcoferrer/kroto-plus to see if there is something to be done.

With RSocketRequester Kotlin extensions available as part of Spring Framework 5.2, I think we now have a pretty good solution available.


Add readme with screenshots an explanations

About the feature
It would be awesome to have some more documentation for other people to use this repository
Additional information
In there a readme it would be nice to have some screenshots, showing its capabilities as well as more detailed explanations on what it is, how to use it.

Hi @leadvic, thanks for opening a PR. Sadly, this project is not worked on very often at all nowerdays. If I decide to work on this again, I will introduce your ideas.

sed


[FEATURE] Faster pip install for inference

Is your feature request related to a problem? Please describe.
It takes 5 mins to do:
!pip install -q -U auto-gptq

in a free google colab notebook. This means it adds 5 mins before inference can start.
Describe the solution you'd like
Provide a slimmed down way to install only what is needed to run inference.
Describe alternatives you've considered
Perhaps there are other packages I can use to run the GPTQ quantised model, but it's hard to find info.
Additional context
Here is the inference code I'm using:
from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig

os.environ["SAFETENSORS_FAST_GPU"] = "1"

model_name_or_path = "TheBloke/Llama-2-7b-Chat-GPTQ"
model_basename = "gptq_model-4bit-128g"

use_triton = False

model = AutoGPTQForCausalLM.from_quantized(model_name_or_path,
        model_basename=model_basename,
        use_safetensors=True,
        trust_remote_code=True,
        device="cuda:0",
        use_triton=use_triton,
        quantize_config=None,
        cache_dir=cache_dir)

Hi, there are bunch of pre-build wheels provided in each release, you can use one of them to fast install if cuda version is match

Cheers thanks @PanQiWei - I see that now as well in the ReadMe


feat(virtctl): Add volume-import flag to create vm

What this PR does / why we need it:
This PR adds --volume-import flag to virtct create vm command, which allows to specify the  source and DataVolumeSource field of Datavolumes.
Release note:
None

/cc @0xFelix @lyarwood @ksimon1

Looks good, two final nits as getParamByName is generic enough to be in params.go now and you've missed some assertions in the tests but otherwise lgtm.

It should be adressed now.

According to the PR description the suggested changes are adding a flag to virtctl, but I see that go.mod was modified and packages were bumped. Can you please either check if its not a leftover, or please explain why did you had to bump these packages?

I have updated the cdi version to 1.56.0, because the older version does not implement the DataVolumeSourceSnapshot struct that is needed to implement Snapshot source type of this virtctl command. I will add it to the PR description.

/retest

/retest

/approve
/hold
As a later TODO, we should find a more elegant way to generate all the dataVolumeSource struct types, possibly declaring the corresponding CDI API version.
Putting hold to let others review the PR and the latest discussion. Feel free to unhold when you are done

/retest

/unhold

/retest

/retest


Protractor can't pull down chromedriver2.24 for mac with webdriver-manager.js

The selenium2.52 and chromedriver2.21 drivers that comes with protractor 3.3.0 dont work with latest versions of chrome (53 and 54) and running 'webdriver-manager update --versions.chrome 2.24' on a mac doesn't pull down chromedriver 2.24 because it's only available for mac64 and webdriver-manager uses 'mac32' regardless of whether your os is 32 or 64 bit.
I use protractor 3.3.0 instead of 4.x.x because I run my automation tests with grunt-protractor-runner which is not compatible with 4.x.x. At least not yet anyway.

Node Version: v4.4.3

Protractor Version: v3.3.0

Angular Version: v1.4.9

Browser(s): Chrome 53

Operating System and Version OSX El Capitan (Version 10.11.4)

My protractor configuration file protractor.conf.js
exports.config = {
// ----- How to setup Selenium -----
//
// There are three ways to specify how to use Selenium. Specify one of the
// following:
//
// 1. seleniumServerJar - to start Selenium Standalone locally.
// 2. seleniumAddress - to connect to a Selenium server which is already
//    running.
// 3. sauceUser/sauceKey - to use remote Selenium servers via SauceLabs.
// The location of the selenium standalone server .jar file.
seleniumServerJar: './node_modules/protractor/selenium/selenium-server-standalone-2.52.0.jar',
// The port to start the selenium server on, or null if the server should
// find its own unused port.
seleniumPort: null,
// Chromedriver location is used to help the selenium standalone server
// find chromedriver. This will be passed to the selenium jar as
// the system property webdriver.chrome.driver. If null, selenium will
// attempt to find chromedriver using PATH.
chromeDriver: './node_modules/protractor/selenium/chromedriver_2.21',
// ----- What tests to run -----
//
// Spec patterns are relative to the location of this config.
specs: [
'./spec.js'
],
// ----- Capabilities to be passed to the webdriver instance ----
//
// For a full list of available capabilities, see
// https://code.google.com/p/selenium/wiki/DesiredCapabilities
// and
// https://code.google.com/p/selenium/source/browse/javascript/webdriver/capabilities.js
capabilities: {
'browserName': 'chrome',
'chromeOptions': {
args: ['test-type']
}
},
// ---------------------------------------------------------------------------
// ----- Global test information ---------------------------------------------
// ---------------------------------------------------------------------------
//
// The timeout in milliseconds for each script run on the browser. This should
// be longer than the maximum time your application needs to stabilize between
// tasks.
allScriptsTimeout: 60000,
getPageTimeout: 30000,
// ---------------------------------------------------------------------------
// ----- The test framework --------------------------------------------------
// ---------------------------------------------------------------------------
// Test framework to use. This may be one of:
// jasmine, mocha or custom.
//
// When the framework is set to "custom" you'll need to additionally
// set frameworkPath with the path relative to the config file or absolute
//  framework: 'custom',
//  frameworkPath: './frameworks/my_custom_jasmine.js',
// See github.com/angular/protractor/blob/master/lib/frameworks/README.md
// to comply with the interface details of your custom implementation.
//
// Jasmine is fully supported as test and assertion frameworks.
// Mocha has limited support. You will need to include your
// own assertion framework (such as Chai) if working with Mocha.
framework: 'jasmine2',
// Options to be passed to jasmine.
//
// See https://github.com/jasmine/jasmine-npm/blob/master/lib/jasmine.js
// for the exact options available.
jasmineNodeOpts: {
// onComplete will be called just before the driver quits.
onComplete: null,
// If true, display spec names.
isVerbose: true,
// If true, print colors to the terminal.
showColors: true,
// If true, include stack traces in failures.
includeStackTrace: true,
// Default time to wait in ms before a test fails.
defaultTimeoutInterval: 62000
}
};

Output from running webdriver-manager update:

./node_modules/.binwebdriver-manager update --versions.chrome 2.24 --versions.standalone 2.53
"Updating selenium standalone to version 2.53
downloading https://selenium-release.storage.googleapis.com/2/selenium-server-standalone-2.53.jar...
Updating chromedriver to version 2.24
downloading https://chromedriver.storage.googleapis.com/2.24/chromedriver_mac32.zip...
Error: Got code 404 from https://chromedriver.storage.googleapis.com/2.24/chromedriver_mac32.zip
"
-Steps to reproduce the bug

Download protractor on a MacOS.
Run the following command - ./node_modules/.binwebdriver-manager update --versions.chrome 2.24 --versions.standalone 2.53
Observe that you get a 404 for https://chromedriver.storage.googleapis.com/2.24/chromedriver_mac32.zip
Navigate to https://chromedriver.storage.googleapis.com.
Find '2.24' on the page and observe that there is chromedriver zip files for linux32, linux64, win32 and mac64 but not mac32
Open webdriver-manager.js found in protractor's node_modules/.bin directory and observe that os can not be set to 64 bit mac

Feature Request
---Modify the webdriver-manager so that you can download chromedriver versions greater than 2.22 on a mac
suffix: function() {       if (os.type() == 'Darwin') {         return 'mac32.zip';       } else if (os.type() == 'Linux') {         if (os.arch() == 'x64') {           return 'linux64.zip';         } else {           return 'linux32.zip';         }       } else if (os.type() == 'Windows_NT') {         return 'win32.zip';       }     },

Reasons for adopting new feature: unable to run protractor on mac against latest chrome versions

Webdriver manager has moved out of protractor into it's own standalone package. If you want to use an older version of protractor with a newer chrome binary you should install webdriver-manager from NPM and use it. It properly handles this difference in the binary names.
I'm going to close this as it deals with an older version of protractor and there's an easy workaround.


Add "Overriding Singer stream schema" section to Data Integration (EL) doc

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/2315
Originally created by @DouweM on 2020-08-28 16:11:56

Guide for https://meltano.com/docs/plugins.html#schema-extra, like we have https://meltano.com/docs/integration.html#selecting-entities-and-attributes-for-extraction for https://meltano.com/docs/plugins.html#select-extra.

View 4 previous comments from the original issue on GitLab


Showcase Submission for challenges/14-fractal-trees-recursive

Thank you Magnetar for your contribution! A member of the Coding Train team will review it shortly.

Growing Tree
Magnetar

Beautiful work!


Refactor loser tree  code in SortPreservingMerge per PR comments

Which issue does this PR close?
re https://github.com/apache/arrow-datafusion/issues/4300.
Rationale for this change

I wanted to get the merge speed improvements into DataFusion
I wanted an excuse to work on the code myself for a bit

What changes are included in this PR?
Implements suggestions from @tustvold  and @viirya  in https://github.com/apache/arrow-datafusion/pull/4301
Are these changes tested?
covered by existing tests
TODO: need to run benchmarks
Are there any user-facing changes?
No

Here are performance results. It is somewhat of a mixed bag (some show a few percent less) results are
results.txt
The first run is the second time I ran cargo bench against 0d334cf7 (aka no code change) and it reports some regressions and then the second run is with the changes in this PR


Obsidian doesn't apply theme to in game QAM header

Steps to Reproduce

Open a game
Press the QAM button
View the header

I can't figure out how to take a screenshot of the QAM in game so I can't provide a screenshot.

.header_Header_1E_SL.header_InQuickAccess_2mRo5 is overwriting the background color

Solved by #74, please use keywords or link the issue to the PR in the future so your issues automatically close.


add autoIncrement implement for #5266

add autoIncrement implement
close #5266

It's too hard for me to implements all databases support. so, i think i should close this PR.


type3d:text - always default values

Checklist:

[ x] I updated to the latest version available
[ x] I cleared the cache of my browser

Release with the issue:
Last working release (if known):
Browser and Operating System:

Description of problem:
When setting type3d:text , font, bg,fg colors are ignored
I've debugged a little and in _updateTextCanvas  looks like entity.text is an array and data is on element 0,  so it always reverts to the default values

Javascript errors shown in the web inspector (if applicable):

Additional information:
P.S. type3d:text works only on simple objects, with names made only out of numbers, otherwise the object becomes black and no text is displayed.

Hello, I must admit that I tested only on plane objects but I cannot reproduce your problem:

entity: sensor.lumi_lumi_sens_c5d91002_temperature
type3d: text
text:
font: verdana
textbgcolor: '#ffffff'
textfgcolor: '#0000ff'
object_id: Picture_1303
entity: sensor.lumi_lumi_sens_f4881002_temperature
type3d: text
text:
font: verdana
textbgcolor: '#ffffff'
textfgcolor: '#00ff00'
object_id: Picture_1310

I will play around with other object types ......

Hello and thanks for great work .
Try to pick door or window objects and they will become black with no text.
About  the default values here is some js debug.

text array is filled  t.text.font is undefined so it picks the default value monosomething. Same story for textbgcolor, textfgcolor

This is the config

entity: sensor.radiator_left_air_temperature
type3d: text
object_id: '464'
text:
- font: verdana
textbgcolor: '#00ff00'
textfgcolor: red

I have not the same debugging framework (by the way it would be good to know how to set it up). If you go to the console to verify the text object, it is not an array:

So I am really not able to reproduce or confirm your diagnostic and it does not make sense as it is not a Yaml array (it has no dashes).
I tried with a door and the bgcolor worked for me but the text is not showing. This is because it only works on 3d objects that have only 2 dimensions. I think this is due to the fact that the html canvas object is put in the middle of the object and it does not appear for solid objects.

Sorry now I've seen your config. You have to remove the dash before the font tag......

Thank you for your quick answer. It works. Please update the official docs , it's still with dash :

How can I change the font size ?

Yes, I changed the description.
It is not possible to change the size of the font because the "text" entity is designed to span all the available space in the object plane.
I really suggest you to add a picture object on top of the surface where you  want the text to appear and bind it to the text entity.
This way you can set the size and position at will

I saw that the text spans the entire object length, but you can add a relative modifier property , for exempla a percent   -10% , -20% , +5% from the calculated size.
Something like this
text:
font: arial
relativefontsize: -20
textbgcolor: red
It will fix my jacuzzi temperature :)

Thanks again for your great work.

Thanks, now I see :).  Maybe turn it into a feature request, it is not a bad idea


[chore/UI] Fix lint error

Notes for Reviewers
This PR fixes https://github.com/meshery/meshery/actions/runs/10884582554/job/30200190217?pr=12041
Signed commits

[x] Yes, I signed my commits.

Thanks, @theBeginner86!

The code changes here is 0 means its already had been fixed.


When I try to print msg.text in 'console' event with type 'error', I got JSHandle@error

Steps to reproduce
Tell us about your environment:

Puppeteer version: 1.9.0
Platform / OS version: macos
URLs (if applicable):
Node.js version: 8.11.3

What steps will reproduce the problem?
Please include code that reproduces the issue.

Simply add these code in your page

try {
    // try to print a value doesn't exist
    // and it will throw an error
    console.log(a)
} catch (e) {
    // catch the error and print this with `console.error`
    console.error(e)
}

puppeteer script:

...
page.on('console', msg => {
    console.log(msg.text())
})
...

What is the expected result?
It prints JSHandle@error
What happens instead?
The exact error object like ReferenceError: a is not defined...

And when I try to console.log('it goes wrong'), it can actually print 'it goes wrong'

@SidKwok
you can use msg.arg() to retrieve the array of arguments passed to console.
BUT, since errors are not serializeable it won't return the desired value. you can however, use the following as a workaround:
page.on('console', async msg => {
  const args = await msg.args()
  args.forEach(async (arg) => {
    const val = await arg.jsonValue()
    // value is serializable
    if (JSON.stringify(val) !== JSON.stringify({})) console.log(val)
    // value is unserializable (or an empty oject)
    else {
      const { type, subtype, description } = arg._remoteObject
      console.log(`type: ${type}, subtype: ${subtype}, description:\n ${description}`)
    }
  })
});

Thanks @tompere , it's been my temporary solution. But since _remoteObject is a built-in object that the author may avoid us to use it (something like private）. So I am trying to figure it out is there a better approche for this issue.

Yeah I agree, we should probably do a better job on getting error texts and everything.
The way it's supposed to be done atm is like this:
page.on('console', async msg => {
  // serialize my args the way I want
  const args = await Promise.all(msg.args.map(arg => arg.executionContext().evaluate(arg => {
    // I'm in a page context now. If my arg is an error - get me its message.
    if (arg instanceof Error)
      return arg.message;
    // return arg right away. since we use `executionContext.evaluate`, it'll return JSON value of
    // the argument if possible, or `undefined` if it fails to stringify it.
    return arg;
  }, arg)));
  console.log(...args);
});

@SidKwok @aslushnikov neither of those solutions work with 1.19.0. Do you have any other solution? Can we prioritize this? It makes debugging crashes and client errors a nightmare because you can't see the real messages. Also the solution recommended in the docs doesn't extract warnings, only normal console.log, console.dir and console.error messages:
  for (let i = 0; i < msg.args().length; ++i)
    console.log(`${i}: ${msg.args()[i]}`);
});```

In current 2021 with puppeteer 8.x.x it doesn't work as described in tompere's comment.
In message.args() there no object.description from  JSHandle. So we need to get it from executeContext function.
Please check my solution with descriptive console[type] notifications here https://github.com/puppeteer/puppeteer/issues/3328#issuecomment-806869319
to solve this issue

any updates here?

I created other version of  aslushnikov solution, that only show the error console messages. If you want catch all console messages with different colors  IgorKurkov   solution is better (mine is a simpler one, no colors and solo errors).
page.on('console', async msg => {
      // serialize my args the way I want
      const args = await Promise.all(msg.args().map(arg => arg.executionContext().evaluate(arg => {
        // I'm in a page context now. If my arg is an error - get me its message.
        if (arg instanceof Error)
          return arg.message;
        //Return null if the arg is not a error
        return null;
      }, arg)));
      for(var i=0; i<args.length; i++)
      {
        if(args[i] != null)//ignore null elements
          console.log(args[i]);//args[i] -> console error text
       }
    });

Will this issue be fixed?

The solution from IgorKurkov crash for me:
  const args = await Promise.all(msg.args.map(arg => arg.executionContext().evaluate((arg) => {
                                          ^

TypeError: msg.args.map is not a function

Impressive that this is still open since 4 years.

maybe it‘s ok，msg Inherits from Error
page.on('pageerror', msg => { console.log(msg) })

For anyone reading this in the future, none of the above worked for me (might be related to recent changes in puppeteer).
The following did work however:
    page.on('console', async (message) => {
            if (message.text() != "JSHandle@error") {
                console.log(`${message.type().substring(0, 3).toUpperCase()} ${message.text()}`);
                return;
            }
            const messages = await Promise.all(message.args().map((arg) => {
                return arg.getProperty("message");
            }));

            console.log(`${message.type().substring(0, 3).toUpperCase()} ${messages.filter(Boolean)}`);
        });


Adding typename declaration on alias.

So this a Visual Studio compile error. Just wanted to bring it to your attention.

Is this a workaround for a bug in MSVC? bool(uint32_t) doesn’t contain any dependent names that need to be disambiguated with typename.

Uhm... what you're proposing is wrong in C++ actually. The CI confirms it, all the tests just fail.
What error do you have with MSVC? Also, what version of MSVC? The one from appveyor compiles it fine.

Closing Pull Request, Was way off base and need to update MSVC, thankyou!

You're welcome.


unable to add openmediavault integration (not listed)

Describe the issue
Installed openmediavault using HACS.
openmediavault  is located on custom_copoment directory
ha core logs says : 2021-09-17 07:09:48 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration renault which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
when I go to configuration / integrations / add / search 'openmedia....' component dosent appears in list.
How to reproduce the issue
dont know
Expected behavior
view OpenMediaVault in integration list.
Screenshots

Software versions

Home Assistant version: supervisor-2021.09.0 / core-2021.9.6
openmediavault integration version: 1.1.7
openmediavault software version: 5.6.14-1 (Usul)

Traceback/Error logs

Additional context

integration name is OMV in the list. Not Openm... ;-)

thanks, but didn't find using O..

..

That is caused by your browser cache. Happens often when you install integrations, specially with chrome.
Just clear your cache.

It works, thanks a lot !


OauthToken expiration being override to null in UserInfoTokenServices

Hi,
accessToken expiration check is not working as expected on Oauth2RestTemplate#getAccessToken() when using UserInfoTokenServices as ResourceServerTokenServices.
The expiration info is being override by below code line :
https://github.com/spring-projects/spring-boot/blob/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/resource/UserInfoTokenServices.java#L120

That code is in Spring Boot. Did you mean to open an issue there?


Should AccessControlAllowOrigin::Value’s value really be a parsed Url?

In https://fetch.spec.whatwg.org/#cors-check , the result of "parsing" a Access-Control-Allow-Origin seems to be a string, not an URL. See https://github.com/servo/servo/issues/6020.

Well, like all the specs are not as strongly typed as hyper is, so I think this difference is normal and hyper should provide the parsed URL. But is it a real problem, that the URL gets parsed and you compare two URLs and not two strings? Are there cases where this could be a real problem?

I don’t know how real the problem is, but it’s not the same behavior. URL parsing does some normalization along the way, so comparing parsed URLs is not the same as comparing strings. And CORS is a security/privacy feature, so I’d rather not take chances.

@Ms2ger, do you have an opinion on this?

CC @Velmont; I assume he's written tests that would fail with parsed URLs, if there's a difference.

CORS needs to do string comparison. You can probably do something with utf-8 percent-encoding vs punycode to show the difference.

So, is it only in some cases it should be a String, or in all?

We could use Strings everywhere in hyper for URLs. At many places the spec uses relative URLs we can not parse with rust-url, so it is inconsistent but writing a custom URL parser is work and will make using hyper together with rust-url based projects harder.

@Ms2ger: Good to see you assume the best of people :P  There's some I'm quite sure would fail if you throw them through URL normalization.  But there is for sure lots of cases that's not tested as I'm not awesome enough to think of'em.
Here's the ones that exist: http://w3c-test.org/cors/origin.htm
(Aside: Blink does everything correct except the \0's which possibly it strips in the "strip whitespace" step.  Maybe I did wrong there as I see Gecko agrees.)

@Velmont \0 is not allowed in header values in general so I don't think it should be an allowed origin.

Regardless of whether it's allowed, what should browsers do if they encounter it anyway?

Well, according to that test, is should be considered illegal. The test expects xhr.send() to throw an error.
Fail	Disallow origin: \0http://w3c-test.org
assert_throws: send function "function () { client.send() }" did not throw


Remove beta label from CRT user settings text and delete beta warning modal

Summary
Cherry-pick https://github.com/mattermost/mattermost-webapp/pull/9404
Ticket Link
Fixes https://mattermost.atlassian.net/browse/MM-38992
Fixes https://mattermost.atlassian.net/browse/MM-44453
Related Pull Requests
NONE
Screenshots

Release Note
* Remove beta label from CRT user settings text and delete beta warning modal

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.

Trying to auto merge this PR.


Create Queue_Implementation_without_STL.c++

Added Queue_Implementation _without_STL.c++ file in which all Queue operation is performed in a class and  using this class anyone can call and do the operations on Queue DataStructure.
Related Issue
#423
Proposed Changes

Created a Queue Implementation file with STL library.
Changed the README file in the https://github.com/Lakhankumawat/LearnCPP/tree/main/Q-Queue Folder ealier it was Blank.

Additional Info

Any additional information or context

Checklist

[x] ✅ My code follows the code style of this project.
[x] 📝 My change requires a change to the README.
[x] 🎀 I have updated the README accordingly.
[x] 👀 I have read the CONTRIBUTING document.
[x] ✨ I have added tests to cover my changes.
[x] 🚩 All new and existing tests passed.
[x] 🌟 ed the repo

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Output Screenshots
| Screenshot #1      |
First Testcase

1st Output

| Screenshot #2  |
Second Testcase

2nd Output

Hello, contributor, the readme file is also missing, as pointed by the admin kindly work on the user input style of coding

Nop updates from your side?

No further updates and I shall close the PR

can i make a new pr for updating the readme file or should i update in the same pr?

Hi ,
I have created a new Pr for updated Readme file Pr:- #1402 kindly please check.
Thanks for the reminder


[Comment, Econews] No icons present at 'Like' and 'Reply' buttons at Ru and Uk l10n

Environment:  Windows 10 Home, Mozilla Firefox 80.0.1
Reproducible: always
Build found: commit 0e9ce75
Preconditions
User should be logged in https://ita-social-projects.github.io/GreenCityClient/#/welcome
with credentials (e.g., email<EMAIL_ADDRESS>password: Mysunnytest#1)
Steps to reproduce

Go to https://ita-social-projects.github.io/GreenCityClient/#/news/3096
2.Click on 'Uk' localization dropdown

Actual result
No icons near the buttons

Expected result
The icons are present near the buttons

User story and test case links
User story #937 #1179

Actual result
Icons near all the buttons in comment on every available localization

@Benerous not fixed
Windows 10 Home/Pro, Mozilla Firefox 82.0


Getting Exceptional Error in Configur -> Order Settings section, when we save the data.

Terms

[X] Before you openning this issue, i have checked if the issue has already been reported.

Bagisto Version(s) affected
2.0.0
Issue Description
When we try to add data in Order Settings with Minimum Orders, there when we fill  the data and try to save it, we can see exceptional error is appearing.
Preconditions

Admin Should be Logged in.

Steps to reproduce

Go to Admin -> Configure -> Sales -> Order Settings -> Fill any field.
Click on Save Configurations.
See exceptional error.

Expected Result
There should be no exceptional error.
Actual Result
Currently we can see that the exceptional error is appearing.
Please check the video for reference.
Video
https://github.com/bagisto/bagisto/assets/92721837/5faf2436-0f56-485f-a41e-79e4d15af4e4
Screenshots
Please Find the screenshot below.

Additional context
No response

Checked and Found that the issue have been fixed and PR has been merged, hence I am closing the issue. Please check the video for reference.
Video
https://github.com/bagisto/bagisto/assets/92721837/563af688-4fc8-42d7-998c-73052b33881c


No space left on device for UEFI image with large kernel image, fixed by increasing FAT padding

When I try to create a UEFI image with a 600MiB+ kernel image, I sometimes get a No space left on device error.
This can be fixed by altering fat.rs:29:
---    let fat_size_padded_and_rounded = ((needed_size + 1024 * 64 - 1) / MB + 1) * MB + MB;
+++    let fat_size_padded_and_rounded = ((needed_size + 1024 * 64 - 1) / MB + 2) * MB + MB;

to increase the size by 1MiB. I believe this is an issue with clusters and/or fragmentation, but I don't want to just increase a constant and potentially waste that megabyte if I don't need to.
Is there an improved heuristic for the necessary padding and rounding?

This might also be solved by adding files largest to smallest?


[Feature][model] Support qwen-vl llm model

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
是否能增加对qwen-vl模型的支持
Use case
No response
Related issues
No response
Feature Priority
None
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

We currently don't have the resources, but we have opened up our API. Would you be interested in joining us to contribute code?


Command has no effect

When executing the IWYU command from the command palette, there is nothing happening. Even with debug level set to Trace, there is no output whatsoever, also no error squiggles or any indication of the plugin working.

I'm having the exact same issue, is this extension still alive ?

Hi, when the extension is installed, then you will be able to see that in the extension list. It must show up as activated. If it is activated and you select a C/C++ source file editor, then the extension will start up. If you go to the output pane you can select "IWYU". In the just uploaded version 0.0.16 you should see something like:
2024-07-08 18:47:19.332 [info] Extension activated
2024-07-08 18:47:19.332 [debug] Using compileCommandsJson = '/Users/helly25/Documents/helly25/mbo/compile_commands.json'.
2024-07-08 18:47:19.332 [debug] Parsing: `/Users/helly25/Documents/helly25/mbo/compile_commands.json`

If that does not show anything-or "IWYU" cannot be selected, then please check your log level. Go to the Command Selection (Command+Shift+P) and select "Developer: Select Log Level...". In the top section of the menu you can select the default log level. In the lower part you can select a specific extension and then the log level for that extension. Make sure that IWYU is set to at least INFO.

At least I have log output now.
Command failed: include-what-you-use -Xiwyu --max_line_length=80  -Xiwyu --transitive_includes_only - -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DHAVE_EXPLICIT_BZERO=1 -DHAVE_LIBNUMA=1 -DHAVE_NUMA_ALLOCATE_NODEMASK=1 -DHAVE_PAM_DEVEL=1 -DHAVE_BPF_DEVEL=1 -DHAVE_MUNGE_DEVEL=1 -DHAVE_SLURM_SPANK_H=1 -DHAVE_SPANK=1 -DHAVE_DECL_S_TASK_ARGV=0 -I. -I../../include -DNDEBUG -I../../bin/daemon -DPLUGINDIR="/usr/local/plugins" -O3 -Wall -Wextra -Wno-unused-parameter -fstack-protector-all -fno-strict-aliasing -g -c -fPIC -DPIC -o .libs/dynIP_la-dynIP.o dynIP.c 2>&1
In file included from dynIP.c:10:
In file included from /usr/include/arpa/inet.h:22:
In file included from /usr/include/netinet/in.h:23:
In file included from /usr/include/sys/socket.h:26:
/usr/include/bits/types/struct_iovec.h:23:10: fatal error: 'stddef.h' file not found
   23 | #include <stddef.h>
      |          ^~~~~~~~~~

The location is indeed /usr/include/linux/stddef.h. I was hoping the compile_commands.json contains 100% information needed for IWYU. Especially since iwyu works from command line, so the extension behaves a tiny bit different here. The compiler is gcc (8.5). I included all built-in paths listed in echo | gcc -xc -E -v -. The extension works now for this file (and I think all files where the command line works too). Thanks for the help.

@EloWork , @helly25 I face the same problem, but with C++ headers:
fatal error: 'iostream' file not found
   32 | #include <iostream>
      |          ^~~~~~~~~~

So I followed your advice and added -I/usr/include/c++/11 -I/usr/include/x86_64-linux-gnu/c++/11/bits to iwyu.iwyu.additional_params. For some reason IWYU still cannot see the bits/ subdirectory:
/usr/include/c++/11/iostream:38:10: fatal error: 'bits/c++config.h' file not found
   38 | #include <bits/c++config.h>
      |          ^~~~~~~~~~~~~~~~~~

Do you have any idea how to solve this problem?
I have two GCC compilers installed, one via the Ubuntu package manager (version 11.4.0), the other one via conda (12.3.0):
$ locate c++config.h
/home/zozo/mambaforge/pkgs/libstdcxx-devel_linux-64-12.3.0-h0223996_107/x86_64-conda-linux-gnu/include/c++/12.3.0/x86_64-conda-linux-gnu/bits/c++config.h
/usr/include/x86_64-linux-gnu/c++/11/bits/c++config.h

I tried with both paths, but the same issue: bits/c++config.h is not found.

Have you tried -I/usr/include/x86_64-linux-gnu/c++/11/? Because bits is already in tbe include

You are right, but then again: stdarg.h is missing. Adding more include paths, now I get
/usr/include/wchar.h:272:53: error: unknown type name 'size_t'; did you mean 'std::size_t'?


Checkbox state being lost after scrolling the row out and back in

I created a checkbox formatter:
function CheckBoxFormatter(row, cell, value, columnDef, dataContext) {
    return "<input class='gridCheckBox' type=\"checkbox\" name=\""+value[0]+"\" value=\""+value[1]+"\" "+value[2]+">";
}

Once my page loads, I click some checkboxes and they gain the tick.  Then I scroll down 50 rows and back up, and all my ticks are gone.
I realize the formatter is not the editor, so I've created an editor.  But now the editor returns either an image (like in the demo) or some checkbox html that prevents the editor from being called on click.  I basically always want there to be a checkbox, so a formatter, but I also want to save the data.
Is there some way to trigger the editor on click from the formatter?
Which call is actually the one that saves the state of a cell?

In Slickgrid, I have check boxes in Header Row in 3 Columns, On-click  of  column 1 checkbox,  I have checked all the check boxes which is under the column.
I need to get the total check boxes in 3 columns and how many are checked?
E.g  Header Row Column -1 - 100 Checkboxes
Header Row Column 2 - 25 Checkboxes
Header Row Column 3 - 75 Checkboxes
So Overall 200 Checkboxes on the Page. How we can get the overall checkboxes count  on the page and get the checked checkboxes count on each column and all the columns?
Any Idea?

@vinothkkl123
This repo is dead. Please use: https://github.com/6pac/SlickGrid
Usage questions like this should be directed to StackOverflow, not the Github repo


Metrics where name contains unit name gets double suffix

For example DBforPostgreSQL metrics has a metric called io_consumption_percent. The reported unit is Percent, so the Prometheus metric names are set to io_consumption_percent_percent_average, etc.
https://github.com/RobustPerception/azure_metrics_exporter/blob/56371e22abc5612434c9a32acfa143abcd514c2c/main.go#L64
Would a check with strings.HasSuffix before doing the above be acceptable, or are there better ways to fix it?

We did that once for suffixes in the collectd_exporter, and it ultimately caused issues due to clashes. Thus I'm wary of attempting it elsewhere.

That seems like a good consideration, agree. But wouldn't we get the exact same clashes with the current approach anyway?

I don't see how that can happen with the current approach.

I think I misunderstood. The issue you describe would arise if you had one metric resource reporting foo with unit percent and another resource reporting foo_percent with unit percent? Then yes, that currently avoids a collision, and would instead collide with my suggestion.
Given that we label by resource, though, this wouldn't be a problem? Unless there is a single resource that has both the above metrics, of course... Unsure if that could happen.

Yes.
I don't know Azure well enough to say.