[Fix]: Re-add "Delete Avatar" button to "Your account".

This re-adds the deleted "Delete Avatar" button back to the
settings/your-account tab view in the overlay, which only appears
if you do not currently have a gravitar.
Fixes: #3757.

Automated message from Dropbox CLA bot
@brockwhittaker, it looks like you've already signed the Dropbox CLA. Thanks!

Merged, thanks @brockwhittaker!  I also (1) closed the issue (since you forgot to include the Fixes: entry in the commit message) and (2)  added a commit removing the unnecessary instructions below the avatar.


github-actions: Update module github.com/docker/docker to v27.4.0+incompatible

This PR contains the following updates:

Package
Type
Update
Change

github.com/docker/docker
require
minor
v27.3.1+incompatible -> v27.4.0+incompatible

:warning: Warning
Some dependencies could not be looked up. Check the warning logs for more information.

Release Notes

docker/docker (github.com/docker/docker)
v27.4.0+incompatible
Compare Source

Configuration
:date: Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
:warning: Warning: custom changes will be lost.


Generic dataset download script

Following changes have been made -

data_download.py doesn't use tf_api anymore
Code responsible for preprocessing of data, which is not used during download, has been removed. There is a separate process_data.py to take care of that.
Test files are sent to raw_data directory rather than tensorflow so that other frameworks in future can also use it. This is as per https://github.com/mlperf/reference/issues/69

Can you split out the removal of the dead code (first PR) and changing to be TF independent (second PR)?

Ok! Will be opening fresh PRs


Webhook Events

Eg: entry edited request to webhook sent

Good idea, but would be hard without a server. Am setting this to In Review so mat can see if it's a good idea or not


Feature/fetch sto data

:tada: This PR is included in version 2.0.1-beta.5 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


do the copy first, when ht full

for loop on loopVar__ until input ends

Rename this migration_to_global_memory to HT_FULL_FLAG


Logs from mesos/storm repo are lost

When I was playing around with vagrant, I noticed that we are losing the logs generated by mesos/storm repo. That is, the mesos/storm appication logs do not appear in the nimbus.log but logs from storm-core still appear in the nimbus.log.

The bug turns out to be related to shading. When we shade org.slf4j, we end up shading all the classes belonging to slf4j-api provided by storm-core. This causes slf4j not to bind to concrete implementation provided by storm-core. Eg. org.slf4j.Logger interface in slf4j-4j becomes org.slf4j.shaded.Logger and none of the Logger in the storm jar would implement org.slf4j.shaded.Logger.

#102 was fixed by #103.


Change verbosity arguments from the base command to the upgrade related commands

Change verbosity arguments from the base command to the upgrade related commands
The verbose and debug options it's now only available in commands where make sense to
increase verbosity.
A re-request of https://github.com/oamg/leapp/pull/574 by @alexandrepossebom, since he left.

Can one of the admins verify this patch?

Applied feedback and squashed.


Refactor from main.

Spend some time to make the code more readable and easier to deal with.

This needs to be split into several issues.


async/await is not part of ES7

I might be a little pedantic here but it is what it is ;-)

By analyzing the blame information on this pull request, we identified @hramos and @grgmo to be potential reviewers.

There's no ES8. It's ES2016.

ES7 is ES2016, ES8 would be ES2017 then.

Sure.

Good catch, async/await did not make the cut for ES7. If I'm being pedantic, I'd say the right wording here would be:

You can also use the proposed ES2017 async/await syntax in a React Native app:

(emphasis on edits)

That makes sense. Just updated.

@facebook-github-bot shipit

Thanks for importing. If you are an FB employee go to Phabricator to review.


Revert "Added cupy functions at indexing generate.py"

Reverts pfnet/chainer#1018
Because that PR's document contains complete copy from NumPy.

Thanks.
@hisa0507 Sorry for the revert. I found that the original PR contains a large portion of copy of the document from NumPy. Can you make a PR again with fixed documents? The document should explain what the CuPy functionalities support. You can add a reference to the NumPy document to explain that a functionality is same as that of NumPy. If the support of the functionality is partial (it looks so), you should explicitly explain which part is supported and which part is not. I left the PR branch of this revert (revert-1018-add_cupy_func_generate), so if you already deleted your own PR branch, you can use it to recover the original changes.


fix: add CharacterLcd nuget package reference to the PCD8544 nuget package

This is to fix a missing reference runtime error when a project installs only the PCD8544 nuget.
Description

Added the Iot.Device.CharacterLcd nuget to the PCD8544 project and the sample project.
Added the Iot.Device.CharacterLcd nuget package reference to the PCD8544 nuspec file.

Motivation and Context

Fixes nanoFramework/Home#1150

How Has This Been Tested?

Manually created a nuget package based on the new nuspec
Used the new package in a new project
Deployed to the device and observed the error not occurring

Types of changes

[ ] Improvement (non-breaking change that improves a feature, code or algorithm)
[x] Bug fix (non-breaking change which fixes an issue with code or algorithm)
[ ] New feature (non-breaking change which adds functionality to code)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Config and build (change in the configuration and build system, has no impact on code or features)
[x] Dependencies (update dependencies and changes associated, has no impact on code or features)
[ ] Unit Tests (add new Unit Test(s) or improved existing one(s), has no impact on code or features)
[ ] Documentation (changes or updates in the documentation, has no impact on code or features)

Checklist:

[x] My code follows the code style of this project (only if there are changes in source code).
[ ] My changes require an update to the documentation (there are changes that require the docs website to be updated).
[ ] I have updated the documentation accordingly (the changes require an update on the docs in this repo).
[x] I have read the CONTRIBUTING document.
[x] I have tested everything locally and all new and existing tests passed (only if there are changes in source code).
[ ] I have added new tests to cover my changes.

@MrCSharp22 two things here:

There are conflicts that you have to address when merging from upstream
The Pcd8544 project is referencing the CharacterLcd project directly, which means that all necessary code should be brought in when building the library and that wouldn't require referencing the CharacterLcd  nuget.

Can you please share the output with the message/error that you're getting?

@josesimoes
Yup, I fixed the conflict already :) .
As for the error:
Resolving.
Link failure: some assembly references cannot be resolved!!

Assembly: NFApp1 (<IP_ADDRESS>) needs assembly 'Iot.Device.Pcd8544' (<IP_ADDRESS>)
Assembly: Iot.Device.Pcd8544 (<IP_ADDRESS>) needs assembly 'Iot.Device.CharacterLcd' (<IP_ADDRESS>)
Error: a3000000
Waiting for debug commands...

Now the nuspec file doesn't add the Iot.Device.CharacterLcd files (dll, pdbx, pe, and xml) directly in the <files> node. Do you think I should be doing that instead of using nuget?

@josesimoes
Sorry, I deleted that comment by mistake. Restoring it here:
1- Yes, I fixed the conflict already.
2- This is the error from the debug output:
Resolving.
Link failure: some assembly references cannot be resolved!!

Assembly: NFApp1 (<IP_ADDRESS>) needs assembly 'Iot.Device.Pcd8544' (<IP_ADDRESS>)
Assembly: Iot.Device.Pcd8544 (<IP_ADDRESS>) needs assembly 'Iot.Device.CharacterLcd' (<IP_ADDRESS>)
Error: a3000000
Waiting for debug commands...

The nuspec file for PCD8544 does not include Iot.Device.CharacterLcd (dll, pe, xml, and pdbx) in the list of files under the <files> node. Do you think I should do that instead of adding it via a nuget reference?

@MrCSharp22 thanks! I now understood what's the error you're getting.
Following the same pattern as other IoT bindings that rely on other bindings, this fix of yours it's the way to go.
Actually that's the best way to maintain the "cascade" update process.


[Request] Move fire icon to bottom of menu & add tab icon

Move that fire icon to the bottom of the menu and please replace it with ether trashcan icon or 1-color flame icon, cause current flame icon seems a bit unprofessional.
When doing this, add tab icon ether  to the place where currently is fire icon, or move Privacy Dashboard icon next to menu which would leave tab icon after addressline.

Thanks for your feedback @huuhaa I have passed it on to our design team.


Add the testnet genesis block to the testnet checkpoints

Also changes 546 to use hex format like normal checkpoints (0x...)

LGTM


let_value does not propagate nothrow-connect-ness

Consider this code:
#include <stdexec/execution.hpp>
void test() {
    auto s1 = stdexec::let_value(
        stdexec::just(),
        []() noexcept {
            return stdexec::just();
        }
    );
    static_assert(stdexec::__detail::__connectable<decltype(s1), stdexec::__sync_wait::__receiver_t<decltype(s1)>>);
    static_assert(stdexec::__nothrow_connectable<decltype(s1), stdexec::__sync_wait::__receiver_t<decltype(s1)>>);  // <
}

(Godbolt link: https://godbolt.org/z/hn5MG7dqe)
Compilation fails on the line marked with <, which suggests than s1 is a valid sender, but its connect CPO is declared as throwing.
This is surprising: as fas as I can see, there is no room for an exception in this code, since just() returns nothrow-connectable sender, and lambda itself is declared as non-throwing. let_value internal implementation is hard to follow (in particular, while reading [exec] I wasn't able to find what domain really is), so I can't pinpoint source of confusion any further.
Is this behavior intended?

Looks like there is perhaps a missing noexcept declaration on let_value's get_state impls function.
e.g. see here https://github.com/NVIDIA/stdexec/blob/999a11e0a82f9e4d0cedb29ed0b0282543b30805/include/stdexec/__detail/__let.hpp#L459

Note that there is also another issue that can potentially cause sync_wait of let_value to be potentially-throwing, which is a currentl limitation of the env-based completion-signature computation.
At the time that let_value is computing the completion-signatures, it only has access to the environment type, which means it cannot generally compute the exact receiver type that will be passed to connect() on the second sender returned by the lambda, and so it cannot reliably determine if connect() will be noexcept or not. In some cases this can mean it conservatively needs to assume it might throw and thus will add set_error_t(std::exception_ptr) to the completion-signatures.
See https://github.com/cplusplus/sender-receiver/issues/247


Volume on Windows: Operation not permitted

On a windows 7 system, using docker 1.9.1 and VirtualBox 5.0.16, the docker image refuses to start when using the volume command as listed on the Docker Hub page.
$ docker run --name mongo-db -v //c/Users/Dieter/some-folder/DB:/data/db -d
mongo:3.2.4
f9661fcd48eba45671b96a0efd850851b7de846a535d910f72bb969cfdb09845

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED
STATUS              PORTS               NAMES

$ docker logs mongo-db
2016-03-20T16:22:38.194+0000 I CONTROL  [initandlisten] MongoDB starting : pid=1
 port=27017 dbpath=/data/db 64-bit host=f9661fcd48eb
2016-03-20T16:22:38.194+0000 I CONTROL  [initandlisten] db version v3.2.4
2016-03-20T16:22:38.194+0000 I CONTROL  [initandlisten] git version: e2ee9ffcf9f
5a94fad76802e28cc978718bb7a30
2016-03-20T16:22:38.194+0000 I CONTROL  [initandlisten] OpenSSL version: OpenSSL
 1.0.1e 11 Feb 2013
2016-03-20T16:22:38.194+0000 I CONTROL  [initandlisten] allocator: tcmalloc
2016-03-20T16:22:38.194+0000 I CONTROL  [initandlisten] modules: none
2016-03-20T16:22:38.194+0000 I CONTROL  [initandlisten] build environment:
2016-03-20T16:22:38.194+0000 I CONTROL  [initandlisten]     distmod: debian71
2016-03-20T16:22:38.194+0000 I CONTROL  [initandlisten]     distarch: x86_64
2016-03-20T16:22:38.194+0000 I CONTROL  [initandlisten]     target_arch: x86_64
2016-03-20T16:22:38.194+0000 I CONTROL  [initandlisten] options: {}
2016-03-20T16:22:38.200+0000 I STORAGE  [initandlisten] wiredtiger_open config:
create,cache_size=1G,session_max=20000,eviction=(threads_max=4),config_base=fals
e,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snapp
y),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),stati
stics_log=(wait=0),
2016-03-20T16:22:38.209+0000 E STORAGE  [initandlisten] WiredTiger (1) [14584909
58:209969][1:0x7efcc0cffc80], connection: /data/db/WiredTiger.wt: Operation not
permitted
2016-03-20T16:22:38.211+0000 I -        [initandlisten] Assertion: 28595:1: Oper
ation not permitted
2016-03-20T16:22:38.213+0000 I STORAGE  [initandlisten] exception in initAndList
en: 28595 1: Operation not permitted, terminating
2016-03-20T16:22:38.213+0000 I CONTROL  [initandlisten] dbexit:  rc: 100

Afterwards, the following files are present in c:\Users\Dieter\some-folder\DB:

mongod.lock
WiredTiger
WiredTiger.lock
WiredTiger.wt
journal (empty folder)

I am unable to delete the WiredTiger.wt file even though the docker container has stopped (or has been removed). Restarting the windows VM releases the lock on this file.
The same errors occur for 3.2 and 3. For 2.6.11, the error is different:
$ docker run --name mongo-db -v //c/Users/Dieter/some-folder/DB2:/data/db -d
 mongo:2.6.11
6ec106edab731d05b4319018ef7eb16889ff1f2d80843e59ad78deb1e2e2c255

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED
STATUS              PORTS               NAMES

$ docker logs mongo-db
mongod --help for help and startup options
2016-03-20T16:30:34.795+0000 [initandlisten] MongoDB starting : pid=1 port=27017
 dbpath=/data/db 64-bit host=6ec106edab73
2016-03-20T16:30:34.795+0000 [initandlisten] db version v2.6.11
2016-03-20T16:30:34.795+0000 [initandlisten] git version: d00c1735675c457f75a12d
530bee85421f0c5548
2016-03-20T16:30:34.795+0000 [initandlisten] build info: Linux build4.ny.cbi.10g
en.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_
LIB_VERSION=1_49
2016-03-20T16:30:34.795+0000 [initandlisten] allocator: tcmalloc
2016-03-20T16:30:34.796+0000 [initandlisten] options: {}
2016-03-20T16:30:34.799+0000 [initandlisten]    WARNING: This file system is not
 supported. For further information see:
2016-03-20T16:30:34.799+0000 [initandlisten]                    http://dochub.mo
ngodb.org/core/unsupported-filesystems
2016-03-20T16:30:34.799+0000 [initandlisten]            Please notify MongoDB, I
nc. if an unlisted filesystem generated this warning.
2016-03-20T16:30:34.800+0000 [initandlisten] journal dir=/data/db/journal
2016-03-20T16:30:34.802+0000 [initandlisten] recover : no journal files present,
 no recovery needed
2016-03-20T16:30:34.812+0000 [initandlisten] info preallocateIsFaster couldn't r
un due to: couldn't open file /data/db/journal/tempLatencyTest for writing errno
:1 Operation not permitted; returning false
2016-03-20T16:30:34.814+0000 [initandlisten] Unable to remove temporary file due
 to: boost::filesystem::remove: Text file busy: "/data/db/journal/tempLatencyTes
t"
2016-03-20T16:30:34.817+0000 [initandlisten] exception in initAndListen: 13516 c
ouldn't open file /data/db/journal/j._0 for writing errno:1 Operation not permit
ted, terminating
2016-03-20T16:30:34.817+0000 [initandlisten] dbexit:
2016-03-20T16:30:34.817+0000 [initandlisten] shutdown: going to close listening
sockets...
2016-03-20T16:30:34.817+0000 [initandlisten] shutdown: going to flush diaglog...
2016-03-20T16:30:34.817+0000 [initandlisten] shutdown: going to close sockets...
2016-03-20T16:30:34.818+0000 [initandlisten] shutdown: waiting for fs preallocat
or...
2016-03-20T16:30:34.818+0000 [initandlisten] shutdown: lock for final commit...
2016-03-20T16:30:34.818+0000 [initandlisten] shutdown: final commit...
2016-03-20T16:30:34.818+0000 [initandlisten] shutdown: closing all files...
2016-03-20T16:30:34.818+0000 [initandlisten] closeAllFiles() finished
2016-03-20T16:30:34.818+0000 [initandlisten] journalCleanup...
2016-03-20T16:30:34.818+0000 [initandlisten] removeJournalFiles
2016-03-20T16:30:34.819+0000 [initandlisten] warning exception removing /data/db
/journal/j._0: boost::filesystem::remove: Text file busy: "/data/db/journal/j._0
"
2016-03-20T16:30:34.821+0000 [initandlisten] Assertion failure !haveJournalFiles
() src/mongo/db/dur_journal.cpp 258
2016-03-20T16:30:34.827+0000 [initandlisten] 0x121d451 0x11bcbb9 0x11a1124 0xa77
2f8 0xa77829 0xba838f 0xba903c 0x76f7d4 0x76fc95 0x76ff69 0x7f020dd79ead 0x76652
9
 mongod(_ZN5mongo15printStackTraceERSo+0x21) [0x121d451]
 mongod(_ZN5mongo10logContextEPKc+0x159) [0x11bcbb9]
 mongod(_ZN5mongo12verifyFailedEPKcS1_j+0x194) [0x11a1124]
 mongod(_ZN5mongo3dur18removeJournalFilesEv+0x8a8) [0xa772f8]
 mongod(_ZN5mongo3dur7Journal7cleanupEb+0x49) [0xa77829]
 mongod() [0xba838f]
 mongod(_ZN5mongo6dbexitENS_8ExitCodeEPKc+0x18c) [0xba903c]
 mongod(_ZN5mongo13initAndListenEi+0x1a4) [0x76f7d4]
 mongod() [0x76fc95]
 mongod(main+0x9) [0x76ff69]
 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd) [0x7f020dd79ead]
 mongod() [0x766529]
2016-03-20T16:30:34.827+0000 [initandlisten] error couldn't remove journal file
during shutdown assertion src/mongo/db/dur_journal.cpp:258
2016-03-20T16:30:34.828+0000 [initandlisten] SEVERE: shutdown failed with except
ion
2016-03-20T16:30:34.828+0000 [initandlisten] dbexit: really exiting now

Resulting files are:

mongod.lock
journal (folder)

j._0
tempLatencyTest

Where both files in the journal folder are still locked by the VM.
Running without the docker volume command works.

possible related issues #74 #66 #1

Specifically this comment: https://github.com/docker-library/mongo/issues/74#issuecomment-175855893

Is that what the warning that was added talks about?
Not being fully immersed into the details of virtualisation, I kind of assumed that vboxsf was some kind of obscure feature that advanced users could utilise. Since there was no explicit mentioning of docker volumes (but rather about shared folders and mounts), and no talk about windows I missed the link. :)

Yeah. Thanks for the docs clarification!  It should be possible to do it through an NFS mount, but that would require extra setup.

@yosifkit do you know is it possible to attach windows host directory as NFS volume?

@whitecolor, you'd have to be running an NFS host on your Windows side and then you should be able to do something like the example in the docs, assuming that you also install nfs-client and nfs-common on the the docker host (VM).


Can't add O_APPEND to fd with fcntl()

Test C program, which works outside Docker but not inside. The end result is supposed to be that the foo file contains "foofoo", but inside Docker it only contains "foo" because O_APPEND is silently ignored. It works if open() flags directly contain O_APPEND. This bug causes Dovecot server to corrupt files when running it in Docker.
Version: 1.10.0-0~jessie
// gcc test.c -o test && ./test
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>

int main(int argc, char *argv[]) {
	unlink("foo");
	if (fork() < 0)
		return 1;

	int fd = open("foo", O_RDWR | O_CREAT, 0600);
	if (fd == -1) {
		perror("open()");
		return 1;
	}
	if (fcntl(fd, F_SETFL, O_APPEND) < 0)
		perror("fcntl()");
	write(fd, "foo", 3);
	return 0;
}

If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
For more information about reporting issues, see CONTRIBUTING.md.
You don't have to include this information if this is a feature request
(This is an automated, informational response)

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

Does this only happen on 1.10?
What about if you add --security-opt seccomp:unconfined to your docker run?

This would appear to be a bug in AUFS kernel driver on 3.16.0 on debian jessie.

I can also reproduce this with 4.2.0-27-generic (Ubuntu 15.10).
This bug seems to have been reported 5 years ago (kernel 2.6.39): https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=627782

Improved the test code:

Verified that fork() is not related
Verified that write() is not returning an error
Verified that st_size is not set to zero after open() without O_APPEND.

Code
// gcc test.c -o test && ./test
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>

void check_error(int rc, const char *s)
{
        if (rc < 0) {
                perror(s);
                exit(EXIT_FAILURE);
        }
}

void cat(const char *fname)
{
        char buf[128];
        int rc;
        printf("--- cat begin ---\n");
        rc = snprintf(buf, sizeof(buf), "cat %s", fname);
        check_error(rc, "snprintf");
        rc = system(buf);
        printf("--- cat end(rc=%d) ---\n", rc);
}

void print_stat(int fd, const char *s)
{
        int rc;
        off_t pos;
        struct stat st;
        pos = lseek(fd, 0, SEEK_CUR);
        check_error(pos, "lseek");
        printf("pos(%s)=%ld\n", s, pos);
        rc = fstat(fd, &st);
        check_error(rc, "fstat");
        printf("st_size(%s)=%ld\n", s, st.st_size);
}

int main(int argc, char *argv[])
{
        int rc;
        int i;
        char *fname = "foo";
        rc = unlink(fname);
        if (rc < 0 && errno != ENOENT) {
                check_error(rc, "unlink");
        }
        for (i = 0; i < 2; i++) {
                int fd;
                printf("=== i=%d begin ===\n", i);

                /*** open ***/
                fd = open(fname, O_RDWR | O_CREAT, 0600);
                check_error(fd, "open");
                print_stat(fd, "after open");

                /*** fcntl ***/
                rc = fcntl(fd, F_SETFL, O_APPEND);
                check_error(rc, "fcntl");
                print_stat(fd, "after fcntl");

                /*** write ***/
                char *s = i == 0 ? "foo\n" : "bar\n";
                rc = write(fd, s, strlen(s));
                check_error(rc, "write");
                print_stat(fd, "after write");

                /*** close ***/
                rc = close(fd);
                check_error(rc, "close");
                printf("=== i=%d end ===\n", i);

                /*** cat ***/
                cat(fname);
        }
        return 0;
}

Actual
=== i=0 begin ===
pos(after open)=0
st_size(after open)=0
pos(after fcntl)=0
st_size(after fcntl)=0
pos(after write)=4
st_size(after write)=4
=== i=0 end ===
--- cat begin ---
foo
--- cat end(rc=0) ---
=== i=1 begin ===
pos(after open)=0
st_size(after open)=4
pos(after fcntl)=0
st_size(after fcntl)=4
pos(after write)=4
st_size(after write)=4
=== i=1 end ===
--- cat begin ---
bar
--- cat end(rc=0) ---

Expected
=== i=0 begin ===
pos(after open)=0
st_size(after open)=0
pos(after fcntl)=0
st_size(after fcntl)=0
pos(after write)=4
st_size(after write)=4
=== i=0 end ===
--- cat begin ---
foo
--- cat end(rc=0) ---
=== i=1 begin ===
pos(after open)=0
st_size(after open)=4
pos(after fcntl)=0
st_size(after fcntl)=4
pos(after write)=8
st_size(after write)=8
=== i=1 end ===
--- cat begin ---
foo
bar
--- cat end(rc=0) ---

O_APPEND is implemented in mm/filemap.c:generic_write_checks().
http://lxr.free-electrons.com/source/mm/filemap.c?v=4.2#L2300
However, fs/aufs/f_op.c:aufs_write_iter() seems not calling mm/filemap.c:generic_write_checks().
https://github.com/sfjro/aufs4-linux/blob/0f27010bee7f7fdf1b9e690c350ac2c482ce5acc/fs/aufs/f_op.c#L349
I'll look on this.

This quick workaround seems working with my Ubuntu kernel 4.2.0-27.32 (underlying fs is ext4).
In this workaround, all the write operations are handled by aufs_write_iter rather than aufs_write.
aufs_write_iter calls ext4's write_iter, and the write_iter calls generic_write_checks().
diff --git a/fs/aufs/f_op.c b/fs/aufs/f_op.c
index 2c34864..efc46bc 100644
--- a/fs/aufs/f_op.c
+++ b/fs/aufs/f_op.c
@@ -708,8 +708,8 @@ const struct file_operations aufs_file_fop = {

        .llseek         = default_llseek,

-       .read           = aufs_read,
-       .write          = aufs_write,
+       //      .read           = aufs_read,
+       //      .write          = aufs_write,
        .read_iter      = aufs_read_iter,
        .write_iter     = aufs_write_iter,

Posted to aufs-users: http://permalink.gmane.org/gmane.linux.file-systems.aufs.user/5388

Thanks @AkihiroSuda!

The new AUFS release supported fcntl(F_SETFL,..).
https://sourceforge.net/p/aufs/mailman/message/34896006/
cc @tianon

I confirmed Boot2Docker v1.10.0 (AUFS v20160301) has resolved the issue, using my test code (note that I didn't test dovecot) https://github.com/docker/docker/issues/20199#issuecomment-182719550
Is this issue closable?
Or should we ping Canonical, Debian, and perhaps other distributors to merge AUFS v20160301 and then close this issue?
I believe this issue is not specific to dovecot.
(I didn't test, but polymake/polymake seems hitting this issue)
I fear someone maybe facing this corruption without knowing this issue, that is why I think it's worth pinging distributors.

I concur it is not dovecot specific and the test case provided is sufficient. From dovecot side you can close the issue.

ping @tianon wdyt? should we try and get this fix into Debian/Ubuntu?

I think Ubuntu would probably be up for doing so (since it fixes known bugs), but I don't know whether Debian would.  If someone wants to champion the cause and poke the downstreams, I think there might be some success to be had, but otherwise it's likely just worth adding this to the list of errata for AUFS (especially since it's fixed in later versions of AUFS, so there is at least some recourse available, even if the distros haven't picked up the update).
@AkihiroSuda what are your thoughts?  You've made those prods downstream before, and are familiar with the issue here -- do you think it's severe enough to warrant prodding downstreams and/or to have them accept and apply a bump?

@tianon Thank you for the comment.
I think this issue is not so severe because only a few app is known to be affected, although potentially other apps can be affected as well.
So my thought is to close the issue right now, and then poke distributors (with a middle priority).
I know there has been a tracker for Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=627782
I'll test the patch with Debian kernel and poke Debian maintainers.
Do you know there is a corresponding tracker for Ubuntu?
If not, do you know who in Canonical is aware of the issue?

Ubuntu 16.10 uses AUFS 20160912.
I'm closing this issue, but please reopen if you have different opinion
@thaJeztah @tianon

@AkihiroSuda do you know if this was also fixed for LTS versions? (e.g. ubuntu 16.04)?


spidering feature

does Caido have the spidering feature? I'm unable to find it.

No but you can vote on https://github.com/caido/caido/issues/423


C++ Doxygen documentation & many doc improvements

What
Try it yourself:
https://wumpf.github.io/rerun-cpp-doc-test/
(yes I sacrificed a repo for this ;))
Or to get a perfect up to date version now and in the future just run pixi run cpp-docs, the docs appear then in rerun_cpp/docs/html/index.html

fixes almost #3974
Missing are:

process to upload it to landing and link it up in our docs
more thorough pass to improve docs overall

lots of stuff is undocumented. We should consider making this an error in doxygen (I disabled it for the time being!)

After some back and forth I landed with a pure doxygen documentation using the impressively good https://jothepro.github.io/doxygen-awesome-css/ css.
To avoid submoduling and make customization easy, the theme is embedded in our repo.
Otherwise tons of improvements on our doc strings. Started a guide on how to write docs similar to what we have for python.
Quite happy with it as-is already. Some of the doc improvements to be done are also related to smaller code refactors I want to do :)
Review tip: The first commit contains the default doxygen file, if you want to know what I changed about it just exclude it.
Bunch of screenshots for the lazy:

Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested demo.rerun.io (if applicable)
[x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG

PR Build Summary
Docs preview
Examples preview
Recent benchmark results
Wasm size tracking

Problem for later: namespaces section looks empty

Hmm good catch. I'll look into this after landing!
Somehow that's not the case on https://docs.opencv.org/5.x/namespaces.html (which uses the same theme)


Generators and Async functions are not jitted

I assume this is a point that is known internally - but it wasn't in the issue log on Github. Currently Generator functions and async functions are always run only in the interpreter.
There is a flag -Jites6Generators to enable jitting them - but using this always results in a crash in the Jit - it encounters an unallocated register the first time it tries to Jit a ResumeYield op. src10pnd is set to a nullptr by this and it goes wrong from there: https://github.com/Microsoft/ChakraCore/blob/8527dc23954bdf77b17d25e472857f58a3b03f8a/lib/Backend/IRBuilder.cpp#L1875
I stumbled upon this whilst working on #5834 there are a few TODOs and equivalent notes in comments about this all dating back to the initial GitHub commit 3 years ago.
I've tried to investigate how to fix this but I'm a bit out of my depth in the Jit code.

That's right. Jitting generators is a large work item, much larger than support for async generators, and one that we haven't had a chance to take on.


TruffleSqueak failed to launch Squeak6.0beta-21772 image

Following error will be occurred when trying to launch Squeak6.0beta-21772 image in TruffleSqueak 22.1.0:
[trufflesqueak] Running Squeak6.0beta-21772-64bit.image on GraalVM CE (latency mode)...
== Truffle stack trace ===========================================================
Image format 68533 not supported. Please supply a 64bit Spur image (format 68021).
        at <smalltalk> null(Unknown)
        at org.graalvm.sdk/org.graalvm.polyglot.Context.eval(Context.java:399)
        at de.hpi.swa.trufflesqueak.launcher.TruffleSqueakLauncher.execute(TruffleSqueakLauncher.java:126)
        at de.hpi.swa.trufflesqueak.launcher.TruffleSqueakLauncher.launch(TruffleSqueakLauncher.java:82)
        at org.graalvm.launcher.AbstractLanguageLauncher.launch(AbstractLanguageLauncher.java:296)
        at org.graalvm.launcher.AbstractLanguageLauncher.launch(AbstractLanguageLauncher.java:121)
        at org.graalvm.launcher.AbstractLanguageLauncher.runLauncher(AbstractLanguageLauncher.java:168)

Which seems to be related to https://lists.squeakfoundation.org/pipermail/squeak-dev/2022-May/220659.html

Thanks for raising this and for the pointer, @dram. I've just pushed a fix for this to the main branch so support for images with the 68533 format will ship with the next release.

Fix confirmed, thanks!


Update xClusterDisk from disk number to guid

Hi
I've tried to use the xClusterDisk resource on a target system, where the disk numbers are not matching and are reused multiple times, because the cluster has attached local dedicated SAN disks as well as shares clustered SAN disks. As a conclusion, the disk number cannot be used as a identifier for the cluster disk - it's just not working in every case.
Therefore, I've reworked the resource to now use the disks id (aka guid, signature) for identification. Tests have been reworked too.
Because we are changing a key property in the MOF, this will be a breaking change.

This change is

@TravisEz13 I've updated the pull request according to your suggestions.

I think it would be better to actually keep the Disk number as the key, and add Guid as an optional parameter. It would then correlate with xDisk in xStorage module which uses only disk number.
If Guid is used by the user, then Number parameter is ignore (should be stated in README.md), and disks are evaluated using the Guid only.
With this approach it is not a breaking change, and both scenarios work.

I think this proposed change should not be merged according to new issue #39. Unless the Guid is a better solution for Cluster Disks.

@claudiospizzi Please let me know if you are still working on this PR? I will label this as abandoned in the mean time.

@bgelens and @RichardSiddaway what is your thought regarding this PR and the issue raised in #39? In regards to Guid is not optimal for choosing disk, but rather UniqueID is better, and also line up with the resource in xStorage.

@johlju Quite an old PR, completely lost track about that. Do you have the view on the resource, does this PR still makes sense? I think we should decide to put effort in it and review, fix and merge it - or close it.

@claudiospizzi I think something along the lines is needed, but I think we need to look at the work that has been done in StorageDsc for the Disk resource. I think we need to do something similar, not have one or the other, but having both (or three types in the case of Disk). This way it would correlate when using the Disk resource together with this resource. Same type ID can be used throughout. Make sense?
If this PR could be refactored to that that would be great, but if you feel it would be easier to start from the beginning (by you or someone else) then I'm okay with this PR get closed.

Closing this PR due to inactivity. If there are someone who wants to work on this issue or PR please open a new PR.


US-4_Plotting

Plotting
Value Proposition
As a user I want to see the plot of my uploaded data.
Description

Acceptance Criteria

[ ] Logo and title at the top of page.
[ ] Paragraph with text "You can interact with the graph by using the functions at the top of the graph.".
[ ] Plot of the uploaded data.

Tasks

[ ] Create a new feature branch "Plotting".
[ ] Install these libraries: react-plotly and plotly.
[ ] Create a Plotting component.

[ ] Retrieve clickedChartType from the local storage.
[ ] Retrieve XVariable and YVariable from the local storage.
[ ] Find which object in chartArray has the key "name" matching with the value of clickedChartType.
[ ] Declare a selectedMode variable and a selectedType variable and set their values to the values of the "mode" key and the "type" key found in the previous step.
[ ] The function returns, within a fragment, the Paragraph component and the CenteredDiv component.
[ ] Inside CenteredDiv is nested the Plot component.
[ ] The Paragraph has for text "You can interact with the graph by using the functions at the top of the graph.".
[ ] The Plot has the data attribute set to
{[     {       x: XVariable,       y: YVariable,       mode: selectedMode,       type: selectedType,        }, ]}.
[ ] The Plot has the layout attribute set to
{{     xaxis: {       showline: true,       ticks: "outside",     },     yaxis: {       showline: true,       ticks: "outside",     },     width: 600,     height: 500,   }}.
[ ] The Plot has the config attribute set to
{{     displayModeBar: true,     modeBarButtonsToRemove: ["lasso2d", "select2d", "pan2d"], }}.

nice!!


logo design

Hello @fallen
I am designing logos to support open source software. Do you want me to design a logo for you? I think this warehouse doesn't have a logo. I will wait for feedback. Have a nice day!

Hello @reallinfo!
That would be really nice of you!
I am really not into graphical design so I am totally up to any contribution of this kind since I won't be able to do it myself.
What kind of input would you need from me?

Hi again, sorry for late answer.
I designed a logo inspired by the information in the read me file. how do these look? you can also tell me if there is something you want to edit.

I think I found a better idea. This logo represents the application better. ( python and Application function ) What do you think? Also, about the license: https://creativecommons.org/licenses/by/4.0/

Those seem very promising to me, very good idea!
I've asked the Python trademark people for authorization to use derivated work from Python logo (as stated there: https://www.python.org/community/logos/).
Waiting for their feedback on this :)
What would you think of mixing together your first idea with the new one?
Like putting the "Pythonic pen" inside a petition. Something like "this":

(thx @SylvainDe for the quick drawing!)

How is this? :)

I love it, even better than my contribution above ;-)
The PSF might see it differently though.

I like this very much also! I hope it will be OK with PSF, let me ask them.
Thanks again!

You're welcome. I'll wait for feedback from you. Have a nice day!

David Mertz...
Co-chair Python Software Foundation Trademarks Committee
This version in https://github.com/fallen/Pytition/issues/37#issuecomment-447678287 is clearly derivative and alters the shape. It is not a permissible use.
Please look at https://www.python.org/psf/trademarks/.
Specifically,

As a guideline, modifications that leave the shape -- but not necessarily the colors -- unaltered are likely to be approved. Inclusion of other visual elements at an offset to the logo is generally acceptable (subject to other terms of this policy). Modifications that modify or obscure any part of the shape of the logo will not be approved.

Numerous designs have followed this by keeping the logo intact but placing it nearby other new elements. This restriction is a matter of law, not simply if preference. Allowing derived modifications such as yours created what is called dilution that can reduce or eliminate our legal right to protect the mark at all.
There are other logos that we can consider "inspired by but not derived from" the Python logo. These do not directly use visual elements of the protected "two snakes" but in some way suggest it. The best example I know of is the PyCon China design.
PyCon Israel is derived but not dilutive.
Pycon Thailand would be unacceptable. We were not aware of it; however Thailand is not subject to a current registration jurisdiction, so technically we have no enforcement power.

Hello @DavidMertz thank you for your answer here.
Here are some new proposals for approval by PSF as logo for the Pytition project.
I took inspiration from the two dragons which are not snakes but are a reference to the two snakes.
I tried to do the same with pens, which are not snakes but a reference to the two snakes.
Here is the draft:

PS: A is just the Python logo, but inside a petition clipboard

@fallen I'm awaiting the input of other members of the PSF TC.  But my own inclination is that design A is still probably dilutive, simply because it is too recognizable (even if no literal shape element is quite copied).  The later ones, but especially C and D are clearly something different that only bear indirect inspiration from the Python logo.  In that way, I do not think they will be dilutive.

@DavidMertz Hello, thank for your quick argumented reply. Any news from other PSF TC members? Thanks :)

I'll nudge them, but I think going by my advice will be the committee sentiment.

@DavidMertz I've discussed a bit with @fallen about the logo he provided above
Below is a vectorized version of logo C_bis (provided here in png, I will provide the svg once I have the right computer on hand)
I tried to stick as close to the drawing as possible.
@fallen asked if I could provide one with Python's color (as shown below) but we would need the PSF TC input on whereas we can use them or not.

Just to follow up a little more.  Since you are aiming at "inspired by but not derived from" the latest versions skirt the edge too closely.  The hand drawings in https://github.com/pytition/Pytition/issues/37#issuecomment-462164129 have squared off corners that create more visual distance from the trademark protected PSF "two snakes" logo.
The probably computer rendered ones at https://github.com/pytition/Pytition/issues/37#issuecomment-465096859 add back in curved corners that are almost identical to those in the actual Python logo.  Restoring a bit more visual distinction with the more squared corners would satisfy our concerns.

@DavidMertz
Thanks for the answer,
By squared off corners, do you mean stuf like below :

Yes. Those address the issue of too-similar corner shapes while still having the two-snakes inspiration.

@spiderweak hey! I hope you're well!
Thanks for the new proposal :)
Would you have a bit of time for some modifications ?
I would go for the first one but with the following modifications:

About the lines separating the 2 snakes/pen. I would make the two vertical lines a bit wavy like the horizontal one.
Also, I would put some bold on all the black lines. By discussing it with the person who did the hand-drawing, the lines happear too thin compared to the clipboard's bold lines.

Thanks :)

Yup, I can do that,
I don't have time for now but I should have enough time to do the modifications you ask by the end of the week.

Yup, I can do that,
I don't have time for now but I should have enough time to do the modifications you ask by the end of the week.

Thanks a lot!

Here it is.
I changed the colors a bit too, don't hesitate if you need other modifications

I'm closing this. No more progress in this issue for years.


Support changing the kind

Signed-off-by: Jeff Fouchard<EMAIL_ADDRESS>What this PR does / why we need it:
Allows setting the "kind" of the object deployed by Kubernetes from StatefulSet to Deployment.  We need this because we deploy single node Memcached clusters for ephemeral environments, but that setup breaks node draining since it cannot move those pods.
Special notes for your reviewer:
Service still functions as expected with both kinds, and helm upgrade functions as expected.
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/assign

/ok-to-test

/lgtm


release v1.5.1

:tada: This PR is included in version 1.5.1 :tada:
The release is available on:

v1.5.1
GitHub release

Your semantic-release bot :package::rocket:


Send keys doesn't work in PhantomJS

Hi, i'm on Windows with PhantomJS  2.1.7 which was installed with npm install command
I have an application that changes the currently screen eventually and i'm facing some issues with phantomjs that dowsn't happen in chrome browser, but i need to run as a headless browser, that's why i'm trying to get it sorter with phantomjs.
I'm using sendKeys function to simulate the currently screen changes. When it first start for the first screen the test works fine but, when it change for another screen/spec doesn't recognize ...findElements(by.id(...)) function.
This is my spec file
var globalE2EFunctions = require('./functions/global.e2e.functions.js');

describe('Emergency Screen Content', function () {

    beforeEach(function () {
        browser.get('');
        browser.actions().sendKeys(globalE2EFunctions.EMERGENCY_SCREEN()).perform();
        browser.sleep(1000);
    });

    var components = browser.params.emergencyMock.components;
    var views = browser.params.emergencyTemplate.views;

    specTemplate = function(i){
        it('should have emergency template componentId '+ components[i].componentId +' defined with componentType ' + components[i].componentType, function () {
            for(a=0; a<views.length; a++){
                if(views[a].id == components[i].componentId){
                    expect(components[i].componentType).toEqual(views[a].component.type);
                }
            }
        });
    }

    specMock = function(i){
        it('should have componentId '+ components[i].componentId +' available', function () {
            browser.driver.findElements(by.id(components[i].componentId)).then(function (array){
                expect(array.length).not.toBe(0);
            });
        });
    }

    verifyScreenStructure = function(){
        for(i=0; i<components.length; i++){
            specTemplate(i);
            specMock(i);
        }
    }

    verifyScreenStructure();

});

I've readed that was a few problems with GhostDriver for phantomjs and 've already tried these options but none of then worked anyway
browser.actions().sendKeys("16777221").perform();
browser.actions().sendEvent('keypress', browser.actions().event.sendKeys('Enter'));
browser.actions().sendEvent('keypress', browser.actions().event.sendKeys(browser.event.Key.ENTER).perform());
browser.actions().sendEvent('keypress', browser.actions().event.sendKeys(browser.event.Key.ENTER));
browser.actions().sendKeys(browser.event.Key.ENTER).perform();
browser.actions().event.sendKeys(browser.event.Key.ENTER);
browser.actions().sendKeys(browser.Key.ENTER).perform();

((PhantomJSDriver)driver).executePhantomJS("var page = this; page.uploadFile('input[type=file]', '/path);

Any help would be appreciated.

I'd like to inform that i've already tried passing 15000 to  browser.sleep function and it didn't work too

That's my protractor.conf.js
capabilities: {
browserName: 'phantomjs',
'phantomjs.binary.path': require('phantomjs').path,
'phantomjs.ghostdriver.cli.args': ['--loglevel=DEBUG']
},


Aladdin generated examples for storage

Sort commands alphabetically in help files for easy diff.
Add Aladdin crafted examples.

You should make CI pass.

@Juliehzl  please take a look.


[TypeSpec CI] Automation error: Project file does not exist.

I have a typespec PR out for EventGrid and I am seeing this error on the azure-sdk-net-2 run: MSBUILD : error MSB1009: Project file does not exist. in the CI (with errorCode False)
Could I get some assistance debugging this?
Edit project-dir should be Azure.Messaging.EventGrid which fixed the File not exist issue but caused conflicts between autorest.md and tsp-location.yaml, still debugging :)
Cannot define both /mnt/vss/_work/1/s/azure-sdk-for-net/sdk/eventgrid/Azure.Messaging.EventGrid/src/autorest.md and /mnt/vss/_work/1/s/azure-sdk-for-net/sdk/eventgrid/Azure.Messaging.EventGrid/src/../tsp-location.yaml in the same project

I'm not familar with the pipeline. But there seem 2 issues:

Azure.Messaging.EventGrid.Namespaces is the project folder name (see here), which seems wrong. It should be Azure.Messaging.EventGridV2 defined in the tsconfig.yaml.

10:58:41.379 cmdout 	[Invoke-GenerateAndBuildV2.ps1] MSBUILD : error MSB1009: Project file does not exist.
10:58:41.379 cmdout 	[Invoke-GenerateAndBuildV2.ps1] Switch: /mnt/vss/_work/1/s/azure-sdk-for-net/sdk/eventgrid/Azure.Messaging.EventGrid.Namespaces/src

The pipeline actually failed here. Looks like our script tries to find some artifacts of which the path doesn't exist on build machine.

10:58:41.550 cmderr W 	[Invoke-GenerateAndBuildV2.ps1]      | Cannot find path
10:58:41.550 cmderr W 	[Invoke-GenerateAndBuildV2.ps1]      | '/mnt/vss/_work/1/s/azure-sdk-for-net/artifacts/packages/Debug/' because
10:58:41.550 cmderr W 	[Invoke-GenerateAndBuildV2.ps1]      | it does not exist.

@raych1 did you change we talked about recently fix this?


Wallet Connect issue

Getting reports from users that WalletConnect is not working well anymore. I can't test it.
What the user says:

"It's a problem with the WalletConnect provider in mostly all Solana dApps. I never had any success to connect a mobile wallet to a dapp via ConnectWallet QR-codes. As I said no such problems in the Eth ecosystem."

It's a niche feature but as it's available in the wallet provider component it should work. There was some changes in the standard and think Solana Labs hasn't updated their libs.

@jnwng not a lot of info here, but do you have an idea? My initial take is that few wallets actually support WC2, which is needed for non-EVM chain support, and it's not possible to tell from the report what wallets are being tested with what apps.

yep, agreed. the user is probably trying to use an Ethereum mobile wallet thinking its just going to work (but it wont)
nothing actionable here without confirmation that they're not just using WCv1

Closing this issue since there isn't enough detail to act on. The WalletConnect adapter was just updated, but I don't think the changes will be relevant here unless there was an underlying bug that was fixed in a dependency.


When adding a user control to the UI Root and compiling I get an error

#error: ''Cannot create unknown type '{clr-namespace:Mantanimus.Views}UserControl1'.' Line number '1' and line position '445'.'

I've just created a normal user control, and here is my UIRoot:
<ek:UIRoot   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:ek="clr-namespace:EmptyKeys.UserInterface.Designer;assembly=EmptyKeys.UserInterface.Designer"
             xmlns:local="clr-namespace:Mantanimus.Views"
             mc:Ignorable="d"
             d:DesignHeight="640" d:DesignWidth="800"
             Background="Transparent">
    <Grid>
        <local:UserControl1/>
    </Grid>
</ek:UIRoot>

I'm not sure what's wrong
I'm quite at a loss, I'm really hoping to use this library as it ticks all my boxes. I only wish for a standard user control included in the library which supports draggable windows out-the-box.

Solved, never mind 😆


snazy: init at 0.3.0

Description of changes

Add snazy to nixpkgs @ 0.3.0
A helper for viewing logs that dump lines of json
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[X] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[X] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[X] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[X] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 170595 run on x86_64-linux 1

1 package built:

snazy


Fix for Hugging Face Spaces: PoeticTTS SpeechCloning doesn't work

@Flux9665
Hi, I tried to fix the two spaces that you have on hugging face:
https://huggingface.co/spaces/Flux9665/PoeticTTS
https://huggingface.co/spaces/Flux9665/SpeechCloning
After trying to fix PoeticTTS, the output sound are bird / mikey mouse like:
https://huggingface.co/spaces/trholding/PoeticTTS
The changes were:
Unversioned requirements.txt. Updated packages.txt Updated app.py to clone master.
Logs don't show errors.
Similarly Speech Cloning also outputs mikey mouse / bird like audio:
https://huggingface.co/spaces/trholding/SpeechCloning
The changes were:
Unversioned requirements.txt. Updated packages.txt. Updated app.py that clones master changes: save_img_for_debug=None on line 208,
"alignment.png", \ to "Utility/toucan.png", \  on line 171
I did that to fix some errors related to mathplot, missing file, url lib etc. Logs don't show errors.

Update: Sort of fixed when I changed sample rate to 24khz. However the cloning output is a bit degraded towards the end of each sentence.

great, thank you for your help in fixing this! I noticed the spaces were down a while ago, but didn't have time to figure out a way to get them back up, especially since there was no apparrent reason why they ceased to work in the first place after working without problems for a very long time.

Yes that's a hugging face mystery. Locally it was working without problems. Thank you, for the awesome work on this. The best TTS I have tested so far.
I have an issue with voice cloning / run_prosody_override.py locally, it outputs very distorted and unrecognizable sound.

I should probably spend some time documenting this script, I think people are often confused about what the inputs are supposed to be. Maybe it's the same problem in your case? The reference audio should be an audio of a speaker that reads out the exact same text with a desired prosody (i.e. stuff like the intonation). The TTS will then read the text with the exact same intonation as the reference audio, but with the voice that is currently set as default. To do just voice-cloning without also cloning the prosody of a specific utterance, you can just instanciate a ToucanTTSInterface form the InferenceInterfaces and use the set_utterance_embedding method to change the voice of the TTS.
In case that this is not the issue, I would need some more details about what you want to clone to be able to help

I just made two changes to the utterance cloner and the associated example script, I hope this makes the expected inputs clearer

@Flux9665

I noticed the spaces were down a while ago, but didn't have time to figure out a way to get them back up, especially since there was no apparrent reason why they ceased to work in the first place after working without problems for a very long time.

Locally the figures wouldn't work. Gradio errors. My problems with the interface went away when I switched away from gradio to streamlit. And that meant also less code to type / more readable.

The reference audio should be an audio of a speaker that reads out the exact same text with a desired prosody
I think this was my problem. I spoke something else and the text was something else.

Thank you for the update. I'll check it out.
I have built a any language to any language STT -> Translation -> TTS pipeline using whisper, NLLB and IMS-Toucan

One problem, is that the voice is not an exact clone. I used 20s and 10s voice samples. The output that I have uploaded is the result of that clone. Sounds about 50% different from my voice. How do I get this right? Output sample:
dddd5c0b72718374cdaa45221858e088d64ac3861f0f159a00cbd146.zip
One thing is clear from your clarification is that prosody override would not work because input audio is english, text is german.
I have further experimented with toucan. Surprisingly, gets stuff almost right when I use Asian and Indic languages by just changing accent to Spanish, Portuguese or Italian and playing with the knobs. Probably has to do because you use phonemes and espeak-ng does that part well.
https://github.com/snakers4/silero-models has a lot of models for many languages which sound good, maybe the same data could be used to add / train more languages to Toucan?
I recommend that you get research access to Google TPUs for faster training if you plan to add languages. I got access when I requested it.
There are some more use cases I've found for toucan which are research worthy. I have also ideas to speed up this on low resource devices. I'll add them as new issues/suggestions/feature requests.

A very late update on this: I'm currently trying to make the voice cloning / speaking style cloning much better, so this would hopefully also benefit your use case. Those changes are however still experimental and they don't work well at all yet. Once I manage to find a good setup, there will be a new release.

Sure, will wait for this.


[CSV-123] Add possibility to use ResultSet header meta data as CSV header

CSV-123 added the ResultSet metadata feature using a boolean parameter
https://issues.apache.org/jira/browse/CSV-123

@shivakrishnaah
Thank you for you PR> I did this factored in a different way. Please see git master :-)


mutex synchronization does not preserve spec.workflowMetadata

Checklist

[x] Double-checked my configuration.
[x] Tested using the latest version. (v3.3.9)
[x] Used the Emissary executor.

Summary
What happened/what you expected to happen?
created a WorkflowTemplate with some mutex value. Workflows that are in a pending state  (waiting for the mutex) lose their labels which were defined under workflowMetadata.labels.
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
  name: template-with-mutex
spec:
  arguments:
    parameters:
      - name: message
        value: Hi
  workflowMetadata:
    labels:
      app: hello-world
  synchronization:
    mutex:
      name: test
  entrypoint: whalesay-template
  templates:
  - name: whalesay-template
    inputs:
      parameters:
      - name: message
    container:
      image: docker/whalesay
      command: [cowsay]
      args: ["{{inputs.parameters.message}}"]

To reproduce:
submit multiple workflows from that template
argo -n argo submit --from workflowtemplate/template-with-mutex -p message=Hi

Note that the first workflow will still have the app: hello-world label, but the others will be In a pending state without that label.
What version are you running?
v3.3.9
argo: v3.3.9+5db53aa.dirty
  BuildDate: 2022-08-10T01:54:38Z
  GitCommit: 5db53aa0ca54e51ca69053e1d3272e37064559d7
  GitTreeState: dirty
  GitTag: v3.3.9
  GoVersion: go1.19
  Compiler: gc
  Platform: linux/amd64

Diagnostics
Logs from the workflow controller:

Click to expand logs
kubectl logs -n argo deploy/workflow-controller | grep ${workflow}

Found 3 pods, using pod/workflow-controller-6f866fbbd9-tb9fm
time="2022-08-23T13:06:24.202Z" level=info msg="Processing workflow" namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:24.219Z" level=warning msg="Workflow processing has been postponed due to concurrency limit" namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:24.219Z" level=info msg="Updated phase  -> Pending" namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:24.219Z" level=info msg="Updated message  -> Waiting for argo/Mutex/test lock. Lock status: 0/1 " namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:24.233Z" level=info msg="Workflow update successful" namespace=argo phase=Pending resourceVersion=342343251 workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:34.234Z" level=info msg="Processing workflow" namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:34.234Z" level=info msg="argo/Mutex/test acquired by argo/template-with-mutex-8dxxh " mutex=argo/Mutex/test
time="2022-08-23T13:06:34.234Z" level=info msg="Task-result reconciliation" namespace=argo numObjs=0 workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:34.234Z" level=info msg="Updated phase Pending -> Running" namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:34.235Z" level=info msg="Updated message Waiting for argo/Mutex/test lock. Lock status: 0/1  -> " namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:34.235Z" level=info msg="Pod node template-with-mutex-8dxxh initialized Pending" namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:34.266Z" level=info msg="Created pod: template-with-mutex-8dxxh (template-with-mutex-8dxxh)" namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:34.266Z" level=info msg="TaskSet Reconciliation" namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:34.266Z" level=info msg=reconcileAgentPod namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:34.280Z" level=info msg="Workflow update successful" namespace=argo phase=Running resourceVersion=342343364 workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:44.269Z" level=info msg="Processing workflow" namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:44.269Z" level=info msg="Task-result reconciliation" namespace=argo numObjs=1 workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:44.269Z" level=info msg="task-result changed" namespace=argo nodeID=template-with-mutex-8dxxh workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:44.269Z" level=info msg="node changed" new.message= new.phase=Succeeded new.progress=0/1 nodeID=template-with-mutex-8dxxh old.message= old.phase=Pending old.progress=0/1
time="2022-08-23T13:06:44.269Z" level=info msg="TaskSet Reconciliation" namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:44.269Z" level=info msg=reconcileAgentPod namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:44.269Z" level=info msg="Updated phase Running -> Succeeded" namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:44.269Z" level=info msg="Marking workflow completed" namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:44.269Z" level=info msg="Marking workflow as pending archiving" namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:44.269Z" level=info msg="Checking daemoned children of " namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:44.270Z" level=info msg="Lock has been released by argo/template-with-mutex-8dxxh. Available locks: 1" mutex=argo/Mutex/test
time="2022-08-23T13:06:44.270Z" level=info msg="argo/template-with-mutex-8dxxh released a lock from argo/Mutex/test"
time="2022-08-23T13:06:44.270Z" level=info msg="Released all acquired locks" key=template-with-mutex-8dxxh namespace=argo workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:44.275Z" level=info msg="cleaning up pod" action=deletePod key=argo/template-with-mutex-8dxxh-1340600742-agent/deletePod
time="2022-08-23T13:06:44.281Z" level=info msg="Workflow update successful" namespace=argo phase=Succeeded resourceVersion=342343469 workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:44.281Z" level=info msg="argo/template-with-mutex-8dxxh released a lock from argo/Mutex/test"
time="2022-08-23T13:06:44.796Z" level=info msg="archiving workflow" namespace=argo uid=ea931df1-6b94-4b3d-a5f9-92bba1b866f2 workflow=template-with-mutex-8dxxh
time="2022-08-23T13:06:44.801Z" level=info msg="cleaning up pod" action=labelPodCompleted key=argo/template-with-mutex-8dxxh/labelPodCompleted
time="2022-08-23T13:06:44.823Z" level=info msg="Queueing Succeeded workflow argo/template-with-mutex-8dxxh for delete in 3h0m0s due to TTL"

If the workflow's pods have not been created, you can skip the rest of the diagnostics.

The workflow's pods that are problematic:

Click to expand logs
kubectl get pod -o yaml -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded

apiVersion: v1
items:
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      kubectl.kubernetes.io/default-container: main
      workflows.argoproj.io/node-id: template-with-mutex-8dxxh
      workflows.argoproj.io/node-name: template-with-mutex-8dxxh
    creationTimestamp: "2022-08-23T13:06:34Z"
    labels:
      workflows.argoproj.io/completed: "true"
      workflows.argoproj.io/workflow: template-with-mutex-8dxxh
    name: template-with-mutex-8dxxh
    namespace: argo
    ownerReferences:
    - apiVersion: argoproj.io/v1alpha1
      blockOwnerDeletion: true
      controller: true
      kind: Workflow
      name: template-with-mutex-8dxxh
      uid: ea931df1-6b94-4b3d-a5f9-92bba1b866f2
    resourceVersion: "342343474"
    uid: f0b37bbb-0467-4cfa-9ec0-15683c42e330
  spec:
    automountServiceAccountToken: false
    containers:
    - command:
      - argoexec
      - wait
      - --loglevel
      - info
      env:
      - name: ARGO_POD_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.name
      - name: ARGO_POD_UID
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.uid
      - name: ARGO_CONTAINER_RUNTIME_EXECUTOR
        value: emissary
      - name: GODEBUG
        value: x509ignoreCN=0
      - name: ARGO_WORKFLOW_NAME
        value: template-with-mutex-8dxxh
      - name: ARGO_CONTAINER_NAME
        value: wait
      - name: ARGO_TEMPLATE
        value: '{"name":"whalesay-template","inputs":{"parameters":[{"name":"message","value":"Hi"}]},"outputs":{},"metadata":{},"container":{"name":"","image":"docker/whalesay","command":["cowsay"],"args":["Hi"],"resources":{}},"volumes":[{"name":"tmp","emptyDir":{}}],"archiveLocation":{"archiveLogs":true,"gcs":{"bucket":"argo-artifact-repository-staging","key":"template-with-mutex-8dxxh/template-with-mutex-8dxxh"}}}'
      - name: ARGO_NODE_ID
        value: template-with-mutex-8dxxh
      - name: ARGO_INCLUDE_SCRIPT_OUTPUT
        value: "false"
      - name: ARGO_DEADLINE
        value: "0001-01-01T00:00:00Z"
      - name: ARGO_PROGRESS_FILE
        value: /var/run/argo/progress
      - name: ARGO_PROGRESS_PATCH_TICK_DURATION
        value: 1m0s
      - name: ARGO_PROGRESS_FILE_TICK_DURATION
        value: 3s
      image: quay.io/argoproj/argoexec:v3.3.9
      imagePullPolicy: IfNotPresent
      name: wait
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        privileged: false
        runAsGroup: 8737
        runAsNonRoot: true
        runAsUser: 8737
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: exec-sa-token
        readOnly: true
      - mountPath: /mainctrfs/tmp
        name: tmp
      - mountPath: /var/run/argo
        name: var-run-argo
    - args:
      - Hi
      command:
      - /var/run/argo/argoexec
      - emissary
      - --
      - cowsay
      env:
      - name: ARGO_CONTAINER_NAME
        value: main
      - name: ARGO_TEMPLATE
        value: '{"name":"whalesay-template","inputs":{"parameters":[{"name":"message","value":"Hi"}]},"outputs":{},"metadata":{},"container":{"name":"","image":"docker/whalesay","command":["cowsay"],"args":["Hi"],"resources":{}},"volumes":[{"name":"tmp","emptyDir":{}}],"archiveLocation":{"archiveLogs":true,"gcs":{"bucket":"argo-artifact-repository-staging","key":"template-with-mutex-8dxxh/template-with-mutex-8dxxh"}}}'
      - name: ARGO_NODE_ID
        value: template-with-mutex-8dxxh
      - name: ARGO_INCLUDE_SCRIPT_OUTPUT
        value: "false"
      - name: ARGO_DEADLINE
        value: "0001-01-01T00:00:00Z"
      - name: ARGO_PROGRESS_FILE
        value: /var/run/argo/progress
      - name: ARGO_PROGRESS_PATCH_TICK_DURATION
        value: 1m0s
      - name: ARGO_PROGRESS_FILE_TICK_DURATION
        value: 3s
      image: docker/whalesay
      imagePullPolicy: Always
      name: main
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        privileged: false
        readOnlyRootFilesystem: true
        runAsGroup: 8737
        runAsNonRoot: true
        runAsUser: 8737
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: FallbackToLogsOnError
      volumeMounts:
      - mountPath: /tmp
        name: tmp
      - mountPath: /var/run/argo
        name: var-run-argo
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    initContainers:
    - command:
      - argoexec
      - init
      - --loglevel
      - info
      env:
      - name: ARGO_POD_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.name
      - name: ARGO_POD_UID
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.uid
      - name: ARGO_CONTAINER_RUNTIME_EXECUTOR
        value: emissary
      - name: GODEBUG
        value: x509ignoreCN=0
      - name: ARGO_WORKFLOW_NAME
        value: template-with-mutex-8dxxh
      - name: ARGO_CONTAINER_NAME
        value: init
      - name: ARGO_TEMPLATE
        value: '{"name":"whalesay-template","inputs":{"parameters":[{"name":"message","value":"Hi"}]},"outputs":{},"metadata":{},"container":{"name":"","image":"docker/whalesay","command":["cowsay"],"args":["Hi"],"resources":{}},"volumes":[{"name":"tmp","emptyDir":{}}],"archiveLocation":{"archiveLogs":true,"gcs":{"bucket":"argo-artifact-repository-staging","key":"template-with-mutex-8dxxh/template-with-mutex-8dxxh"}}}'
      - name: ARGO_NODE_ID
        value: template-with-mutex-8dxxh
      - name: ARGO_INCLUDE_SCRIPT_OUTPUT
        value: "false"
      - name: ARGO_DEADLINE
        value: "0001-01-01T00:00:00Z"
      - name: ARGO_PROGRESS_FILE
        value: /var/run/argo/progress
      - name: ARGO_PROGRESS_PATCH_TICK_DURATION
        value: 1m0s
      - name: ARGO_PROGRESS_FILE_TICK_DURATION
        value: 3s
      image: quay.io/argoproj/argoexec:v3.3.9
      imagePullPolicy: IfNotPresent
      name: init
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        privileged: false
        runAsGroup: 8737
        runAsNonRoot: true
        runAsUser: 8737
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: exec-sa-token
        readOnly: true
      - mountPath: /var/run/argo
        name: var-run-argo
    nodeName: gke-playground-standard-40beea4a-zdxs
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Never
    schedulerName: gke.io/optimize-utilization-scheduler
    securityContext:
      runAsGroup: 8737
      runAsNonRoot: true
      runAsUser: 8737
    serviceAccount: argo-read
    serviceAccountName: argo-read
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - emptyDir: {}
      name: var-run-argo
    - emptyDir: {}
      name: tmp
    - name: exec-sa-token
      secret:
        defaultMode: 420
        secretName: argo-read-token-cfcxf
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2022-08-23T13:06:35Z"
      reason: PodCompleted
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2022-08-23T13:06:37Z"
      reason: PodCompleted
      status: "False"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2022-08-23T13:06:37Z"
      reason: PodCompleted
      status: "False"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2022-08-23T13:06:34Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: docker://35aad4f7f9f9b850253701a522694594bf97d68eccb0cd31760e6f58b8bb3b13
      image: docker/whalesay:latest
      imageID: docker-pullable://docker/whalesay@sha256:178598e51a26abbc958b8a2e48825c90bc22e641de3d31e18aaf55f3258ba93b
      lastState: {}
      name: main
      ready: false
      restartCount: 0
      started: false
      state:
        terminated:
          containerID: docker://35aad4f7f9f9b850253701a522694594bf97d68eccb0cd31760e6f58b8bb3b13
          exitCode: 0
          finishedAt: "2022-08-23T13:06:37Z"
          reason: Completed
          startedAt: "2022-08-23T13:06:36Z"
    - containerID: docker://ba441443faeda1b4644eecbd7479631ac092653ad05284be69db04fe7e39fb36
      image: quay.io/argoproj/argoexec:v3.3.9
      imageID: docker-pullable://quay.io/argoproj/argoexec@sha256:e633c7097757d9947ff79d3051eeaeb760e7e5d66b5d4d314078117d6cb18ebb
      lastState: {}
      name: wait
      ready: false
      restartCount: 0
      started: false
      state:
        terminated:
          containerID: docker://ba441443faeda1b4644eecbd7479631ac092653ad05284be69db04fe7e39fb36
          exitCode: 0
          finishedAt: "2022-08-23T13:06:38Z"
          reason: Completed
          startedAt: "2022-08-23T13:06:35Z"
    hostIP: <IP_ADDRESS>
    initContainerStatuses:
    - containerID: docker://3c878274ab2db0eec0e1c1f116638506795d876b55845e00d982b9738529c1fb
      image: quay.io/argoproj/argoexec:v3.3.9
      imageID: docker-pullable://quay.io/argoproj/argoexec@sha256:e633c7097757d9947ff79d3051eeaeb760e7e5d66b5d4d314078117d6cb18ebb
      lastState: {}
      name: init
      ready: true
      restartCount: 0
      state:
        terminated:
          containerID: docker://3c878274ab2db0eec0e1c1f116638506795d876b55845e00d982b9738529c1fb
          exitCode: 0
          finishedAt: "2022-08-23T13:06:35Z"
          reason: Completed
          startedAt: "2022-08-23T13:06:35Z"
    phase: Succeeded
    podIP: <IP_ADDRESS>
    podIPs:
    - ip: <IP_ADDRESS>
    qosClass: BestEffort
    startTime: "2022-08-23T13:06:34Z"
kind: List
metadata:
  resourceVersion: ""

Logs from in your workflow's wait container, something like:

Click to expand logs
kubectl logs -c wait -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded
time="2022-08-23T13:06:37.906Z" level=info msg="No Script output reference in workflow. Capturing script output ignored"
time="2022-08-23T13:06:37.906Z" level=info msg="Saving logs"
time="2022-08-23T13:06:37.907Z" level=info msg="GCS Save path: /tmp/argo/outputs/logs/main.log, key: template-with-mutex-8dxxh/template-with-mutex-8dxxh/main.log"
time="2022-08-23T13:06:38.188Z" level=info msg="not deleting local artifact" localArtPath=/tmp/argo/outputs/logs/main.log
time="2022-08-23T13:06:38.188Z" level=info msg="Successfully saved file: /tmp/argo/outputs/logs/main.log"
time="2022-08-23T13:06:38.188Z" level=info msg="No output parameters"
time="2022-08-23T13:06:38.188Z" level=info msg="No output artifacts"
time="2022-08-23T13:06:38.199Z" level=info msg="Create workflowtaskresults 201"
time="2022-08-23T13:06:38.200Z" level=info msg="Killing sidecars []"
time="2022-08-23T13:06:38.201Z" level=info msg="Alloc=26309 TotalAlloc=32452 Sys=39378 NumGC=4 Goroutines=10"

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

@Nizar-opt fixed in https://github.com/argoproj/argo-workflows/pull/8907. We are in process of releasing v3.4. Can you try on v3.4-rc2?

@sarabala1979 Thanks, it worked on v3.4.0-rc2. However, argo-server and workflow-controller keep complaining about some values in the controller-configmap.
data:
  mainContainer: |
    serviceAccountName: argo-read # error unmarshaling JSON: while decoding JSON: json: unknown field "serviceAccountName"
    securityContext:
      runAsNonRoot: true
      runAsUser: 8737
      runAsGroup: 8737
      privileged: false argo-read # error unmarshaling JSON: while decoding JSON: json: unknown field "privileged"
      allowPrivilegeEscalation: false # the same
      readOnlyRootFilesystem: true # //
      capabilities: # //
        drop:
          - ALL
    volumeMounts:
      - name: tmp
        mountPath: /tmp
    terminationMessagePolicy: FallbackToLogsOnError
    automountServiceAccountToken: false # //

Are there any breaking changes related to that?

There is no breaking change on this spec. Can you share your Argo server/workflow controller version and K8s version?

I faced this issue after upgrading to v3.4.0-rc2.
K8s version: 1.22.10-gke.600

Hi @sarabala1979. Just following up on this issue

We will take a look

Thanks!

@Nizar-opt Can you try with 3.4-rc2?
Issue is fixed #8907

@sarabala1979 It works on 3.4.0-rc2, but after upgrading I faced a new issue with the controller-configmap so I reverted back to 3.3.9. Should I open another issue for that?

@Nizar-opt What issue  are you facing? Please create new issue with logs and information


VS code doesn't auto-complete classes and ids (already declared in html files) while coding in css files.

VSCode Version:
OS Version:

Steps to Reproduce:

Does this issue occur when all extensions are disabled?: Yes/No

duplicate of #28442


Health task throws error

Plugin version
2.1.4
Gradle version
8.10.2 and 8.8 also
JDK version
17
(Optional) Android Gradle Plugin (AGP) version
28.2.0 and 8.7.0 too has ths problem
Describe the bug
Task :projectHealth  just not works, throws error.
To Reproduce
Steps to reproduce the behavior:

Add plugins as described in a documentation
Add plugins to modules that i want to scan
Run task :projectHealth

-> failure
Unable to find method ''com.google.common.collect.ImmutableSet com.google.common.graph.Graphs.reachableNodes(com.google.common.graph.Graph, java.lang.Object)''
'com.google.common.collect.ImmutableSet com.google.common.graph.Graphs.reachableNodes(com.google.common.graph.Graph, java.lang.Object)'Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)

Expected behavior
Task executes correctly, without trowing errors.
Additional context

You must have an older version of Guava on your buildscript classpath, in a classloader with higher precedent. buildSrc perhaps.


Specifying primary key via @key causes id field to be required in create input

Describe the bug
Specifying the field name using @key causes it to be required in create input. see steps below.
Amplify CLI Version
4.18.0
To Reproduce
Steps to reproduce the behavior or terminal output if applicable

create pk with @key, don't call the field id.
run amplify api gql-compile
see the pk is required in the input.

Expected behavior
Expect the gql compile to recognize the key field name and treat it like an id field.
Additional context
Using more verbose field naming convention so Customer type has customerId field for pk.

We are facing this issue too. Specifying @primaryKey to a custom id (e.g. productId) requires us to generate the uuid on the client side.
Unlike id, which is generated by the resolver.

We also support this feature request


Share audio loaded state through pinia

Fixes

Fixes #1528  by @zackkrida
Description

Based on my debugging it seemed like the issue was that the loaded event was never firing for the audio after it had already been loaded on the search results page, so when the audio track component is initialized on the single result page, hasLoaded is set to false and never updated to true because the loaded event doesn't fire again after the first time. This made the status get stuck on loading.
So this PR creates a pinia store to record the loading state of audio by id. This means that each audio track doesn't have to initialize hasLoaded to false even if it's for an audio file that's already been interacted with.
It kind of makes me think that we should eventually move all the state and lifecycle management for audio track into pinia stores segmented by ID so that we can share the state logic between the global audio track and the regular audio track as well... In particular the status initialization across the two track components seems like the biggest win. It's the main thing that each one has to juggle right now.
Testing Instructions

Follow the repro instructions in the linked issue and confirm it's no longer reproducible.
I'm not sure whether to add an e2e test for this as I don't know whether we can reliably mock audio responses at the moment? It's probably worth looking into though.
Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[x] I added or updated tests for the changes I made (if applicable).
[N/A] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

That's a good idea, Olga. I will try to implement that here and see if it's viable for a future issue to do with the duration (and probably status too) as you suggested.

Another bug I've noticed is if you click on an play for some audio in the 'All results` view, and then click on a different audio link to open the single result, the first audio keeps playing, and there's no way to stop it


Add education resources page

@Qianqianye here's some scaffolding for an education resources page. For now I've based the layout on the tutorials page, let me know if something else makes sense! Especially if you want to just a more normal page layout, feel free to add more regular markdown in the first <div> and remove everything outside of it.
Some other notes:

Currently this is based off of the changes in https://github.com/processing/p5.js-website/pull/286 for one-off pages, so that's the base for this PR until that's merged
This is currently linked to from nowhere. Where do we want to link to it? Probably from community?
This is also currently implemented as a single page rather than as a collection of multiple entries, because I'm not sure just yet what all we'll want to do with it in terms of ordering, layout, etc. @Qianqianye let me know if it would make more sense to get the content from a bunch of files similar to how libraries work, rather than this single-source version.

Thanks @davepagurek. I initially was thinking to link it in the bottom of Tutorial page. The Community page could also work. Which one do you think makes more sense?

Update: added a link from the bottom of the tutorials page

Thanks @davepagurek!


Nick: Watch checkmybest.com

Nick requests the watch of the watch_keyword checkmybest\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

checkmybest\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Mast in Charcoal HQ


Enabling GH actions to test py311 and py312

Currently testing in GH actions workflow doesn't go above python 3.10

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


Clearing probes fixes.

Added clear_all_probes() to reset all probes to init state.
Some fixes to actually clear the probes correctly.

Not entirely related to this PR, but clang-tidy wants the shiny new for loops:
for(ProfilerProbesIter iP = m_probes.begin(); iP != m_probes.end(); iP++) ->
for(auto probe : m_probes)
(It's one of the warnings I haven't got around to fixing yet.)

Does it always complain about iterator loops or only the case where you iterate through all?

For a range, it usually suggests using auto instead of the iterator type. You can check the warnings in the output for the Travis Linux build: https://travis-ci.com/github/pimoroni/32blit-beta/jobs/298290759

Sorry, I can't bring myself to use "auto"!

How do you get the clang-tidy stuff when building locally?

Assuming a clang-tidy in PATH somewhere
cmake "-DCMAKE_CXX_CLANG_TIDY=clang-tidy;-header-filter=32blit;-checks=performance-*,portability-*,modernize-*,-modernize-use-trailing-return-type,-modernize-avoid-c-arrays,-modernize-use-nodiscard" [other opts]

(What Travis is doing) or
    "cmake.configureSettings": {
        "CMAKE_CXX_CLANG_TIDY": ["clang-tidy", "-header-filter=32blit", "-checks=performance-*,portability-*,modernize-*,-modernize-use-trailing-return-type,-modernize-avoid-c-arrays,-modernize-use-nodiscard"]
    },

With VS Code/CMake tools. There are a few defaults disabled due to being incredibly noisy. (And I don't think auto f() -> int; is an improvement on int f();...)
It will fail to build if you use it on an STM32 build though (it dies on the few .c files that actually contain C++)

Thanks, I will start running everything through this to tidy up before committing.


WIP: HHRE-344 Added new flows to crawl websites and download files

Just reviewed, a few points,

Now I understand better why you took a route to create another type of Transformer, FrameworkPipeline to meet the needs for this purpose - I believe this is a good approach, but lets's invite Imran for his buy-in for this approach, once it is ready,


Document how developers can run mypy, ruff, black locally for NanoVer

Pull requests need to pass CI including type checks and linting, but it's not clear how to run these locally. mypy in particular seems to need to be provided with some information about the package structure of the project? The workflow of having to wait for the CI to drip feed you typing problems and linting issues one by one is frustrating.

This indeed needs to be documented. Running mypy is especially tricky and annoying because of mypy partial support for namespace packages.
CI runs mypy this way: https://github.com/IRL2/nanover-protocol/blob/67f7e6d3e3528338159c98d3d68901ac909b6950/.github/workflows/tests.yml#L51
Black is simpler. Black can be installed with pip install black. It can be used to reformat all python files by running black ./python-libraries from the root of the repo. It can be used to just check the files with black --diff --check ./python-libraries.
Ruff is pretty simple as well. pip install ruff to install, and ruff ./python-libraries to run.


Define "infrastructure" titles for Keptn LTS documentation

Need consensus on:

Directory name for the source files.  Oleg's suggestion is lts-1.0.x
Title on the landing page -- in parallel to 0.19.x, 0.18.x, etc
Release identifier to be used in URLs, now and in the future.

@aepfli thinks he can get "latest" to work for initial release
If we do that, what will the URL for this version be when "latest" is lts-2.0.x or something?

Need consensus from @aepfli , @oleg-nenashev , @mowies , and @thisthat

I would vote for 1.0.x folder name and Release 1.0.x LTS for the landing page title.
Then the identifier in URLs would still be consistent with older versions and would just be 1.0.x like the folder name.
I don't really see a reason why we should start using latest now when we don't use it anywhere else in Keptn. It will only make things weird with the following versions.

I think the justification for implementing "latest" is because we plan to use that approach when we go to the new doc engine and have true version control implemented.  But I defer to you, @oleg-nenashev , and @aepfli here.

i would still call the version by its name, and I would only leave the latest version in the recent directory. if I create a new folder for a new version, or copy the existing latest and rename it, to the now "old version" is just a technicality - but it has a big impact.

we can easily create canonical URLs - because latest is always the up-to-date version
we still have redirects for the current version, as long as we define aliases, as they will be used to generate pages for those aliases

Alternatively we might just introduce an alias with latest but I am not sure, who well redirects for canonical URLs are interpreted by Search engines.

We did as @mowies suggested above.


Use git config to get remote name, instead of git branch command

fix: #9
It would be better to use use git config to get remote name, instead of git branch command.
git config --default origin --get clone.defaultRemoteName returns default branch name or origin (if not set)
ref: https://git-scm.com/docs/git-config/2.30.0#Documentation/git-config.txt-clonedefaultRemoteName
Test result
$ deno -V
deno 1.37.1

$ deno test -A .
running 2 tests from ./hosting_service/mod_test.ts
getHostingService ...
  getHomeURL for<EMAIL_ADDRESS>... ok (3ms)
  getCommitURL for<EMAIL_ADDRESS>... ok (0ms)
  getTreeURL for<EMAIL_ADDRESS>... ok (0ms)
  getBlobURL for<EMAIL_ADDRESS>... ok (0ms)
  getBlobURL with lineStart for<EMAIL_ADDRESS>... ok (1ms)
  getBlobURL with lineStart/lineEnd for<EMAIL_ADDRESS>... ok (0ms)
  getPullRequestURL for<EMAIL_ADDRESS>... ok (0ms)
  getHomeURL for https://github.com/lambdalisue/gin.vim ... ok (0ms)
  getCommitURL for https://github.com/lambdalisue/gin.vim ... ok (0ms)
  getTreeURL for https://github.com/lambdalisue/gin.vim ... ok (0ms)
  getBlobURL for https://github.com/lambdalisue/gin.vim ... ok (0ms)
  getBlobURL with lineStart for https://github.com/lambdalisue/gin.vim ... ok (0ms)
  getBlobURL with lineStart/lineEnd for https://github.com/lambdalisue/gin.vim ... ok (0ms)
  getPullRequestURL for https://github.com/lambdalisue/gin.vim ... ok (0ms)
getHostingService ... ok (7ms)
getHostingService with alias ...
  getHomeURL for https://my-github.com/lambdalisue/gin.vim ... ok (0ms)
  getCommitURL for https://my-github.com/lambdalisue/gin.vim ... ok (0ms)
  getTreeURL for https://my-github.com/lambdalisue/gin.vim ... ok (0ms)
  getBlobURL for https://my-github.com/lambdalisue/gin.vim ... ok (0ms)
  getBlobURL with lineStart for https://my-github.com/lambdalisue/gin.vim ... ok (0ms)
  getBlobURL with lineStart/lineEnd for https://my-github.com/lambdalisue/gin.vim ... ok (0ms)
  getPullRequestURL for https://my-github.com/lambdalisue/gin.vim ... ok (0ms)
getHostingService with alias ... ok (1ms)
running 2 tests from ./process_test.ts
execute() runs 'git' and return a stdout on success ... ok (17ms)
execute() runs 'git' and throw ExecuteError on fail ... ok (26ms)

ok | 4 passed (21 steps) | 0 failed (129ms)

Unfortunately, this one cannot get a remote of a commitish.

Closed due to https://github.com/lambdalisue/deno-git-browse/pull/11


Build failing due to Dask dependency

I saw that the Travis CI build was failing so I triggered a no-change build to confirm. This error happens when trying to activate the environment:
ImportError: Dask's distributed scheduler is not installed.

Please either conda or pip install dask distributed:

  conda install dask distributed          # either conda install
  pip install dask distributed --upgrade  # or pip install
3sm_diags help failed\n

closed by #66


Add macro that grants select permissions on all schemas in a database

This is the Snowflake version for now. I'm not sure how to use the various adapters to make this work across platforms, but don't mind working on that if you could point me in the right direction.

@clausherther this is awesome!!
In my experience, it's also useful to grant usage to users as well, but that might be a Redshift/Postgres-specific thing.
You can see an example of how we build cross-database compatible macros here: https://github.com/fishtown-analytics/dbt-utils/blob/master/macros/cross_db_utils/datediff.sql
I I think if you want to do this for postgres/redshift/snowflake, you'd want some macros like:
{% macro grant_usage_on(schema, user) %}
  {{ adapter_macro('dbt_utils.grant_usage_on', schema, user) }}
{% endmacro %}

{% macro grant_select_on_all_tables_in_schema(schema, user) %}
  {{ adapter_macro('dbt_utils.grant_select_on_all_tables_in_schema', schema, user) }}
{% endmacro %}

Then below, you can set up a macro for each database type:
{% macro default__grant_usage_on(schema, user) %}
  grant usage on schema {{ schema }} to {{ user }};
{% endmacro %}

{% macro default__grant_select_on_all_tables_in_schema(schema, user) %}
  grant select on all tables in schema {{ schema }} to {{ user }};
{% endmacro %}

{% macro snowflake__grant_usage_on(schema, role) %}
  grant usage on schema {{ schema }} to role {{ role }};
{% endmacro %}

{% macro snowflake__grant_select_on_all_tables_in_schema(schema, role) %}
  grant select on all tables in schema {{ schema }} to {{ role }};
{% endmacro %}

{% macro bigquery__grant_usage_on(schema, role) %}
    {{ exceptions.raise_compiler_error("grants are not implemented for this adapter") }}
{% endmacro %}

{% macro bigquery__grant_select_on_all_tables_in_schema(schema, role) %}
    {{ exceptions.raise_compiler_error("grants are not implemented for this adapter") }}
{% endmacro %}

You'd probably need to do something similar for that query to grab schema names.
Obviously this stuff is hard to test without access to postgres/redshift/snowflake... let me know how much of this you're interested in doing! I'd ideally like to make this work with all of our adapters before merging, so, definitely happy to help out here :)

Ah, that's great, thanks @drewbanin !
I don't have access to BigQuery, but let me take a stab at the cross-platform setup for this for Redshift and Snowflake. Agreed on adding usage as well.

@clausherther - just gave this another look... I didn't recognize that this runs a grant on all tables in all schemas in the database. I'd feel much better about this if we broke it up in the following way:

macro to get all schemas in a database
macro to grant usage on a schema
macro to grant select on all tables in schema

If you want to wire these macros up to run grants on all tables in all schemas (as shown above), then that's certainly your prerogative! In the more general case though, that's probably something I'd advise against. I can totally imagine sensitive data being added to a warehouse at some point in the future. If this macro blindly grants access to every table, that could likely be undesirable.
You buy all that?

That makes sense @drewbanin. I had modeled this after my specific use case where I want my DBT_USER to have access to all schemas in our FIVETRAN database on Snowflake.
Splitting this up makes this a lot more reusable for sure. Thx!

@clausherther going to close this, but lmk if you want to revisit!


Prevent LocalStorage leaking for ipfs hosted dapps

Messaging running under Dapps hosted by ipfs needs some of path enforcement on their cookies to ensure that other Dapps cannot access their localStorage.

Resolved by #565 ✅


very basic bar chart doesn't work

Can't even make a basic bar chart with this

Hey @codyc4321
Sorry to hear you are having trouble. There are a wide variety of ways to make a bar chart in react-vis. The general approach is to use an XYPlot and then embed whatever type of series is appropriate (VerticalBarSeries is appropriate for bar charts and VerticalRectSeries is appropriate for histograms). (documentation here)
That said, if you are writing with an issue I imagine you've already seen that? Can you provide some example code/data so that I can point you in the right direction?

I'm going to close this issue, as I don't have enough information to move forward (either in help or on bug fixes) but feel free to re-open or continue the discussion under the close