AWS EKS with manage node system-probe error during start

Output of the info page
===============
Agent (v7.21.1)
===============

  Status date: 2020-08-13 09:55:17.856806 UTC
  Agent start: 2020-08-10 10:40:12.642873 UTC
  Pid: 6471
  Go Version: go1.13.11
  Python Version: 3.8.1
  Build arch: amd64
  Agent flavor: agent
  Check Runners: 4
  Log Level: WARN

  Paths
  =====
    Config File: /etc/datadog-agent/datadog.yaml
    conf.d: /etc/datadog-agent/conf.d
    checks.d: /etc/datadog-agent/checks.d

  Clocks
  ======
    NTP offset: -11.759ms
    System UTC time: 2020-08-13 09:55:17.856806 UTC

Host Info
  =========
    bootTime: 2020-08-10 10:39:09.000000 UTC
    kernelArch: x86_64
    kernelVersion: 4.14.186-146.268.amzn2.x86_64
    os: linux
    platform: debian
    platformFamily: debian
    platformVersion: bullseye/sid
    procs: 163
    uptime: 1m19s
....
    oom_kill
    --------
      Instance ID: oom_kill [ERROR]
      Configuration Source: file:/etc/datadog-agent/conf.d/oom_kill.d/conf.yaml.default
      Total Runs: 17,100
      Metric Samples: Last Run: 0, Total: 0
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 0, Total: 0
      Average Execution Time : 0s
      Last Execution Date : 2020-08-13 09:55:16.000000 UTC
      Last Successful Execution Date : Never
      Error: conn request failed: socket /var/run/sysprobe/sysprobe.sock, url http://unix/check/oom_kill, status code: 500
      No traceback

    tcp_queue_length
    ----------------
      Instance ID: tcp_queue_length [ERROR]
      Configuration Source: file:/etc/datadog-agent/conf.d/tcp_queue_length.d/conf.yaml.default
      Total Runs: 17,099
      Metric Samples: Last Run: 0, Total: 0
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 0, Total: 0
      Average Execution Time : 0s
      Last Execution Date : 2020-08-13 09:55:08.000000 UTC
      Last Successful Execution Date : Never
      Error: conn request failed: socket /var/run/sysprobe/sysprobe.sock, url http://unix/check/tcp_queue_length, status code: 500
      No traceback
.....

Additional environment details (Operating System, Cloud provider, etc):
During system-probe container start I get following error:
sh: 1: modprobe: not found
chdir(/lib/modules/4.14.186-146.268.amzn2.x86_64/build): No such file or directory
2020-08-10 10:40:21 UTC | SYS-PROBE | ERROR | (cmd/system-probe/probe.go:62 in CreateSystemProbe) | unable to start the TCP queue length tracer: Failed to compile “tcp-queue-length-kern.c”
sh: 1: modprobe: not found
chdir(/lib/modules/4.14.186-146.268.amzn2.x86_64/build): No such file or directory
2020-08-10 10:40:21 UTC | SYS-PROBE | ERROR | (cmd/system-probe/probe.go:73 in CreateSystemProbe) | unable to start the OOM kill probe: failed to compile “oom-kill-kern.c”
2020-08-10 10:40:31 UTC | SYS-PROBE | ERROR | (cmd/system-probe/probe.go:174 in func7) | OOM kill probe was not properly initialized
2020-08-10 10:40:38 UTC | SYS-PROBE | ERROR | (cmd/system-probe/probe.go:163 in func6) | TCP queue length tracer was not properly initialized
2020-08-10 10:40:46 UTC | SYS-PROBE | ERROR | (cmd/system-probe/probe.go:174 in func7) | OOM kill probe was not properly initialized
2020-08-10 10:40:53 UTC | SYS-PROBE | ERROR | (cmd/system-probe/probe.go:163 in func6) | TCP queue length tracer was not properly initialized

System probe configuration:
kubectl -n monitoring exec -it ps-datadog-9fzsk -c system-probe -- cat /etc/datadog-agent/system-probe.yaml
system_probe_config:
  enabled: true
  debug_port:  0
  sysprobe_socket: /var/run/sysprobe/sysprobe.sock
  enable_conntrack: true
  bpf_debug: false
  enable_tcp_queue_length: true
  enable_oom_kill: true
  collect_dns_stats: true

Steps to reproduce the issue:

Install DD agent from official charts on AWS EKS 1.16 with manage node.

Describe the results you received:
Currently, we are not able to run OOM events check or TCP queue tracer in EKS cluster.
Describe the results you expected:
System probe container should start and load the correct modules to allow OOM events and TCP info.
Additional information you deem important (e.g. issue happens only occasionally):
lib/modules was correctly mounted to the system-probe container but folder is a symlink:
kubectl -n monitoring exec -it ps-datadog-9fzsk -c system-probe -- ls -al /lib/modules/4.14.186-146.268.amzn2.x86_64/build
ls: /lib/modules/4.14.186-146.268.amzn2.x86_64/build: Operation not permitted
lrwxrwxrwx 1 root root 46 Jul 23 23:03 /lib/modules/4.14.186-146.268.amzn2.x86_64/build -> /usr/src/kernels/4.14.186-146.268.amzn2.x86_64

kubectl -n monitoring exec -it ps-datadog-9fzsk -c system-probe -- ls -al /usr/src/kernels
ls: /usr/src/kernels: Operation not permitted
ls: /usr/src/kernels/.: Operation not permitted
ls: /usr/src/kernels/..: Operation not permitted
total 0
drwxr-xr-x 2 root root  6 Apr  9  2019 .
drwxr-xr-x 4 root root 34 Jun 22 19:49 ..

Also modprobe command can not be found:
kubectl -n monitoring exec -it ps-datadog-9fzsk -c system-probe -- modprobe --help
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"modprobe\": executable file not found in $PATH": unknown
command terminated with exit code 126

I've tried also to found modprobe inside docker image but could not find it:
kubectl -n monitoring exec -it ps-datadog-9fzsk -c system-probe -- find / -iname modprobe
/proc/sys/kernel/modprobe
find: '/host/proc/sys/fs/binfmt_misc': Too many levels of symbolic links
/host/proc/sys/kernel/modprobe
find: Failed to restore initial working directory: Operation not permitted
command terminated with exit code 1

Looks like datadog image has missing kmod package.
After I run `apt-get update && apt-get install kmod`:
 docker run -it datadog/agent:7.21.1 bash
root@560d25330bb0:/# apt-get install
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libhogweed5 libnettle7
Use 'apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@560d25330bb0:/# apt-get install modprobe
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package modprobe
root@560d25330bb0:/# apt-get install kmod
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package kmod
root@560d25330bb0:/# apt-get update
Get:1 http://deb.debian.org/debian bullseye InRelease [116 kB]
Get:2 http://deb.debian.org/debian bullseye/main amd64 Packages [7709 kB]
Fetched 7826 kB in 5s (1631 kB/s)
Reading package lists... Done
root@560d25330bb0:/# apt-get install kmod
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libhogweed5 libnettle7
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  libkmod2 libssl1.1
The following NEW packages will be installed:
  kmod libkmod2 libssl1.1
0 upgraded, 3 newly installed, 0 to remove and 22 not upgraded.
Need to get 1690 kB of archives.
After this operation, 4576 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian bullseye/main amd64 libssl1.1 amd64 1.1.1g-1 [1543 kB]
Get:2 http://deb.debian.org/debian bullseye/main amd64 libkmod2 amd64 27+20200310-2 [55.0 kB]
Get:3 http://deb.debian.org/debian bullseye/main amd64 kmod amd64 27+20200310-2 [92.0 kB]
Fetched 1690 kB in 1s (1631 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libssl1.1:amd64.
(Reading database ... 6558 files and directories currently installed.)
Preparing to unpack .../libssl1.1_1.1.1g-1_amd64.deb ...
Unpacking libssl1.1:amd64 (1.1.1g-1) ...
Selecting previously unselected package libkmod2:amd64.
Preparing to unpack .../libkmod2_27+20200310-2_amd64.deb ...
Unpacking libkmod2:amd64 (27+20200310-2) ...
Selecting previously unselected package kmod.
Preparing to unpack .../kmod_27+20200310-2_amd64.deb ...
Unpacking kmod (27+20200310-2) ...
Setting up libssl1.1:amd64 (1.1.1g-1) ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.3 /usr/local/share/perl/5.30.3 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)
debconf: falling back to frontend: Teletype
Setting up libkmod2:amd64 (27+20200310-2) ...
Setting up kmod (27+20200310-2) ...
Processing triggers for libc-bin (2.31-1) ...
root@560d25330bb0:/# modprobe
modprobe: ERROR: missing parameters. See -h.
root@560d25330bb0:/# which modprobe
/sbin/modprobe
root@560d25330bb0:/#

Hello @kaarolch,
Thank you for the detailed report about the issue you are facing !
Indeed, the tcp_queue_length and oom_kill probes are relying on runtime eBPF compilation. So, the agent needs to have access to the kernel headers in order to compile them.
Kernel sources are looked for in /lib/modules/$(uname -r)/build which is usually a symlink to something like /usr/src/kernel-$(uname -r) as you saw.
Both are supposed to come from the host and there must be a bind-mount to make them accessible from inside the container.
So, installing the kernel headers on the host and ensuring that the proper bind-mounts are properly setup will fix this issue.
The reason why you have a message related to modprobe is because, if the kernel headers cannot be found in /lib/modules/$(uname -r)/build, we try to load the kheaders kernel module which exposes the kernel headers in /sys.
However,

kheaders is a recent feature which is not widely available yet.
the agent docker image cannot contain the kernel modules that are matching the version of the kernel of the host.
the agent docker container misses the CAP_SYS_MODULE capability so that, it will never be able to load the kheaders module.

Because of all these reasons, we cannot rely on kheaders so that modprobe is useless.
The only way to fix your issue is to install the kernel headers package on the host.

@L3n41c as I see in code that you linked:  we try to load the kheaders kernel module you use system execute modprobe so one question. When I fix the issue with kernel header how you add / install modprobe?

modprobe isn’t installed in the docker image because it is useless.
You should install the kernel headers instead.

Thank you @L3n41c for the tips! We're also trying to get the oom_kill metrics working on our self managed nodes in EKS so we appreciate the help.

You should install the kernel headers instead.

We're running the standard amazon linux 2 image on EKS (https://github.com/awslabs/amazon-eks-ami). We were able to successfully install kernel-headers-$(uname --kernel-release) using the the eksctl preBootstrapCommands parameter so we wouldn't have to build our own custom ami. Yay!
However, that package still does not appear to be enough, unfortunately, for the datadog oom_kill metric. It looks like it also needs kernel-devel-$(uname --kernel-release). We can easily add that to the preBootstrapCommands as well but that then wants 51 more packages as dependencies (and 8 updates) :(. Not terrible, but not ideal either as it does increase our image's attack surface and adds a minute and a half to our node's bootstrap time. Just putting these out there for any others who might be in the same boat.

Thank you @L3n41c for the tips! We're also trying to get the oom_kill metrics working on our self managed nodes in EKS so we appreciate the help.

You should install the kernel headers instead.

We're running the standard amazon linux 2 image on EKS (https://github.com/awslabs/amazon-eks-ami). We were able to successfully install kernel-headers-$(uname --kernel-release) using the the eksctl preBootstrapCommands parameter so we wouldn't have to build our own custom ami. Yay!
However, that package still does not appear to be enough, unfortunately, for the datadog oom_kill metric. It looks like it also needs kernel-devel-$(uname --kernel-release). We can easily add that to the preBootstrapCommands as well but that then wants 51 more packages as dependencies (and 8 updates) :(. Not terrible, but not ideal either as it does increase our image's attack surface and adds a minute and a half to our node's bootstrap time. Just putting these out there for any others who might be in the same boat.


Thread 'tokio-runtime-worker' panicked at 'arithmetic operation overflow'

Im having this error:
thread 'tokio-runtime-worker' panicked at 'arithmetic operation overflow'
Running:
cargo run --bin rusty-sando --release
We think is in create_optimal_sandwich func located in /src/simulate/make_sandwich.rs
pub async fn create_optimal_sandwich(
    ingredients: &RawIngredients,
    sandwich_balance: U256,
    next_block: &BlockInfo,
    fork_factory: &mut ForkFactory,
    sandwich_maker: &SandwichMaker,
) -> Result<OptimalRecipe, SimulationError> {
    let optimal = juiced_quadratic_search(
        ingredients,
        U256::zero(),
        sandwich_balance,
        next_block,
        fork_factory,
    )
    .await?;

    #[cfg(test)]
    {
        println!("Optimal amount in: {}", optimal);
    }

    sanity_check(
        sandwich_balance,
        optimal,
        ingredients,
        next_block,
        sandwich_maker,
        fork_factory.new_sandbox_fork(),
    )
}

By running /src/runner/mod.rs
let mut optimal_sandwich = match make_sandwich::create_optimal_sandwich(
                        &raw_ingredients,
                        sandwich_balance,
                        &block_oracle.next_block,
                        &mut fork_factory,
                        &sandwich_maker,
                    )
                    .await
                    {
                        Ok(optimal) => optimal,
                        Err(e) => {
                            log::info!(
                                "{}",
                                format!("{:?} sim failed due to {:?}", &victim_hash, e).yellow()
                            );
                            return;
                        }
                    };

Any idea what may be causing this error?
Thanks!

I have the same issue:
thread 'tokio-runtime-worker' panicked at 'arithmetic operation overflow', /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/primitive-types-0.12.1/src/lib.rs:38:1
were you able to figure this out?

I get the same error, running Linux. Switched variables from mainnet to goerli. Also my rpc daemon returns an error about tracecallmany. Not sure if related. Went through the code and it seems the intervals variable array is what's the issue however I'm not familiar with rust and am still working this out. Will check back in if I figure it out.

Did you fund the sandwich contract?

I did not, but I'll be sure to do that if it will help


How to get trees looking back to vanilla ones

Hello, this is my first time typing anything on here so sorry in advance if my message isnt really that good or not enough on here. Im very curious on how i can change the tree textures back to vanilla ones. I like how the trees look but i dont like how they look in builds like my houses i have. I have tried changing in config 'World Generation produces Dynamic Trees instead of Vanilla trees. [default: true]' and i changed it to false but that doesnt seem to work. Any help is appreciated. :)

You should still be able to place normal log blocks anyway.
Can you maybe attach a screenshot to better explain what you want to do? The option you changed only changes wheter dynamic trees generate in the world.

I got three screenshots, one is showing how my trees look on my buildings and the others are before and after i have placed a log.
I dont know why it wont allow me to not place vanilla logs.
Ah alright, didnt realize that with that option.

Dynamic Trees does not round the vanilla logs like that.  That's caused by another mod entirely.

Oh, seriously? I will check which mod it is and come back to tell which it was. I thought Dynamic trees did it because it was a mod along with others i put in and came to my world to see the trees rounded like that. Thanks for the help, you two :)

That's from the mod Better Foliage.  You can turn round logs off in the Better Foliage config.

Ah alright, thanks!

Yep, found the config where i could change the round logs. 👍


Amazon DocumentDB: Cannot create any record with prisma ConnectorError

Bug description
Currently we've been trying to set up a mongo with a document DB cluster in AWS to use with Prisma, however we couldn't even make a simple CRUD work.
Any time prisma tries to execute a query that inserts data on the mongo cluster, it crashes with the following message: ConnectorError(ConnectorError { user_facing_error: None, kind: RawDatabaseError { code: "unknown", message: "Command failed (): Feature not supported)" } })
I have no clue on what the problem is, we've followed the instructions in the docs to set up the application configuration.
Note that, prisma can read the data normally, the problem only occurs when inserting data.
We know that the database is correclty configured because we tried two other ORMs everything worked.
Maybe Prisma does not support AWS Document Db? wich is weird since it uses Mongo under the hood, right?
How to reproduce
1- Configure a Document Db on AWS
2 - Set up the schema.prisma
3 - Try to insert any data using prisma.model.create()
I'm sorry I can't provide any more details to reproduce, it was our infrastructure team that setted the databases up for us devs to work with, we requested a mongoDb configured with a replica set to use with Prisma and they gave us back the credentials :P
Expected behavior
The client should be able to connect to a mongoDb cluster on AWS and perform all available operations within PrismaClient
Prisma information

// schema.prisma
generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "mongodb"
  url      = env("DATABASE_URL")
}

model Users {
  id        String @id @default(auto()) @map("_id") @db.ObjectId
  name      String
}

// .env
DATABASE_URL=mongodb://user:password@host:port/database?authSource=admin&readPreference=primary&directConnection=true&ssl=false&retrywrites=false

Environment & setup

OS: Windows-->
Database: MongoDb-->
Node.js version: 16.1-->

Prisma Version
prisma                  : 3.13.0
@prisma/client          : 3.13.0
Current platform        : windows
Query Engine (Node-API) : libquery-engine efdf9b1183dddfd4258cd181a72125755215ab7b (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli efdf9b1183dddfd4258cd181a72125755215ab7b (at<EMAIL_ADDRESS>Introspection Engine    : introspection-core efdf9b1183dddfd4258cd181a72125755215ab7b (at<EMAIL_ADDRESS>Format Binary           : prisma-fmt efdf9b1183dddfd4258cd181a72125755215ab7b (at<EMAIL_ADDRESS>Default Engines Hash    : efdf9b1183dddfd4258cd181a72125755215ab7b
Studio                  : 0.459.0

Quoting Wikipedia:

Amazon DocumentDB is a managed proprietary NoSQL database service that supports document data structures and has limited support for MongoDB workloads, with some compatibility with MongoDB version 3.6 (released by MongoDB in 2017) and version 4.0 (released by MongoDB in 2018).

Note that Prisma support MongoDB 4.2+ - so this not working is not unexpected.
We can maybe take a look at what exactly is failing in the case of Amazon DocumentDB, but it is definitely not MongoDB and as such will not necessarily get high priority from us (unless many people now pop up here and tell us they are also using Amazon DocumentDB, of course).

Same issue here, after checking the logs the issue is the use of an unsupported aggregate command in DocumentDB, this happened after 3.10.0 so probably related to the new filter functionality that was added after that one. In any case the insert works fine but the whole transaction fails in the second query.
An example of the query from the Prisma logs:
prisma:query db.test.aggregate([ { $match: { $expr: { $and: [ { $and: [ { $eq: [ "$_id", "62bb027e8291590a73a471f4", ], }, { $or: [ { $ne: [ { $ifNull: [ "$_id", null, ], }, null, ], }, { $eq: [ "$_id", null, ], }, ], }, ], }, ], }, }, }, { $project: { _id: 1, }, }, ])
The command $expr is not supported in DocumentDB and that causes the "Feature not supported" error.

We prefer to use DocumentDB in AWS because it's a managed DB that can be run inside our VPC. Running Mongo would require us to self-manage (a non-starter) or tunnel to an Atlas instance (more complex configuration, more room for failure).
As I understand it, DocumentDB is a fork of an older Mongo. It would be great to have the option of supporting that by tweaking the generated Mongo query.

A good first step would be for someone to help us to understand what query would work on DocumentDB that returns the same data as what @dgonsan mentioned above. With that, we could in theory start chipping away at these in some form.
Is there a local DocumentDB emulator? Being able to develop and test against a local database is almost unavoidable if we actually want to ensure that everything in Prisma works (by running our testsuite, which contains hundreds of thousands of queries - which makes it unviable to test via network).

Looks like there isn't a way to run DocumentDB locally. However Amazon claims it's compatible with the Mongo 4.0 API.
https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html
In theory, the Prisma DocumentDB driver could be developed by running an older Mongo 4.0 instance locally.

That is unfortunately the part where potentially a lot of time is wasted then, because:

Amazon DocumentDB does not support every MongoDB 4.0 feature. When we built Amazon DocumentDB 4.0, we worked backwards from the feature and capabilities that our customers asked us to build the most. We will continue to add additional MongoDB 4.0 capabilities based on what customers ask us to build. For example, Amazon DocumentDB 4.0 does not currently support the type conversion operators or the string operators that were introduced in MongoDB 4.0. For the latest list of supported APIs, please see Supported MongoDB APIs, Operations, and Data Types.

Prisma also uses some 4.2 functionality of MongoDB that is really hard to replace in 4.0. This will definitely not be an easy endeavor. As not many people are asking for this, we will probably not be able to put dedicated resources on this for a long time.
Best way forward would be for Amazon surprisingly release MongoDB 4.2 support with full functionality coverage - and a local emulator of the database.

I have the same issue but with docdb with mongo driver version 5.0

Anything is possible, but the effort for this would be extensive. We might need to rewrite our whole query generation logic. This will not make it to the top of our priority list for a long time, if ever. Sorry.

@htihaS, I have exactly the same problem, any ideas how to fix that or which version of DocumentDB and/or Prisma might work together?

A ray of hope?
https://aws.amazon.com/about-aws/whats-new/2023/03/amazon-documentdb-mongodb-5-0-wire-protocol-client-side-encryption/

Unfortunately not:
$$REMOVE, which was highlighted as one of the source for problems above, is still No:

https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis.html#mongo-apis-aggregation-pipeline-system-variables

That's a shame Amazon didn't implement enough of the API. It's misleading of them to say they support Mongo 5.0 API.
Has anyone tested FerretDB with Prisma? It's a Mongo -> Postgres translation shim. I'd prefer to use PG straight up, but another service uses Mongoose which ties my hands.

What did you end up doing instead of using Prisma with DocumentDB? Or were you able to find a workaround?
@TheVoid-0 @dgonsan @peacechen @FreddieMcHeart @klink0 @htihaS

Has anyone tested FerretDB with Prisma?

I am wondering the same thing... Trying to use Scaleway's Documents Database (which is built on Ferret) with Prisma. According to their frontpage it is possible, but I'm unable to find anyone who has done it.

I think it would be a good idea to open a feature request for FerretDB (and Scaleway's Document Database) so we can have a discussion over there. Let's keep this one on topic for DocumentDB (althought there are no news here 😞).


Allow lack of psk_key_exchange_modes for TLS < 1.3

Fixes #15375

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

As the issue is not a bug, closing.

Let me reopen the PR as @t8m reopened the original bug report

Yes, but is this the right fix?

Well. Not sure really, but it at least restores the previous behavior for TLS < 1.3

This should be closed again as the missing alert that was the reason for reopening the original issue was added.


Html formatter wrong output when profile cucumber.yml

As you can see here:
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
Using the default profile...
<meta content="text/html;charset=utf-8">

In cucumber/cli/options you have :skip_profile_information
But I don't know how to make use of it
Tried:
cucumber --skip_profile_information -f html
But that obviously did not work :)

The reason it is important to fix is the fact that character enconding becomes wrong in firefox.
So norwegian characters become weird unicode scrambles.

What we should do is probably just get rid of the piece of code that prints that text - or at least only print it if the pretty or progress formatters are used.
I've got a lot of my plate, so if you can send a pull request with a fix this is likely to get fixed sooner.


ec4e - similar project (only for Generic Editor)

I would like just say you that I'm developping a new plugin for editorconfig which works only with GenericEditor https://github.com/angelozerr/ec4e
This plugins apply all properties (trim trailing whitespace, charset encoding, indentation etc) but only for a given instance of editor by using a custom IPreferenceStore instead of modifying the workspace eclipse preferences.
It works only with GenericEditor (JDT Editor, WTP XML Editor doesn't works very good because there are not based on GenericEditor).
https://github.com/angelozerr/ec4e  is based on several technologies:

apply the all properties of editorconfig with GenericEditor
provides an editorconfig editor based on GenericEditor, tm4e for syntax coloration

provides an editorconfig editor based on https://github.com/angelozerr/ec4j instead using standard editorconfig-core-java to parse editorconfig editor. This parser is able to manage location for section, option, etc and provides services for any Java IDE (completion, hover, validation, etc)

provides Codelens for section pattern:

@ncjones hope you will understand my choice, I don't want to have trouble with you. It was a pleasure to work with you!

Very cool! Thank you for your contribution!


i like it very well !

i like it very well !
https://pub.dev/packages/flutter_processing/example
I like this library very much. I hope it can do better, but this example is not the best in your pub. I hope you can do better and update it, so that more people can pay attention to and spread it

Thanks. The project, including the example app are constantly changing. I'm sure it will get better. In the future, please reserve these issues for specific, actionable requests and bugs.


[Feature]: Have the default for new emails be the webdomain @ chosenDomain.com

Feature Description
I prefer to organize my emails by the domain, service, or company for which I'm creating the email. For instance, if I'm signing up for a new account at Outback.com, I'll set up my email alias as<EMAIL_ADDRESS>It would be incredibly useful if the plug-in could automatically fill in this part for me, similar to this example:

It does store the domain name in the description field, but that isn't visible in the default alias view on Cloudflare.com:

This lack of visibility means a random 5-character email address doesn't provide any useful context in that view. Moreover, I suspect that spam filters might view an email address composed of random characters with more suspicion, potentially affecting its spam score and, by extension, its deliverability.
Given that the script likely has access to the URL, it should be feasible to extract the domain name minus extension and automatically populate the "Custom alias" field with it. An extension might be OK too but I'm wary of "." (dots) in email addresses.
Cheers.
Solution idea
While I'm not familiar with JavaScript, I'm willing to try and work it out if needed.
Additional info
No response

Yeah, this is definitely possible. In fact, there is already the option to use the current domain as a prefix for the random character/word format alias, but those have a minimum length so you can't have just the domain atm. I'll think about the best way to do this.

Alright, sorry it took so long, been pretty busy. I've decided to add a new alias format called Domain:

I'll test the changes a bit more and will release an update asap.


TorchTracemalloc stats in example peft_lora_clm_accelerate_ds_zero3_offload.pymemdon't match nvidia-smi

System Info
accelerate               0.22.0.dev0
torch                    2.0.1
transformers             4.32.0.dev0
peft                     0.5.0.dev0
Who can help?
@pacman
Information

[ ] The official example scripts
[ ] My own modified scripts

Tasks

[x] An officially supported task in the examples folder
[ ] My own task or dataset (give details below)

Reproduction
running the exact file from https://github.com/huggingface/peft/blob/main/examples/causal_language_modeling/peft_lora_clm_accelerate_ds_zero3_offload.py
with the following accelerate config:
compute_environment: LOCAL_MACHINE
deepspeed_config:
  gradient_accumulation_steps: 1
  gradient_clipping: 1.0
  offload_optimizer_device: cpu
  offload_param_device: cpu
  zero3_init_flag: true
  zero3_save_16bit_model: true
  zero_stage: 3
distributed_type: DEEPSPEED
downcast_bf16: 'no'
dynamo_backend: 'NO'
fsdp_config: {}
machine_rank: 0
main_training_function: main
megatron_lm_config: {}
mixed_precision: 'no'
num_machines: 1
num_processes: 6
rdzv_backend: static
same_network: true
use_cpu: false

prints:
GPU Memory before entering the train : 1923
GPU Memory consumed at the end of the train (end-begin): 263
GPU Peak Memory consumed during the train (max-begin): 9564
GPU Total Peak Memory consumed during the train (max): 11487
CPU Memory before entering the train : 9224
CPU Memory consumed at the end of the train (end-begin): 0
CPU Peak Memory consumed during the train (max-begin): 0
CPU Total Peak Memory consumed during the train (max): 9224

however nvidia-smi shows the following mem usage during training
Every 10.0s: nvidia-smi                                                  pop-os: Wed Aug  2 23:41:49 2023

Wed Aug  2 23:41:49 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.116.04   Driver Version: 525.116.04   CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0 Off |                  N/A |
| 30%   47C    P2   145W / 300W |  23465MiB / 24576MiB |    100%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce ...  Off  | 00000000:02:00.0 Off |                  N/A |
| 30%   55C    P2   147W / 300W |  23465MiB / 24576MiB |    100%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   2  NVIDIA GeForce ...  Off  | 00000000:41:00.0 Off |                  N/A |
| 30%   59C    P2   157W / 300W |  23465MiB / 24576MiB |    100%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   3  NVIDIA GeForce ...  Off  | 00000000:42:00.0 Off |                  N/A |
| 36%   62C    P2   168W / 300W |  23465MiB / 24576MiB |    100%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   4  NVIDIA GeForce ...  Off  | 00000000:82:00.0 Off |                  N/A |
| 30%   51C    P2   141W / 300W |  23465MiB / 24576MiB |    100%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   5  NVIDIA GeForce ...  Off  | 00000000:C1:00.0 Off |                  N/A |
| 30%   49C    P2   142W / 300W |  23465MiB / 24576MiB |    100%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A    386396      C   ...envs/nootrain2/bin/python    23460MiB |
|    1   N/A  N/A    386397      C   ...envs/nootrain2/bin/python    23460MiB |
|    2   N/A  N/A    386398      C   ...envs/nootrain2/bin/python    23460MiB |
|    3   N/A  N/A    386399      C   ...envs/nootrain2/bin/python    23460MiB |
|    4   N/A  N/A    386400      C   ...envs/nootrain2/bin/python    23460MiB |
|    5   N/A  N/A    386401      C   ...envs/nootrain2/bin/python    23460MiB |
+-----------------------------------------------------------------------------+

eval metrics are also off, but I didn't grab samples for nvidia smi
Expected behavior
gpu peak mem stats are reported correctly.

can close this, did a little more reading torch.cuda.max_memory_allocated() isn't the same as nvidia-smi due to mem reservations by nvidia-smi, https://discuss.pytorch.org/t/pytorchs-torch-cuda-max-memory-allocated-showing-different-results-from-nvidia-smi/165706/2


unpackerr.conf

as a new user who just completed the unpacker.conf I would like to recommend that you put in a double ## in front of comments so the user will know not to uncomment them

Why? # literally means “Comment”.

Hi @rinzes! Thank you for your report.
Can you tell me more about the problem we're trying to solve here? Which lines did you accidentally uncomment? You can tell mee by line number from the example confg to make it easy.
Most of the "compressed" comment/code lines already have double comments (for the exact reason you opened this issue). I'm quite curious where you got stuck, and if the error message unpackerr produced made it easy to figure out.
Thank you!

The example.config you provided was way better to understand however, that example did not get created when I installed on my syno DS920 Docker.  https://pastebin.com/27BB3fa7

Got it, thanks for sharing! The config has been changed since the version you are currently running. The next version will have the new config format in it. Hopefully that solves this for anyone else.
Appreciate your report and follow-up!


Unable to uninstall system

There seems to be something blocking the uninstall process
$ riff system uninstall --istio --force
Removing Knative for riff components
Deleting CRDs for knative.dev

Error: context deadline exceeded

it looks like the CRD routes.serving.knative.dev can't be deleted as long as there is a route defined


gdal-config --version gives GDAL version that is missing on pypi

gdal2tiles version: latest pypi
GDAL version: 2.1.2
Python version: py3
Operating System: debian stretch

Description
gdal-config seems to be giving a bad pypi gdal version?
What I Did
$ apt install -y libgdal-dev
$ pip install gdal2tiles

And then I see:

(.venv) ➜  ~ (master) ✗ pip install gdal2tiles
Collecting gdal2tiles
Using cached https://files.pythonhosted.org/packages/1e/5d/d75fd3c1a6e748c93af9cc5bab21c26d783cadc8073a4621bde10fe49b45/gdal2tiles-0.1.5.tar.gz
ERROR: Could not find a version that satisfies the requirement GDAL==2.1.2 (from gdal2tiles) (from versions: 1.5.0, 1.5.2, 1.6.0, 1.6.1, 1.7.0, 1.7.1, 1.8.1, 1.9.0, 1.9.1, 1.10.0, 1.11.0, 1.11.1, 1.11.2, 2.0.0, 2.0.1, 2.1.0, 2.1.3, 2.2.0, 2.2.1, 2.2.2, 2.2.3, 2.2.4, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.4.0, 2.4.2, 2.4.3, 3.0.0, 3.0.1, 3.0.2)
ERROR: No matching distribution found for GDAL==2.1.2 (from gdal2tiles)

So, gdal-config --version gives back 2.1.2 and that doesn't seem to exist on the pypi release log over at https://pypi.org/project/GDAL/#history. I can hotfix to get an install working but it seems like the assumption that gdal-config gives a working version for install leads to this issue.

I think this is fixed now since version 0.1.6 uses pygdal (https://github.com/nextgis/pygdal) instead of GDAL. Pygdal provides more convenient installation of GDAL.

Works! Thanks :+1:


Sybil Attacker Report

Related Safe Addresses
0xbb6564c7263af52467d1bdd6bd0ef5c4d0f0fb22
0x376c2ad2af4947696a59e24cb6932fdede1dc750
0x0d8f86e637289669b0c386f3965ad1e0fd884996
0x2e9fd7e873bafd477c428af5b7d19545aaa195b1
0x26f28e52e69fba9f3322c236f4fec3874b7ffce8
0xc1bc9cfe3abeb7756d3178c13eb43c91ab452e70
0x016ad1eac95c3d0ddd4b5d0870e634f65c29b6e3
0xd86c9de81a859f4e88399071d15a0d0d9cc39ed5
0x94d78c4fa150ecaffda09b7d74f0f1e7bea6dea5
0xe0b647244724157148827e1d489ae692dd2b1770
0x918ed641b003a00bd0ed63272db8e4c8d829e225
0xfa68fcd7716a0d72a4049b2dc54ae3481322e561
0xfce4964c9d8670248049ae966cc0162740092e63
0x04624295a3e7b1c7d92c696c12e7e6f35457e2da
0x03ca166cad3f484dc42e8b0b8516b99fb1a4e8cb
0xe18cc17296d9db7ab268a28226ea680c5543f72e
0x09e678a1f0ec2a6b936004fdad56ed57c86c760b
0x8aabf01314990b6ac4b2be0bce2407c3713d403d

Reasoning

All the above safe addresses have EXACT 3 transactions: the creation, a transaction of receiving ETH, and a transaction of sending ETH.
All three transactions are within a couple of MINUTES. The time of these transactions from different safe addresses is consecutive in time and dates (7/22/2022, 7/24/2022, 7/25/2022).
ETH received EQUALS ETH sent.
The destinations of the receiving and sending from safe addresses all sent their funds to a central address (0x4fafac7265010266a8dcf3f5902f6cbc5782106c) on 7/25 /2022 and 7/30/2022.  Details are in below tables.

Receive/Send   destination
Transaction
Date Time
Value

0xc7358ebd972943b40180949aa01b777c4c788876
https://etherscan.io/tx/0x3b43726a743a7e40728d566cade8f23b79de1d130a269b13d384f846901d3373
7/25/2022   17:11
0.50286634 Ether

0xed297fde39c7d0d660400bb256ca641060a96336
https://etherscan.io/tx/0xf1ddd0a7047e1f59e40f407e618b807f02e5f6d92ed3abfe998657d5f027a40c
7/25/2022   17:10
0.493285867766843 Ether

0xb57f82b563f31c22f91b04438e563c25d459097a
https://etherscan.io/tx/0xed8667c7848e618fbdb38090b4fd407fdb519a10cae697a5bcbeaee8dc3e32a8
7/25/2022   17:10
0.510573247285075 Ether

0xdf1dccd3092871d855c15bb08870e304fe8533d0
https://etherscan.io/tx/0xe207d994a1d020d503b99ccb177b930d537058eea065ca0a33d2cf4b249a7a5a
7/25/2022   17:11
0.524392653558102 Ether

0x1ac6e50fc274da20a4f0fb7db209538b853ce077
https://etherscan.io/tx/0x06592abbac2121d3e4995962a6cbefbe55a1a501644e59cee9e4b8bff3d52a1c
7/25/2022   17:16
0.480607168114045 Ether

0x56ba987ab0ec56e5009c8f7a4ab6d24fe5817d01
https://etherscan.io/tx/0xed8aba37f4aed78856864622f0dcca7e1d148ed84026ff9f3e85ee165eeaf461
7/25/2022   17:16
0.492195869145953 Ether

0x0102ac9fd7e7ae3b92dddc425457e4ae319831a7
https://etherscan.io/tx/0x34ad486aebb737287a71932cc6faa67c7292bc486a97f4538b22658811da52fe
7/30/2022   11:11
0.57502068   Ether

0xc4e8050f6e76b8dfe81a61714a68bb10b50ac47d
https://etherscan.io/tx/0xee3a21408191bca1644d817a9395957bd6b798d25fcd4e3f15a041db450e75b0
7/25/2022   17:33
0.49841397   Ether

0xd459dafcf384bcaa0da53b7998abf3dfea028e0c
https://etherscan.io/tx/0x771464803b9696b56b6849716bab0b55683b83a167ee3e2fae44fc7f5e71ddf8
7/30/2022   11:12
0.47544665 Ether

0xf95b46d5715deb420d9b848f438260e9c84ffa17
https://etherscan.io/tx/0x8b79df366183a591b0d8bc42ca2d2b41727ad3f2da4c125ea9611d4c45be012b
7/30/2022   11:15
0.49498783 Ether

0x6f80f096fb56cedf22bd3dbfd4a788451fd73bbd
https://etherscan.io/tx/0x0830a735790f43a7671fc1a4dfdbd401df183bdfe013b4d45ce92d520fd17d08
7/30/2022   11:14
0.51500628   Ether

0xc559c81abfcffa6790463c52378f7f9a990f9473
https://etherscan.io/tx/0x924d1f5f6dddf70a4170311ad7cf67e1e575e0f5e5c43c96bfea82d5b1d59523
7/30/2022   10:58
0.50941586 Ether

0x1f5b7970f457234f3a30dbf6ac5d6f2d45f3befd
https://etherscan.io/tx/0xd4cffa1256077ff902c984a47cb553aebcec2b68e61044b5f3ac4875fd45e803
7/30/2022   11:20
0.50282418   Ether

0xe0e18b780d5a84a083a1b1965d2380cbd6b13f8f
https://etherscan.io/tx/0x9e8d1ca131b815dbf407f2b6e342a0dca20c5dd14ae09d39b9b7be3c711c7b3f
7/30/2022   11:15
0.29676027 Ether

0x7d1cc12d1e501a3874997143386310cbae56f841
https://etherscan.io/tx/0xa7f9f0181dc25444b53e9167aa0e036f45ba157ac2f2022626aa569533d3b508
7/30/2022   11:18
0.50394326   Ether

0xc7111eda62c5c55e2e9b60db9010dd7b009e4dc0
https://etherscan.io/tx/0x9bf04032bc452e01055f537b792728d758abcaa37ac0e71e023c6e53e99ef37a
7/30/2022   11:35
0.57189668 Ether

0xfaeefcb6c999fed57a57062a3778761d7ddf6727
https://etherscan.io/tx/0x348489540fc0565a1bab8d8b3863712a41199c730c6880fbe6eb9123596184a0
7/30/2022   11:25
0.52200082   Ether

0x3422da4b6be529d7c39a5619adb656f02f4119fa
https://etherscan.io/tx/0xfbc8fd8c7c4f91c235a1c89c2b281d8e4d3f915ca6f46d79fafbe288408480e8
7/30/2022   11:00
0.30185628 Ether

Methodology
The reported addresses were discovered by checking their safe behaviors using https://gnosis-safe.io/app/, and the mainnet behaviors using ethscan.
Safe Address
0xAbeA4DC133037af99dfa63541090124ae9e0C81c

I am just curious where I had copied these addresses from. @tschubotz

It is not right to insult people without a single piece of evidence.
@tschubotz @johannesmoormann @lukasschor
I will progressively add the following facts to all my reported issues.

Reported issue
Number of safe addresses
Status

#376
18

Other report issues contained partial or   all these safe addresses
Number of reported addresses

#250
~100
invalid

#427
610
valid

#430
675
invalid

#262
59
staker, valid

wow, #124 (comment)
can you provide evidence that i am copycat????

I never said anyone is copycat. I only stated the facts.

Wow, what's your fact?
you said me
skydotone raised a lot of empty issues (too many), and suddenly, these empty issues were full of results
But always there is someone in these issues who said that he was the first to find these addresses. :-)

Then can you give me an example? Whose address did I steal? ?

LISTEN, @zlgitol  ,
I gave you six hours today, and I hope we can have a good communication. check it 👉 https://github.com/safe-global/safe-user-allocation-reports/issues/443#issuecomment-1253183888
However, you have never made any reply.
So, let me sort out what happened.

You said me:
skydotone raised a lot of empty issues (too many), and suddenly, these empty issues were full of results
But always there is someone in these issues who said that he was the first to find these addresses. :-)

I answer you that I need to get the issue number to save my local markdown file , i always edit content to format in typora
I post 26 issues, only two of which had disputes with others, issue124 and issue260

SO THIS IS ALWAYS??????

Issue260, please look at this comment,https://github.com/safe-global/safe-user-allocation-reports/issues/343#issuecomment-1251968990   please work out WHO COPY WHO.
issue124, I think my answer is clear.

AND PLEASE KNOW , In this issue, I put forward a total of 99 addresses, 11 of which have disputes with others. Please see clearly! ! !.

That's all what happened. if you think what i said is wrong, please let us have a discussion. PLEASE

The next day, all my report were labeled Heavily edited and potential copycat.
Do you know how much damage you have done to me??
Do you know how hard it is for me to prove my innocence now??
Because of your insult and slander, all of my efforts have been ruined, ALL EFFORT!


Fix #3294: Start testing instrumentation code via module initializer

Updated.

Bootstrap tests hang, e.g., here. I think this happens because the module initializer for the bridge is not added by the TestSuiteLinker.

Updated (import org.scalajs.linker.ModuleInitializer was still around...)

java.lang.AssertionError: assertion failed: Bad number of scalaJSModuleInitializers in Test

LOL, all my own new stuff keeps breaking :P


Update timescale and citus repo

As far as I know, the timescaledb and citus extensions are missing from the pgdg repository. They are hosted on their own repositories.

Yeah that's true for debian/ubuntu distors. As fo EL systems, the PGDG yum repo has available timescaledb & citus packages.


fix: set profile to default on removing the last member of a profile [2]

Close: #1533

Summary by CodeRabbit

New Features

Enhanced profile management by integrating account context, allowing for more effective profile removal and state updates.
Improved responsiveness to profile data changes, ensuring a smoother user experience.

Bug Fixes

Resolved potential issues with profile removal logic by considering both profiles and accounts.

Refactor

Updated state management and logic for handling profile removals to reflect current profiles accurately.

closed in favour of #1534


Create MQTT proxy

Currently MQTT authorization process is implemented via handlers exposed by Aedes. When switching to another MQTT broker, whole solution must be re-implemented, probably in another language - for example VerneMQ is written in Erlang, and plugins must be written in Erlang or Lua.
To avoid that, an MQTT proxy similar to this one: https://github.com/Axway-API-Management-Plus/mqtt-proxy has to be implemented.
 It inspects packages using https://github.com/eclipse/paho.mqtt.golang/tree/master/packets and authorizes them via gRPC calls to Things service.
Equally, MQTT proxy forwards authorized packages to NATS, and also receives packages from other protocols from NATS and sends them to MQTT broker.

This is too bih of an effort to fit into Mainflux Core. It should be done as an independent project, that would be generic IoT proxy and LB, supporting several protocols and mTLS-based authentication.


imageBase64 not work in iOS

Hi
i got error when using base64Image
printing.initialize().imageBase64(base64Image, 75);
ERROR : "Calling [RCTConvert UIImage:] on a background thread is not recommended"

@chukiatt It's a worning from RN source  code
https://github.com/facebook/react-native/blob/3addafa5257ade685216900bebbad8c35e24e124/React/Base/RCTConvert.m#L1226


Fix: Set text color in lightblue textbox for visibility in dark theme

Some text cells have following rendering on VSCode. I set the text color to black for such cells.

Nice catch! Thanks for your help!


"SyntaxError: invalid syntax" from bandcamp-dl when running any command in Ubuntu 16.04

Python version:  Python 2.7.12
Bandcamp-dl version: -v won't run without errors to tell me which version; however it was installed about 20 mins ago by running pip install bandcamp-download using pip 9.0.3
Bandcamp-dl options:  n/a
url:  n/a
using Ubuntu 16.04 on Windows Linux Subsystem
Describe the issue:
When running any command (e.g. bandcamp-dl -h or bandcamp-dl -h --debug, this "syntax error" occurs:
  File "/home/mold/.local/bin/bandcamp-dl", line 7, in <module>
    from bandcamp_dl.__main__ import main
  File "/home/mold/.local/lib/python2.7/site-packages/bandcamp_dl/__main__.py", line 54, in <module>
    from bandcamp_dl.bandcamp import Bandcamp
  File "/home/mold/.local/lib/python2.7/site-packages/bandcamp_dl/bandcamp.py", line 17
    def parse(self, url: str, art: bool=True, lyrics: bool=False, debugging: bool=False) -> dict or None:
                       ^
SyntaxError: invalid syntax```

Issue was wrong python version.


Error compilling .

http://skrinshoter.ru/s/240220/nNtQjUn5?a
plz help

Use git clone to get the sources.
On Mon, Feb 24, 2020, 4:41 AM Toxenskiy<EMAIL_ADDRESS>wrote:

http://skrinshoter.ru/s/240220/nNtQjUn5?a
plz help
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/killjoy1221/TabbyChat-2/issues/112?email_source=notifications&email_token=AA2AQKU43KH65AS4DZIQUR3REOI4VA5CNFSM4K2ESTB2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IPVQI3A,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA2AQKS2Q23V7EQ4WOEYY2TREOI4VANCNFSM4K2ESTBQ
.


missing args files

hello, we are facing an urgent issue on production after the server is restarted the args file is missing.
we need to re-add it manually in order to fix the issue
jpgagent version: 1.3.3

Hmm, there is no code in jpgagent that does anything with that file other than read it for configuration. It couldn't have deleted it. I would look at whatever process could have access to delete that file.

Can you advise how we can troubleshoot it ?

Not really, as it doesn't seem possible to be an issue with this software, and instead an issue with your server configuration which I don't have access to.
I'd look at file system corruption, but that is a wild guess at this point. The fact is, if you are saying to start jpgagent with an args file, the file needs to exist. No idea why it would disappear on you, but you need to put it back and then you should be able to start up jpgagent again.


Make the Window draggable at the whole top of the window bar

Is your feature request related to a problem? Please describe.
Currently a files uwp window is not draggable at the very top of it, so I cannot reach to the top in fullscreen and drag the window to minimize it: I have to grab it a few pixels below which is annoying.
Describe the solution you'd like
Please make the Window draggable at the whole top of the window bar.
Describe alternatives you've considered
Maybe if just one tab is open in a window you could also drag a window by dragging the tab? (while probably also making it possible to drag this tab onto another open window?)
Additional context
At these orange areas is the window currently not draggable: (of course also below the action buttons on the right, but there it don't have to be draggable imo.)

Afterwards the window should be also draggable at those sections.

Alternatively you could expand the tabs to be as big as in Microsoft Edge: (so that on the left and above the tabs is no space -> then they are also easier to grab...

@duke7553 Is already working on this one so I will just assign him to the task to keep track.

I recently updated to 0.6.5 and the window is draggable now on the red marked section:

Now I think only this is missing: https://github.com/duke7553/files-uwp/issues/279#issuecomment-551929631

We are currently working on having the tabs stretch to the top when the app is maximized.

We are currently working on having the tabs stretch to the top when the app is maximized.

Why not stretching them always to the top?
Because when not, I think the window should then be draggable in this section (above the tab, just as I have colored it in orange.)

It definitely should be draggable when not maximizes, we will work on that as well.

I think since we've fixed most of this bug by shifting the tabs up, there's no need to put any more time into it. Also, we designed the app to have a drag region always visible to the left of the caption buttons.

I would like to test this out. How long will it take until 0.7.2 is available over the store?

@szaimen The update is currently in certification, so this may take anywhere from 1-2 days.

I've tested 0.7.2 and this behaiour hasn't changed since 0.6.5 version:

I recently updated to 0.6.5 and the window is draggable now also on the red marked section:

Now I think only this is missing: #279 (comment)

But if you think that are enough spaces to grab te window, then I am fine with it. 👍


traced_probes crashes in cpu_reader.cc:308 Failed to parse ftrace page (errno: 0, Success)

I tried with v36.1 and v37.0 and I got the same error
-----BEGIN PERFETTO PRE-CRASH LOG-----
[636.002]       cpu_reader.cc:154 00000F90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
[636.002]       cpu_reader.cc:154 00000FA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
[636.002]       cpu_reader.cc:154 00000FB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
[636.002]       cpu_reader.cc:154 00000FC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
[636.002]       cpu_reader.cc:154 00000FD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
[636.002]       cpu_reader.cc:154 00000FE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
[636.002]       cpu_reader.cc:154 00000FF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
[636.002]       cpu_reader.cc:308 Failed to parse ftrace page (errno: 0, Success)

-----END PERFETTO PRE-CRASH LOG-----
Trace/breakpoint trap

I'm on Mac mini with M1 chip and running Asahi Ubuntu with my own compiled kernel 6.3.0 which only enables BTF in the kernel config compared to the distro kernel

This seems like more a bug in Asahi Linux than a bug in traced_probes as it looks like ftrace is passing an "all-zero" page to the parser which should never happen.
Given we don't see this on any non-Mac platforms and the general immaturity of Linux on Apple Silicon in the first place, I don't think there is anything to do on our side: it's probably better to file this against Asahi Linux kernel developers.

Could it be related to them using 16K pages by default? I'll try to compile with 4K and see what happens. The kernel shouldn't be different from upstream in this regard. But I will double check and report back if there's anything interesting or file a bug upstream if it's a Linux issue.

I forgot M1 is 16K: it's reasonably likely that might be the issue. There are various places in the Perfetto stack where we "hard-code" the notion of 4K pages. Architecturally, there is nothing stopping us from actually using 16K but it requires making changes at some very core parts of Perfetto which is a somewhat scary task and requires a lot of reasoning whether the 4K page size is because we are interfacing with Linux ftrace or we just happened to choose 4K for some other reason and reused the constant.

For Googlers, there is an internal bug about 16K pages at b/269635302


DATE type is not converted correctly in Python

I'm playing with both R and Python and I've stumbled with a difference with respect to the DATE type.
Whereas it is correctly converted in R, it is extracted as an int32 in Python.
c.execute("SELECT DATE '2020-01-10' as test_time").fetchnumpy()

{'test_time': masked_array(data=[737799],
              mask=False,
        fill_value=999999,
             dtype=int32)}

where c is a cursor to a db. I assume that the return value should be of Date python type.
I see in the Python package code that there is a special handling for the DATETIME type but none for the DATE one, so I assume this is the reason.
I've tried to build a skeleton for the DATE type at:
https://github.com/lepennec/duckdb/tree/date
but this is not (yet) working as I don't know (yet) the inner code of duckdb.
Are you interested in such a pull request?
Erwan

Yes, please send a PR

OK. I will try to work on it.
Erwan
On Wed, Mar 11, 2020 at 3:04 PM Hannes Mühleisen<EMAIL_ADDRESS>wrote:

Yes, please send a PR
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/cwida/duckdb/issues/456#issuecomment-597653204, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AB4BD2KGOYGDMKIMQUMP7QTRG6K5JANCNFSM4LFSPKYQ
.

Here it is:
https://github.com/cwida/duckdb/pull/458


Fix bug in unwrap function

The formula for unwrapping is y += 2pi * round((x-y)/(2pi)) (where x is the previous value)
The current formula was y += 2*pi * int((x-y)/(pi)) which is bad on two counts (pi instead of 2pi and not using round)

Thanks for your continuous usage, and debugging, of the numpy functions ;-)


MultiGPU working quetions

I want to use ComfyUI WorkFlow for SVD with multi GPU (2 A6000 48GB)
is it possible to let two GPU work together with one inference???and share the vram pool together?
cuz now its not working
it only can habdle two inference in one time (two different task), but not work with one inference
could you help me figure out this ?  thx a lot : )

Did you miss the readme migration notice? https://github.com/Stability-AI/StableSwarmUI?tab=readme-ov-file#migration-notice
https://github.com/mcmonkeyprojects/SwarmUI/discussions/2

Sorry for going wrong page
I will do migration update
Thx a lot : )
So it’s possible to use two gps doing one SVD inference in the same times
:)?
mcmonkey4eva @.***>於 2024年7月21日 週日，下午11:25寫道：

Did you miss the readme migration notice?
https://github.com/Stability-AI/StableSwarmUI?tab=readme-ov-file#migration-notice
mcmonkeyprojects/SwarmUI#2
https://github.com/mcmonkeyprojects/SwarmUI/discussions/2
—
Reply to this email directly, view it on GitHub
https://github.com/Stability-AI/StableSwarmUI/issues/438#issuecomment-2241671136,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYCOMG5FSIP3CZXJ3AVDME3ZNPHGBAVCNFSM6AAAAABLG5SCVCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBRGY3TCMJTGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
彭瀚賢 Rod Peng
Producer/A&R Director
--
@.***
Phone：+886 978-980-865
Phone：+86 185-1639-3256

本郵件(含附件)之內容若標示有機密字義，收件人不得再將之揭露、轉寄或散佈予無權接收之任何他人
違反者，本公司將對之採取民刑事法律行動。
If this email (and any attachments) contains information that is marked as
confidential, then the named addressee (or recipient)
shall not disclose, forward, or disseminate this email or any part of it to
any unauthorized person.
Any violation of this statement of the named addressee (or recipient) may
cause a civil or criminal action taken by


Same output when right padding

I am experiencing an issue when I give the network sequences in which the last object is replaced by padding (0).
In this case, the trained model always outputs the same sequence, regardless of the other values present in the sequence.
Is this by any chance a known problem?
From what I understand, the emb_dropout in log2feats should make the model robust against this type of sequences.
Am I wrong?
Thank you in advance for your response

Thank you very much for your response.
I understand why it doesn't make sense to have 0 at the last position, but in case I need to get the model to work in these cases as well, but without modifying the sample itself, would you happen to know which part of the code to modify?
Also, as far as fixing the padding embedding to the zero-vector, it wasn't actually working for me because this part:
for name, param in model.named_parameters():
        try:
            torch.nn.init.xavier_normal_(param.data)
        except:
            pass # just ignore those failed init layers

somehow initialize the Embedding layer again, so also the embedding for 0.

hi @siciliano-diag , thx, the former response was not just for claiming item 0 is not proper to occupy last position, also for suggesting that what got observed may just be expected behaviour of the model as its 'causal model', pls try to elaborate into the details of 'causal model' and even transformer itself for what you want, here's the video by Prof. Li talking about transformer https://www.youtube.com/watch?v=ugWDIIOHtPA, also you may find lots of materials online to help you understand and customize your model.


Tooltip: incorrectly calculated left and top position when not appended to body

We are building our project with encapsulated web components architecture. E.g, we would have 3 independent web components inside our main application, each component with their own import of PrimeNG lib. In order to achieve this independence of components (avoiding style leaks from different PrimeNG versions in different web components etc.) we are encapsulating the root web components with ShadowDom. Of course, this brings about the errors that come with using PrimeNG components in the ShadowDom.
We are currently testing your library as a solution and most of the components seem to be working fine. However, we are facing issues with the Tooltip component. To avoid leaking the Tooltip to the parent application (as parent application might not have PrimeNG) we are appending the Tooltip somewhere inside of the web component itself. For example appendTo = 'target', or [appendTo]='someWebCompWrapper'. However, it seems like for these situations the Tooltip's position is always miscalculated.
Could you please provide a solution for miscalculated overlays positions (We have only found tooltip's position to be faulty for the time being) with appendTo set to something other than 'body'?

Is there any fix for this issue?

For your issue, I think:

some of your css (the one from your web component) override primeng styles for tooltip.
are you appending tooltip to same shadowRoot component? what I mean is if from component B you target to component A, in this case it may cause issue
pay attention into where your tooltip is appended to (lets call it target), from that target you have to make sure all primeng css imported, no tooltip style override, and that component is fully visible (without overflow/overlap)

What I found after all of this is, no matter whether you're working with shadowDom or not, 99,99% you should use appendTo=body to avoid any issue with "overlay" components


Update the page

I think there needs to be more detailed and updated information and pictures on connection references.  I work on projects with teams of many people.  Many people need to create flows with different connectors. Sometimes, people need to fix or add actions to other people's created flows.  We have had many issues with connections and connection references and trying to understand them.  Lots of documentation is on single user creation and not multi user creation/editing.  We have had issues where one user did not have access to specific actions/connections and when trying to edit and save, an error would pop up.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c8f2fd7c-a516-b3b7-c939-cba62d7836dc
Version Independent ID: e681d318-9124-05ee-9438-29cfd3c4e732
Content: Connection references in solutions - Power Apps
Content Source: powerapps-docs/maker/data-platform/create-connection-reference.md
Service: powerapps
GitHub Login: @caburk
Microsoft Alias: caburk

@bishalgoswami pls assign to Chris Garty on Power Automate.

@Tkoz15 - Thank you for your feedback. The article has been updated to match the current UI and a screenshot has been added.
Closing issue.


NATS: share the connection when we are not using the "nats" mode

(for the same NATS server)

NATS support has been removed with v0.3.4 🍋 [lemon]
A new Capsule application with NATS support will be developed thanks to:

https://github.com/bots-garden/capsule-host-sdk
https://github.com/bots-garden/capsule-module-sdk


Video crashes when opened in full screen

In version 2.6 if an inline playing video tries to be opened in full screen, the video crashes. A weird thing is also the comments icon displayed instead of the fullscreen icon.

The same issue still exists in the latest (2.7) version.

Backtrace:
[LayoutConstraints] Unable to simultaneously satisfy constraints.
	Probably at least one of the constraints in the following list is one you don't want.
	Try this:
		(1) look at each constraint and try to figure out which you don't expect;
		(2) find the code that added the unwanted constraint or constraints and fix it.
	(Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
(
    "<NSAutoresizingMaskLayoutConstraint:0x6000012c44b0 _UIBackdropContentView:0x7fefa5e8ef70.(null) == _UIBackdropView:0x7fefa5ec82f0.(null)>",
    "<NSAutoresizingMaskLayoutConstraint:0x6000012c4500 _UIBackdropContentView:0x7fefa5e8ef70.height == _UIBackdropView:0x7fefa5ec82f0.height>",
    "<NSLayoutConstraint:0x6000012cd270 UIStatusBar_Modern:0x7fefa5e18590.top == _UIBackdropContentView:0x7fefa5e8ef70.top>",
    "<NSLayoutConstraint:0x6000012cc6e0 UIStatusBar_Modern:0x7fefa5e18590.height == 0>",
    "<NSLayoutConstraint:0x6000012cd090 UIView:0x7fefa5d76300.top == UIStatusBar_Modern:0x7fefa5e18590.bottom>",
    "<NSLayoutConstraint:0x6000012cd400 UIView:0x7fefa5d76300.top == _UIBackdropView:0x7fefa5ec82f0.top + 44>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x6000012cd090 UIView:0x7fefa5d76300.top == UIStatusBar_Modern:0x7fefa5e18590.bottom>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.

@igorbiscanin Mind on creating a sample project that demonstrates this error?


Web crawler: some URL are wrongly encoded

Web crawler sometimes wrongly encodes some URL.
For example this URL: http://www.obstscheune-shop.de/index.php4?modul=muesli&grp=muesli&dname=M%FCsli+%26+Knabbereien.

When it is found into a page it is extracted as http://www.obstscheune-shop.de/index.php4?modul=muesli&grp=muesli&dname=M�sli+&+Knabbereien.

When Manual Crawl is used to accessed URL http://www.obstscheune-shop.de/index.php4?modul=muesli&grp=muesli&dname=M%FCsli+%26+Knabbereien we can see that it becomes: http://www.obstscheune-shop.de/index.php4?modul=muesli&grp=muesli&dname=M%25FCsli+%2526+Knabbereien:

We can see that in this case this website does not correctly display title if page is accessed by one of those 2 weird URLs (surrounded in green is correct title, surrounded in red are titles displayed for wrong URL):

→ web crawler should not apply transformation to found URL and crawl them as it found them.
Thank you,
Alexandre

I have run into the same issue with %20 in the URL. OSS is re-encoding that as %2520 both in the manual crawl and when crawling indexing pages.


az ml workspace list doesn't list all AML workspaces

If the issue is to do with Azure CLI 2.0 in-particular, create an issue here at Azure/azure-cli

Extension name (the extension in question)
azure-cli-ml
Description of issue (in as much detail as possible)

'az ml workspace list' command doesn't list all aml workspaces
Details:
az --version
azure-cli                         2.18.0
core                              2.18.0
telemetry                          1.0.6
Extensions:
ai-examples                        0.2.5
azure-cli-ml                      1.20.0
Python (Linux) 3.6.10 (default, Jan 15 2021, 09:54:35)
[GCC 8.3.0]

ml

Any update here? We're still seeing this issue on your project, leading to sporadic pipeline failures.


Issues with maru/phoenix: ERR_SPDY_PROTOCOL_ERROR

Hi there, I am using maru 0.12.5 in combination with  phoenix 1.3.0. On my local machine everything works fine. But on test/production (docker-container, kubernetes, aws alb) I get a lot of net::ERR_SPDY_PROTOCOL_ERROR in Chrome and 'Excess found in a non pipelined read' when doing the failing calls in curl. This is not happening for all request. Some of the routes sometimes work, some never work. The Maru Router is added to phoenix router with a forward (like in Maru Phonix example). Any ideas how to solve that are highly appreciated .

I guess you we can close it. It was my fault. I am not 100% sure how I managed to but It was sending two responses at once. It think it was cause by using json() from Phoenix.Controller.


Add mention to the operator in the collector's page

In the following page:
https://opentelemetry.io/docs/collector/about/
We should also mention the OpenTelemetry Operator as a way to deploy the collector on Kubernetes:
https://github.com/open-telemetry/opentelemetry-operator/

This issue can be assigned to me.


boards: arm: arduino_nano_33_ble: Add missing leds to DTS

This commit adds missing yellow led and missing PWM leds.
This was verified with samples blinky, blinky_pwm,
fade_led and rgb_led.
Signed-off-by: Benjamin Björnsson<EMAIL_ADDRESS>

I was a bit late to provide a review here, so I created a follow-up PR (#44990) that addresses the issues I found.


Request: serializer for ConcurrentHashMap

Isn't this covered by the default MapSerializer of kryo, or why is a specialized serializer needed?

Ah, my bad, I'll remove it.


Add contents to guide.md

As the title.

This is linked to #97  and should likely be dealt with as a single PR.

Sorry to be dense... But what do we want in a guide.md?

This has been replaced by getting-started.


Fix local global pages to work with the changes caused by identity

The compare functionality (know as local-global) was not working anymore. This mainly happened to changes within the app regarding the new identity stuff.
The index page where you pick your scenarios was relatively easy to fix, but the page where the comparison happens will require more work. Basically, the compare functionality now needs to know about the rest of the app (to use the correct authentication protocol), where before it was more of a standalone thing.
I think it will take me a few more hours to figure out how to make the compare part of the rest of the app - maybe this even means some rewriting of code, causing it to take up half a day or so.
We could merge this index page fix first, before the deploy, and fix the other page after, or I can spend the rest of my day on fixing the comparison page. Let me know what you think @ChaelKruip & @mabijkerk

👍


miaoshang -> miaoqu (unoriginal): update domain

closes #2682
Checklist:

[x] Updated extVersionCode value in build.gradle for individual extensions
[ ] Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
[x] Referenced all related issues in the PR body (e.g. "Closes #xyz")
[ ] Added the isNsfw = true flag in build.gradle when appropriate
[x] Have not changed source names
[ ] Have explicitly kept the id if a source's name or language were changed
[ ] Have tested the modifications by compiling and running the extension through Android Studio
[ ] Have removed web_hi_res_512.png when adding a new extension

That's another unrelated site with a different theme.

That's another unrelated site with a different theme.

大佬你终于回来了，看你这两个月都没啥动静还以为弃坑了。我都准备自己开始研究怎么维护了，不过没编程基础研究起来好费劲，一堆不懂的🙁


Add battery percent and current

So it currently supports the battery voltage via:
var BAT_VOLT_MSB_REGISTER = 0x78; (in /lib/axp209.js)
Looking at battery.sh I believe support for the battery's percent and amps can be done via commands like:
BAT_VOLT_MSB=$(i2cget -y -f 0 0x34 0x78)
BAT_VOLT_LSB=$(i2cget -y -f 0 0x34 0x79)

BAT_IDISCHG_MSB=$(i2cget -y -f 0 0x34 0x7C)
BAT_IDISCHG_LSB=$(i2cget -y -f 0 0x34 0x7D)

BAT_GAUGE_HEX=$(i2cget -y -f 0 0x34 0xb9)
BAT_GAUGE_DEC=$(($BAT_GAUGE_HEX))

Can you add these in?

@norgeous pull requests welcome ...

I will attempt to get this done today (battery % only). I imagine that the code will be quite similar to chipio.BatteryVoltage(); and will be a five.sensor. Will let you know how I get on.

Making a PR here https://github.com/sandeepmistry/node-chip-io/pull/43

#43 for battery percentage and now #45 for battery charge amps


Unable to override the css for  Component

I'm just setting up a sidebar and seem to be unable to override the ListItemText components color.
Following the https://material-ui-next.com/customization/overrides/#1-specific-variation-for-a-one-time-situation guide. I have
<ListItemText primary="Home" className={classes.sideBarItems}/>
In my code and in my key const styles= {   sideBarItems: {     textDecoration: 'none',     color: 'white',   }, }
I've also set up the rest of the required components in the function but can't seem to override the default black text color to white since I'll be using a black sidenav.

Don't forget to use the withStyles() higher-order component.
But I'm closing as it does not conform to our issue requirements.
Please provide a reproduction test case. This would help a lot 👷 .
A live example would be perfect. This codesandbox.io template may be a good starting point. Thank you!

hello, i just resolve it like this, hope can help you.
<ListItemText primary={something} secondary={another thing} />


Trouble when I compile

Hello guys.
I'm trying to use this lib, but I'm receiving this error:
$ mix compile
==> mongodb_ecto
Compiling 12 files (.ex)
warning: undefined behaviour function stop/3 (for behaviour Ecto.Adapter)
  lib/mongo_ecto.ex:1

warning: the variable "pipeline" is unsafe as it has been set inside a case/cond/receive/if/&&/||. Please explicitly return the variable value instead. For example:

    case int do
      1 -> atom = :one
      2 -> atom = :two
    end

should be written as

    atom =
      case int do
        1 -> :one
        2 -> :two
      end

Unsafe variable found at:
  lib/mongo_ecto/normalized_query.ex:86

== Compilation error on file lib/mongo_ecto/admin_pool.ex ==
** (CompileError) lib/mongo_ecto/admin_pool.ex:4: module Mongo.Pool is not loaded and could not be found
    (elixir) expanding macro: Kernel.use/2
    lib/mongo_ecto/admin_pool.ex:4: Mongo.Ecto.AdminPool (module)
    (elixir) lib/kernel/parallel_compiler.ex:116: anonymous fn/4 in Kernel.ParallelCompiler.spawn_compilers/1

could not compile dependency :mongodb_ecto, "mix compile" failed. You can recompile this dependency with "mix deps.compile mongodb_ecto", update it with "mix deps.update mongodb_ecto" or clean it with "mix deps.clean mongodb_ecto"

There is an pre requisite to use?
This is my deps:
  defp deps do
    [{:phoenix, "~> 1.1.6"},
     {:phoenix_pubsub, "~> 1.0"},
     {:phoenix_ecto, "~> 2.0.2"},
     {:postgrex, ">= 0.0.0"},
     {:phoenix_html, "~> 2.6"},
     {:phoenix_live_reload, "~> 1.0", only: :dev},
     {:gettext, "~> 0.11"},
     {:cowboy, "~> 1.0"},
     {:mongodb_ecto, "~> 0.1"},
     {:ecto, "~> 1.1.9"}
    ]
  end

My application
  def application do
    [mod: {AppName, []},
     applications: [:phoenix, :phoenix_pubsub, :phoenix_html, :cowboy, :logger, :gettext,
                    :phoenix_ecto, :postgrex, :mongodb_ecto, :ecto]]
  end

Thanks for this.

Duplicate of https://github.com/michalmuskala/mongodb_ecto/issues/99 and https://github.com/michalmuskala/mongodb_ecto/pull/98

I've just released 0.1.5, which has a stricter dependency on mongodb, and should fix this issue.


proposal: Go 2: spec: allow conversion from *T to *[1]T

To go along with the already accepted #395, I would love to see support for converting/aliasing a pointer of some type, to a single-element array pointer of the same type.
The main use-case would be passing an already-allocated single item to a function that accepts a slice of those items, avoiding an extra allocation and copy.
~Another place this might be useful is in the reflect package, which mentions issue #2320.~
Edit: Below are my answers to the questions from the Go 2 language change template.

Would you consider yourself a novice, intermediate, or experienced Go programmer?

Experienced.

What other languages do you have experience with?

None quite as much as Go at this point, but (to varying degrees): Rust, Zig, Ruby, C, Erlang, and Haskell.

Would this change make Go easier or harder to learn, and why?

It wouldn't make it easier, but I don't think it would make it harder either, unless you count learning obscure features of a language.

Has this idea, or one like it, been proposed before? If so, how does this proposal differ?

I'm not aware of any proposal exactly like this, but there are some related (and already accepted) proposals. Primarily #395, and to some extent #19367. The former was the inspiration for this proposal, and the latter would allow this to be done with less-nasty unsafe code than before.
The difference here is that Go would allow converting between these pointer types without unsafe, since there shouldn't really be anything unsafe about it.

Who does this proposal help, and why?

This proposal helps in performance-sensitive code where allocations are undesirable. When you already have a pointer to a heap-allocated value, and you need a slice (because a function signature demands it), you can avoid allocating space for a single-element slice and copying the value to it.
The only way to do this now is by using unsafe. Alternatively, you could work with a *[1]T instead of a *T from the beginning, but that isn't very ergonomic, and wouldn't be a viable option in the public interface of a library.

What is the proposed change?

The proposal is to allow unsafe-free conversion (or aliasing) of a pointer of some type, to an array pointer with a single element of the same type. You could then slice that array pointer.
Alternatively, we could allow converting to a slice directly (since *[1]T is rarely useful by itself), but that seems less general.

Please describe as precisely as possible the change to the language.

I'm not sure how to answer this any differently from my answer to the previous question.

What would change in the language spec?

Probably just adding a new item in the Conversions section where says:

A non-constant value x can be converted to type T in any of these cases.

Please also describe the change informally, as in a class teaching Go.

Yikes, I'll have to think about this one a bit.

Is this change backward compatible?

Yes. All code that was valid before will remain valid. Some code that would have required unsafe before will no longer require it.

Show example code before and after the change.

Before:
func ExamplePointer(ptr *SomeType) {
    ExampleSlice([]SomeType{*ptr})
}

func ExampleSlice(slice []SomeType) {
    for i := range slice {
        // ... do something with &slice[i]
    }
}

After:
func ExamplePointer(ptr *SomeType) {
    ExampleSlice((*[1]SomeType)(ptr)[:])
}

func ExampleSlice(slice []SomeType) {
    // Same as before.
}

Yes, it's longer and uglier, but also doesn't allocate.

What is the cost of this proposal? (Every language change has a cost).

I don't really know. I haven't implemented a language change and I'm not very familiar with the code that would need to be changed in the compiler. The documentation cost should be relatively small.

How many tools (such as vet, gopls, gofmt, goimports, etc.) would be affected?

I think the compiler would have given an error before this change, and thus vet would not likely need any logical changes. Beyond that, I'm not really sure.

What is the compile time cost?

It should be negligible.

What is the run time cost?

Where it is used, it can speed up execution slightly by avoiding unnecessary allocations. Otherwise, it has no impact.

Can you describe a possible implementation?

Nope. I'm just not familiar enough with the compiler.

Do you have a prototype? (This is not required.)

No, but you can achieve this with some rather nasty unsafe right now.

How would the language spec change?

I think I already answered this question above.

Orthogonality: how does this change interact or overlap with existing features?

The change would overlap somewhat with #19367 (accepted proposal, not exactly existing), except that it wouldn't require unsafe.

Is the goal of this change a performance improvement?

Yes. Strictly performance.

If so, what quantifiable improvement should we expect?

Fewer allocations and copying. It would be more noticeable if T is large.

How would we measure it?

A go test micro-benchmark.

Does this affect error handling?

No.

~If so, how does this differ from previous error handling proposals?~

Is this about generics?

No.

~If so, how does this differ from the the current design draft and the previous generics proposals?~

I don't think this idea would help the reflect package.  This could reduce allocations in the case where we already have the address of a value, and we need a slice.  But the reflect package doesn't have the address of a value, it just has a value (an int).  So for the reflect package case an allocation needs to occur no matter what.

For language change proposals, please fill out the template at https://go.googlesource.com/proposal/+/refs/heads/master/go2-language-changes.md .
When you are done, please reply to the issue with @gopherbot please remove label WaitingForInfo.
Thanks!

@gopherbot please remove label WaitingForInfo

In Go 1.17 we will introduce a new function unsafe.Slice that takes a pointer and a length, so we can now generate a single element slice from a pointer by writing unsafe.Slice(p, 1).  That does require importing the unsafe package, but it seems to support the same functionality.
(With generics we could introduce a generic function that does this, to push the import of unsafe into that package.)
Therefore, this is a likely decline.  Leaving open for four weeks for final comments.

In Go 1.17 we will introduce a new function unsafe.Slice that takes a pointer and a length, so we can now generate a single element slice from a pointer by writing unsafe.Slice(p, 1). That does require importing the unsafe package, but it seems to support the same functionality.

For the record, for a notionally zero-cost operation, this could be made more efficient.
The generated machine code for the below code (as of 9e0facd26e) contains an explicit call to runtime.unsafeslice which, ISTM, should probably be inlined:
package main

import "unsafe"

var _t int

func main() {
	x := 1233
	y := asArray(&x)
	y[0] = 99
	_t = x
}

func asArray(x *int) *[1]int {
	if x == nil {
		return nil
	}
	return (*[1]int)(unsafe.Slice(x, 1))
}

No change in consensus.


Missing assets/roots.pem

When running the command from the README:
> ./target/debug/single chrome certs/141c7a18a5a00ef35ef43f89288f80405b358ea407c2deee933fa7d07a52559f.pem hrm.auth.gr
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/lib.rs:51:61

The missing file appears to be assets/roots.pem:
https://github.com/semaj/hammurabi/blob/16b253ebd8e2768f9295439bf70e2d50954fba73/src/lib.rs#L51
It appears this file was deleted in https://github.com/semaj/hammurabi/commit/16b253ebd8e2768f9295439bf70e2d50954fba73, along with some other assets files.
I resurrected the files from the prior commit and it worked correctly. What is this file exactly? Should it be recovered and committed to the repository again? Or is there a process I should use to generate another version?
Thanks!

Hi Michael, that file is a snapshot of a root certificate store (I believe a combination of Firefox and Debian's). More specifically, it is a collection of PEM-encoded trust anchors (root certificates). When you give Hammurabi a leaf certificate (and optionally intermediates), it will construct all chains (checking signatures and subject/issuer pairs only) from that leaf to a trust anchor found in that file. Only such chains will be checked by Prolog validation code.
Feel free to resurrect and commit it (I'll accept that PR), though just know it is probably out of date. To generate a new version, you'd need to look at Debian's /etc/ssl/certs directory and/or Mozilla NSS's certdata.txt. More generally, one could use whatever trust anchors they desire (e.g., a self-signed certificate of your choosing).
Please let me know if you have any further questions or if there's any other help you need with the repo.

Thanks!
Probably the ideal would be to check in something that would be enough to run the examples (perhaps just the existing assets/roots.pem), and then a script that can be used to re-generate it.

/etc/ssl/certs/ca-certificates.crt works directly in place of assets/roots.pem.


3.0a Release Category Navigation

Issue Summary
When adding more than one product category they are not treated as a nav-list. Below is an Every Day and Seasonal > Thanksgiving product category lists.
This only happens when on XL Screen sizes

*The colors have been adjusted from the defaults
Steps to Reproduce
pip install django-oscar==3.0a
Technical details

Python version: 3.8.6
Django version: 3.1.3
Oscar version: 3.0a

I can't reproduce this on the sandbox - see https://latest.oscarcommerce.com/en-gb/catalogue/ where the categories are correctly separated. Are you sure you don't have some custom styling which is affecting this?

That was the issue. Sorry about that. I changed the page_inner value from 30px to 15px which threw it off.


Fix AddParser

Fixes #202

@rachx Updated with quotation support. Can you check?

Schedule should be fine right?
How about the following input

add return "animal farm". it will only save "animal farm"
@fanwgwg i think we might need to change our user guide examples and screenshots after our decision

I am thinking if we should save with the inverted commas
e.g. task name "copy assignment from cs2101 to cs2103". it makes the first and last word un-searchable.
Instead of using " ", can we use something that the user is unlikely to use and easy to type
e.g. add --drop by seven eleven -- (2 or 3 leading and trailing slashes but don't save to title). thoughts?

oh ya, you might need to change the add tests in logic manager test

Schedule is fine.
Possible... we could change the delimiter to something else. @INCENDE?

@rachx for safe, I'll just remove the quotation marks in the screenshots

@fanwgwg Don't remove them yet. Let's come to a decision first so that you don't need to do double work

okay that's fine!

@rachx please verify

@burnflare @fanwgwg @INCENDE
Everyone please verify.
I change the escape character from " " to ' ' only (easier to type and people can still use double inverted commas as normal, no need to redo screenshot)
so

add 'copy notes from 2101 to 2103' will add the task copy notes from 2101 to 2103
natty will still parse add copy notes from 2101 to 2103 => task copy notes with time
if there is ' ' , it will expect
a) no by, from and to keywords with time behind
b) by keyword with time behind only
c) from and to keyword with time behind only
(this is for more consistent behavior)

Some small problems

add by 8pm. It will add the task name by 8pm instead of complaining incorrect format is that fine?
add return 'book' will be saved as book instead of return 'book'. just get people to use double inverted commas instead?

hmmm fix and decide on this and check that everything works after fixing gcal?

I did some light testing and it looks good. @INCENDE Could you test this too?

how about add by 8pm?

Thinking about it.... there's noting wrong with accepting add by 8pm 💯
If user inputs add by 8pm, we expect there to be a title before by 8pm. But since we didn't see a title, we ignore the date time and insert the entire thing as a title instead. IMO, this behaviour is better than the opposite (create a blank event that's due at 8pm).

Okay. Initially, I was thinking of incorrect format since the name is missing. It recognises add from 4pm to 8pm as incorrect format
Lets wait for @INCENDE to merge

Assigning to @rachx as I can't approve my own PR. Feel free to approve and merge when you're ready.

good to go


add snowexsql to environment

addresses https://github.com/CryoInTheCloud/hub-image/issues/118

/condalock


[react-hooks] invalidate / setQueryData Helpers Without Query?

Right now it seems like the invalidate helper is only returned from the useQuery hook, which I think can make it a little clunky in situations where you need to invalidate the query from a component that doesn't necessarily want to call the query. I think you'd have to do this (or manually do getQueryKey stuff):
const {invalidate} = hooks.useSomeQuery(params, {enabled: false});

Any desire to have an way to invalidate / set query data in a typesafe way without needing to subscribe to the query or manually get the query keys and pass them? Something like:
import {useUtils} from 'src/zodios-client';

function Component() {
  const utils = useUtils();
  function eventHandler() {
    utils.[alias].invalidate(/* optional params */);
    // OR
    utils.[alias].setQueryData(/* typesafe query data update */)
  }
}

This provides a really awesome DX
I'd be happy to dig into this if it sounds like something you'd want to have in the library @ecyrbe

Hello, we have a typesafe way to get the queryKey : http://www.zodios.org/docs/client/react#zodios-key-helpers
It allows to invalidate all keys related to a path or alias (if you don't pass params) or the specific key (if you pass the parameters)

@ecyrbe Hi,
We can get the query key currently, BUT:

Cache operations have no real typesafety with the current implementation since we're just using vanilla react query which basically just typecasts stuff.

With above approach we can have truly typesafe cache operations updateQueryData getQueryData, etc. This is a really big improvement over vanilla react query cache management because it's much less error prone and less work for the dev b/c we have inference.

my suggestion IMO provides a better DX for invalidation because we just can call invalidate instead of having to mess with cache keys. This is how it's done in trpc and it's really freaking nice to just never ever have to touch a cache key.

I think the above trpc-like approach is just better. Selfishly I'm wanting to use your library on an upcoming project and would love to just have the type safe cache operations and not have to touch the query keys.
Thanks for your work on this, this library is really impressive 😊

You convinced me. reopening.

this would be awesome!
any progress? any help needed?

Hello @robotkutya,
i did not started working on this yet. Help is very welcomed.
If you want to help, use V11 branch and go on package react (V11 branch is a monorepository with all the packages and using pnpm/changesets to handle them)


Feat: Use input type number inputs on Advanced options tab

For better user input (like with the arrow keys) use the type="number" inputs and its min/max/step attributes to early prevent triggering the validation.
Looks like this e.g. in Firefox

LGTM,thanks for your contribution!


Trusted advisor EC2 underutilized

Added a filter for the account resource to use Trusted Advisor to return under-utilized EC2 instances. Allows you to add thresholds on average CPU usage, network I/O, days under-utilized, and minimum savings and also to filter on instance type. Applicable unit tests added and PEP8 compliant.
An example would be where you want to get under-utilized EC2 instances that within the last two weeks have had an average CPU load of 4%, network I/O of 0.02MB and is of the instance types r3.large or t2.medium.
policies:
  - name: underutilized-ec2
    resource: account
    filters:
      - type: underutilized-ec2-instance
        instance_types:
          - r3.large
          - t2.medium
        max_cpu: 4.0
        max_network: 0.02

very cool, thanks, fwiw, we've typically done these as cloudwatch metric filters on resources, which gets the same with more flexibility, but doing it via trusted advisor is much less on api call traffic.

Hey nice, I'm working with a client who wants to use Cloud Custodian and their previous custodian implementation also included the trusted advisor report as an extra stream of available information. I was hoping to add more of the checks available through trusted advisor to meet their requirements (and help with the project along the way).
Trusted advisor is a bit all over the place and must duplicate the functionality cloud custodian already provides, how should I approach of adding what trusted advisor provides to cloud custodian?
Also if I wanted to find the cloudwatch metrics of a resource (say for EC2 CPU utilization) is there an example somewhere of making that query? I'm probably going to need that for the checks we have here :)

the metrics filter is our primary way of interacting with cloud watch metrics it works the same across resources. $ custodian schema ec2.filters.metrics has docs , i'm fine with the duplication on trusted advisor two different paths to the same info, the trade off is primarily on how current the information is vs how many api calls need to be done to retrieve the information. fwiw prior to this pr, our primary usage on trusted advisor was for service limit filters on the account resource (although there was also one for ebs resiliency/snapshots).  re ec2 instance filtering using metric filter
policies:
   - name: ec2-underutil
     resource: ec2
     filters:
       - type: value
          key: InstanceType
          op: in
          value:
            - m4.4xlarge
            - m4.10xlarge
       - type: metrics
          name: CpuUtilization
          period: 14
          value: 5
          op: less-than

so why do this on the account resource? this seems like it would be better as a filter on ec2 instance ersource, basically pull ec2 instance id from trusted advisor and intersect with resource ids.

Yeah definitely would be nice, the reason I wasn't sure about directly integrating it with the EC2 resource is that a lot of the trusted advisor checks are only available if you have a business or enterprise support plan and I was concerned it would complicate the logic if the query was to the EC2 resource and it had to return a response saying the results weren't available based on an insufficient account limit; at least if the query was happening at the account level with the other trusted advisor checks the user would know that making a call specifically to the trusted advisor queries they would need a higher AWS support level.

effectively it can be a validation error albeit with api call (verify available checks via list checks) as a pre-flight check before policy execution.

Cool, yeah that's a possibility, I'd need to get more familiar with the code base first, the intent with this request was partially just getting to understand the project structure