Problems with getOrderMetrics passing an array to marketplaceIds

Hello,
I'm trying to testing get ordermetrics, everything's gone well till i use an array of strings for marketplaceIds parametrer.
This is the req_params:
{     operation: 'getOrderMetrics',     query: {         granularity: 'Total',         interval: '2021-03-31T00:00:00-07:00--2021-03-31T23:59:59-07:00',         marketplaceIds: [            'A13V1IB3VIYZZH',            'A1F83G8C2ARO7P',            'A1PA6795UKMFR9',            'A1RKKUPIHCS9HS',            'APJ6JRA9NG5V4'         ]     },     method: 'GET',     api_path: '/sales/v1/orderMetrics',     restore_rate: 2 }
and this is the error:
CustomError: Invalid Input      at SellingPartner.callAPI (/var/www/djs-app/node_modules/amazon-sp-api/lib/SellingPartner.js:368:13)      at processTicksAndRejections (internal/process/task_queues.js:93:5) {      code: 'InvalidInput',      details: '',      type: 'error' }
I don't understand why it works with marketplaceIds: ['APJ6JRA9NG5V4'] and not with marketplaceIds: ['A13V1IB3VIYZZH','A1F83G8C2ARO7P','A1PA6795UKMFR9','A1RKKUPIHCS9HS','APJ6JRA9NG5V4']
Any ideas?
thank you so much
Daniele

Hi @danieletdg,
I can confirm receiving the same error. This has already been discussed here. Although there's no definitive conclusion it seems as if the operation doesn't accept more than one marketplaceId.
Although its quite strange that the operation requires an array "marketplaceIds" instead of a string "marketplaceId" of only one is supported. Maybe Amazon will update the docs or fix the operation in a way that it supports multiple MarketplaceIds some time in the future, we'll see...

thank you @amz-tools!

Amazon has updated the docs and they state that even though the parameter is called marketplaceIds it only supports one marketplace, see here.
So I think we can close this issue as it won't be changed to multi marketplace support, but at least docs are correct now.


Result was not saved to files into workspace.

I'm running on MAC, on GPT3.5, with Python 3.11.3
When i run the example main prompt (and a custom prompt too), that make the code in my terminal with success.
But on the example/workspace folder, i have just a file named "python" (without ext), with just one file content here. Any other code file.
I have tried some other prompt and same results (same for other language).
I have followed the readme file for installation.

use gpt-3.5-turbo-16k instead ... had the same issue.

Many issues are referring to the same problem, we have some faith in this approach to fix it
Please try to read existing issues in case they are related to your question before posting a new one.

Okay, thanks you !


Fix implementation version discovery of encoded jar files

Fixing https://discuss.elastic.co/t/tomcat-elastic-apm-agent-and-application-version-in-context-path-fails-on-protectiondomain/184899

@felixbarny do you think we should change it so that matching based on implementation version will default to true if fails? False negatives mean we will not instrument. False positives mean we have a chance, but may break the application (depending on what this matching is used for).

Hm, good question. It probably depends on a case-per-case-basis. But in the case of the ApacheHttpAsyncClientRedirectInstrumentation it makes sense to default to true, as the instrumentation is basically idempotent because of the original.containsHeader check.

Your'e right, but the only way to implement different behavior per-usage would be to throw the Exception from the matcher. Do we want that? I can add a dedicated declared Exception so that anyone that want to use it will have to think about it and handle it. WDYT?

Even a bit more complicated to apply differentiated behavior based on instrumentation case. I think this may over-complicate code.
Since we are only using in a single place, I will change the fallback to true, ie passing the matching when version discovery fails.


error when running demo.py

root@089e477c0371:/home/cyrilli/Object_detection/FCIS# sh ./init.sh
running build_ext
skipping 'bbox.c' Cython extension (up-to-date)
Warning: Extension name '_mask' does not match fully qualified name 'lib.dataset.pycocotools._mask' of '_mask.pyx'
running build_ext
running build_ext
skipping 'cpu_nms.c' Cython extension (up-to-date)
skipping 'gpu_nms.cpp' Cython extension (up-to-date)
running build_ext
skipping 'gpu_mv.cpp' Cython extension (up-to-date)
root@089e477c0371:/home/cyrilli/Object_detection/FCIS# python ./fcis/demo.py
use mxnet at /usr/local/lib/python2.7/dist-packages/mxnet-0.10.1-py2.7.egg/mxnet/init.pyc
In file included from /usr/include/python2.7/numpy/ndarraytypes.h:1777:0,
from /usr/include/python2.7/numpy/ndarrayobject.h:18,
from /usr/include/python2.7/numpy/arrayobject.h:4,
from /root/.pyxbld/temp.linux-x86_64-2.7/pyrex/nms/gpu_nms.c:435:
/usr/include/python2.7/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it by "
^
/root/.pyxbld/temp.linux-x86_64-2.7/pyrex/nms/gpu_nms.c:437:23: fatal error: gpu_nms.hpp: No such file or directory
compilation terminated.
Traceback (most recent call last):
File "./fcis/demo.py", line 29, in
from core.tester import im_detect, Predictor
File "/home/lichuanhao/Object_detection/FCIS/fcis/core/tester.py", line 18, in
from nms.nms import py_nms_wrapper
File "/home/lichuanhao/Object_detection/FCIS/fcis/../lib/nms/nms.py", line 4, in
from gpu_nms import gpu_nms
File "/usr/local/lib/python2.7/dist-packages/pyximport/pyximport.py", line 445, in load_module
language_level=self.language_level)
File "/usr/local/lib/python2.7/dist-packages/pyximport/pyximport.py", line 234, in load_module
exec("raise exc, None, tb", {'exc': exc, 'tb': tb})
File "/usr/local/lib/python2.7/dist-packages/pyximport/pyximport.py", line 216, in load_module
inplace=build_inplace, language_level=language_level)
File "/usr/local/lib/python2.7/dist-packages/pyximport/pyximport.py", line 192, in build_module
reload_support=pyxargs.reload_support)
File "/usr/local/lib/python2.7/dist-packages/pyximport/pyxbuild.py", line 102, in pyx_to_dll
dist.run_commands()
File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/local/lib/python2.7/dist-packages/Cython/Distutils/old_build_ext.py", line 185, in run
_build_ext.build_ext.run(self)
File "/usr/lib/python2.7/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/usr/local/lib/python2.7/dist-packages/Cython/Distutils/old_build_ext.py", line 193, in build_extensions
self.build_extension(ext)
File "/usr/lib/python2.7/distutils/command/build_ext.py", line 498, in build_extension
depends=ext.depends)
File "/usr/lib/python2.7/distutils/ccompiler.py", line 574, in compile
self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
File "/usr/lib/python2.7/distutils/unixccompiler.py", line 124, in _compile
raise CompileError, msg
ImportError: Building module nms.gpu_nms failed: ["CompileError: command 'x86_64-linux-gnu-gcc' failed with exit status 1\n"]

Have you solved the problem, I failed even with cython==0.27.3


Subclassing Text or AbstractText

I'm writing an app that would like to use djangocms-text-editor but I need to add a field to the plugin.   I've tried subclassing from AbstractText but that sets things up such that the admin always assumes the user wants to create a new object;   subclassing from Text takes care of that, but then you lose the TextEditorWidget (you just get a TextField).

(Now that I think of it - the same problem comes when you try to use Text as a child plugin too...)

@ursomniac
Due to some limitations on the text plugin, anytime a user adds a text plugin it actually gets created instead of when the user presses save.


cheat crashes after ~30s or by joining a map

cheat injects sucessfully and shows menu but either crashes after being on the main menu for too long or by joining a map
how would i debug to fix these issues

yo whats ur dc i wanna add u


Add ChaChaPoly encryption

This also introduces the method .randomAllCrypto which results in [.AES, .chaChaPoly]

Also it turns out the setUp class function only gets called once before the test run which makes it hard to test individual tests unless you can guarantee a previous test didn't override the RNG with a new seed, etc.
I changed it to the member function which gets run before each test which I think is what we should prefer.

Thank you
ChhaChaPoly is faster than AES. I thought the algorithm was suitable for this kind of usage.


OCTO-2214 Bugfix: Capping information fraction

There is actually a bug in group_sequential when actual data size is larger than expected.
This PR fixed the bug and add a unit test for this case. And added some small improvements of doc.

Coverage increased (+0.1%) to 92.024% when pulling dd6f9634e1c8aa59c756fe38b102a37bdb5323d7 on capping_information_fraction into 732991b730e4a46a953a2d73bff2790de519aab2 on dev.


budfs support

This is an experimental v3 of the generator filesystem. The goals are:

Bake in dependency caching so running spawning subprocesses only occurs when dependent files change
Fix minor issues around dir entries on generated files having a size of 0 or 0 for their file mode
Prep for a custom generator API that depends on budfs
- Join conjure and overlay into one bud-specific filesystem
Be able to serve files using the same filesystem without caching
Better errors (conjure => budfs)

Going to merge this now and integrate in follow-up PRs. I tried integrating all at once, but that turned out to be way too deep of a rabbit hole.
The main changes this PR makes:

Adds budfs to eventually replace overlay
Adds genfs to eventually replace conjure
Adds mergefs to eventually replace merged
Adds cachefs to eventually replace fscache
Adds remotefs.Command to spawn a remotefs server
Add treefs underneath to get fstest.TestFS fully passing on the virtual filesystem implementation

These all build on top of the newer virtual package.
The goals from above remain the same.


Cleaner CSS scheme

It's just less bloated to make a query only for the dark colour scheme.

I'm not sure if I agree with this change, although it's nice to have less code
in the repository. Changing it such that the user MUST have prefer-color-scheme: dark
in order to view the (already agreed upon default that everything should be dark mode) makes
it more annoying for those of us who may not have set this property to dark, such as on mobile.

I didn't notice that, you got a point there.


cannot update mailbox /var/mail/amavis for user amavis. destination /var/mail/amavis is not owned by recipient

Hello:
My Mailserver could be started up with SSL already, but there still some warning be pushed out  like below:
mail    | Aug 12 19:37:56 mail postfix/qmgr[948]: C7CC82015100<EMAIL_ADDRESS>size=893, nrcpt=1 (queue active)
mail    | Aug 12 19:37:56 mail postfix/local[26913]: warning: specify "strict_mailbox_ownership = no" to ignore mailbox ownership mismatch
mail    | Aug 12 19:37:56 mail postfix/local[26913]: C7CC82015100<EMAIL_ADDRESS>orig_to=<amavis>, relay=local, delay=296380, delays=296380/0.04/0/0.04, dsn=4.2.0, status=deferred (cannot update mailbox /var/mail/amavis for user amavis. destination /var/mail/amavis is not owned by recipient)

and my DNS configuration is, because I use DDNS and my 80 port is blocked, some configuration is different with the recommended configuration. Especially I use the DDNS domain for mail.xxx.ltd by CNAME. I dont know if this is right but it works.

So, is anythong wrong with my DNS configuration? or mailserver configuration?
How to clean up this message?
Another thing about amavis is i found amavis seems been reseted some time. But I reboot the mail server last day to see if this could be reproduce, but unfortunately, could not be reproduce today.
Your Environment

Amount of RAM available:
1G

Mailserver version used:
latest

Docker version used:

Environment settings relevant to the config:

version: '2'
services:
  mail:
    image: tvial/docker-mailserver:latest
    hostname: mail
    domainname: esradio.cc
    container_name: mail
    ports:
    - "25:25"
    - "143:143"
    - "465:465"
    - "587:587"
    - "993:993"
    volumes:
    - ./maildata:/var/mail
    - ./mailstate:/var/mail-state
    - ./config/:/tmp/docker-mailserver/
    - /etc/localtime:/etc/localtime:ro
    - /etc/letsencrypt:/etc/letsencrypt/live/mail.esradio.cc/:ro
    environment:
    - DMS_DEBUG=1
    - ENABLE_CLAMAV=0
    - ONE_DIR=1
    - ENABLE_POP3=0
    - ENABLE_FAIL2BAN=0
    - ENABLE_MANAGESIEVE=0
    - SSL_TYPE=letsencrypt
    - PERMIT_DOCKER=network
    - SPOOF_PROTECTION=0
    - TLS_LEVEL=intermediate
    cap_add:
    - NET_ADMIN
    - SYS_PTRACE
    restart: always

Any relevant stack traces ("Full trace" preferred):

Do you have a user named amavis, or why is it trying to deliver mail there?

Do you have a user named amavis, or why is it trying to deliver mail there?

I dont have the amavis user...Is it belong to mail server?

Not sure, I certainly don't have an amavis user on my box and I haven't seen any errors. Perhaps someone else can enlighten us.

and, Have you noticed that my normal email should be like test1**@esradio.cc,** and this is<EMAIL_ADDRESS>I just think is maybe got the mail.esradio.cc from DNS? or somewhere?

That is normal, mail.esradio.cc is probably the fully qualified name of your mail server.

Hi:
I caught the log i metioned last time--amavis module reboot:
mail    | Aug 14 05:25:53 mail postfix/qmgr[981]: C7CC82015100<EMAIL_ADDRESS>size=893, nrcpt=1 (queue active)
mail    | Aug 14 05:25:53 mail postfix/local[1342]: warning: specify "strict_mailbox_ownership = no" to ignore mailbox ownership mismatch
mail    | Aug 14 05:25:53 mail postfix/local[1342]: C7CC82015100<EMAIL_ADDRESS>orig_to=<amavis>, relay=local, delay=418057, delays=418057/0.04/0/0.05, dsn=4.2.0, sta            tus=deferred (cannot update mailbox /var/mail/amavis for user amavis. destination /var/mail/amavis is not owned by recipient)
mail    | Aug 14 06:19:36 mail dovecot: imap-login: Disconnected (no auth attempts in 1 secs): user=<>, rip=<IP_ADDRESS>, lip=<IP_ADDRESS>, TLS handshaking: SSL_accept() failed: erro            r:1417D102:SSL routines:tls_process_client_hello:unsupported protocol, session=<IaUvCQeQ9M9cdqAZ>
mail    | Aug 14 06:35:54 mail postfix/qmgr[981]: C7CC82015100<EMAIL_ADDRESS>size=893, nrcpt=1 (queue active)
mail    | Aug 14 06:35:54 mail postfix/local[17108]: warning: specify "strict_mailbox_ownership = no" to ignore mailbox ownership mismatch
mail    | Aug 14 06:35:54 mail postfix/local[17108]: C7CC82015100<EMAIL_ADDRESS>orig_to=<amavis>, relay=local, delay=422258, delays=422258/0.04/0/0.06, dsn=4.2.0, st            atus=deferred (cannot update mailbox /var/mail/amavis for user amavis. destination /var/mail/amavis is not owned by recipient)
mail    | 2019-08-14 07:11:29,521 INFO waiting for amavis to stop
mail    | 2019-08-14 07:11:29,811 INFO stopped: amavis (exit status 0)
mail    | 2019-08-14 07:11:29,841 INFO spawned: 'amavis' with pid 25243
mail    | 2019-08-14 07:11:29,865 INFO success: amavis entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
mail    | 2019-08-14 07:11:29,979 INFO reaped unknown pid 1011
mail    | 2019-08-14 07:11:30,030 INFO reaped unknown pid 1010
mail    | Aug 14 07:11:32 mail amavis[25243]: starting. /usr/sbin/amavisd-new at mail.esradio.cc amavisd-new-2.10.1 (20141025), Unicode aware
mail    | Aug 14 07:11:33 mail amavis[25243]: Net::Server: Group Not Defined.  Defaulting to EGID '111 111'
mail    | Aug 14 07:11:33 mail amavis[25243]: Net::Server: User Not Defined.  Defaulting to EUID '109'
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Amavis::Conf        2.404
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Archive::Zip        1.59
mail    | Aug 14 07:11:33 mail amavis[25243]: Module BerkeleyDB          0.55
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Compress::Raw::Zlib 2.069
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Compress::Zlib      2.069001
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Crypt::OpenSSL::RSA 0.28
mail    | Aug 14 07:11:33 mail amavis[25243]: Module DB_File             1.835
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Digest::MD5         2.54
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Digest::SHA         5.95_01
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Encode              2.80_01
mail    | Aug 14 07:11:33 mail amavis[25243]: Module File::Temp          0.2304
mail    | Aug 14 07:11:33 mail amavis[25243]: Module IO::Socket::INET6   2.72
mail    | Aug 14 07:11:33 mail amavis[25243]: Module IO::Socket::IP      0.37
mail    | Aug 14 07:11:33 mail amavis[25243]: Module MIME::Entity        5.508
mail    | Aug 14 07:11:33 mail amavis[25243]: Module MIME::Parser        5.508
mail    | Aug 14 07:11:33 mail amavis[25243]: Module MIME::Tools         5.508
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Mail::DKIM::Verifier 0.4
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Mail::Header        2.18
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Mail::Internet      2.18
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Mail::SPF           v2.009
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Mail::SpamAssassin  3.004002
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Net::DNS            1.07
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Net::LibIDN         0.12
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Net::Server         2.008
mail    | Aug 14 07:11:33 mail amavis[25243]: Module NetAddr::IP         4.079
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Razor2::Client::Version 2.84
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Scalar::Util        1.4202
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Socket              2.020_03
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Socket6             0.27
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Time::HiRes         1.9733
mail    | Aug 14 07:11:33 mail amavis[25243]: Module URI                 1.71
mail    | Aug 14 07:11:33 mail amavis[25243]: Module Unix::Syslog        1.1
mail    | Aug 14 07:11:33 mail amavis[25243]: Amavis::ZMQ code     NOT loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: Amavis::DB code      loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: SQL base code        NOT loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: SQL::Log code        NOT loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: SQL::Quarantine      NOT loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: Lookup::SQL code     NOT loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: Lookup::LDAP code    NOT loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: AM.PDP-in proto code loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: SMTP-in proto code   loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: Courier proto code   NOT loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: SMTP-out proto code  loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: Pipe-out proto code  NOT loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: BSMTP-out proto code NOT loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: Local-out proto code loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: OS_Fingerprint code  NOT loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: ANTI-VIRUS code      NOT loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: ANTI-SPAM code       loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: ANTI-SPAM-EXT code   NOT loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: ANTI-SPAM-C code     NOT loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: ANTI-SPAM-SA code    loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: Unpackers code       loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: DKIM code            NOT loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: Tools code           NOT loaded
mail    | Aug 14 07:11:33 mail amavis[25243]: Found $file            at /usr/bin/file
mail    | Aug 14 07:11:33 mail amavis[25243]: No $altermime,         not using it
mail    | Aug 14 07:11:33 mail amavis[25243]: Internal decoder for .mail
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .Z    at /bin/uncompress
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .gz   at /bin/gzip -d
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .bz2  at /bin/bzip2 -d
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .xz   at /usr/bin/xz -dc
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .lzma at /usr/bin/xz -dc --format=lzma
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .lrz  at /usr/bin/lrzip -q -k -d -o -
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .lzo  at /usr/bin/lzop -d
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .lz4  at /usr/bin/lz4c -d
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .rpm  at /usr/bin/rpm2cpio
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .cpio at /bin/pax
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .tar  at /bin/pax
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .deb  at /usr/bin/ar
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .rar  at /usr/bin/unrar-free
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .arj  at /usr/bin/arj
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .arc  at /usr/bin/nomarch
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .zoo  at /usr/bin/zoo
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .doc  at /usr/bin/ripole
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .cab  at /usr/bin/cabextract
mail    | Aug 14 07:11:33 mail amavis[25243]: Internal decoder for .tnef
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .zip  at /usr/bin/7za
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .kmz  at /usr/bin/7za
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .7z   at /usr/bin/7zr
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .jar  at /usr/bin/7z
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .swf  at /usr/bin/7z
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .lha  at /usr/bin/7z
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .iso  at /usr/bin/7z
mail    | Aug 14 07:11:33 mail amavis[25243]: Found decoder for    .exe  at /usr/bin/unrar-free; /usr/bin/arj
mail    | Aug 14 07:11:33 mail amavis[25243]: No decoder for       .F
mail    | Aug 14 07:11:33 mail amavis[25243]: Deleting db files __db.001,__db.002,__db.003,snmp.db,nanny.db in /var/lib/amavis/db
mail    | Aug 14 07:11:33 mail amavis[25243]: Creating db in /var/lib/amavis/db/; BerkeleyDB 0.55, libdb 5.3
mail    | Aug 14 07:45:54 mail postfix/qmgr[981]: C7CC82015100<EMAIL_ADDRESS>size=893, nrcpt=1 (queue active)
mail    | Aug 14 07:45:54 mail postfix/local[531]: warning: specify "strict_mailbox_ownership = no" to ignore mailbox ownership mismatch
mail    | Aug 14 07:45:54 mail postfix/local[531]: C7CC82015100<EMAIL_ADDRESS>orig_to=<amavis>, relay=local, delay=426458, delays=426457/0.05/0/0.05, dsn=4.2.0, stat            us=deferred (cannot update mailbox /var/mail/amavis for user amavis. destination /var/mail/amavis is not owned by recipient)
mail    | Aug 14 08:55:56 mail postfix/qmgr[981]: C7CC82015100<EMAIL_ADDRESS>size=893, nrcpt=1 (queue active)
mail    | Aug 14 08:55:56 mail postfix/local[16290]: warning: specify "strict_mailbox_ownership = no" to ignore mailbox ownership mismatch
mail    | Aug 14 08:55:56 mail postfix/local[16290]: C7CC82015100<EMAIL_ADDRESS>orig_to=<amavis>, relay=local, delay=430660, delays=430660/0.07/0/0.04, dsn=4.2.0, st            atus=deferred (cannot update mailbox /var/mail/amavis for user amavis. destination /var/mail/amavis is not owned by recipient)
mail    | Aug 14 10:05:57 mail postfix/qmgr[981]: C7CC82015100<EMAIL_ADDRESS>size=893, nrcpt=1 (queue active)
mail    | Aug 14 10:05:57 mail postfix/local[32043]: warning: specify "strict_mailbox_ownership = no" to ignore mailbox ownership mismatch
mail    | Aug 14 10:05:57 mail postfix/local[32043]: C7CC82015100<EMAIL_ADDRESS>orig_to=<amavis>, relay=local, delay=434861, delays=434861/0.04/0/0.05, dsn=4.2.0, st            atus=deferred (cannot update mailbox /var/mail/amavis for user amavis. destination /var/mail/amavis is not owned by recipient)
mail    | Aug 14 10:05:57 mail postfix/qmgr[981]: C7CC82015100<EMAIL_ADDRESS>status=expired, returned to sender
mail    | Aug 14 10:05:58 mail postfix/cleanup[32048]: D74EB20150E4<EMAIL_ADDRESS>mail    | Aug 14 10:05:59 mail postfix/qmgr[981]: D74EB20150E4: from=<>, size=3001, nrcpt=1 (queue active)
mail    | Aug 14 10:05:59 mail postfix/bounce[32044]: C7CC82015100: sender non-delivery notification: D74EB20150E4
mail    | Aug 14 10:05:59 mail postfix/qmgr[981]: C7CC82015100: removed

Well, I haven't seen this. I do have a file named /var/mail/amavis which is owned by docker:docker. Perhaps you could check if you do as well?
chown docker:docker /var/mail/amavis

I am having this same issue. I have /var/mail/amavis owned by docker:docker but inside my mailserver container, I do have a user amavis. When I looked into the contents of /var/mail/amavis, the mail was indeed sent to amavis@FQDN and was related to a cron job with contents of:
config: created user preferences file: /var/lib/amavis/.spamassassin/user_prefs

I may have found why you have problems at least: you are mounting a local folder rather than a volume (./maildata:/var/mail). @v60fan are you also doing that? Don't get me wrong, it is perfectly acceptable, I'm just trying to find out why you get this while I don't.

I had my mail server running stable for over a year until I just updated due to CVE-2019-11500. Now I am having the same issues as above. Every few hours Amavis goes into a restart loop as shown above, though I see this in addition:
2019-09-24 23:43:32,811 INFO exited: amavis (exit status 1; not expected)
2019-09-24 23:43:32,812 INFO reaped unknown pid 16821
2019-09-24 23:43:32,818 INFO spawned: 'amavis' with pid 16499
Sep 24 23:43:32 mail amavis[607]: (!)Net::Server: 2019/09/24-23:43:32 Bad fork [Cannot allocate memory]\n  at line 145 in file /usr/share/perl5/Net/Server/PreForkSimple.pm
2019-09-24 23:43:33,561 INFO success: amavis entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)

Usually the server becomes unresponsive at that time.
It does look like a memory issue, is it possible changes in the last year have increased the memory footprint? I am running on a 1GB cloud instance. I am mounting a local folder like Erik alluded to in his last post.

@erik-wramner I am using volumes not local storage

My mail.err log file is filling with this error message before becoming unresponsive:
Sep 29 20:28:24 mail amavis[17051]: (!!)TROUBLE in child_init_hook: BDB can't connect db env. at /var/lib/amavis/db: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery, No such file or directory. at (eval 92) line 336.

Well, in that case it may be a good idea to run database recovery or at least verification. See https://docs.oracle.com/cd/E17275_01/html/api_reference/C/utilities.html. Please note that the files must not be accessed while they are in use, so stop the services (supervisorctl stop) or the container first. It could also be that this error is not the root cause, but has been caused by the amavis process being killed so that it can't clean up the database. The database is in /var/mail-state/lib-amavis/db with ONE-DIR=1 or in /var/lib/amavis/db otherwise.

I think I mentioned that in the linked issue, but according to https://serverfault.com/questions/612381/why-doesnt-the-clam-antivirus-daemon-start-with-a-cannot-allocate-memory-error clamd alone may peak at almost 830M and growing (signatures in RAM). If so that would leave precious little to the other parts. You could use the commands in the post to check how much memory is used by the different processes, perhaps?
Plus have you enabled swap or not? How much swap? And are the container(s) allowed to swap? Perhaps a small, cheap VM that is allowed to swap would work.

Thanks Erik! I did enable swap (1GB) and that helps greatly. Instead of hours it now runs weeks. It still got stuck a few days ago, so maybe I need to increase swap a bit more.
In either case though the Requirements on the projects homepage are no longer sufficient.

I've updated the requirements and the FAQ. Can we close this then?

Was there a solution to the amavis emails the system tries to send and which trigger the user amavis. destination /var/mail/amavis is not owned by recipient warnings?

Not really, but if that happens only when amavis fails on out of memory the real problem is the memory consumption. If you don't agree we can of course keep this open, but then we should focus on finding the problem and preferably when there are no memory panic situations.

My issue was happening even with 4Gb RAM and 4Gb swap enabled on a pretty under utilised machine so I am not sure what was ever the root cause
On Mon, Oct 28, 2019, at 08:49, Erik Wramner wrote:

Not really, but if that happens only when amavis fails on out of memory the real problem is the memory consumption. If you don't agree we can of course keep this open, but then we should focus on finding the problem and preferably when there are no memory panic situations.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/tomav/docker-mailserver/issues/1224?email_source=notifications&email_token=ACTEWBNIQO56PQWNQDNV5DTQQ3UYBA5CNFSM4ILBERR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECM53MQ#issuecomment-546954674, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACTEWBMO56NJNKXMULZ4NVLQQ3UYBANCNFSM4ILBERRQ.

I am seeing those unrelated to memory issues as well. Seems a recent change to amavis makes it send info/status/diagnostic emails to a non-existing account.

Fair enough, let's focus on that then.

Those e-mails are probably sent by the /etc/cron.d/amavisd-new cron job when it fails. The job runs as the amavis user, so the failure reports are sent to amavis (the user running the job).

I got these too.
I believe @erik-wramner is right and these come from the amavis cron job when it fails. I managed to clean this up by:

Adding amavis: root to postfix-aliases.cf`.
Deleting /var/mail/amavis

Now any mail to amavis@FQDN gets aliased to root@FQDN which itself is already aliased to your configured POSTMASTER_ADDRESS.
Same issue (and solution) apply to any other system accounts that might send mail (from a cron job or otherwise).

I got through this as @gknops . Even it continues after rebooting! Now stop complaining after adding swap. But the (cannot update mailbox /var/mail/amavis for user amavis. cannot open file: Permission denied) does not disappear.
The "top" command shows that 3 "/usr/sbin/amavi" take about 72.6 (24.2 x 3) percent of RAM. I've tried reducing them to 1 adding below:
# config/amavis.cf
$max_servers = 1;

And restarted, then all worked fine.
I don't know how many instances be generated as RAM size be increased. But reducing the amount of amavisd-new instances could be workaround on not heavy load situation. Out of curiosity, I've shot a mail per 0.1 second up to 1000 using msmtp. (The mail contains simply two or three lines) Apparently seems no problem. Even per 0.01 second, some internal dispatches were suspended temporarily for few times, but eventually all mails were processed after quite amount time passed.

@soulawaker perhaps you could add that to the wiki? I think the default makes sense for most installations, but it is good to know for memory-starved servers. Good detective work on your part!

@erik-wramner  Thanks! I will consider it. Sparsely, I will have test time more with other components. When I feel it's time, I will add it.

I've removed the frozen state as @erdos4d has provided a PR involving this issue.

I will close this off again due to inactivity in this issue.


Handle Valve ratelimiting their endpoints

When attempting to record, the program crashes.

Crash 1
Crash 1
[2020-12-18T21:26:12.144] [INFO] SubscriberManager - Starting up...
[2020-12-18T21:26:33.043] [INFO] SubscriberManager - Ready!
[2020-12-18T21:28:37.754] [INFO] DemoRecordingHelper - Applying recording preferences...
[2020-12-18T21:28:37.755] [INFO] DemoRecordingHelper - DemoHelper set voice_loopback 1.
[2020-12-18T21:28:38.013] [ERROR] SteamID - Error: Request failed with status code 429
at createError (C:\Users\Ryan Cloherty\Downloads\csgo-utils\node_modules\axios\lib\core\createError.js:16:15)
at settle (C:\Users\Ryan Cloherty\Downloads\csgo-utils\node_modules\axios\lib\core\settle.js:17:12)
at IncomingMessage.handleStreamEnd (C:\Users\Ryan Cloherty\Downloads\csgo-utils\node_modules\axios\lib\adapters\http.js:244:11)
at IncomingMessage.emit (node:events:388:22)
at endReadableNT (node:internal/streams/readable:1295:12)
at processTicksAndRejections (node:internal/process/task_queues:80:21) {
config: {
url: 'https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816',
method: 'get',
headers: {
Accept: 'application/json, text/plain, /',
'User-Agent': 'axios/0.21.0'
},
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
adapter: [Function: httpAdapter],
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
validateStatus: [Function: validateStatus],
data: undefined
},
request: <ref *1> ClientRequest {
_events: [Object: null prototype] {
socket: [Function (anonymous)],
abort: [Function (anonymous)],
aborted: [Function (anonymous)],
connect: [Function (anonymous)],
error: [Function (anonymous)],
timeout: [Function (anonymous)],
prefinish: [Function: requestOnPrefinish]
},
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: false,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: 0,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
_closed: false,
socket: TLSSocket {
_tlsOptions: [Object],
_secureEstablished: true,
_securePending: false,
_newSessionPending: false,
_controlReleased: true,
secureConnecting: false,
_SNICallback: null,
servername: 'api.steampowered.com',
alpnProtocol: false,
authorized: true,
authorizationError: null,
encrypted: true,
_events: [Object: null prototype],
_eventsCount: 10,
connecting: false,
_hadError: false,
_parent: null,
_host: 'api.steampowered.com',
_readableState: [ReadableState],
_maxListeners: undefined,
_writableState: [WritableState],
allowHalfOpen: false,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: undefined,
_server: null,
ssl: [TLSWrap],
_requestCert: true,
_rejectUnauthorized: true,
parser: null,
_httpMessage: [Circular *1],
[Symbol(res)]: [TLSWrap],
[Symbol(verified)]: true,
[Symbol(pendingSession)]: null,
[Symbol(async_id_symbol)]: 1288,
[Symbol(kHandle)]: [TLSWrap],
[Symbol(kSetNoDelay)]: false,
[Symbol(lastWriteQueueSize)]: 0,
[Symbol(timeout)]: null,
[Symbol(kBuffer)]: null,
[Symbol(kBufferCb)]: null,
[Symbol(kBufferGen)]: null,
[Symbol(kCapture)]: false,
[Symbol(kBytesRead)]: 0,
[Symbol(kBytesWritten)]: 0,
[Symbol(connect-options)]: [Object],
[Symbol(RequestTimeout)]: undefined
},
_header: 'GET /ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816 HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'User-Agent: axios/0.21.0\r\n' +
'Host: api.steampowered.com\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: noopPendingOutput],
agent: Agent {
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
defaultPort: 443,
protocol: 'https:',
options: [Object],
requests: {},
sockets: [Object],
freeSockets: {},
keepAliveMsecs: 1000,
keepAlive: false,
maxSockets: Infinity,
maxFreeSockets: 256,
scheduling: 'fifo',
maxTotalSockets: Infinity,
totalSocketCount: 1,
maxCachedSessions: 100,
_sessionCache: [Object],
[Symbol(kCapture)]: false
},
socketPath: undefined,
method: 'GET',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816',
_ended: true,
res: IncomingMessage {
_readableState: [ReadableState],
_events: [Object: null prototype],
_eventsCount: 3,
_maxListeners: undefined,
socket: [TLSSocket],
httpVersionMajor: 1,
httpVersionMinor: 1,
httpVersion: '1.1',
complete: true,
rawHeaders: [Array],
rawTrailers: [],
aborted: false,
upgrade: false,
url: '',
method: null,
statusCode: 429,
statusMessage: 'Too Many Requests',
client: [TLSSocket],
_consuming: false,
_dumped: false,
req: [Circular *1],
responseUrl: 'https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816',
redirects: [],
[Symbol(kCapture)]: false,
[Symbol(kHeaders)]: [Object],
[Symbol(kHeadersCount)]: 14,
[Symbol(kTrailers)]: null,
[Symbol(kTrailersCount)]: 0,
[Symbol(RequestTimeout)]: undefined
},
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: 'api.steampowered.com',
protocol: 'https:',
_redirectable: Writable {
_writableState: [WritableState],
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
_options: [Object],
_ended: true,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 0,
_requestBodyBuffers: [],
_onNativeResponse: [Function (anonymous)],
_currentRequest: [Circular *1],
_currentUrl: 'https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816',
[Symbol(kCapture)]: false
},
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype] {
accept: [Array],
'user-agent': [Array],
host: [Array]
}
},
response: {
status: 429,
statusText: 'Too Many Requests',
headers: {
'content-type': 'text/html; charset=UTF-8',
'content-length': '108',
expires: 'Sat, 19 Dec 2020 02:28:39 GMT',
'cache-control': 'max-age=0, no-cache, no-store',
pragma: 'no-cache',
date: 'Sat, 19 Dec 2020 02:28:39 GMT',
connection: 'close'
},
config: {
url: 'https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816',
method: 'get',
headers: [Object],
transformRequest: [Array],
transformResponse: [Array],
timeout: 0,
adapter: [Function: httpAdapter],
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
validateStatus: [Function: validateStatus],
data: undefined
},
request: <ref *1> ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: false,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: 0,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
_closed: false,
socket: [TLSSocket],
_header: 'GET /ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816 HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'User-Agent: axios/0.21.0\r\n' +
'Host: api.steampowered.com\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: noopPendingOutput],
agent: [Agent],
socketPath: undefined,
method: 'GET',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816',
_ended: true,
res: [IncomingMessage],
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: 'api.steampowered.com',
protocol: 'https:',
_redirectable: [Writable],
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype]
},
data: '\n' +
'\n' +
'429 Too Many Requests\n' +
'\n' +
'\n' +
'Too Many Requests\n' +
'\n' +
''
},
isAxiosError: true,
toJSON: [Function: toJSON]
}

Crash 2
Crash 2
[2020-12-18T21:28:51.024] [INFO] SubscriberManager - Starting up...
[2020-12-18T21:28:51.059] [INFO] SubscriberManager - Ready!
[2020-12-18T21:28:53.379] [INFO] DemoRecordingHelper - Applying recording preferences...
[2020-12-18T21:28:53.380] [INFO] DemoRecordingHelper - DemoHelper set voice_loopback 1.
[2020-12-18T21:28:53.559] [ERROR] SteamID - Error: Request failed with status code 429
at createError (C:\Users\Ryan Cloherty\Downloads\csgo-utils\node_modules\axios\lib\core\createError.js:16:15)
at settle (C:\Users\Ryan Cloherty\Downloads\csgo-utils\node_modules\axios\lib\core\settle.js:17:12)
at IncomingMessage.handleStreamEnd (C:\Users\Ryan Cloherty\Downloads\csgo-utils\node_modules\axios\lib\adapters\http.js:244:11)
at IncomingMessage.emit (node:events:388:22)
at endReadableNT (node:internal/streams/readable:1295:12)
at processTicksAndRejections (node:internal/process/task_queues:80:21) {
config: {
url: 'https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816',
method: 'get',
headers: {
Accept: 'application/json, text/plain, /',
'User-Agent': 'axios/0.21.0'
},
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
adapter: [Function: httpAdapter],
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
validateStatus: [Function: validateStatus],
data: undefined
},
request: <ref *1> ClientRequest {
_events: [Object: null prototype] {
socket: [Function (anonymous)],
abort: [Function (anonymous)],
aborted: [Function (anonymous)],
connect: [Function (anonymous)],
error: [Function (anonymous)],
timeout: [Function (anonymous)],
prefinish: [Function: requestOnPrefinish]
},
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: false,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: 0,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
_closed: false,
socket: TLSSocket {
_tlsOptions: [Object],
_secureEstablished: true,
_securePending: false,
_newSessionPending: false,
_controlReleased: true,
secureConnecting: false,
_SNICallback: null,
servername: 'api.steampowered.com',
alpnProtocol: false,
authorized: true,
authorizationError: null,
encrypted: true,
_events: [Object: null prototype],
_eventsCount: 10,
connecting: false,
_hadError: false,
_parent: null,
_host: 'api.steampowered.com',
_readableState: [ReadableState],
_maxListeners: undefined,
_writableState: [WritableState],
allowHalfOpen: false,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: undefined,
_server: null,
ssl: [TLSWrap],
_requestCert: true,
_rejectUnauthorized: true,
parser: null,
_httpMessage: [Circular *1],
[Symbol(res)]: [TLSWrap],
[Symbol(verified)]: true,
[Symbol(pendingSession)]: null,
[Symbol(async_id_symbol)]: 62,
[Symbol(kHandle)]: [TLSWrap],
[Symbol(kSetNoDelay)]: false,
[Symbol(lastWriteQueueSize)]: 0,
[Symbol(timeout)]: null,
[Symbol(kBuffer)]: null,
[Symbol(kBufferCb)]: null,
[Symbol(kBufferGen)]: null,
[Symbol(kCapture)]: false,
[Symbol(kBytesRead)]: 0,
[Symbol(kBytesWritten)]: 0,
[Symbol(connect-options)]: [Object],
[Symbol(RequestTimeout)]: undefined
},
_header: 'GET /ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816 HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'User-Agent: axios/0.21.0\r\n' +
'Host: api.steampowered.com\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: noopPendingOutput],
agent: Agent {
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
defaultPort: 443,
protocol: 'https:',
options: [Object],
requests: {},
sockets: [Object],
freeSockets: {},
keepAliveMsecs: 1000,
keepAlive: false,
maxSockets: Infinity,
maxFreeSockets: 256,
scheduling: 'fifo',
maxTotalSockets: Infinity,
totalSocketCount: 1,
maxCachedSessions: 100,
_sessionCache: [Object],
[Symbol(kCapture)]: false
},
socketPath: undefined,
method: 'GET',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816',
_ended: true,
res: IncomingMessage {
_readableState: [ReadableState],
_events: [Object: null prototype],
_eventsCount: 3,
_maxListeners: undefined,
socket: [TLSSocket],
httpVersionMajor: 1,
httpVersionMinor: 1,
httpVersion: '1.1',
complete: true,
rawHeaders: [Array],
rawTrailers: [],
aborted: false,
upgrade: false,
url: '',
method: null,
statusCode: 429,
statusMessage: 'Too Many Requests',
client: [TLSSocket],
_consuming: false,
_dumped: false,
req: [Circular *1],
responseUrl: 'https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816',
redirects: [],
[Symbol(kCapture)]: false,
[Symbol(kHeaders)]: [Object],
[Symbol(kHeadersCount)]: 14,
[Symbol(kTrailers)]: null,
[Symbol(kTrailersCount)]: 0,
[Symbol(RequestTimeout)]: undefined
},
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: 'api.steampowered.com',
protocol: 'https:',
_redirectable: Writable {
_writableState: [WritableState],
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
_options: [Object],
_ended: true,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 0,
_requestBodyBuffers: [],
_onNativeResponse: [Function (anonymous)],
_currentRequest: [Circular *1],
_currentUrl: 'https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816',
[Symbol(kCapture)]: false
},
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype] {
accept: [Array],
'user-agent': [Array],
host: [Array]
}
},
response: {
status: 429,
statusText: 'Too Many Requests',
headers: {
'content-type': 'text/html; charset=UTF-8',
'content-length': '108',
expires: 'Sat, 19 Dec 2020 02:28:55 GMT',
'cache-control': 'max-age=0, no-cache, no-store',
pragma: 'no-cache',
date: 'Sat, 19 Dec 2020 02:28:55 GMT',
connection: 'close'
},
config: {
url: 'https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816',
method: 'get',
headers: [Object],
transformRequest: [Array],
transformResponse: [Array],
timeout: 0,
adapter: [Function: httpAdapter],
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
validateStatus: [Function: validateStatus],
data: undefined
},
request: <ref *1> ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: false,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: 0,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
_closed: false,
socket: [TLSSocket],
_header: 'GET /ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816 HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'User-Agent: axios/0.21.0\r\n' +
'Host: api.steampowered.com\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: noopPendingOutput],
agent: [Agent],
socketPath: undefined,
method: 'GET',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816',
_ended: true,
res: [IncomingMessage],
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: 'api.steampowered.com',
protocol: 'https:',
_redirectable: [Writable],
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype]
},
data: '\n' +
'\n' +
'429 Too Many Requests\n' +
'\n' +
'\n' +
'Too Many Requests\n' +
'\n' +
''
},
isAxiosError: true,
toJSON: [Function: toJSON]
}

Crash 3
[2020-12-18T21:47:38.214] [INFO] SubscriberManager - Starting up...
[2020-12-18T21:47:38.247] [INFO] SubscriberManager - Ready!
[2020-12-18T21:50:02.113] [INFO] DemoRecordingHelper - Applying recording preferences...
[2020-12-18T21:50:02.114] [INFO] DemoRecordingHelper - DemoHelper set voice_loopback 1.
[2020-12-18T21:50:02.544] [INFO] DemoRecordingHelper - DemoHelper set the volume of player The Lovely Potato to 0.
[2020-12-18T21:50:02.544] [INFO] DemoRecordingHelper - Finished applying recording preferences.
[2020-12-18T21:50:02.544] [INFO] DemoRecordingHelper - Attempting to start recording...
[2020-12-18T21:50:02.817] [INFO] DemoRecordingHelper - Recording to office-12-18-2020-3.dem...
[2020-12-18T21:50:02.817] [INFO] DemoRecordingHelper - DemoHelper started recording demo 'office-12-18-2020-3' successfully!
[2020-12-18T22:30:15.431] [INFO] DemoRecordingHelper - Completed demo, recording time 2412.6, game frames 154066.
[2020-12-18T22:34:03.102] [INFO] DemoRecordingHelper - Applying recording preferences...
[2020-12-18T22:34:03.102] [INFO] DemoRecordingHelper - DemoHelper set voice_loopback 1.
[2020-12-18T22:34:03.461] [INFO] DemoRecordingHelper - DemoHelper set the volume of player The Lovely Potato to 0.
[2020-12-18T22:34:03.461] [INFO] DemoRecordingHelper - Finished applying recording preferences.
[2020-12-18T22:34:03.461] [INFO] DemoRecordingHelper - Attempting to start recording...
[2020-12-18T22:34:03.660] [INFO] DemoRecordingHelper - Recording to office-12-18-2020-4.dem...
[2020-12-18T22:34:03.660] [INFO] DemoRecordingHelper - DemoHelper started recording demo 'office-12-18-2020-4' successfully!
[2020-12-18T23:16:43.593] [INFO] DemoRecordingHelper - Completed demo, recording time 2559.9, game frames 163485.
[2020-12-18T23:17:35.625] [INFO] DemoRecordingHelper - Applying recording preferences...
[2020-12-18T23:17:35.625] [INFO] DemoRecordingHelper - DemoHelper set voice_loopback 1.
[2020-12-18T23:17:36.031] [INFO] DemoRecordingHelper - DemoHelper set the volume of player The Lovely Potato to 0.
[2020-12-18T23:17:36.031] [INFO] DemoRecordingHelper - Finished applying recording preferences.
[2020-12-18T23:17:36.031] [INFO] DemoRecordingHelper - Attempting to start recording...
[2020-12-18T23:17:36.205] [INFO] DemoRecordingHelper - Recording to office-12-18-2020-5.dem...
[2020-12-18T23:17:36.205] [INFO] DemoRecordingHelper - DemoHelper started recording demo 'office-12-18-2020-5' successfully!
[2020-12-18T23:45:52.385] [INFO] DemoRecordingHelper - Completed demo, recording time 1696.2, game frames 108277.
[2020-12-18T23:51:07.917] [INFO] DemoRecordingHelper - Applying recording preferences...
[2020-12-18T23:51:07.918] [INFO] DemoRecordingHelper - DemoHelper set voice_loopback 1.
[2020-12-18T23:51:08.126] [ERROR] SteamID - Error: Request failed with status code 429
at createError (C:\Users\Ryan Cloherty\Downloads\csgo-utils\node_modules\axios\lib\core\createError.js:16:15)
at settle (C:\Users\Ryan Cloherty\Downloads\csgo-utils\node_modules\axios\lib\core\settle.js:17:12)
at IncomingMessage.handleStreamEnd (C:\Users\Ryan Cloherty\Downloads\csgo-utils\node_modules\axios\lib\adapters\http.js:244:11)
at IncomingMessage.emit (node:events:388:22)
at endReadableNT (node:internal/streams/readable:1295:12)
at processTicksAndRejections (node:internal/process/task_queues:80:21) {
config: {
url: 'https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816',
method: 'get',
headers: {
Accept: 'application/json, text/plain, /',
'User-Agent': 'axios/0.21.0'
},
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
adapter: [Function: httpAdapter],
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
validateStatus: [Function: validateStatus],
data: undefined
},
request: <ref *1> ClientRequest {
_events: [Object: null prototype] {
socket: [Function (anonymous)],
abort: [Function (anonymous)],
aborted: [Function (anonymous)],
connect: [Function (anonymous)],
error: [Function (anonymous)],
timeout: [Function (anonymous)],
prefinish: [Function: requestOnPrefinish]
},
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: false,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: 0,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
_closed: false,
socket: TLSSocket {
_tlsOptions: [Object],
_secureEstablished: true,
_securePending: false,
_newSessionPending: false,
_controlReleased: true,
secureConnecting: false,
_SNICallback: null,
servername: 'api.steampowered.com',
alpnProtocol: false,
authorized: true,
authorizationError: null,
encrypted: true,
_events: [Object: null prototype],
_eventsCount: 10,
connecting: false,
_hadError: false,
_parent: null,
_host: 'api.steampowered.com',
_readableState: [ReadableState],
_maxListeners: undefined,
_writableState: [WritableState],
allowHalfOpen: false,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: undefined,
_server: null,
ssl: [TLSWrap],
_requestCert: true,
_rejectUnauthorized: true,
parser: null,
_httpMessage: [Circular *1],
[Symbol(res)]: [TLSWrap],
[Symbol(verified)]: true,
[Symbol(pendingSession)]: null,
[Symbol(async_id_symbol)]: 9080,
[Symbol(kHandle)]: [TLSWrap],
[Symbol(kSetNoDelay)]: false,
[Symbol(lastWriteQueueSize)]: 0,
[Symbol(timeout)]: null,
[Symbol(kBuffer)]: null,
[Symbol(kBufferCb)]: null,
[Symbol(kBufferGen)]: null,
[Symbol(kCapture)]: false,
[Symbol(kBytesRead)]: 0,
[Symbol(kBytesWritten)]: 0,
[Symbol(connect-options)]: [Object],
[Symbol(RequestTimeout)]: undefined
},
_header: 'GET /ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816 HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'User-Agent: axios/0.21.0\r\n' +
'Host: api.steampowered.com\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: noopPendingOutput],
agent: Agent {
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
defaultPort: 443,
protocol: 'https:',
options: [Object],
requests: {},
sockets: [Object],
freeSockets: {},
keepAliveMsecs: 1000,
keepAlive: false,
maxSockets: Infinity,
maxFreeSockets: 256,
scheduling: 'fifo',
maxTotalSockets: Infinity,
totalSocketCount: 1,
maxCachedSessions: 100,
_sessionCache: [Object],
[Symbol(kCapture)]: false
},
socketPath: undefined,
method: 'GET',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816',
_ended: true,
res: IncomingMessage {
_readableState: [ReadableState],
_events: [Object: null prototype],
_eventsCount: 3,
_maxListeners: undefined,
socket: [TLSSocket],
httpVersionMajor: 1,
httpVersionMinor: 1,
httpVersion: '1.1',
complete: true,
rawHeaders: [Array],
rawTrailers: [],
aborted: false,
upgrade: false,
url: '',
method: null,
statusCode: 429,
statusMessage: 'Too Many Requests',
client: [TLSSocket],
_consuming: false,
_dumped: false,
req: [Circular *1],
responseUrl: 'https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816',
redirects: [],
[Symbol(kCapture)]: false,
[Symbol(kHeaders)]: [Object],
[Symbol(kHeadersCount)]: 14,
[Symbol(kTrailers)]: null,
[Symbol(kTrailersCount)]: 0,
[Symbol(RequestTimeout)]: undefined
},
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: 'api.steampowered.com',
protocol: 'https:',
_redirectable: Writable {
_writableState: [WritableState],
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
_options: [Object],
_ended: true,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 0,
_requestBodyBuffers: [],
_onNativeResponse: [Function (anonymous)],
_currentRequest: [Circular *1],
_currentUrl: 'https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816',
[Symbol(kCapture)]: false
},
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype] {
accept: [Array],
'user-agent': [Array],
host: [Array]
}
},
response: {
status: 429,
statusText: 'Too Many Requests',
headers: {
'content-type': 'text/html; charset=UTF-8',
'content-length': '108',
expires: 'Sat, 19 Dec 2020 04:51:09 GMT',
'cache-control': 'max-age=0, no-cache, no-store',
pragma: 'no-cache',
date: 'Sat, 19 Dec 2020 04:51:09 GMT',
connection: 'close'
},
config: {
url: 'https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816',
method: 'get',
headers: [Object],
transformRequest: [Array],
transformResponse: [Array],
timeout: 0,
adapter: [Function: httpAdapter],
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
validateStatus: [Function: validateStatus],
data: undefined
},
request: <ref *1> ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: false,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: 0,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
_closed: false,
socket: [TLSSocket],
_header: 'GET /ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816 HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'User-Agent: axios/0.21.0\r\n' +
'Host: api.steampowered.com\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: noopPendingOutput],
agent: [Agent],
socketPath: undefined,
method: 'GET',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXX_MY_STEAM_WEB_API_KEY_XXXXX&steamids=76561198152767816',
_ended: true,
res: [IncomingMessage],
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: 'api.steampowered.com',
protocol: 'https:',
_redirectable: [Writable],
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype]
},
data: '\n' +
'\n' +
'429 Too Many Requests\n' +
'\n' +
'\n' +
'Too Many Requests\n' +
'\n' +
''
},
isAxiosError: true,
toJSON: [Function: toJSON]
}

YEAH I ALMOST POSTED MY API KEY. YEAH I REMEMBERED TO SCRUB IT FROM MY LOGS LAST MINUTE.

It might be ideal to cache the user's Steam name for the duration of a session. Before using the cached version, we can check if it's up to date by consulting status to see if our name is the same. We'll also have to cache the Steam ID shown on the status page to handle the edge case of the user changing their name but a teammate changing their name to match the user's previous name.


Transfer fees

There are three major changes in this PR:

Transfer fees are only changed when transferring an IOU (an account redeems to a gateway and that gateway issues). Flow V2 was charging the transfer fee whenever an account issued, even when no IOU was transfered.

In an offer book, the offer owner pays the transfer fee, not the payment sender.

A strands output in the forward pass is limited by the amount requested in the reverse pass. Please review this commit carefully, as it mixes amounts from both the forward and reverse pass.

@scottschurr @nbougalis

Looks ok.

The code looks good to me.  I understand you'll be adding some unit tests?  I'll hold off on the thumbs up until those tests are added.

@scottschurr  @nbougalis
Pushed a commit to address a bug when an offer owner is also the issuer and the owner pays the fee (an offer could have looked like not enough funds were available).

Looks good to me.  :+1:

@nbougalis I put the "ownerPays" stuff on a "feature" switch, I assume that is the correct thing to do, but want to double check. I did not put any of the other changes on any kind of switch, as they are only on develop and I assume should be on the same switch as FlowV2.
The FlowV2 switchover date has passed, should I also make a PR that moves it back?

:+1: (pending the update to the FlowV2 time update)

merged.


If I use use_absl_log_file, I will get two files with the same content, what can I do to generate just one file?

thank you!

One file, with the timestamps, is the actual log file. The other, without the timestamps, is a convenience symlink to the former. It has a predictable filename so it can be useful. The symlink will also be overridden if you run the program twice. And this behavior isn't customizable.
Hope this helps.

Closing, assuming this was answered. Feel free to reopen if you have more questions.


Docker image broken by change to support multiple environments

The run.sh script in the docker folder  longer updates the JS correctly to provide the SCHEMAREGISTRY_URL.
From docker/run.js
else
    echo "Setting Schema Registry URL to $SCHEMAREGISTRY_URL."
    sed -e 's|^\s*var SCHEMA_REGISTRY =.*|  var SCHEMA_REGISTRY = "'"$SCHEMAREGISTRY_URL"'";|' \
        -i /schema-registry-ui/combined.js
fi

Thank you for the rapid response!


Fixes #501 - remove $firebase object

@jwngr sorry this has taken so long. Here's the PR to remove $firebase
removed $firebase object
Renamed $extendFactory to $extend (they are not factories anymore)
Added doSet() and doRemove() to $firebaseUtils (ported from old $firebase code)
Upgraded MockFirebase dependency

Ooooh baby, this looks pretty. Just seeing how much less boilerplate initialization code is required for the e2e tests makes me feel like this is a positive change. I'll take a closer look tomorrow.

Coverage decreased (-1.38%) to 93.71% when pulling 6e38dad8f976ab42496b9818cae1ffd1a257db71 on kato-removefb into a0674e61c95f98a57d6e29c073bfad42de4149ab on master.

@katowulf - Back to you with a handful of comments. Overall change looks good, but I have some testing-related asks of you.

Think we're all set!

Coverage decreased (-1.65%) to 93.44% when pulling 83399f8bf47a1ceebc3000f83db6bec094fbc739 on kato-removefb into a0674e61c95f98a57d6e29c073bfad42de4149ab on master.

Coverage decreased (-1.65%) to 93.44% when pulling 81bcfcdd82e2b6441e7d6b6c901e785b7501f799 on kato-removefb into a0674e61c95f98a57d6e29c073bfad42de4149ab on master.


The worst library of all time! Copied project and very poorly pushed.

You should check before uploading to GitHub. The requirements.txt file does not have any version. I wasted a lot of time trying to execute the freakin code.

I am with you shinebarbhuiya. I think we should take it to civil court.


Error while running benchmark

I use docker environment, following your suggestion.
I Run
docker run -it --rm --shm-size=10g lightning

mkdir build
cd build/
cmake -DVERIFIER=ON ..

Then i get
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Could NOT find Z3 (missing: Z3_DIR)
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.8.so (found suitable version "3.8.10", minimum required is "3")
-- Configuring done
-- Generating done
-- Build files have been written to: /lightning/build
root@69b5e1cb2703:/lightning/build# make -j
Scanning dependencies of target lightning
Scanning dependencies of target cobble
[  2%] Building CXX object CMakeFiles/lightning.dir/src/log_disk.cc.o
[  7%] Building CXX object CMakeFiles/lightning.dir/src/malloc.cc.o
[  7%] Building CXX object CMakeFiles/lightning.dir/src/object_log.cc.o
[ 10%] Building CXX object verifier/CMakeFiles/cobble.dir/src/data-structures.cc.o
[ 12%] Building CXX object verifier/CMakeFiles/cobble.dir/src/abstract-functions.cc.o
[ 15%] Building CXX object verifier/CMakeFiles/cobble.dir/src/executor.cc.o
[ 17%] Building CXX object verifier/CMakeFiles/cobble.dir/src/llvm-helpers.cc.o
[ 20%] Building CXX object verifier/CMakeFiles/cobble.dir/src/symbolic-expr.cc.o
[ 23%] Building CXX object verifier/CMakeFiles/cobble.dir/src/utils.cc.o
[ 25%] Building CXX object verifier/CMakeFiles/cobble.dir/src/logwrite_bound.cc.o
[ 28%] Building CXX object verifier/CMakeFiles/cobble.dir/src/z3-gen.cc.o
[ 30%] Linking CXX static library liblightning.a
[ 30%] Built target lightning
Scanning dependencies of target test_cleanup
Scanning dependencies of target subscribe
Scanning dependencies of target mp_benchmark
[ 33%] Building CXX object CMakeFiles/test_cleanup.dir/src/client.cc.o
[ 35%] Building CXX object CMakeFiles/test_cleanup.dir/test/test_cleanup.cc.o
Scanning dependencies of target create_object
[ 38%] Building CXX object CMakeFiles/subscribe.dir/test/subscribe.cc.o
Scanning dependencies of target create_latency
[ 41%] Building CXX object CMakeFiles/subscribe.dir/src/client.cc.o
Scanning dependencies of target benchmark
Scanning dependencies of target store
[ 43%] Building CXX object CMakeFiles/mp_benchmark.dir/test/mp_benchmark.cc.o
[ 46%] Building CXX object CMakeFiles/mp_benchmark.dir/src/client.cc.o
[ 48%] Building CXX object CMakeFiles/create_object.dir/test/create_object.cc.o
[ 51%] Building CXX object CMakeFiles/create_object.dir/src/client.cc.o
[ 53%] Building CXX object CMakeFiles/create_latency.dir/src/client.cc.o
[ 56%] Building CXX object CMakeFiles/create_latency.dir/test/create_latency.cc.o
[ 58%] Building CXX object CMakeFiles/benchmark.dir/test/benchmark.cc.o
[ 61%] Building CXX object CMakeFiles/benchmark.dir/src/client.cc.o
[ 64%] Building CXX object CMakeFiles/store.dir/src/store.cc.o
[ 66%] Linking CXX executable store
[ 69%] Linking CXX executable test_cleanup
[ 71%] Linking CXX executable mp_benchmark
[ 74%] Linking CXX executable create_latency
[ 76%] Linking CXX executable subscribe
[ 79%] Linking CXX executable benchmark
[ 79%] Built target store
[ 82%] Linking CXX executable create_object
[ 82%] Built target mp_benchmark
[ 82%] Built target test_cleanup
[ 82%] Built target create_latency
[ 82%] Built target subscribe
[ 82%] Built target benchmark
[ 82%] Built target create_object
[ 84%] Linking CXX static library libcobble.a
[ 84%] Built target cobble
Scanning dependencies of target verify_num_logwrite
Scanning dependencies of target print_class_fields
Scanning dependencies of target print_all_funcs
[ 87%] Building CXX object verifier/CMakeFiles/print_class_fields.dir/exec/print_class_fields.cc.o
[ 89%] Building CXX object verifier/CMakeFiles/print_all_funcs.dir/exec/print_all_funcs.cc.o
[ 92%] Building CXX object verifier/CMakeFiles/verify_num_logwrite.dir/exec/verify_num_logwrite.cc.o
[ 94%] Linking CXX executable print_all_funcs
[ 97%] Linking CXX executable print_class_fields
[ 97%] Built target print_all_funcs
[ 97%] Built target print_class_fields
[100%] Linking CXX executable verify_num_logwrite
[100%] Built target verify_num_logwrite

Seems like libz3 is not detected by cmake tool. But when i run
apt-get install libz3-dev

I get
libz3-dev is already the newest version (4.8.7-4build1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Next, I run
./store

store_header_ = 180146176
Store is ready!

Start a new terminal, and run
docker exec -it 69b5 /bin/bash

cd build/
./benchmark

I get
139868729386816
pkey = -1
benchmark: /lightning/src/client.cc:202: void LightningClient::init_mpk(): Assertion `status >= 0' failed.
Aborted (core dumped)

And the store terminal prints
pid = 951 crashes! start recovering!
recovered using 0.00489893 s!
pid = -402650928 crashes! start recovering!
recovered using 0.010827 s!

What's the problem?

very similar problems for me

Hi all,
benchmark: /lightning/src/client.cc:202: void LightningClient::init_mpk(): Assertion `status >= 0' failed.
This means your machine does not have intel MPK. There are two ways to get around this issue:
(1) use an MPK capable intel-based CPU to run lightning
(2) you can comment out "#define USE_MPK" in inc/config.h
Thanks,
Danyang


Program freezes when importing files or folder with "[ ]" in their names

Program freezes when importing files or folder with "[ ]" in their names.
Steps to reproduce on Windows:

Create a directory or file containing [1] and try to import it

Related to https://github.com/here-be/snapdragon/issues/11
In this case files and folders will be excluded from watching.
Will be released at 0.6.7


feat: add Jinja2 test for validating data against JSON Schema

I've added a Jinja2 test for validating data against a JSON Schema document as an alternative to the Jinja2 filter.
When you're not interested in the validation error message, there's only a small difference between the filter and the test, so it's more a convenience than an actual feature :
-{%- if data | jsonschema('schema.json') -%}
+{%- if data is not jsonschema('schema.json') -%}
 Invalid data
 {%- endif -%}

I remembered https://github.com/copier-org/copier/issues/1065#issuecomment-1500026781 and https://github.com/copier-org/copier/pull/1101#issuecomment-1546826139, that's why I thought it might be worth adding a Jinja2 test as well. Do you think it's worth it, @yajo?

Yeah, it makes sense


Windows: udp receives no data, maybe a SetFileCompletionNotificationModes issue.

Version: 1.11.0,         NOTE: I've tried 1.16.1, bug goes the same.
Platform: Windows7 SP1 x64

Hi uv team,
I have encounter a bug on two PCs, one is my test computer, the other is on customer side(so that one has no tech info).
[Minimum demo]
Use offical unit test or DHCP demo from official doc is enough.
[What happend]
When I run unittest or my own test case on that computer, udp send is success, I can grab the sending datagram and server response from WireShark, but the response is not transfered to my application, i.e. uv_udp_recv_cb is nerver called.
Besides, all the libuv's API returns 0, told me that there's no error, but things goes wrong indead.
When I get into the code, I found this:
uv_udp_set_socket:
/* All known Windows that support SetFileCompletionNotificationModes */
/* have a bug that makes it impossible to use this function in */
/* conjunction with datagram sockets. We can work around that but only */
/* if the user is using the default UDP driver (AFD) and has no other */
/* LSPs stacked on top. Here we check whether that is the case. */

and the "info.ProtocolChain.ChainLen" equals 2 on that computer(so it seems the hack described above is not performed on that computer, maybe this is the clue), and the rest of my testing computers get the value of 1.
[Expected]
libuv's udp component is fine on all kinds of windows systems or can go back to normal mode if the IOCP hack failed.
[Question]

Is there a way to check whether the system use the default UDP driver (AFD) or not?
Is there a way to check there's other LSP stack on top of UDP?
If neighter of them can be done, is there a way to set libuv back to normal mode instead of IOCP on UDP side?
If 1-3 can't be done, is there a way to return a error from any of the API so I can do something at least.
If all of them can't be done, what can I do on this senario?

Thanks in advance,
Bill.

To questions 1-2: You can check for LSPs with Windows Defender's Software Explorer tool.
To questions 3-5: You could patch libuv to always take the path you want.  We're open to patches that improve feature detection.

Thanks,
For 1-2, I've found a command:
netsh winsock show catalog
to check if there's more than one LSP, result is that problematic computer have two.
But for 3-5, I'm not a Windows Network Developing expert, so I'm expecting some official API or official advise to handle this senario.
There's already an official comments in the code says it's a bug from Microsoft, but what can we do when we really meet this bug? Because if we do meet this senario in some of our customer's computer, it seems no way to avoid it? That means we can not use libuv to handle UDP stuffs anymore, what a pity :(

so I'm expecting some official API or official advise to handle this senario

Let me unpack what I wrote.  Libuv already tries to detect and route around that scenario but one or either option below may apply:

Libuv's auto-detection is defective.  Not exactly impossible but not exactly plausible either as it has worked well for years.
One of the LSPs is defective, breaking auto-detection.  Microsoft deprecated LSPs for exactly that reason: most are extremely buggy and some are outright malware.

Here is a simple patch you can try that will avoid the problematic code path.  Please try it and let me know what happens.
diff --git a/src/win/winapi.c b/src/win/winapi.c
index 4ccdf0a5f..c108dc769 100644
--- a/src/win/winapi.c
+++ b/src/win/winapi.c
@@ -123,9 +123,6 @@ void uv_winapi_init(void) {
       kernel32_module,
       "GetQueuedCompletionStatusEx");

-  pSetFileCompletionNotificationModes = (sSetFileCompletionNotificationModes)
-    GetProcAddress(kernel32_module, "SetFileCompletionNotificationModes");
-
   pCreateSymbolicLinkW = (sCreateSymbolicLinkW)
     GetProcAddress(kernel32_module, "CreateSymbolicLinkW");

Got it, thank you for the details reply. I'll try it and let you know.
BTW, is the same thing happens to TCP side?

Yep.  The patch will make it skip the SetFileCompletionNotificationModes() call there as well (although it may not need to.)

I can't reproduce the problem on that testing computer again.
Before I got your patch, I found there was a malware by running
netsh winsock show catalog
so I uninstall it to verify if its the point. And after uninstall, everything goes well.
After that, I reinstall that malware many times, but still can't reproduce the problem :(
Since the patch can't be tested, I have to confirm something about it:

When pSetFileCompletionNotificationModes is set to NULL, can libuv still running well on both UDP and TCP side?

I noticed that the pSetFileCompletionNotificationModes is aimed to enhance the performance, so does it slow down libuv very much without it?

Thanks.

It is NULL in Windows XP. It should work, but no one is testing that so there is no guarantee since we do not support XP anymore.

There is a comment in winsock.c:
"However it is desirable to use SetFileCompletionNotificationModes because it yields a massive performance increase."

BTW, there is a PR for v2 to remove LSP support: https://github.com/libuv/libuv/pull/1066


Wiki problem

Hey author, me again!
I'm translating your wiki and I found that there's some hidden pages that are not shown in sidebar index.
For example, the chapter of Unsupported Versions.
I would ask is this a mistake or just on purpose?
Please reply soon as I'm checking wiki's content are correct in my translation

hey,
wikis aren't currently translatable however if there's interest ill add this as a website feature to let folks supply international locales :)

hey,
wikis aren't currently translatable however if there's interest ill add this as a website feature to let folks supply international locales :)

I've already translated the whole wiki, and you could see it here:
https://snowcutieowo.github.io/HuskSync

That's very helpful, thanks :) -- I think it'd be nice if I could add internationalisation support to my website to make it easier for users who don't speak English to find my stuff. If you'd like, I'd accept a pull request with the files to /docs/<language_code>/... and from there ill look at how to update my website to support letting users switch their language

Hello, I have posted details about this here if you wish to contribute docs translations: https://william278.net/translate

Hello, I have posted details about this here if you wish to contribute docs translations: https://william278.net/translate

Quite difficult since I'm using Docsify on my personal wiki translation, I suggest keep the originals and just left a link, for both maintainability and clean.

Hello, I have posted details about this here if you wish to contribute docs translations: https://william278.net/translate

Quite difficult since I'm using Docsify on my personal wiki translation, I suggest keep the originals and just left a link, for both maintainability and clean.

That's fine, it's up to you of course - I just figured it's a bit easier for user discoverability for docs to all be in the same place :).
If you decide you'd like to take the time to separate it out, just submit a PR. Thanks for your work!


Add/remove shards in cluster

Adding and removing of shards to a cluster. This can be useful when migrating shards from one process to another, instead of calling down_resumable on the cluster and shutting down all shards, before resuming everything at once on another process. At scale, immediate migration is very CPU intensive and it is better to gradually migrate shards.
Issue extracted from #615.

This issue is technically addressed by #1809, and thus is closed by it.

Done in next, Twilight 0.14


Feature missed CDS, start_codon and stop_codon

The feature of my output gtf file from stringtie contains only "exon" and "transcript", no "CDS"," start_codon" and "stop_codon". Is that normal? Does anyone have this experience before?

Yes, that's normal - StringTie is a RNA-Seq assembler, not a gene/ORF finder.


QA: FsR: Fluids Report: ADD workflow for multiple object creation

EPIC:
#491 Fluids Report Implementation
PARENT:
#493 Add to Store (C) Fluids Report Object
SIZE:
4 hours = 1/2 day = 1 point
QA: Fluids Report: ADD workflow for multiple object creation  – Size (1pt)

Update: Our first effort will be to provide a Full Transaction Sanity Test in priority order: <IP_ADDRESS>, <IP_ADDRESS>, 2.0. Then, we will focus on permutations to this first effort.
Multiple object creation testing is a permutation.
ETA: TBD in priority order

Update: This effort is beyond vanilla sanity testing, so will line up after sanity testing is completed.
ETA: TBD


Add ability to use QR code from phone photo library

From Pivotal list
Labels: none
status: unscheduled
created Sep 28, 2021
by Kyle
Description: Add a credential from an image saved to the phone library

Closing. No requests for this.


[Bug] hubble start error in debug mode

Bug Type (问题类型)
exception / error (异常报错)
Before submit

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

Environment (环境信息)

Server Version: 1.0.0
Toolchain Version: 1.0.0

Expected & Actual behavior (期望与实际表现)
hubble start error in debug mode

Vertex/Edge example (问题点 / 边数据举例)
No response
Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)
No response

fix in pr #415


Add support for variadic hset invocation

I'm unable to link the issue. @mp911de

Thank you for your contribution. That's merged, polished, and forwardported now.


rely on testgrid comments to find runs

What this PR does / why we need it:
Instead of trying to figure out how github reports commits to various bits of infrastructure, just parse the "testgrid run here" comment to find the right place to go.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

Steps to reproduce

Does this PR introduce a user-facing change?

Does this PR require documentation?

a test run: https://github.com/replicatedhq/kURL/actions/runs/3269827508/jobs/5377780642
No testgrid run found for "YAML Linting"
No testgrid run found for "Fix upgrade install fails after partial install"
No testgrid run found for "rely on testgrid comments to find runs"
No testgrid run found for "Testgrid cleanup finished test instances"
No testgrid run found for "Bump github.com/google/go-cmp from 0.[5](https://github.com/replicatedhq/kURL/actions/runs/3269827508/jobs/5377780642#step:3:6).8 to 0.5.9 in /kurlkinds"
No testgrid run found for "fix golang lint errors shown on github PRs"
No testgrid run found for "ADR: Host Packages"
No testgrid run found for "Bump github.com/replicatedhq/troubleshoot from 0.43.1 to 0.45.0 in /kurlkinds"
No testgrid run found for "add section for unsupported ids for testgrid spec"
PR "Automated Longhorn version update 1.3.2" #3578 has failed runs
PR "Automated Antrea version update 1.8.0" #2619 has failed runs
PR "Automated Goldpinger version update 3.6.1-5.4.3" #3557 has failed runs
PR "Automated OpenEBS version update 3.3.1" #3415 has failed runs
PR "Automated Prometheus version update 0.60.1-41.4.1" #3532 has failed runs
PR "Fix prometheus alerts" #2843 has failed runs
PR "Apply Prometheus Monitor(s)" #3569 is passing
PR "use runc 1.1.2 with containerd" #2998 has failed runs


SDL API not loading on M-series Mac

Summary
I am unable to load the SDL API on my Mac, even though the same code works on Windows.
Steps to reproduce

Platform: Desktop, MacBook Pro M-series
Framework Version: .NET Core 8
API: SDL
Added Silk.NET.SDL to my project
Then with this code, this works fine on a Windows 64bit (Win10) machine:

    SdlProvider.InitFlags = Sdl.InitVideo | Sdl.InitEvents;
    var sdl = SdlProvider.SDL.Value;

    WindowFlags flags = WindowFlags.AllowHighdpi;
    var windowHandle = sdl.CreateWindow("Hello World", Sdl.WindowposUndefined, Sdl.WindowposUndefined, 640, 480,      (uint)flags);

while(true) {}

On my MBP, it fails in creating the API (also when using GetApi). It exits before it reaches the line after acquiring the API.
I've looked at the resource folder: libSDL2-2.0.dylib is available in runtimes/osx/native, the rest of the Silk libraries are in runtimes/osx-arm64.
Comments
Maybe the library is not being found in the right place? I tried to find how the build system works for ARM but not successfully yet.

The way https://github.com/dotnet/Silk.NET/blob/main/src/Native/Silk.NET.SDL.Native/build/net461/Ultz.Native.SDL.targets is set up, it should set 'osx-x64' even on ARM (due to the 64bit check). This means it will look in runtimes/osx-x64/native. It is not there.

Are you using .NET Framework/Mono? That targets file does not apply otherwise.

If you are not using Framework/Mono, I would be curious if you could try moving the dylib into runtimes/osx-arm64 and see if it works then. If so, then this is indeed a bug in our packaging.

I am not no. :D I barely know what I am doing on the native part.
https://github.com/dotnet/Silk.NET/pull/1645/files#diff-39bb3db1dc156c384f572851e6b01ecb0c6202605e127a734446753414bde82a
I see here that the libs got added here, but no config for OSX

Does it work if you use dotnet publish or dotnet run with a runtime identifier specified?

Moved the file, but it gets put back on Run. Any tip on how I can try this properly?

Does it work if you use dotnet publish or dotnet run with a runtime identifier specified?

dotnet run -r osx-arm64 -> same issue
dotnet run -r osx-x64 -> wrong CPU error (to make sure...)
dotnet run -r osx -> unknown runtime

Do something like this:
$ dotnet build
$ cp bin/Debug/net8.0/runtimes/osx/native/libSDL2-2.0.dylib bin/Debug/net8.0/runtimes/osx-arm64/native # replace net8.0 as appropriate
$ dotnet run --no-build

Does this work? (Basically trying to determine if the runtime is even attempting to pick up anything from runtimes/osx.)

% dotnet run --no-build
A
B

No :( With code:
unsafe
{
    Console.WriteLine("A");
    SdlProvider.InitFlags = Sdl.InitVideo | Sdl.InitEvents;
    Console.WriteLine("B");
    var sdl = SdlProvider.SDL.Value;
    Console.WriteLine("C");
 }

Oh... I remembered now to look at the system Console:

Exception Type:        EXC_CRASH (SIGKILL (Code Signature Invalid))
Exception Codes:       0x0000000000000001, 0x0000000000000000

Termination Reason:    Namespace CODESIGNING, Code 2 Invalid Page

What's the output of file runtimes/osx/native/libSDL2-2.0.dylib?

That one is both x64 and arm, but:

codesign --verify bin/Debug/net8.0/runtimes/osx/native/libSDL2-2.0.dylib
bin/Debug/net8.0/runtimes/osx/native/libSDL2-2.0.dylib: invalid signature (code or signature have been modified)
In architecture: arm64

(fine for Skia and libwgpu (from your WebGPU))

I don't really know how code signing works on macOS. Is there a way to turn off the enforcement just to see if that's the cause of the issue?

I've signed it myself (overwriting the existing signature), and then it runs. So it is definitely the wrong signature.

Did you do ad-hoc signing or an actual certificate?

Actual certificate in this case. Let me find how to sign ad-hoc...
I do seem to understand clang auto-signs when it builds on macOS, so that might explain why the wgpu binary is signed correctly.

'broken' signature:

Identifier=libSDL2-55554944bb706839cb39394db041064fbfb14ef3
Format=Mach-O universal (x86_64 arm64)
CodeDirectory v=20400 size=11881 flags=0x2(adhoc) hashes=362+5 location=embedded
Signature=adhoc
Info.plist=not bound
TeamIdentifier=not set
Sealed Resources=none
Internal requirements count=0 size=12

After I signed it adhoc:

Executable=/Users/joskuijpers/Developer/RealismusModding/rts/eagle/src/Eagle.Playground/bin/Debug/net8.0/runtimes/osx/native/libSDL2-2.0.dylib
Identifier=libSDL2-2-55554944bb706839cb39394db041064fbfb14ef3
Format=Mach-O universal (x86_64 arm64)
CodeDirectory v=20400 size=11787 flags=0x2(adhoc) hashes=362+2 location=embedded
Signature=adhoc
Info.plist=not bound
TeamIdentifier=not set
Sealed Resources=none
Internal requirements count=0 size=12

Well, we also build SDL on macOS (using xcodebuild even), so the resulting binaries should be ad-hoc signed. My current suspicion is that the signature for the Arm64 portion somehow gets corrupted when we lipo the x64 and Arm64 binaries together. :thinking:
I don't have a macOS system, though, so hard for me to investigate this.

I'm glad to help you figure it out :)
To be sure, I've renamed the file to something else, and an existing signature survives that. (I am not sure myself what the signature signs). So the identifier being libSDL2 instead of 2-2 should not be an issue.
A difference I see is the 'size'.
I'd think you need to sign after lipo?
Can I try building this whole thing locally?

I'd think you need to sign after lipo?

That may be it. My understanding is that each arch portion of a fat binary has its own signature, but maybe you also need to sign the combined fat binary at the end... :thinking:

Can I try building this whole thing locally?

Clone the repo and do git submodule update --init --recursive build/submodules/SDL, followed by ./build.sh sdl2 to perform the build.

This just builds the SDL native binaries, so you shouldn't need anything except .NET SDK 7 and Xcode.
Do not clone the entire repository recursively since we have a lot of huge submodules (and some of them don't even clone cleanly).

You can find the build logic here: https://github.com/dotnet/Silk.NET/blob/main/build/nuke/Native/SDL2.cs

Last line of the build: :)

[ERR] SDL2: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip: warning: changes being made to the file will invalidate the code signature in: /Users/joskuijpers/Developer/Silk.NET/src/Native/Silk.NET.SDL.Native/runtimes/osx/native/libSDL2-2.0.dylib (for architecture x86_64)
[ERR] SDL2: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip: warning: changes being made to the file will invalidate the code signature in: /Users/joskuijpers/Developer/Silk.NET/src/Native/Silk.NET.SDL.Native/runtimes/osx/native/libSDL2-2.0.dylib (for architecture arm64)

You can have multiple .NET SDKs installed side-by-side. One way is to use the dotnet-install scripts, e.g. dotnet-install -v <sdk version>.

That'd do it 🤦

Interestingly:

codesign --verify src/Native/Silk.NET.SDL.Native/runtimes/osx/native/libSDL2-2.0.dylib
succeeds

Hm. I mean, it does make sense that strip would invalidate the signature if it doesn't re-ad-hoc-sign it.
But codesign --verify then succeeding? That's strange. Does macOS have some special-casing going on for binaries built on the current system?

I have no idea. I can make a PR with extra code-signing at the end. Then I can download the binary and verify again.

That's a bit involved due to the way our native builds are triggered (it's not as simple as a PR). But, I think @Perksey daily-drives macOS, so maybe you can upload the binary you just built for him to codesign --verify? If we can confirm that it verifies on your system only because you built it, then I think we have sufficient information to know that we indeed just need to ad-hoc sign after stripping.

Alright, I can do that. I made a PR anyways: #2174

@Perksey I have uploaded the files to https://github.com/joskuijpers/Silk.NET/tree/testsign/src/Native/Silk.NET.SDL.Native/runtimes/osx/native

For now I have a workaround:
<Target Name="Codesign" AfterTargets="Build">
    <Exec Command="codesign --force --sign - $(TargetDir)/runtimes/osx/native/libSDL2-2.0.dylib" />
</Target>

Thank you for the super quick responses!

Thanks for helping diagnose and fix it!


SOLO link broken

The link for install SOLO is broken, error: Page not found

The SOLO project is here: https://github.com/wxinlong/solo/ , and I have updated the readme.md .


Is kuberlogic compatible on AWS EKS?

Hello,
I was wondering if KuberLogic is compatible with AWS EKS v1.20? I ran the installer and received an error that states that the cluster is not compatible.
[cloudshell-user@ip-10-0-13-184 ~]$ ./kuberlogic-installer-linux-amd64 install all -c kuberlogic-installer.yaml
INFO[2021-10-15 15:55:40] version 1.0.1, build time: 11-10-21T13:37:50+0000, sha1ver: 40471e1c406fca3b0cbcdee2307a48c22d3b785c
INFO[2021-10-15 15:55:40] Reading config from kuberlogic-installer.yaml
DEBU[2021-10-15 15:55:40] Using default value for kubeconfigPath: /home/cloudshell-user/.kube/config
DEBU[2021-10-15 15:55:40] Config is &{DebugLogs:0xc0007ec780 KubeconfigPath:0x366f140 Namespace:0xc0001acc90 Endpoints:{API:kl.staging.gexcp.com UI:kl.staging.gexcp.com MonitoringConsole:mckl.staging.gexcp.com} Registry:{Server: Username: Password:} Auth:{AdminPassword: DemoUserPassword:<nil>}}
DEBU[2021-10-15 15:55:40] initializing clientset with kubeconfig /home/cloudshell-user/.kube/config
DEBU[2021-10-15 15:55:40] Initialized kuberlogic installer: &{Log:0xc0003835e0 ClientSet:0xc0006f4160 HelmActionConfig:0xc00007f700 ReleaseNamespace:kuberlogic Registry:{Server: Username: Password:} Endpoints:{API:kl.staging.gexcp.com UI:kl.staging.gexcp.com MonitoringConsole:mckl.staging.gexcp.com} Auth:{AdminPassword: DemoUserPassword:}}
DEBU[2021-10-15 15:55:40] entering install phase with args: [all]
INFO[2021-10-15 15:55:40] Checking Kubernetes cluster version
ERRO[2021-10-15 15:55:41] Kubernetes version v1.20.7-eks-d88609 found
FATA[2021-10-15 15:55:41] Failure: pre-install checks are failed: error checking Kubernetes version: cluster version incompatible

Hi, again!
We've just added AWS/EKS support in 1.0.2 release, so you are very welcome to test!


11.3 build error

adduser
https://github.com/adoptium/containers/issues/606

Recent adoptium/containers have user 1000=ubuntu builtin


Fix bfremainder by compute bffmod in higher precision

This fixes #29, that is, it fixes the bigfloat implementation of remainder so that it no longer outputs a wrong answer, causing ival-remainder to fail its test.

So I think we basically need to stop doing nonsense like bfremainder, which I don't have the focus to do right, and just bind into mpfr, which already offers these functions and does so correctly

Closing in favor of #34


Could it become a library?

I mean, I wish I could install it (with pip or conda), create my own Dataset and use this Faster RCNN implementation with no need to fork it, build it and so on. Just like we have Modules in PyTorch, it would be nice to have this implementation as a library that I could use in my own Modules.

@fernandocamargoti that's a good idea! do you have any more specific suggestions?

Well, I don't know enough of this implementation, but I guess we could update the build to be able to upload to PyPi.
I noticed almost no implementation of object detection available in the Github can be installed and use as a library. The single one I've found is this: https://github.com/fizyr/keras-retinanet
It may be a good example to be followed, even though it targets Keras.


Add support for static_init

As @cofinite mentioned in https://github.com/cofinite/enum_properties/pull/6#issuecomment-1013827511, static_init might be an interesting alternative to lazy_static for lazy properties. However, since static_init uses some OS features (it does not work on bare-metal nor WebAssembly), lazy_static should remain an option.
The hope is that static_init could give essentially the same performance as const initialized properties while still allowing lazily initialized values.

Unfortunately, my first tests with static_init do not indicate the hoped performance gains, albeit, I'm not experienced with writing Rust benchmarks. I added benchmarks comparing the duration of 1000 accesses to const initialized properties with lazily initialized properties in 06bb02adb39fc4823698bf33dc4ed4b6d19fab9b, which still uses lazy_static. On a different branch, I replaced lazy_static with static_init in d3637087be1bff9916035abf84589c34a98d5d80. These are the two commits that I used in my benchmarks.
My results are as follows:
With lazy_static
test benchs::quad_1000_const_access      ... bench:         838 ns/iter (+/- 92)
test benchs::quad_1000_lazy_access       ... bench:       1,363 ns/iter (+/- 100)
test benchs::singelton_1000_const_access ... bench:         285 ns/iter (+/- 13)
test benchs::singelton_1000_lazy_access  ... bench:         657 ns/iter (+/- 23)

With static_init (using #[dynamic])
test benchs::quad_1000_const_access      ... bench:         818 ns/iter (+/- 38)
test benchs::quad_1000_lazy_access       ... bench:       1,353 ns/iter (+/- 51)
test benchs::singelton_1000_const_access ... bench:         281 ns/iter (+/- 11)
test benchs::singelton_1000_lazy_access  ... bench:         553 ns/iter (+/- 21)

It seems that static_init is mostly on par with lazy_static. However, static_init also supports true lazy which should compare even better with lazy_static, thus I tried that too:
With static_init (#[dynamic(lazy)])
test benchs::quad_1000_const_access      ... bench:         835 ns/iter (+/- 54)
test benchs::quad_1000_lazy_access       ... bench:       2,731 ns/iter (+/- 118)
test benchs::singelton_1000_const_access ... bench:         282 ns/iter (+/- 12)
test benchs::singelton_1000_lazy_access  ... bench:       1,349 ns/iter (+/- 53)

So, for true lazy statics, lazy_static actually outperforms static_init, however, this hardly of interest.
The bottom line is that apparently, static_init with it's #[dynamic] hardly beats lazy_static in particular the quad_1000_lazy_access run is well within the noise, just in the singelton_1000_lazy_access run static_init is a bit faster but not as fast as the true const properties. Also, I regard the singelton run as less representative, because it uses an enum with a single variant, whereas quad has four.