dart analyze reads more than it should for a single file analysis

Using fsatrace:
flutter create test_app
fsatrace r /dev/stdout -- dart analyze test_app/lib/main.dart

We see a lot of folders being read that dart analyze should not need to read. It looks like dart analyze is reading every folder under test_app. Sample:
r|~/test_app/test
r|~/test_app/android
r|~/test_app/android/gradle
r|~/test_app/android/gradle/wrapper
r|~/test_app/android/app

dart --version
akbiggs@akbiggs ~ % dart --version
Dart SDK version: 2.17.0-edge.8fec4e03e5761c487809720904bf810c3faac61f (be) (Mon Apr 18 17:22:05 2022 +0000) on "linux_x64"

What is fsatrace?

@scheglov you've been helping with this for the last few days, correct? Should this stay assigned to you?
I think this is a P1 for Fuchsia's developers, for their workflow.
@akbiggs the example you provide makes it look like you've reproduced this outside of a GN workspace? Perhaps in a pub package? Is this easy to repro outside a GN workspace?

I can reproduce this on Linux with the instructions provided.
Interestingly, this happens for dart analyze <file>, but not with dartanalyzer <file>. Also, if I do fsatrace r /dev/stdout -- dart analyze test_app/lib/, it does not go into test_app/android and other. It seems as if the server reverts to analysis of the whole package if a single file is requested. But if a directory - then it will analyze this directory.

OK, I found a reason - we start watching the whole package directory.
[ByteStreamServerChannel][outputLine][{"event":"server.connected","params":{"version":"1.33.0","pid":2612012}}]
[listSync][path: /usr/local/google/home/scheglov/.dartServer/.analysis-driver]
[ByteStreamServerChannel][_readRequest][{"id":"1","method":"server.setSubscriptions","params":{"subscriptions":["STATUS"]}}]
[ByteStreamServerChannel][_readRequest][{"id":"2","method":"analysis.setAnalysisRoots","params":{"included":["/usr/local/google/home/scheglov/dart/test_app/lib/main.dart"],"excluded":[]}}]
[ByteStreamServerChannel][outputLine][{"id":"1"}]
[ContextManager][includedPaths: [/usr/local/google/home/scheglov/dart/test_app/lib/main.dart]]
[AnalysisContextCollectionImpl][includedPaths: [/usr/local/google/home/scheglov/dart/test_app/lib/main.dart]]
[AnalysisContextCollectionImpl][root: /usr/local/google/home/scheglov/dart/test_app][files: [/usr/local/google/home/scheglov/dart/test_app/lib/main.dart]]
[ContextManager][rootFolder: /usr/local/google/home/scheglov/dart/test_app]
[list][path: /usr/local/google/home/scheglov/dart/test_app][#0      _Directory.list (dart:io/directory_impl.dart:228:41)
#1      new _LinuxDirectoryWatcher (package:watcher/src/directory_watcher/linux.dart:95:23)
#2      new LinuxDirectoryWatcher.<anonymous closure> (package:watcher/src/directory_watcher/linux.dart:32:32)
#3      new ResubscribableWatcher.<anonymous closure> (package:watcher/src/resubscribable.dart:48:29)
#4      new ResubscribableWatcher.<anonymous closure> (package:watcher/src/resubscribable.dart:47:19)
#5      _runGuarded (dart:async/stream_controller.dart:814:24)
#6      _BroadcastStreamController._subscribe (dart:async/broadcast_stream_controller.dart:207:7)
#7      _ControllerStream._createSubscription (dart:async/stream_controller.dart:827:19)
#8      _StreamImpl.listen (dart:async/stream_impl.dart:473:9)
#9      new _ForwardingStreamSubscription (dart:async/stream_pipe.dart:114:10)
#10     _ForwardingStream._createSubscription (dart:async/stream_pipe.dart:86:16)
#11     _ForwardingStream.listen (dart:async/stream_pipe.dart:81:12)
#12     ContextManagerImpl._createAnalysisContexts.performContextRebuildGuarded.performContextRebuild (package:analysis_server/src/context_manager.dart:480:16)
#13     ContextManagerImpl._createAnalysisContexts.performContextRebuildGuarded.performContextRebuild (package:analysis_server/src/context_manager.dart:447:41)
#14     ContextManagerImpl._createAnalysisContexts.performContextRebuildGuarded (package:analysis_server/src/context_manager.dart:568:17)
<asynchronous suspension>
#15     ContextManagerImpl.setRoots (package:analysis_server/src/context_manager.dart:283:5)
<asynchronous suspension>
#16     AnalysisServer.setAnalysisRoots (package:analysis_server/src/analysis_server.dart:503:7)
<asynchronous suspension>
#17     AnalysisSetAnalysisRootsHandler.handle (package:analysis_server/src/handler/legacy/analysis_set_analysis_roots.dart:47:7)
<asynchronous suspension>
]
[ByteStreamServerChannel][outputLine][{"event":"server.status","params":{"analysis":{"isAnalyzing":true}}}]
[ByteStreamServerChannel][outputLine][{"id":"2"}]
[ByteStreamServerChannel][outputLine][{"event":"analysis.errors","params":{"file":"/usr/local/google/home/scheglov/dart/test_app/lib/main.dart","errors":[]}}]
[ByteStreamServerChannel][outputLine][{"event":"server.status","params":{"analysis":{"isAnalyzing":false}}}]
[ByteStreamServerChannel][_readRequest][{"id":"3","method":"server.shutdown","params":null}]
[ByteStreamServerChannel][outputLine][{"id":"3"}]

And the reason we watch the whole directory is that we decide that the root directory of a ContextRoot is the directory that contains pubspec.yaml or analysis_options.yaml (whichever is deeper). Which is not wrong by itself. What is wrong is watching the whole root directory. We should watch only effectively included resources (i.e. included and not excluded). We have ContextRoot.included, which is close semantically, although maybe not ideally - I have doubts about it excluding resources.

In general, the way we do watching currently might be dangerous. We started watching complete initial included paths while building analysis roots, so that we don't miss changes to configuration files that happen between we read them the first time (while creating analysis contexts) and start watching analysis roots. But this means that we might watch much more than the user intended.
Imagine that we have the following directory structure.
/home/test
/home/test/really-big-directory
/home/test/lib/... a few files
/home/test/analysis_options.yaml - it excludes "really-big-directory"

The user expectation would be that we never look into really-big-directory. Not only we should not analyze its files, we should never include it into watching, because this requires listing its files, which might be prohibitively expensive.
@DanTup @bwilkerson

A possible partial solution: https://dart-review.googlesource.com/c/sdk/+/241983

... so that we don't miss changes to configuration files ...

That's part of it, but there's at least one additional reason. The legacy protocol says that if you include a file or directory that doesn't exist when setting analysis roots, it will be ignored but remembered. If that file or directory is created later, server will notice and start analyzing it.

As far as I know, this does not work today. One way to solve this without watching is to probe for periodically for such included resources that did not exist last time.
And for configuration files, as we build context roots, and read configuration files, we could remember the state of these files - the existence and the content. After we are done, and start watching, we check again if these configuration files are still in the same state. Maybe even all files, including *.dart files - I can imagine that we will miss a change while rebuilding context roots. Just never go into excluded directories.
This "not going into excluded directories" should also cover not watching them. AFAIK dart:io does not support exclude filters in watch(). So, if there is an excluded directory foo in the root of the ContextRoot, then the List<Resource> included must be rewritten to be the list of all children except foo, and we should non-recursively check the root directory for any new children to include. Which almost feels as re-implementing the watcher, as periodical recursive probing.

@scheglov (in response to https://dart-review.googlesource.com/c/sdk/+/238640)

If you can reproduce the watcher exception issue, this is a good news. It represents a significant portion of the current crashes internally. Fixing it would be very nice.

Well it turns out I may have been confused. Although I was quite certain I saw the same error, after rebasing the main CL and being distracted by the other issues, I came back and was completely unable to reproduce the same error in the container. There was a failing test, but it was a timeout and not the reported error.
Although... is it possible your change above (which I didn't include in my testing because of other issues I had after rebasing) will fix this because the non-existant folder will not be included in the .included set that's now used to create watchers?

Unfortunately it still happens internally quite often, maybe 50% of all crashes are FileSystemException: FileSystemException: Failed to watch path, path = '/Users/xxx/StudioProjects/yyy' (OS Error: No such file or directory, errno = 2). This directory actually almost never exists, because the path is local (on Mac), but the server runs remotely on Linux, where the home directory is different.

This directory actually almost never exists, because the path is local (on Mac), but the server runs remotely on Linux, where the home directory is different.

Oh, interesting. How does this work? Can that setup be reproduced externally? Is there some special IDE work to make it work?
VS Code supports running on remote machines, but with that setup I wouldn't expect local paths to ever reach the server because it pushes the extension host onto the remote machine too (this is how I was testing in a container earlier, the analysis server + extension host ran inside the container while VS Code's UI was running outside it on my Mac).
Something that's not clear to me is whether this error can only occur in the setup described above, or can also be triggered externally. Although I can reproduce an error creating a watcher for a folder that doesn't exist in isolation, I can't reproduce it through the server (I think because there are error handlers on the watcher streams).

I think (but I have not looked into the details of the implementation) it works by opening ssh tunnel to the remote machine, and running DAS there. Not sure how IntelliJ does this - probably there are hooks in IntelliJ Dart plugin, that the internal plugin fills. Either way, we forward requests / responses to the remotely running DAS.
Yes, I also don't understand why it happens. Theoretically if we catch errors on the watcher stream, this should cover all errors.

Ah, now you mention that, I'm reminded of something similar in the VS Code plugin:
https://github.com/Dart-Code/Dart-Code/pull/1049
It's not the way I'd recommend running on a remote machine (given VS Code has its own remoting support now), but perhaps it's worth testing to see if it can trigger this (since it seems like it'd be easy to have mismatched paths in the way you described between local/remote). I'll have a go.


a new release

Once #56 is fixed, let's make a new release.

I made a new release. Do note that tomorrow it won't work anymore due to the ecmwf messing things up :cry:


feat:  Adding a 'enabled on or after today' feature to feature flags.…

… This allows you to enable a feature on or after a given date automatically.

@david this is the PR i plan to test CI with.


[v1.4.2] Assertion failed in test/test-fs.c

My build for v1.4.2 fails the make check under Linux.
=============================================================
[%  80|+ 202|-   0|T   0|S   0]: fs_async_dir
`fs_async_dir` failed: exit code 134
Output from process `fs_async_dir`:
Assertion failed in test/test-fs.c on line 440: dent.type == UV_DIRENT_FILE
=============================================================
[%  85|+ 212|-   1|T   0|S   0]: fs_symlink_dir
`fs_symlink_dir` failed: exit code 134
Output from process `fs_symlink_dir`:
Assertion failed in test/test-fs.c on line 1707: dent.type == UV_DIRENT_FILE
=============================================================
[% 100|+ 248|-   2|T   0|S   0]: Done.
FAIL: test/run-tests
======================================================
1 of 1 test failed
Please report to https://github.com/libuv/libuv/issues
======================================================
make[1]: *** [check-TESTS] Error 1

v1.4.0 works just fine under the same environment.
=============================================================
[% 100|+ 249|-   0|T   0|S   0]: Done.
PASS: test/run-tests
=============
1 test passed
=============
make[1]: Leaving directory `/home/enzo/Files/000_Software/libuv-v1.4.0'

That's Ubuntu Linux 14.04 64bit:
[user@Feynman ~] gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)

Thanks for the report.  Can you check if reverting 3ddfb4a makes the tests pass again?

Reverting by hand is cumbersome and GitHub has no "download patch" feature.
Anyway, also 1.4.1 fails at the very same point:
=============================================================
[%  80|+ 202|-   0|T   0|S   0]: fs_async_dir
`fs_async_dir` failed: exit code 134
Output from process `fs_async_dir`:
Assertion failed in test/test-fs.c on line 440: dent.type == UV_DIRENT_FILE
=============================================================
[%  85|+ 212|-   1|T   0|S   0]: fs_symlink_dir
`fs_symlink_dir` failed: exit code 134
Output from process `fs_symlink_dir`:
Assertion failed in test/test-fs.c on line 1707: dent.type == UV_DIRENT_FILE
=============================================================
[% 100|+ 248|-   2|T   0|S   0]: Done.
FAIL: test/run-tests
======================================================
1 of 1 test failed
Please report to https://github.com/libuv/libuv/issues
======================================================
make[1]: *** [check-TESTS] Error 1

Thanks.  I'm not able to reproduce on x86_64 FC21 and Ubuntu 14.04.  Is there anything special about the file system or the way you run the tests?

I have XFS over an RAID0 slice (mdadm).
There is no log for the test output.
Again, it works with 1.4.0, doesn't work with 1.4.1 and 1.4.2.
--
Vincenzo Romano - NotOrAnd.IT
Information Technologies
NON QVIETIS MARIBVS NAVTA PERITVS
2015-04-06 18:45 GMT+02:00 Ben Noordhuis<EMAIL_ADDRESS>
Thanks. I'm not able to reproduce on x86_64 FC21 and Ubuntu 14.04. Is
there anything special about the file system or the way you run the tests?
—
Reply to this email directly or view it on GitHub
https://github.com/libuv/libuv/issues/296#issuecomment-90146190.

Curious.  Can you perhaps add a printf that prints out the value of dent.type?  I know there are some failures when you run make check out of tree but I don't think that applies to these two tests.

I need to know the file name to modify.
--
Vincenzo Romano - NotOrAnd.IT
Information Technologies
cel. +39<PHONE_NUMBER>
fax. +39 02 700506964
tel. +39 0823 454163
NON QVIETIS MARIBVS NAVTA PERITVS
2015-04-06 22:28 GMT+02:00 Ben Noordhuis<EMAIL_ADDRESS>
Curious. Can you perhaps add a printf that prints out the value of
dent.type? I know there are some failures when you run make check out of
tree but I don't think that applies to these two tests.
—
Reply to this email directly or view it on GitHub
https://github.com/libuv/libuv/issues/296#issuecomment-90230322.

The file and line numbers are in the assert messages: test/test-fs.c, right before lines 440 and 1707. :-)

=============================================================
[%  80|+ 202|-   0|T   0|S   0]: fs_async_dir
fs_async_dir failed: exit code 134
Output from process fs_async_dir:
DEBUG: dent.name='file1'
DEBUG: dent.type='0'
Assertion failed in test/test-fs.c on line 442: dent.type == UV_DIRENT_FILE
fs_symlink_dir failed: exit code 134
Output from process fs_symlink_dir:
Assertion failed in test/test-fs.c on line 1660: r == 0
FAIL: test/run-tests
1 of 1 test failed
Please report to https://github.com/libuv/libuv/issues
make[1]: *** [check-TESTS] Error 1
make[1]: Leaving directory `/home/enzo/Files/000_Software/libuv-v1.4.2'
make: *** [check-am] Error 2
--
Vincenzo Romano - NotOrAnd.IT
Information Technologies
cel. +39<PHONE_NUMBER>
fax. +39 02 700506964
tel. +39 0823 454163
NON QVIETIS MARIBVS NAVTA PERITVS
2015-04-06 22:34 GMT+02:00 Ben Noordhuis<EMAIL_ADDRESS>
The file and line numbers are in the assert messages: test/test-fs.c,
right before lines 440 and 1707. :-)
—
Reply to this email directly or view it on GitHub
https://github.com/libuv/libuv/issues/296#issuecomment-90231558.

I am also not able to reproduce it on Debian Sid.

The only relevant change I see neighbouring the dirent code in glibc is this: https://sourceware.org/git/?p=glibc.git;a=commit;f=dirent/dirent.h;h=498afc54dfee41d33ba519f496e96480badace8e

Sounds plausible.  dent.type == 0 is UV_DIRENT_UNKNOWN, suggesting that HAVE_DIRENT_TYPES is undefined in src/uv-common.c.
I don't understand why I can't reproduce it on my x86_64 14.04 system though.  I suppose it could be because I build and install my own bleeding edge kernels and kernel headers but I don't think that should affect libc-dev headers.

@bnoordhuis but we only define HAVE_DIRENT_TYPES iff DT_UNKNOWN is defined (see include/uv-unix.h) so I'm kinda confused.

I have done an overhaul to my Ubuntu 14.04 (Workstation) and have installed also an Ubuntu 14.04 Server. Both 64bit. Basically in the former I have installed back the stock kernel (latest).
The server only has latest and official stuff.
In the workstation system I still get "make check" failing in both 1.4.1 and 1.4.2 and running fine for 1.4.0.
In the server system everything works as expected.

I have also encountered with the same problem, when running make check, it says
=============================================================
[%  81|+ 206|-   0|T   0|S   0]: fs_async_dir
`fs_async_dir` failed: exit code 134
Output from process `fs_async_dir`:
Assertion failed in test/test-fs.c on line 440: dent.type == UV_DIRENT_FILE
=============================================================
[%  82|+ 209|-   1|T   0|S   0]: fs_access
`fs_access` failed: exit code 134
Output from process `fs_access`:
Assertion failed in test/test-fs.c on line 1205: r == 0
=============================================================
[%  85|+ 215|-   2|T   0|S   0]: fs_symlink_dir
`fs_symlink_dir` failed: exit code 134
Output from process `fs_symlink_dir`:
Assertion failed in test/test-fs.c on line 1720: dent.type == UV_DIRENT_FILE
=============================================================
[% 100|+ 251|-   3|T   0|S   0]: Done.
FAIL: test/run-tests
======================================================
1 of 1 test failed
Please report to https://github.com/libuv/libuv/issues
======================================================

Makefile:3835: recipe for target 'check-TESTS' failed
make[1]: *** [check-TESTS] Error 1
make[1]: Leaving directory '/home/monster/Documents/buildscript/hvc-external/Twister_API/libuv-1.x'
Makefile:4091: recipe for target 'check-am' failed
make: *** [check-am] Error 2```

Just fresh installed 64bit (K)Ubuntu 15.04. That's not an upgrade.
Recompiled v1.4.2 and ...
=============================================================
[%  80|+ 202|-   0|T   0|S   0]: fs_async_dir
`fs_async_dir` failed: exit code 134
Output from process `fs_async_dir`:
Assertion failed in test/test-fs.c on line 440: dent.type == UV_DIRENT_FILE
=============================================================
[%  82|+ 204|-   1|T   0|S   0]: fs_fstat
`fs_fstat` failed: exit code 134
Output from process `fs_fstat`:
Assertion failed in test/test-fs.c on line 1115: s->st_atim.tv_nsec == 0
=============================================================
[%  85|+ 211|-   2|T   0|S   0]: fs_symlink_dir
`fs_symlink_dir` failed: exit code 134
Output from process `fs_symlink_dir`:
Assertion failed in test/test-fs.c on line 1656: r == 0
=============================================================
[% 100|+ 247|-   3|T   0|S   0]: Done.
FAIL: test/run-tests
======================================================
1 of 1 test failed
Please report to https://github.com/libuv/libuv/issues
======================================================
Makefile:3835: recipe for target 'check-TESTS' failed
make[1]: *** [check-TESTS] Error 1
make[1]: Leaving directory '/home/enzo/Files/000_Software/libuv-v1.4.2'
Makefile:4091: recipe for target 'check-am' failed
make: *** [check-am] Error 2

v1.5.0 shows the very same problem.
v.1.4.0 doesn't.
The issue must be in the code, not in the system.

Just tested on a freshly installed Ubuntu 14.04.2 (64 bit). All tests pass. Sorry, I just cannot reproduce this :-(

Just tested v1.5.0 on a freshly installed kubuntu 15.04 64bit. Tests fail as with v1.4.1 and v1.4.2.
Just tested v1.4.0 on the same system and all tests passed.
I am not using Ubuntu server. On Ubuntu server 14.04.2 LTS 64bit v1.5.0 works.

I can consistently reproduce the problem also under my Ubuntu 14.04.02 64bit server.
I compiled the sources with 2 different users in 2 different directories: root and a normal user.
Then I run "make check" on both (more or less) at the same time.
Both tests fail.
Then I run "make check" for each user separately. Both tests pass.
There needs to be some kind of locking under Kubuntu that interferes with the test.

I don't know, but this sounds like a problem in the environment and not the code. I'll test latest desktop Ubuntu nevertheless.

Will you mind giving us a strace output.

How do I get an "strace output"?
In the meantime I have found that there is an unnoticed core file in my directory.
It's identified as:
core: ELF 64-bit LSB core file x86-64, version 1 (SYSV), SVR4-style, from '/home/enzo/Files/000_Software/libuv-v1.5.0/test/.libs/lt-run-tests fs_async_dir'

I deleted everything, untarred the sources and run the "make check" once more.
Tests kept failing:
=============================================================
[%  80|+ 207|-   0|T   0|S   0]: fs_async_dir
`fs_async_dir` failed: exit code 134
Output from process `fs_async_dir`:
Assertion failed in test/test-fs.c on line 440: dent.type == UV_DIRENT_FILE
=============================================================
[%  82|+ 210|-   1|T   0|S   0]: fs_access
`fs_access` failed: exit code 134
Output from process `fs_access`:
Assertion failed in test/test-fs.c on line 1205: r == 0
=============================================================
[%  85|+ 217|-   2|T   0|S   0]: fs_symlink_dir
`fs_symlink_dir` failed: exit code 134
Output from process `fs_symlink_dir`:
Assertion failed in test/test-fs.c on line 1728: r == 0
=============================================================
[% 100|+ 253|-   3|T   0|S   0]: Done.
FAIL: test/run-tests
======================================================
1 of 1 test failed
Please report to https://github.com/libuv/libuv/issues
======================================================

I got the core dumped with the the debugger reporting this stack:
Reading symbols from /home/enzo/Files/000_Software/libuv-v1.5.0/test/.libs/lt-run-tests...done.
[New LWP 8363]
[New LWP 8367]
[New LWP 8365]
[New LWP 8368]
[New LWP 8366]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/home/enzo/Files/000_Software/libuv-v1.5.0/test/.libs/lt-run-tests fs_async_dir'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f28da673267 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
55      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x00007f28da673267 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
#1  0x00007f28da674eca in __GI_abort () at abort.c:89
#2  0x000000000040eb07 in scandir_cb (req=<optimized out>) at test/test-fs.c:434
#3  0x00007f28dac2dcb8 in uv__work_done (handle=0x7f28dae469f0 <default_loop_struct+176>) at src/threadpool.c:236
#4  0x00007f28dac2f88d in uv__async_event (loop=0x7f28dae46940 <default_loop_struct>, w=<optimized out>, nevents=<optimized out>)
    at src/unix/async.c:92
#5  0x00007f28dac2f956 in uv__async_io (loop=0x7f28dae46940 <default_loop_struct>, w=0x7f28dae46b08 <default_loop_struct+456>,
    events=<optimized out>) at src/unix/async.c:132
#6  0x00007f28dac3cb7a in uv__io_poll (loop=loop@entry=0x7f28dae46940 <default_loop_struct>, timeout=-1) at src/unix/linux-core.c:324
#7  0x00007f28dac301a7 in uv_run (loop=0x7f28dae46940 <default_loop_struct>, mode=mode@entry=UV_RUN_DEFAULT) at src/unix/core.c:324
#8  0x0000000000410c25 in run_test_fs_async_dir () at test/test-fs.c:872
#9  0x00007f28da65ea40 in __libc_start_main (main=0x405c40 <main>, argc=3, argv=0x7ffe1e507898, init=<optimized out>,
    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe1e507888) at libc-start.c:289
#10 0x0000000000405cf9 in _start ()

I hope this helps.

I can reproduce it on my sys. and working on it. Let me check if this is reproducible in home and continue working.
On Centos 7, both autotool build and gyp fails but at different places.
I am using 1.x trunk

Ok, gdb is showing d_type as zero. and HAVE_DIRENT_TYPES is properly set.
As I lack the fluency in libuv code base. Somebody can chime in why  d_type ==0
Breakpoint 3, scandir_cb (req=0x6a6c00 <scandir_req>) at ../test/test-fs.c:432
(gdb) n
(gdb) s
uv_fs_scandir_next (req=0x6a6c00 <scandir_req>, ent=0x7fffffffa610) at ../src/uv-common.c:411
(gdb) n
(gdb) n
(gdb) print **dents
$2 = {d_ino = 134318741, d_off = 8, d_reclen = 32, d_type = 0 '\000',
  d_name = "file1", '\000' <repeats 16 times>, "\065\000\000\000\000\000\000\000\226\212\001\b\000\000\000\000\000\002\000\000\000\000\000\000
  \000\000file2", '\000' <repeats 16 times>, "Q\006\002", '\000' <repeats 183 times>}
  (gdb)

Installed Xubuntu 15.04 (64 bits). Still, all tests pass. Both building with autotools and with GYP.
For the life of me, I have no idea how to reproduce this.

It's clearly something related to KDE, neither to GNOME, nor to XFCE.
I am talking about KDE (as installed and run under Kubuntu) since the very beginning.
I have been using autotools only, no GYP.
@saghul could you please try KDE with Kubuntu (I would avoid to install KDE on top of XFCE at least at this stage)?
It could be related to the whole system but, as stated in the past, v1.4.0 passes all tests under both Kubuntu 14.04 and Kubuntu 15.04 and Ubuntu server 14.04.
All subsequent versions of libuv fail tests under Kubuntu 14.04 and Kubuntu 15.04 but not under Ubuntu server 14.04.
There could be to be something introduced after v1.4.0 that clashes with KDE. I don't know what right now.
@deleisha Could you please post the failing test output?

It cannot possibly be related to KDE, since libuv has nothing to do with it. It could be a glibc define issue, but that should have showed up also on *buntu.
The reason for the failure is that the test got strengthened in https://github.com/libuv/libuv/commit/3ddfb4a9cc73fc9fc11576a83da9449630f6f634.

@saghul
glibc seems to be fine on my system. HAVE_DIRENT_TYPES is properly set and d_type ==0 is the culprit.
I tried to debug but get lost in the middle of some MACROS.
Do you have any idea where/how the d_type value is set in libuv? or could it be that test uses a global struct which got written over changing the value of d_type
@notorand-it :
I got the same failure as that of you.

@saghul That'd be quite strange: the base system (kernel+libraries+compilers) for Kubuntu is the same as Ubuntu Server, Ubuntu (GNOME) and a number of other Ubuntu-related distributions.
The differences could be not in the base system but rather in the other parts that should not interfere with compile-time checks but rather with runtime stuff. As far as stuff like dirent, semaphores, shared memory, file descriptors and the likes are concerned, all Linux systems (using GNU LibC and CC) should behave the same and should compile (non-GUI) software the same way. Custome LibC and CC (and kernel) patches can lead to anomalies. But those would be macroscopic ones affecting a number of packages. I still recall the time of the RedHat custom kernel and compiler...
@deleisha Were you using KDE or GNOME while in CentOS?

I'm at a conference, so I installed a Kubuntu machine, just in case the universe was falling apart. Tests pass.
The only thing that could explain this is if you installed your system on a partition type which is not supported by getdents, and thus the kernel would give you DT_UNKNOWN.
THe default install uses ext4, and works for me. Also, none of the test bots (and I think we have 6 different Ubuntus) have the problem.

I use XFS over a RAID0 device in my Kubuntu machines. I use EXT4 over a RAID1 device in mu Ubuntu Server machine. So maybe you @saghul  hit the spot.
But I have been using XFS since ages now and, more important, v1.4.0 still works in my current system, while v1.5.0 doesn't.
Anyway, from my manges I read at getdents(2):
DESCRIPTION
       This  is  not  the  function you are interested in.  Look at readdir(3) for the POSIX conforming C library interface.  This page
       documents the bare kernel system call interface.

@notorand-it well, there we go!
As I said, 1.4.0 had a relaxed test, id didn't explicitly check for DT_DIR, it checked for DT_DIR or DT_UNKNOWN, that's why it fails for you.
getdents is used internally by scandir, which is where the latter gets the data from. As you can see, XFS is not supported:
Currently, only some filesystems (among them: Btrfs, ext2, ext3, and
       ext4) have full support for returning the file type in d_type.  All
       applications must properly handle a return of DT_UNKNOWN.

Closing since it's not a libuv issue but a host one.

That makes sense, @saghul
So, returning DT_UNKNOWN in the tests is not a fault in its own.
I think "make check" shouldn't fail such a test but revert to the old behavior (v1.4.0).
Or you should have a "make pedantic_check" enforcing the new check policy.
In my opinion.

The make check needs to allow for a different file system to run onto.
 All other OS lies within a BRTFS tree.
How can I run make check? How can I exclude that single test?
My system should qualify for a clean check. But the current test fails because it's being run withing my $HOME. If I could run it in, say, /tmp, it would pass.
Any hint?

The make check needs to allow for a different file system to run onto.
 All other OS lies within a BRTFS tree.

Well, bad luck, I'm afraid :-S
I don't know what else to say. If the kernel doesn't support if and the test fails on some systems at least we know the test is correct. The way it was before, it hid problems (the field was never populated on Windwows), that's why I strengthened it.
That said, I'd probably accept a patch which skips the test if it's run on a non-supported filesystem, though writing such test is a future proof way is probably tricky, since support for other filesystems might be added in the future, and I wouldn't want to have a hardcoded test.

How can I exclude that single test?

There is no way to do that.

My system should qualify for a clean check.

You could try to work on a patch which skips it if that's unsupported.

I understand I am unlucky. My system is evaluated from my $HOME file system which is XFS.
/var and /tmp is EXT4. But I cannot test in /tmp not in /var.
[enzo@Feynman ~] cat /proc/filesystems
nodev   sysfs
nodev   rootfs
nodev   ramfs
nodev   bdev
nodev   proc
nodev   cgroup
nodev   cpuset
nodev   tmpfs
nodev   devtmpfs
nodev   debugfs
nodev   securityfs
nodev   sockfs
nodev   pipefs
nodev   devpts
        ext3
        ext2
        ext4
nodev   hugetlbfs
        vfat
nodev   ecryptfs
        fuseblk
nodev   fuse
nodev   fusectl
nodev   pstore
nodev   mqueue
        xfs
nodev   binfmt_misc
        btrfs

My kernel supports also BTRFS!
What's the objective of the test?
Is it a system(-wide) test? If so, you shouldn't run the test in a specific (random) directory.
As it's now the test is being run into one random directory among a number of different ones possibly within a number of different FSs!
A single system can use a number of FSs all the the same time, especially in large and complex setups.
I would say that at least in ./configure there should be an option either to define where to run the dirent tests or to exclude that test altogether.
IN MY (unlucky) OPINION.

debian jessie 8.0   test fs_async_dir failed

Please see my comment about supported filesystems in this thread.
On Jun 3, 2015 4:43 AM, "axlrose"<EMAIL_ADDRESS>wrote:

debian jessie 8.0 test fs_async_dir failed
—
Reply to this email directly or view it on GitHub
https://github.com/libuv/libuv/issues/296#issuecomment-108166925.

debian jessie 8.0 test fs_async_dir failed
xfs and tmpfs

Currently, only some filesystems (among them: Btrfs, ext2, ext3, and
ext4) have full support for returning the file type in d_type.  All
applications must properly handle a return of DT_UNKNOWN.

And, please, see my comment as well.


ci: doc-build: Install pyserial

Since 7eaca455faf6ff8d9a92c4392da281dab08d0c2b, pyserial is required for building docs.

Since 7eaca45, pyserial is required for building docs.

huh, this is crazy

Apparently, autodoc imports the modules to be documented, and DeviceAdapter is one of them ... Since this is not anything CI-specific (i.e. an actual requirement for building docs), I will close this and submit another PR adding it to doc/requirements.txt.

autodoc imports the modules to be documented. If any modules have side effects on import, these will be executed by autodoc when sphinx-build is run.

Superseded by https://github.com/zephyrproject-rtos/zephyr/pull/73223


Bug 2059791: [vSphere CSI driver Operator] didn't update 'vsphere_csi_driver_error' metric value when fixed the error manually

If operator creates a metric indicating error the metric is never
removed and reported even if user resolved the issue.
For example setting incorrect password for vsphere connection degrades
the operator state and emits a metric when periodic sync is performed.
If user then corrects the password and vsphere client succeeds this
metric is persisted.
This patch should ensure we reset the metric if we don't detect any
known negative state (defined in blockUpgradeOrDegradeCluster())

/bugzilla refresh

This is how I verified the patch, another option would be to set the metric to 0 (suggested by @jsafrane ) instead of resetting it, but I was not sure how to deal with the labels properly.
Observe connection failure due to wrong password
$ oc exec -n openshift-monitoring statefulsets/prometheus-k8s -- curl -ks -H "Authorization: Bearer $token" https://prometheus-k8s:9091/api/v1/query\?query\=vsphere_csi_driver_error |jq .
{
  "status": "success",
  "data": {
    "resultType": "vector",
    "result": [
      {
        "metric": {
          "__name__": "vsphere_csi_driver_error",
          "condition": "degraded",
          "container": "vmware-vsphere-csi-driver-operator",
          "endpoint": "vsphere-omp",
          "failure_reason": "vsphere_connection_failed",
          "instance": "<IP_ADDRESS>:8445",
          "job": "vmware-vsphere-csi-driver-operator-metrics",
          "namespace": "openshift-cluster-csi-drivers",
          "pod": "vmware-vsphere-csi-driver-operator-677c84d57c-kgvwh",
          "service": "vmware-vsphere-csi-driver-operator-metrics"
        },
        "value": [
<PHONE_NUMBER>.866,
          "1"
        ]
      }
    ]
  }
}

Fix the password
$  oc -n openshift-cluster-csi-drivers patch secret/vmware-vsphere-cloud-credentials -p '{"data":{"vcenter.sddc-44-236-21-251.vmwarevmc.com.password":"****************"}}'
secret/vmware-vsphere-cloud-credentials patched

Verify the metric has been reset
$ oc exec -n openshift-monitoring statefulsets/prometheus-k8s -- curl -ks -H "Authorization: Bearer $token" https://prometheus-k8s:9091/api/v1/query\?query\=vsphere_csi_driver_error |jq .
{
  "status": "success",
  "data": {
    "resultType": "vector",
    "result": []
  }
}

/retest e2e-vsphere-csi

/test e2e-vsphere-csi

Not ideal, but not end of the world either I think.

The metrics for "fixed" problems will get missing. @gnufied is it a problem? Will any alerting rules remember the old value ("1") and keep alerting?

/approve

/lgtm


Nothing happens when cloning one blob with an exist blob name

Storage Explorer Version: 1.12.0
Build: 20200312.1
Branch: master
Platform/OS: Windows 10/ Linux Ubuntu 19.04
Architecture: ia32/x64
Regression From: Previous release(1.12.0)
Steps to reproduce:

Expand one Non-ADLS Gen2 storage account -> Blob Containers.
Create a blob container-> Upload two blobs to it.
Select one blob and right click it -> Click 'Clone with New Name...'.
Specify the new name with another blob name.
Check the result.

Expect Experience:
An error dailog pops up.

Actual Experience:
Nothing happens.

Verified on build 20200313.5. This issue has been fixed. So we close it.


Passport-saml breaks callback

Describe the bug
Passport-saml version 3.2.1 has a bug where it cannot use single-line decryption private keys (https://github.com/node-saml/passport-saml/issues/672). This breaks the callback at /inbound-saml/sp/callback with a get_name:no start line error, detailed below. v0.17.0 is what uses this passport-saml version. v0.16.0, which uses passport-saml version 3.2.0, does not have this bug.
To Reproduce
Steps to reproduce the behavior:

Install and configure inbound-saml v0.17.0 as a side install to Gluu Server 4.4.1 as described here.
Add a trust relationship to an external IDP as described here. For the test, I used https://samltest.id.
Begin the OIDC flow with an appropriate request to the authorization endpoint, detailed here
Login to the IDP with credentials
Upon callback, inbound-saml will throw an exception
To verify, use v0.16.0 with the same setup.

Expected behavior
inbound-saml should decrypt the incoming SAML response properly.
Actual behavior
inbound-saml is unable to decrypt the SAML response with the one-line private key used by passport-saml because of the bug mentioned above, and throws an exception
Logs/Output
Error: error:0909006C:PEM routines:get_name:no start line
    at Object.privateDecrypt (node:internal/crypto/cipher:79:12)
    at decryptKeyInfoWithScheme (/root/inbound-saml-0.17.0/node_modules/xml-encryption/lib/xmlenc.js:258:26)
    at decryptKeyInfo (/root/inbound-saml-0.17.0/node_modules/xml-encryption/lib/xmlenc.js:246:14)
    at Object.decrypt (/root/inbound-saml-0.17.0/node_modules/xml-encryption/lib/xmlenc.js:187:24)
    at node:internal/util:361:7
    at new Promise (<anonymous>)
    at Object.decrypt (node:internal/util:347:12)
    at decryptXml (/root/inbound-saml-0.17.0/node_modules/passport-saml/src/node-saml/xml.ts:50:46)
    at SAML.validatePostResponseAsync (/root/inbound-saml-0.17.0/node_modules/passport-saml/src/node-saml/saml.ts:804:46)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

Additional context
Until passport-saml fixes this bug, 3.2.0 should be the version used.

@SafinWasi it looks like it may take "some" time to this issue be solved in passport-saml. Also, the issue you mentioned in passport-saml repo is only for HTTP-Post.  Can you confirm this is happening also with HTTP-Redirect binding?

Can confirm, this is happening with HTTP-Redirect
Tail of output:
Gb5tyLmjWhjlTY3M=-----END RSA PRIVATE KEY-----",
    "authnRequestBinding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect",
    "entryPoint": "https://samltest.id/idp/profile/SAML2/Redirect/SSO"
}
Error: error:0909006C:PEM routines:get_name:no start line
    at Object.privateDecrypt (node:internal/crypto/cipher:79:12)
    at decryptKeyInfoWithScheme (/root/inbound-saml-0.17.0/node_modules/xml-encryption/lib/xmlenc.js:258:26)
    at decryptKeyInfo (/root/inbound-saml-0.17.0/node_modules/xml-encryption/lib/xmlenc.js:246:14)
    at Object.decrypt (/root/inbound-saml-0.17.0/node_modules/xml-encryption/lib/xmlenc.js:187:24)
    at node:internal/util:361:7
    at new Promise (<anonymous>)
    at Object.decrypt (node:internal/util:347:12)
    at decryptXml (/root/inbound-saml-0.17.0/node_modules/passport-saml/src/node-saml/xml.ts:50:46)
    at SAML.validatePostResponseAsync (/root/inbound-saml-0.17.0/node_modules/passport-saml/src/node-saml/saml.ts:804:46)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

Debugging to get more info, as the linked passport-saml bug issue reports that HTTP-Redirect does not present this bug.

Found the issue and opened a new issue in xml-encryption module: https://github.com/auth0/node-xml-encryption/issues/99 .
It's an unreported breaking change (may also be seen as a bug)  in xml-encryption module, that replaced the node-forge module with the native crypto module to reduce dependency / security issues.
node-forge accepted "single line" private keys, crypto does not.
As passport-saml uses xml-encryption, we got this issue.  Gonna open a PR to patch in inbound-saml so we don't need to wait for dependencies fixes.


Is there a way to trigger the logic for choosing images based on resolution on resize

Right not I'm reainitialising baguetteBox. Btw, is there a point in destroying it first, of just recalling run is fine?

Yes, you should destroy it first to remove all event handlers and free the memory.

Closing

@feimosi The main question was in the title...

That's not possible, image size is chosen when you run the gallery.

Cool, thanks for the answer!


Update the README

Currently there's no useful information for getting up and running with this plugin. In preparation for a release we should rectify this.

@starbelly can we close this now or is there anything more you think should be changed/added to the README.md file?

I'm closing this now since I think there is enough info in the README.md file to getting up and running.


Incorrect __typename type

In the following, __typename should be possibly undefined.

For me querying {  __typename } returns { "__typename": "Query" }
Do you mean it should be always defined?

Do you mean it should be always defined?

Yep!

Are you open for a PR for this? It breaks our ability to discriminate properly.

The ? on the key makes it so an upper level === undefined check still isn't good enough to make TS narrow the type.

Tell me if i understood correctly, you want the __typename field to be Type instead of Type | undefined when you are explicitly querying __typename, is this right?

Yeah


StoragePolicies Templated Move and Copy constructor

NGIN::Meta::StoragePolicies have a templated copy and move constructor that does not handle the case where T = Itself.
Todo markers have been added at affected locations in code

Not sure what the cleanest solution is. SFINAE using enable_if or concepts? Maybe constexpr string is fine aswell


Allow parsing host options from JSON file

What
Adds the ability to parse Docker host configurations from a JSON file.
Why
This lets us specify options like shared memory size, additional capabilities, memory size, etc. that cannot be configured using the docker-slim command line
How Tested
host-config.json:
{
    "ShmSize":<PHONE_NUMBER>,
    "Memory":<PHONE_NUMBER>,
    "CapAdd": ["WAKE_ALARM"],
    "PublishAllPorts": true
}

% ./dist_mac/docker-slim build --target python:3.9.5-buster --http-probe=false --exec "df /dev/shm"
docker-slim: message='join the Gitter channel to ask questions or to share your feedback' info='https://gitter.im/docker-slim/community'
docker-slim: message='join the Discord server to ask questions or to share your feedback' info='https://discord.gg/9tDyxYS'
docker-slim: message='Github discussions' info='https://github.com/docker-slim/docker-slim/discussions'
cmd=build info=exec message='changing continue-after from probe to nothing because http-probe is disabled'
cmd=build info=exec message='updating continue-after mode to exec'
cmd=build state=started
cmd=build info=params keep.perms='true' tags='' target='python:3.9.5-buster' continue.mode='exec' rt.as.user='true'
cmd=build state=image.inspection.start
cmd=build info=image id='sha256:9b0d330dfd02b60939072b19a42eedf31064bc32ae642d4fca7468778421c787' size.bytes='885904109' size.human='886 MB'
cmd=build info=image.stack index='0' name='python:3.9.5-buster' id='sha256:9b0d330dfd02b60939072b19a42eedf31064bc32ae642d4fca7468778421c787'
cmd=build state=image.inspection.done
cmd=build state=container.inspection.start
cmd=build info=container status='created' name='dockerslimk_31486_20210701223428' id='05e5f9d0d65bfc2d66c64b4641d7e8b3c77b4a890f779c38cf0b8dbeeeaaa9a0'
cmd=build info=cmd.startmonitor status='sent'
cmd=build info=event.startmonitor.done status='received'
cmd=build info=container name='dockerslimk_31486_20210701223428' id='05e5f9d0d65bfc2d66c64b4641d7e8b3c77b4a890f779c38cf0b8dbeeeaaa9a0' target.port.list='' target.port.info='' message='YOU CAN USE THESE PORTS TO INTERACT WITH THE CONTAINER'
cmd=build info=continue.after message='provide the expected input to allow the container inspector to continue its execution' mode='exec'
cmd=build info=continue.after mode='exec' shell='df /dev/shm'
docker-slim[build][exec]: output: Filesystem     1K-blocks  Used Available Use% Mounted on
docker-slim[build][exec]: output: shm                65536     0     65536   0% /dev/shm
cmd=build info=continue.after mode='exec' exitcode='0'
cmd=build state=container.inspection.finishing
cmd=build state=container.inspection.artifact.processing
cmd=build state=container.inspection.done
cmd=build state=building message=building optimized image
cmd=build state=completed
cmd=build info=results size.original='886 MB' size.optimized='28 MB' status='MINIFIED' by='32.24X'
cmd=build info=results image.name='python.slim' image.size='28 MB' has.data='true'
cmd=build info=results artifacts.location='/Users/jgibson/workspace/docker-slim/dist_mac/.docker-slim-state/images/9b0d330dfd02b60939072b19a42eedf31064bc32ae642d4fca7468778421c787/artifacts'
cmd=build info=results artifacts.report='creport.json'
cmd=build info=results artifacts.dockerfile.reversed='Dockerfile.fat'
cmd=build info=results artifacts.dockerfile.optimized='Dockerfile'
cmd=build info=results artifacts.seccomp='python-seccomp.json'
cmd=build info=results artifacts.apparmor='python-apparmor-profile'
cmd=build state=done
cmd=build info=commands message='use the xray command to learn more about the optimize image'
cmd=build info=version status='OUTDATED' local='1.36.1-4-gf5ae1f1' current='1.36.1'
cmd=build message='Your version of DockerSlim is out of date! Use the "update" command or download the new version from https://dockersl.im/downloads.html'
cmd=build info=report file='slim.report.json'
docker-slim: message='join the Gitter channel to ask questions or to share your feedback' info='https://gitter.im/docker-slim/community'
docker-slim: message='join the Discord server to ask questions or to share your feedback' info='https://discord.gg/9tDyxYS'
docker-slim: message='Github discussions' info='https://github.com/docker-slim/docker-slim/discussions'

% ./dist_mac/docker-slim build --target python:3.9.5-buster --http-probe=false --exec "df /dev/shm" --cro-host-config-file host-options.json
docker-slim: message='join the Gitter channel to ask questions or to share your feedback' info='https://gitter.im/docker-slim/community'
docker-slim: message='join the Discord server to ask questions or to share your feedback' info='https://discord.gg/9tDyxYS'
docker-slim: message='Github discussions' info='https://github.com/docker-slim/docker-slim/discussions'
cmd=build info=exec message='changing continue-after from probe to nothing because http-probe is disabled'
cmd=build info=exec message='updating continue-after mode to exec'
cmd=build state=started
cmd=build info=params target='python:3.9.5-buster' continue.mode='exec' rt.as.user='true' keep.perms='true' tags=''
cmd=build state=image.inspection.start
cmd=build info=image id='sha256:9b0d330dfd02b60939072b19a42eedf31064bc32ae642d4fca7468778421c787' size.bytes='885904109' size.human='886 MB'
cmd=build info=image.stack index='0' name='python:3.9.5-buster' id='sha256:9b0d330dfd02b60939072b19a42eedf31064bc32ae642d4fca7468778421c787'
cmd=build state=image.inspection.done
cmd=build state=container.inspection.start
cmd=build info=container id='03a12c4be96ceab6bd6fcb5d33a9ed634fee1b0e7539bdf74e897650537b08a1' status='created' name='dockerslimk_31516_20210701223451'
cmd=build info=cmd.startmonitor status='sent'
cmd=build info=event.startmonitor.done status='received'
cmd=build info=container target.port.list='' target.port.info='' message='YOU CAN USE THESE PORTS TO INTERACT WITH THE CONTAINER' name='dockerslimk_31516_20210701223451' id='03a12c4be96ceab6bd6fcb5d33a9ed634fee1b0e7539bdf74e897650537b08a1'
cmd=build info=continue.after mode='exec' message='provide the expected input to allow the container inspector to continue its execution'
cmd=build info=continue.after shell='df /dev/shm' mode='exec'
docker-slim[build][exec]: output: Filesystem     1K-blocks  Used Available Use% Mounted on
docker-slim[build][exec]: output: shm              1048576     0   1048576   0% /dev/shm
cmd=build info=continue.after mode='exec' exitcode='0'
cmd=build state=container.inspection.finishing
cmd=build state=container.inspection.artifact.processing
cmd=build state=container.inspection.done
cmd=build state=building message=building optimized image
cmd=build state=completed
cmd=build info=results status='MINIFIED' by='32.24X' size.original='886 MB' size.optimized='28 MB'
cmd=build info=results image.name='python.slim' image.size='28 MB' has.data='true'
cmd=build info=results artifacts.location='/Users/jgibson/workspace/docker-slim/dist_mac/.docker-slim-state/images/9b0d330dfd02b60939072b19a42eedf31064bc32ae642d4fca7468778421c787/artifacts'
cmd=build info=results artifacts.report='creport.json'
cmd=build info=results artifacts.dockerfile.reversed='Dockerfile.fat'
cmd=build info=results artifacts.dockerfile.optimized='Dockerfile'
cmd=build info=results artifacts.seccomp='python-seccomp.json'
cmd=build info=results artifacts.apparmor='python-apparmor-profile'
cmd=build state=done
cmd=build info=commands message='use the xray command to learn more about the optimize image'
cmd=build info=version status='OUTDATED' local='1.36.1-4-gf5ae1f1' current='1.36.1'
cmd=build message='Your version of DockerSlim is out of date! Use the "update" command or download the new version from https://dockersl.im/downloads.html'
cmd=build info=report file='slim.report.json'
docker-slim: message='join the Gitter channel to ask questions or to share your feedback' info='https://gitter.im/docker-slim/community'
docker-slim: message='join the Discord server to ask questions or to share your feedback' info='https://discord.gg/9tDyxYS'
docker-slim: message='Github discussions' info='https://github.com/docker-slim/docker-slim/discussions'

verifying that the shared memory size has been changed; this can be repeated to check the other options in various ways

thanks for the PR @jgibson2 ! reviewing...

@jgibson2 what were the runtime parameters you needed? Do you mind sharing a bit about your environment? What kind of containerized applications do you have?

We needed to increase the shared memory size for multithreading Pytorch dataloaders. I figured I'd might as well just make something that would work for all the options instead of adding another flag. @kcq

@jgibson2 Thanks for the context! Is there a dockerized pytorch sample app you'd recommend? It'll be great to add, at least, one example in the examples repo ( https://github.com/docker-slim/examples ).


appetize action does not support android platform

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I have read the Contribution Guidelines

Issue Description
Appetize action does not support android platform.
Environment
fastlane version (run fastlane -v):
fastlane 1.84.0
Do you use bundler to execute fastlane (i.e. bundle exec fastlane)?
yes
Do you use a Ruby environment manager (e.g. chruby, rbenv, rvm)?
rbenv

Hi @louislarry! Thanks for working with us on your pull request. Because we are already working with you there, I'm going to go ahead and close this ticket out. Thanks!


Typos

Link to problem area:
chronological -> https://github.com/matrix-org/matrix-doc/blob/1ad5ff4179cfa2b62d6be47ad6ed8bde95ec2e41/data/api/client-server/message_pagination.yaml#L77
Issue
Update

Can I work on it?

please don't feel you need to ask for permission to work on an issue - pull requests are always welcome, particularly in cases like this where there is no doubt of the change being accepted.
Better to say "I'll work on this", just to avoid duplicating work.


Updated getSchemas to directly call internal method

Currently the time complexity for getSchemas method is O(n^2) considering n number of schemas.
The getSchemaByName call in it can be replaced with getSchemaByNameInternal to reduce the complexity to O(n)

Nice little improvement. Looks good to me.


Control which sensor(s) is(are) active

Provide a network target configuration that determines which sensors are alertable. Perhaps a bit mask for the 3 sensors. If a sensor is not alertable, no Abnormal CO2 notification will be issued

If using a bit mask, the view in homebridge-configure-ui-x should be:
(0) - None (marriage saver)
(1) - Time￼ Only
(2) - Packet Loss Only
(3) - Time & Packet Loss
(4) - Standard Deviation Only
(5) - Time & Standard Deviation
(6) - Packet Loss & Standard Deviation
(7) - All {Default}


Remove "url" format

Mark as deprecated and remove in the version 7.

All formats are moved to Ajv-formats in v7


[FLINK-32222] avoid using non-public DataInputDeserializer and DataOutputSerializer

Linked to this PR:

Removed non public classes usages except Preconditions, VisibleForTesting and ClosureCleaner for which violations are added here. I updated violations store in advance of the merge of the above PR that fixes the Connector rule.

Removed overkill ThreadLocal cache as the other similar connectors, don't cache Streams for Split serialization. This allows simpler and more standard serialization code.

@zentol PTAL ?

This doesn't seem like such a bad replacement for the data*serializers. +1
This would also work, and may look nicer? shrug
        final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        try (final ObjectOutputStream objectOutputStream =
                        new ObjectOutputStream(byteArrayOutputStream)) {
            BigIntegerSerializationUtils.write(
                    cassandraSplit.getRingRangeStart(), objectOutputStream);
            BigIntegerSerializationUtils.write(
                    cassandraSplit.getRingRangeEnd(), objectOutputStream);
        }
        return byteArrayOutputStream.toByteArray();

But that is the same code I pushed except you've put the ByteArrayOutputStream creation outside of the try-with-resources
and the return outside of the try block ?
This is more of a coding style matter. The other connectors I've looked at (kafka and pulsar) and the other serializer in cassandra connector all use the coding style I used, so for consistency I would tend to keep it.

But that is the same code I pushed except

Main thing is avoiding the explicit flush call :shrug:

But that is the same code I pushed except

Main thing is avoiding the explicit flush call shrug

Ah, I missed it ! Yeah, better, having the try-with-resources closing before the return statement allows automatically calling ObjectOutputStream#close() that does the flush.
Thanks for the suggestion, I'll update the other Cassandra serializer as well.

But that is the same code I pushed except

Main thing is avoiding the explicit flush call shrug

Ah, I missed it ! Yeah, better, having the try-with-resources closing before the return statement allows automatically calling ObjectOutputStream#close() that does the flush. Thanks for the suggestion, I'll update the other Cassandra serializer as well.

Done, merging as soon as I have the tests passing


Fix invoice pdf tpl |trans usage to invoice locale instead of curret user locale

Currently pdf is generated in current user locale instead of invoice locale, which will result in incorrect translations in pdf generated from admin panel, if admin user locale doesn't match shop user locale.
Same issue and same solution as for SyliusRefundPlugin.

Solved at https://github.com/Sylius/InvoicingPlugin/pull/251


Integrate Mentee Accounts / Refactor Backend

Description
Update the API 🌯 so that it supports the new endpoints along with Mentee Accounts as well!
Screenshot Todos

Tasks

[ ] Add private field for Mentee Accounts
[ ] Refactor Backend Endpoints/Code
[ ] Integrate into frontend
[ ] Refactor frontend with suggested Kendall tips

Just a quick change, mentees should have the ability to make their profile private so let's add a field in MenteeProfile to denote that

Also can you add a field in MenteeProfile for a video link


Bug Report: note textures messed up

Please check for duplicates, similar issues or closed issues with the same problem, as well performing simple troubleshooting steps (such as deleting the export folder if it's an issue with compiling, reinstalling Kade Engine) before submitting an issue.
If you are playing a downloaded version of the game, what operating system are you using?
Windows (x86), Windows (x86_64), Linux, or macOS? Specify below.
macos
What version of the game are you using? Look in the bottom left corner of the main menu.
ke  1.8
Have you identified any steps to reproduce the bug? If so, please describe them below. Use images if possible.
no real steps
Please describe your issue. Provide extensive detail and images if possible.
just playing any song loads the note textures in a weird way

did u change the note texture?


Update scala-library to 2.12.15

Updates org.scala-lang:scala-library from 2.12.12 to 2.12.15.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (2.12.12).
You might want to review and update them manually.
.github/workflows/ci.yaml

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang", artifactId = "scala-library" } ]

labels: library-update, semver-patch, old-version-remains

Codecov Report

Merging #255 (73f8f39) into master (0a1dca2) will increase coverage by 1.58%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #255      +/-   ##
==========================================
+ Coverage   66.42%   68.01%   +1.58%
==========================================
  Files          19       18       -1
  Lines         557      544      -13
  Branches       21       22       +1
==========================================
  Hits          370      370
+ Misses        187      174      -13

Impacted Files
Coverage Δ

...io/github/vigoo/clipp/VersionSpecificParsers.scala

Continue to review full report at Codecov.

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


EMA ATC vs WHO ATC

We need to make a value set for EMA "ATC" and import the concept map - and see how to use it.

Duplicate


Exception when timeout reached

I'm seeing the following when I run one if the huge example traces with a timeout.
.....
b'.4byte 0xf95ff06f # jal x0, 1048522\n'
b'*** Exception running callback: \n'
b'doRVFIDII should not be called when both implementations are not alive\n'
b'CallStack (from HasCallStack):\n'
b'  error, called at src/QuickCheckVEngine/MainHelpers.hs:158:8 in main:QuickCheckVEngine.MainHelpers\n'

Fixed by https://github.com/CTSRD-CHERI/QuickCheckVEngine/commit/8d3faf7d49beaf3dc3f7c973bfc9559e56092bc4 ?
Sorry for the delay!

Yes it's fixed. Thanks!


plugin: use process id from FFXIV ACT Plugin

FFXIVProcess.cs FindProcess attempts to find the DX11 version of FFXIV that is running.  For folks running multiple copies of FFXIV at once, this will only ever find the first one.  Fix this code to prioritize using the process id that the FFXIV ACT Plugin is using.  It should still reject dx9 versions and handle processes exiting / restarting etc, but prefer using the FFXIV ACT Plugin version over the FirstOrDefault.

I found that OverlayPlugin has a OnProcessChanged event in FFXIVMemory class, I don't know if it can be used in this cases tho 😂

OverlayPlugin's OverlayHider hooks an FFXIV plugin handler which I think is a better target?
https://github.com/ngld/OverlayPlugin/blob/45d61da6ec12348c7c90247bf0b012078a7c8f71/OverlayPlugin.Core/OverlayHider.cs#L33

Found that triggernometry hooks FFXIV_ACT_Plugin and invokes the GetCurrentFFXIVProcess method via "Reflection"(if I spell right?), which seems better 'cause you don't need to wait for a event?
https://github.com/paissaheavyindustries/Triggernometry/blob/beaa2695e104cf0e627c9604b9ec044775c839d2/Source/Triggernometry/PluginBridges/BridgeFFXIV.cs#L691

You should use the event handler since that's the only way to notice a changed process ID (the user can restart the game or select a different process at any time which you won't notice if you call GetCurrentFFXIVProcess() directly).
From what I've seen, the FFXIV plugin triggers the event handler during startup so you don't have to call GetCurrentFFXIVProcess() at all.
Both OverlayHider and FFXIVMemory use the event (through repository.RegisterProcessChangedHandler which just registers a new event handler on DataSubscription.ProcessChanged).

From what I've seen, the FFXIV plugin triggers the event handler during startup so you don't have to call GetCurrentFFXIVProcess() at all.

@ngld I think this is incorrect.  It appears that this is a race, and you should always initialize with the current process.
Ravahn says "ProcessChanged is an event my plugin raises when it first detects the game, and when the game process id changes."


Problem With Autocomplete for "else"

Nunjucks syntax for conditional flow of if and else is: {% if condition%} {% else %} . However, the autocomplete is prompting . {% if condition%} {% else condition %}

@Gchesta please check again and confirm this is an issue because I can't recreate it:

I cannot replicate this either so I'm going to close the issue

it must have been a glitch or something


Getting error "Subprocess exited with error<PHONE_NUMBER>" while running cdk synth

cdk synth results in error as shown in the below screenshot.

Steps to reproduce

Clone the repository.
cd websocket-chat-application\infrastructure-net7
Run cdk synth

I experience the same error as @ankushjain358 after a clean solution build with Docker Desktop up and running.

This should be fixed now. Please pull the latest version and let me know how it goes :)

I'm trying to walk through the CDK sample tutorial and getting the same error.
steps:

cdk init app --language csharp
dotnet build src
cdk synth or cdk list

Unhandled exception. Amazon.JSII.Runtime.JsiiError: Child process exited unexpectedly!
   at Amazon.JSII.Runtime.Services.Runtime.ReadResponse()
   at Amazon.JSII.Runtime.Services.Client.ReceiveResponse[TResponse]()
   at Amazon.JSII.Runtime.Services.Client.Hello()
   at Amazon.JSII.Runtime.Services.ServiceContainer.BuildServiceProvider(ILoggerFactory loggerFactoryOverride)
   at Amazon.JSII.Runtime.Services.ServiceContainer.<>c.<.cctor>b__8_0()
   at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
   at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
   at System.Lazy`1.CreateValue()
   at System.Lazy`1.get_Value()
   at Amazon.JSII.Runtime.Services.ServiceContainer.get_ServiceProvider()
   at Amazon.JSII.Runtime.Deputy.JsiiTypeAttributeBase.Load(Assembly assembly)
   at Amazon.JSII.Runtime.Deputy.JsiiTypeAttributeBase.Load(Assembly assembly)
   at Amazon.JSII.Runtime.Deputy.DeputyBase..ctor(DeputyProps props)
   at Constructs.Construct..ctor(DeputyProps props)
   at Amazon.CDK.Stage..ctor(DeputyProps props)
   at Amazon.CDK.App..ctor(IAppProps props)
   at CdkWorkshop.Program.Main(String[] args) in C:\Development\cdk-workshop\src\CdkWorkshop\Program.cs:line 12

CDK version - 2.149.0 (build c8e5924)
npm version - 10.8.2
node version - v22.5.0
windows 11 - 22H2 (22621.3880)
dotnet sdks
6.0.424 [C:\Program Files\dotnet\sdk]
8.0.303 [C:\Program Files\dotnet\sdk]
please advice


[Enterprise InfluxDB] Update version numbers

Update version numbers on the following pages:

[x] administration/upgrading
[x] features/cluster-commands
[x] guides/migration
[x] production_installation/data_node_installation
[x] production_installation/meta_node_installation
[x] quickstart_installation/cluster_installation
[x] troubleshooting/reporting-issues

done


CoordinatedBolt is using the wrong timeout for storing state

This is the same problem as #130.

Fixed for 0.7.0. The max of the timeouts is used.


samples: nrf52: mesh: onoff-app: add missing CONFIG_GPIO

Add missing CONFIG_GPIO required by the nRF52 board-specific Bluetooth
Mesh On/Off application sample.
Signed-off-by: Henrik Brix Andersen<EMAIL_ADDRESS>

Codecov Report

Merging #13453 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #13453   +/-   ##
=======================================
  Coverage    52.5%    52.5%
=======================================
  Files         318      318
  Lines       46526    46526
  Branches    10754    10754
=======================================
  Hits        24429    24429
  Misses      17198    17198
  Partials     4899     4899

Continue to review full report at Codecov.

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


Allow az vault name to be included in secret name

This modifies the :azure_key_vault fetcher so that it's possible
to fetch a secret by embedding the vault name in the secret name
instead of providing it in configuration. This continues down the path
of making secrets accessible with less typing and sane default
expectations.
Example:
file "/home/ubuntu/test2" do
  content secret(name: "test-chef-infra-secrets/test-secret-1", service: :azure_key_vault)
end

Specifying vault name via configuration is still supported, but if it is
specified in the secret name as well that will take precedence.
Fixes: #11852
Signed-off-by: Marc A. Paradise<EMAIL_ADDRESS>

Thanks @marcparadise


<EMAIL_ADDRESS>Identifier 'Types' has already been declared (24:2)    22 |   DeprecatedTypes.IsConnectedHandler,   23 |   /// @ts-ignore Typescript des not like the trailing comma that Prettier insists upon > 24 |   Types.NetInfoChangeHandler

Environment
System:
OS: Windows 7
CPU: (4) x64 Intel(R) Core(TM) i5-5300U CPU @ 2.30GHz
Memory: 7.65 GB / 15.89 GB
Binaries:
Node: 10.15.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.3.2 - C:\Users\sridhar.alagirisamy\AppData\Roaming\npm\yarn.CMD
npm: 6.5.0 - C:\Program Files\nodejs\npm.CMD
SDKs:
Android SDK:
Android NDK: 15.2.4203891
IDEs:
Android Studio: Version  <IP_ADDRESS> AI-171.4443003
Platforms
Android
Versions

Android:
iOS:
react-native-netinfo: 4.1.5
react-native: 0.60.4
react: 16.8.6

Description
After running the below command, getting the above error.
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

Any updates on the issue please

@SridharAlagirisamy :wave: Thanks for submitting this. Can you let me know if you are using Typescript in your own app? Can you also send over the contents of these files (if your project has them):

babel.config.js or .babelrc
tsconfig.json
package.json

Same issue here !

@matt-oakes 👋, okay firstly  I'm not using Typescript in my app,
*** My file .babelrc:**
`{
"presets": ["module:metro-react-native-babel-preset"],
"only": [
"./**/*.js",
"node_modules/jest-runtime"
]
}
`
*** jsconfig.json :**
{     "compilerOptions": {         "allowJs": true,         "allowSyntheticDefaultImports": true     },     "exclude": [         "node_modules"     ] }

Same issue here, not using typescript on ios

Here is my .babelrc
{
  "plugins": ["@babel/plugin-proposal-optional-chaining", "@babel/plugin-proposal-nullish-coalescing-operator"],
  "presets": ["react-native"]
}

and my package.json
  "dependencies": {
    "buffer": "^5.0.6",
    "create-react-class": "^15.6.3",
    "eslint": "^4.18.1",
    "eslint-config-airbnb": "^16.1.0",
    "eslint-plugin-import": "^2.9.0",
    "eslint-plugin-jsx-a11y": "^6.0.3",
    "eslint-plugin-react": "^7.7.0",
    "expo": "^34.0.0",
    "expo-background-fetch": "^6.0.0",
    "expo-camera": "^~6.0.0",
    "expo-constants": "~~6.0.0",
    "expo-permissions": "~6.0.0",
    "expo-task-manager": "^6.0.0",
    "lodash": "^4.17.4",
    "moment": "^2.22.2",
    "react": "16.8.3",
    "react-native": "https://github.com/expo/react-native/archive/sdk-34.0.0.tar.gz",
    "react-native-button": "^2.3.0",
    "react-native-gesture-handler": "~1.3.0",
    "react-native-keyboard-aware-scrollview": "^2.0.0",
    "react-native-reanimated": "~1.1.0",
    "react-native-svg": "~9.5.1",
    "react-native-uuid": "^1.4.9",
    "react-navigation": "^3.0.0",
    "sentry-expo": "~1.13.0"
  },
  "devDependencies": {
    "@babel/plugin-proposal-nullish-coalescing-operator": "^7.4.4",
    "@babel/plugin-proposal-optional-chaining": "^7.2.0",
    "babel-jest": "23.4.2",
    "babel-preset-react-native": "5.0.0",
    "flow-bin": "^0.42.0",
    "jest": "23.5.0",
    "react-test-renderer": "16.3.1"
  },
  "jest": {
    "preset": "react-native"
  }
}

Unfortunately, I can't see what could be causing the issue. Are you able to provide a minimal reproducible example for me to take a look at?

+1 some problem

I had this issue too, with a react native application I had upgraded from 0.55.4 to 0.60.4. I tried making a fresh application in order to minimally reproduce the issue, but I couldn't get it to reproduce. That's when I noticed that fresh react native applications on 0.60.4 come with babel presets that my upgraded application didn't have.
I ended up solving the issue by installing the babel presets I was missing:
yarn add metro-react-native-babel-preset

And then adding this to my babel.config.js file (could be .babelrc for you):
module.exports = {
  presets: ['module:metro-react-native-babel-preset'],
};

That would make sense. If you have not correctly upgrade React Native, then you are going to have all sorts of issues with many libraries. It was happing specifically for this one because we are using Typescript, which is enabled by that Babel config.
I'm going to close this issue now as there is no indication that it is an issue in this library, but instead an issue with how you have your projects configured. I recommend starting by looking at your Babel config.


The format of fine-tune dataset

I want to fine-tune my dataset on my local computer, but I am encountering some problems while loading datasets. Is it possible for you to provide me with the format of the dataset you used for training? This would help me understand how to modify my local dataset to be suitable for loading it into the training environment.

Hey @utilk9823,
You can format your data in a similar format to this https://huggingface.co/datasets/ahmed-masry/chartqa_without_images


New requirements for libmagic, pkg-config, brew & vcpkg

TBD @robo9k
Check which OS versions would become (un)supported by switching to pkg-config / vcpkg and libmagic >= 5.39, see #1 and #35

[ ] https://wiki.debian.org/DebianReleases#Production_Releases
[ ] https://wiki.ubuntu.com/Releases
[ ] macOS Brew
[ ] https://vcpkg.link/ports/libmagic

Debian
stable / 12 / bookworm
https://packages.debian.org/bookworm/amd64/libmagic-dev/filelist
5.44 ✔
libmagic.a, libmagic.so ✔
libmagic.pc ✔
oldstable / 11 / bullseye
https://packages.debian.org/bullseye/amd64/libmagic-dev/filelist
5.39 ✔
libmagic.a, libmagic.so ✔
libmagic.pc ✔
Ubuntu
22.04.2 LTS Jammy Jellyfish
https://packages.ubuntu.com/jammy/amd64/libmagic-dev/filelist
5.41 ✔
libmagic.a, libmagic.so ✔
libmagic.pc ✔
20.04.6 LTS Focal Fossa
https://packages.ubuntu.com/focal/amd64/libmagic-dev/filelist
5.38 ❌
libmagic.a, libmagic.so ✔
libmagic.pc ❌

macOS
Homebrew
https://formulae.brew.sh/formula/libmagic#default
5.45 ✔
libmagic.a, libmagic.dylib ✔
libmagic.pc ✔

Windows
vcpkg
https://vcpkg.link/ports/libmagic
5.40 ✔
~ 2023-04-01
I think it supports all vcpkg triplets, but not sure

Assuming libmagic >= 5.39, the following features can be dropped (see #16):

v5-04
v5-05
v5-10
v5-13
v5-20
v5-21
v5-22
v5-23
v5-25
v5-27
v5-32
v5-35
v5-38

Iirc the API didn't change in .39, so v5-40 is the first one to keep.
Looking at the supported versions, the lower bound is .38, so default feature wouldn't change.


Better allocator

Changing the allocator is one of the low hanging fruits for improving performance. We should change the current one to mimalloc, an allocator designed by Microsoft for similar patterns to qdbp.

The pool allocator never frees freelists that are mostly empty. We should do this however

Also, potentially use linked list within contiguous memory for pool allocator?


Push notification (HomeKit) when the system has been triggered, but before the Alarm is activated?

Hey!
I am using a NodeMCU 1.0 as my alarm system connected to my HomeKit system using Homebridge. I am looking for a way to receive a push notification when the system has been triggered, but before the Alarm is activated. Is that possible?
I know that I can have a zone set to a beeper, however I do not have a free zone...
Thanks!

The Konnected Homebridge plugin is developed separately and open-source:
https://github.com/konnected-io/homebridge-konnected
Pull requests are welcome.


Uploading Images

Today I performed a test trying to upload an image at the img directory but was not successful.
The image upload bar finished the process but the next step goes to a blank page. Tried to reload "resend" this blank page did not reload. Any ideas why this is happening?

Not sure what happened that day I was trying to upload an image. Probably a Github bug or their server was having some problems. They still slow to respond after editing. One have to reload the browser 3-4 times for the changes to be visible.
Uploading images now is working fine.


Packages table has 58K records and this Query is not returning for ever

https://github.com/cloudfoundry/cloud_controller_ng/blob/3286333334275ff19bc2396fe81f6f3402bc724b/lib/cloud_controller/backends/runners.rb#L97-L101

@amulyas CF has stopped supporting the DEA and all code involving the DEA, including that snippet, has since been removed. We'd suggest moving all your environments over to diego at this time.
Closing this out, but let us know if there's anything else we can help with.


Gets errors because the N and E in jwk-key is of length 342 (not divisible by 4)

When I run the test, I get an error inside CL-BASE64:BASE64-STRING-TO-USB8-ARRAY called from OPENID-KEY::B64-INTEGER called from OPENID-KEY::JWK-KEY, because the length of the argument is 342, which is not divisible by 4, and CL-BASE64:BASE64-STRING-TO-USB8-ARRAY errors on that.
It is not obvious to me if a length not divisible by 4 is valid here. If it is then it is a bug in cl-base64.
Added: I tried to raise the issue in cl-base64, but I didn't find how. I think the sources are here: http://git.kpe.io/?p=cl-base64.git;a=summary, but I am not sure, and it is not obvious how to comment about it.
The bug in cl-base64 is that in the file decode.lisp, when it compares the length of the target array/string, it uses ( (truncate length 4) 3).* It should be using ceiling instead of truncate.
After I changed all occurrences of truncate in the file decode.lisp to ceiling the test run successfully.

I gonna investigate this later.


Chat - When long pressing url, copy to URL to clipboard icon is greyed out

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.41-2
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Launch app
Tap on a chat
Enter a url and send message eg- hai.com
Long press the message

Expected Result:
When long pressing url, copy to URL to clipboard icon must be in green
Actual Result:
When long pressing url, copy to URL to clipboard icon is greyed out
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/user-attachments/assets/1dc0e3de-c6f6-4e0c-bcd6-b2baf8cbc5dc
View all open jobs on GitHub

Production:

@dubielzyk-expensify can you clarify if this is expected or not?

We actually changed these option rows to now have grey color, so this is as expected.
We made the change here: https://github.com/Expensify/App/pull/49569#issuecomment-2365197512

thanks @dubielzyk-expensify!


CONTRIBUTING.md references Gitter

% git grep -i gitter
CONTRIBUTING.md:please let us know in our Gitter room [sbt/zinc-contrib][].
CONTRIBUTING.md:[sbt/zinc-contrib]: https://gitter.im/sbt/zinc-contrib

@eed3si9n I'd fix it but I don't actually know what info you want included instead.
(or, maybe I'm wrong to assume you want to ditch that Gitter room...)

I would like to ditch all Gitter rooms. I can't make commitment to be in any chat rooms, so we should probably remove the reference.

PR: #1030
I also enabled Discussions in this repo: https://github.com/sbt/zinc/discussions


How to set the label of negative sample point？

Thank you for sharing. I have a question about the prompt, when the prompt is a point, there's no doubt that the label of the positive sample point is set to 1, so if it's a negative sample point, is its label set to -1, or is it set to 0？

Point label 1 for positive points.
Point label 0 for negative points.
Point label -1 for ignored points.
Ignored points are used to fill the point prompt tensor into the same shape.

Thank you for your reply.
I also have a question is, when the current algorithm is testing the image, I see that the pre-processing stage does not carry out a unified spacing operation, is there no need to deal with it?
In other words, when you train the model, do you unify the spacing to a fixed value for data of different spacing?

No need to deal with it. We did not conduct the unified spacing operation during training phase and inference phase. This is due to the data scalability considerations.


Resolve issues with PWA

Describe at a high level the solution you're providing
Resolve issues with PWA
Is this a patch, a minor version change, or a major version change
Minor
Is this related to an open issue?
https://github.com/Call-for-Code/Liquid-Prep/issues/77
Additional context
Add any other technical detail or considerations here.

@aaronfand thank you for the changes. The changes related to overlap issue has resolved the temperature and crops overlapping in UI.
But the changes related to PWA issue seem to be duplicate entries in angular.json and app.module.ts files. The changes you added to these files already exist.
Also, the PWA issue still exists with the new changes. Does it work in your environment? Wondering if I missed something while testing in my machine. I'm running the app by executing the command npm start.


HDDS-4828. SCM should go into "safe mode" until there is at least 1 pipeline to work with after finalization.

What changes were proposed in this pull request?
After finalization of SCM, it will take at least a heartbeat for datanodes to finalize and update their layout versions. Only after this SCM will make pipelines. This feature will make SCM wait for at least one pipeline to be created before returning from finalization, so that writes can go through right after SCM is finalized.
This change also fixes the existing TestHDDSUpgrade integration test after SCM HA to work again and test this change.
What is the link to the Apache JIRA
HDDS-4828
How was this patch tested?
Existing integration test modified to check the new behavior.

@errose28 findbugs fix (6822b1074ee72e008d2aa6c927bb82069477370b) needs to be merged into feature branch.


Split useInvitation into two

Project organization

Related trello card

Description
Split useInvitation into two.
So user can use useCreateInvitation with signer required and useAcceptInvitation without.

Can be reopened later on.


Loading private_ssh_key into ssh-agent hanging

Describe the bug
I have setup a new elastic-ci-stack-for-aws (v6.7.0) and uploaded an SSH private key to the created S3 bucket. When running a pipeline the first job seems to download the key just fine but fails to load the key into the agent.
Steps To Reproduce
Steps to reproduce the behavior:

Setup new elastic-ci-stack-for-aws with default settings
Upload an SSH private key (I tried both Ed25519 and RSA-4096) to the generated S3 secrets bucket in the root with the name private_ssh_key
Trigger a new pipeline ensuring it runs on the new stack
See the first job hang when trying to load the key into the ssh agent

Running global environment hook | 0s
-- | --
  | 🌏 Setting up environment variables | 0s
  | Setting up elastic stack environment (v6.7.0) | 0s
  | Downloading secrets from  [REDACTED_BUCKET_NAME] |
  | [2023-09-15T14:21:16Z] Checking S3 for SSH keys:
  | [2023-09-15T14:21:16Z] - [REDACTED_PIPELINE_SLUG]/private_ssh_key
  | [2023-09-15T14:21:16Z] - [REDACTED_PIPELINE_SLUG]/id_rsa_github
  | [2023-09-15T14:21:16Z] - private_ssh_key
  | [2023-09-15T14:21:16Z] - id_rsa_github
  | [2023-09-15T14:21:16Z] Checking S3 for environment files:
  | [2023-09-15T14:21:16Z] - env
  | [2023-09-15T14:21:16Z] - environment
  | [2023-09-15T14:21:16Z] - [REDACTED_PIPELINE_SLUG]/env
  | [2023-09-15T14:21:16Z] - [REDACTED_PIPELINE_SLUG]/environment
  | [2023-09-15T14:21:16Z] Checking S3 for git credentials:
  | [2023-09-15T14:21:16Z] - git-credentials
  | [2023-09-15T14:21:16Z] - [REDACTED_PIPELINE_SLUG]/git-credentials
  | [2023-09-15T14:21:16Z] Started ephemeral ssh-agent (pid 3430)
  | [2023-09-15T14:21:16Z] Loading [REDACTED_BUCKET_NAME]/private_ssh_key (3450 bytes) into ssh-agent (pid 3430)

Expected behavior
The pipeline does not hang when loading the key.
Actual behaviour
The pipeline hangs
Stack parameters (please complete the following information):

AWS Region: eu-west-1
Version 6.7.0

Additional context
Uploaded the ssh private key to the AWS S3 bucket using the AWS console UI with default settings.

Hey! Nick also sent this issue through support and for any future travelers this was due to the key that was trying to use being passphrase-protected. Cheers!


Hypergeometric function bugs and inconsistencies

Summary:
Our hypergeometric functions can hang, silently provide wrong results, or always provide wrong results for some values.  This issue addresses the critical problems leading to wrong results, makes some stylistic changes, and adds tests.  I did not change the algorithm yet and will not in this issue.  Some similar issues might be in the beta functions. This bug affects the beta-binomial cdf. Related to meta-issue #27
Description:

[x] F32 assumes -1 * log(x) == log(-x), wrong result for x < 0
[x] F32 fix for above issue requires applying sign-flip later
[x] F32 returns nan rather than terminating when denominator hits zero.
[x] grad_F32 also assumes -1 * log(x) == log(-x), wrong result for x < 0
[x] grad_F32 fix for above issue requires applying sign-flip later
[x] grad_F32 can hang indefinitely
[x] grad_2F1 will silently return wrong results if not converging
[x] grad_2F1 terminates after an arbitrary number of steps
[x] grad_2F1 returns nan rather than terminating when denominator hits zero.

Reproducible Steps:
Run new tests for beta-binomial CDF and F32.hpp against current develop branch.
Expected Output:
Matching  an outside source, I am checking against Mathematica and Sympy
Additional Information:
Branch is bugfix/issue-487-hypergeometric-functions, has some tests, needs more tests, currently running current math tests on my machine, will push once that passes.  Tests needed for all these:

[x] tests for values resulting in positive accumulator

[x] F32
[x] grad_F32
[x] grad_2F1

[x] tests for values resulting in negative accumulator

[x] F32
[x] grad_F32
[x] grad_2F1

[x] tests for values resulting in positive accumulator increment

[x] F32
[x] grad_F32
[x] grad_2F1

[x] tests for values resulting in negative accumulator increment

[x] F32
[x] grad_F32
[x] grad_2F1

[x] tests for values resulting in negative accumulator and sign-flip

[x] F32
[x] grad_F32
[x] grad_2F1

[x] tests for values resulting in negative accumulator and sign-flip

[x] F32
[x] grad_F32
[x] grad_2F1

[x] tests for throw-on-divergence, in general non-convergence should be caused by all positive a1,a2,a3,b1,b2 with large ratio or z > 1

[x] F32
[x] grad_F32
[x] grad_2F1

Current Version:
v2.14.0

Fixed, closing.


Add Incorrect Role tests to dispatcher.go

@diogomonica is this still relevant?

Yes, lets keep it for now.

This is covered by TestManager.
        client = api.NewDispatcherClient(conn2)
        _, err = client.Heartbeat(context.Background(), &api.HeartbeatRequest{})
        assert.Contains(t, grpc.ErrorDesc(err), "Permission denied: unauthorized peer role: rpc error: code = PermissionDenied desc = Permission denied: remote certificate not part of organization")

        client = api.NewDispatcherClient(noCertConn)
        _, err = client.Heartbeat(context.Background(), &api.HeartbeatRequest{})
        assert.EqualError(t, err, "rpc error: code = PermissionDenied desc = Permission denied: unauthorized peer role: rpc error: code = PermissionDenied desc = no client certificates in request")

Closing.


Update travis-ci.yml

Summary

This might not speed up performance, but lets align this with our other travis builds and add theme testing.

Closes #
Deployment Link

https://terra-applic-.herokuapp.com/
Testing

Additional Details

Basline:

This PR:

lol 2x more wdio tests in 1/2 the time!

Thank you for contributing to Terra.
@cerner/terra

This PR is ready to go

for some reason my latest branch updates are showing up here?

sometings messsed up with this PR, i'm going to close it and re-open it


Client-server communication

Sending OT-events from the client to the server over websocket connection. Server should queue the events and execute them in  order. After executing the event an acknowledgment should be sent back to the client.

Potential issues:

Writing other users' changes to the file might count as client's changes, since last modification data will be changed.

Sending different types of operations with the same structure, might be difficult to parse, because there are no identification about the type of the operation in the plain JSON.

Operation should contain an absolute position in the file where it must be performed, rather than line number and position it that line. Such structure of an Operation will facilitate file writes with the use of io.WriterAt interface. Although it might introduce the difficulties while computing the difference, since now it is necessary to read all previous bytes in the file (even if they are unchanged) to keep track of the position.

Should think about the necessity of touch command call after application of operations received from the server. Some editors (VSCode) watch file size and last modification time to update the contents in editor. In case of substitution operation neither file size nor last modification time changes, so editors end up not updating their UI.

The issue may be closed after med and ot packages will be unit-tested.

[ ] med package
[ ] ot package


@gm, @gma and @gmai are suggested as @gr

Using the default options any input of
name@gm
name@gma
name@gmai

is suggested with domain gr. Any idea why?

any update on this issue?

@caphun nope. No idea whats going on. Maybe if #133 would be merged, the problem would go away. Or by removing the .gr domain.


Add home path to user creation script

Issue #, if available:
Adds the feature to specify the user home path during the lifecycle script
Description of changes:
In our use case we want to have the user home directories on the shared /fsx volume. This change adapts the script to help in that regard. The goal is to have an automated version of the script specified in https://catalog.workshops.aws/sagemaker-hyperpod/en-US/04-advanced/01-multi-user
This code change does the following:

updates the create user script to allow specifying a custom home path (other than /home/user)
adds the user to the docker group
adds the user to the sudo group
creates SSH key pairs in the home directory if there isn't already one
changes the order in lifecycle_script.py such that user creation happens AFTER mounting of FSX and installation of docker

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Approaching 2 months, shall we close @bkulnik-auvaria ?

@perifaws this is an important patch so if @bkulnik-auvaria can't finish it we need to take it over and update it.

Hey @sean-smith
I can remove all modifications of the groups (e.g. docker, sudo). Even though it might be convenient to have this automatic, but its not crucial.
I actually identified another issue:
The home directory of the Ubuntu user is not moved automatically - this creates the issue, that ssh stops working and the new worker nodes can only be reached via srun (which is not ideal, because it is used by jobs most of the time)

Hey @sean-smith I can remove all modifications of the groups (e.g. docker, sudo). Even though it might be convenient to have this automatic, but its not crucial. Let me know, if I should remove these lines or close the PR
I actually identified another issue: The home directory of the Ubuntu user is not moved automatically - this creates the issue, that ssh stops working and the new worker nodes can only be reached via srun (which is not ideal, because it is used by jobs most of the time)

We fix this as one of the first steps in the workshop: https://catalog.workshops.aws/sagemaker-hyperpod/en-US/01-cluster/08-ssh-compute

Hey @sean-smith I can remove all modifications of the groups (e.g. docker, sudo). Even though it might be convenient to have this automatic, but its not crucial. Let me know, if I should remove these lines or close the PR
I actually identified another issue: The home directory of the Ubuntu user is not moved automatically - this creates the issue, that ssh stops working and the new worker nodes can only be reached via srun (which is not ideal, because it is used by jobs most of the time)

We fix this as one of the first steps in the workshop: https://catalog.workshops.aws/sagemaker-hyperpod/en-US/01-cluster/08-ssh-compute

Here the issue is that is manual and - in case there are already long running jobs in the queue and the cluster is scaled up -  the nodes are immediately blocked (however I'm not really familiar with srun, so there might be other ways to still do it.)

Hey @sean-smith I can remove all modifications of the groups (e.g. docker, sudo). Even though it might be convenient to have this automatic, but its not crucial. Let me know, if I should remove these lines or close the PR
I actually identified another issue: The home directory of the Ubuntu user is not moved automatically - this creates the issue, that ssh stops working and the new worker nodes can only be reached via srun (which is not ideal, because it is used by jobs most of the time)

We fix this as one of the first steps in the workshop: https://catalog.workshops.aws/sagemaker-hyperpod/en-US/01-cluster/08-ssh-compute

Here the issue is that is manual and - in case there are already long running jobs in the queue and the cluster is scaled up - the nodes are immediately blocked (however I'm not really familiar with srun, so there might be other ways to still do it.)

That's true however it should be the first step in a cluster setup before running jobs because the job output won't be synced and ssh and a few other things won't work until this is complete.

Addressed in https://github.com/aws-samples/awsome-distributed-training/pull/159


[improve](http action) add http interface to calculate the crc of all files in tablet

IMPROVE

Add an HTTP interface to calculate the CRC of files in the tablet.

When a single compaction pulls files from another source, or when a tablet is cloned, comparing the CRC values of different replicas can be used to verify if the files are correct.

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall


No static method loadLibrary

java.lang.NoSuchMethodError: No static method loadLibrary(Ljava/lang/String;)V in class Lcom/facebook/soloader/SoLoader; or its super classes (declaration of 'com.facebook.soloader.SoLoader' appears in base.apk)
at com.facebook.yoga.YogaNode.(YogaNode.java:24)
.....
com.facebook.soloader:soloader:0.5.0+

It looks like there have been fixes in this area. https://github.com/facebook/yoga/issues/1152
Please reopen this issue if you still experience the crash on a more recent version of Yoga.


SSH Forwarding Update

SSH Forwarding Update
Description
There has been a recurring problem with users running into issues setting their
preferred ssh-key in the client configuration. Spencer brought up the idea of having
king-phisher attempt to authenticate with all possible keys so users would no longer
have to specify their preferred ssh-key mitigating this recurring problem. This update will attempt to authenticate will all available ssh-keys.
Test-Cases

[x] Successfully authenticate to king-phisher without specifying a preferred-ssh-key.
[ ] Correctly log all attempted key's while authenticating.

Did we confirm that this is what OpenSSH does by default?

Yeah, I documented the research and posted it in the slack channel.

Merged! Only made one minor change in commit e471e20c9e164e239a7dde9d64d2c1511226da6e to add a change log line, and log the type of authentication that is being attempted. Decided against logging each keys to avoid potentially including sensitive info in log output, so only the fact that the agent-provided keys are being attempted and how many there are is included.
Thanks @Nib0x62s !


Add tests scenarios for trivy scanning

This tests a couple of scenarios for security issues:

The default configuration
A configuration where an image is used to import the endpoints.

Signed-off-by: Juan Antonio Osorio<EMAIL_ADDRESS>

@hnadiminti-equinix right now we're only failing the job on HIGH and CRITICAL vulnerabilities. I'll address the MEDIUM` ones in a subsequent PR.

@hnadiminti-equinix right now we're only failing the job on HIGH and CRITICAL vulnerabilities. I'll address the MEDIUM ones in a subsequent PR.


remove executable flag

not really useful

indeed! - thanks for noticing this. i've taken this over in the develop branch with https://github.com/wcm-io/io.wcm.maven.plugins.nodejs-maven-plugin/commit/2e707d1d72855e56308763dd5dee3eff0bb8af27 (we are using gitflow)


create folder for "templates" and move templates there

I think it would be good to move the templates over into their own folder for users to reference.
That will clean up the look of current blog now.

Will do this! I initially had a couple posted to see the full layout.


feat: Dev Mode: setting to change the post frame callback duration

For #1764
A generic editor is also created to prevent duplicate code

thank you very much @g123k @M123-dev 👌


Not catching syntax errors

Hey,
We are using pronto to run rubocop, haml on our PRs. What we have recently noticed that pronto-haml didn't catch syntax error exception while pure haml-lint did.
We executed rubocop -a on multiple files and few haml files were updated with the following:
-#modal-window.modal.fade{"aria-hidden" => "true", "data-backdrop" => "static", "aria-labelledby" => "myModalLabel", "role" => "dialog"}
+# modal-window.modal.fade{"aria-hidden" => "true", "data-backdrop" => "static", "aria-labelledby" => "myModalLabel", "role" => "dialog"}

It's an obvious syntax error from haml.
$ git show --name-only | grep 'haml' | xargs haml-lint
_edit_page_block_modal.html.haml:0 [E] Syntax: Illegal element: classes and ids must have values.
_edit_cart_item_modal.html.haml:0 [E] Syntax: Illegal element: classes and ids must have values.

2 files inspected, 2 lints detected

But pronto run did not catch those syntax issues. A bug or some configuration issue?
Thanks!

What was the command exit status?
Did you manage to figure out what was the issue?

I did not spend time investigating, was interested if anyone else had similar experience. It had some time ago, but I believe the issue is still relevant.

Would you be willing to create minimal gist which replicates the issue?

@giedriusr please reopen the issue if you can create a reproducible test case.


inactive user

Firstly I would like to thank you for the plugin. What I'm opening here isn't even an issue. But I would like to ask if there is a possibility of implementing a functionality in the future where the user already logs in with the inactive status.

Hi, thanks for contacting me.
It may be a little different from inactive users, but I think it would be nice to have the ability to match email addresses from a whitelist or blacklist during authentication.
If you have any specific requests, please do not hesitate to let us know.