Calico v3.0.1 unit test failures

Running Calico v3.0,1 - calico/node unit test by make st got 6 failures on s390x compared to on m86_64.  The problems are all no ping access from workload to host.
Expected Behavior

Current Behavior

Here are the 6 failures of total 86 test cases
 [fail] 5.64% tests.st.bgp.test_ipip.TestIPIP.test_gce_rr_0: 126.6380s
 [fail] 4.98% tests.st.bgp.test_single_route_reflector.TestSingleRouteReflector.test_bird_single_route_reflector_default_as: 111.7421s
 [fail] 4.98% tests.st.bgp.test_single_route_reflector.TestSingleRouteReflector.test_bird_single_route_reflector: 111.7111s
 [fail] 4.57% tests.st.bgp.test_ipip.TestIPIP.test_gce_rr_1: 102.5084s
 [fail] 3.60% tests.st.bgp.test_ipip.TestIPIP.test_gce_0: 80.8738s
 [fail] 2.62% tests.st.bgp.test_ipip.TestIPIP.test_gce_1: 58.7348s

Here are logs of TestSingleRouteReflector.test_bird_single_route_reflector on both x86 and s390x
s390x.log
x86.log
Compare the both logs, they are almost similar until line :343, but after create -f testfile.json,
     docker exec -it host1 sh -c 'docker exec workload1 ping -c 1 -W 1 <IP_ADDRESS>'

gets access on x86 , but not on x390x.
The log of felix does not show any ERROR, but  there is a WARNING (line :1705)
  # 2018-02-08 17:00:30.789 [WARNING][84] active_rules_calculator.go 288: Profile not known or invalid, generating dummy profile that drops all traffic. profileID="subnet1"^M

What does this mean?
The previous Calico versions do not have such an issue for the similar usages, what is the special changes of   v3.0.1?
What is the reason of the problems, any hint?
Possible Solution

Steps to Reproduce (for bugs)

under calico/calico_node, run command ST_TO_RUN=tests/st/bgp/test_single_route_reflector.py:TestSingleRouteReflector.test_bird_single_route_reflector make st

Context

Your Environment

Calico version: v3.0.1
Orchestrator version (e.g. kubernetes, mesos, rkt):
Operating System and version: RHEL 7.x and Ubuntu
Link to your project (optional):

Unfortunately, the system tests can be a little tricky to diagnose because they test lots of components together.
That warning means that your workload endpoint uses a profile called "subnet1", i.e. it has wep.Spec.ProfileIDs=[]string{...,"subnet1",...} but, at the point the active rules calculator sees the workload endpoint, it doesn't have that profile.  That could be because

the profile is missing
the profile is missing now, but is about to be created
the profile failed validation so it was dropped; I'd expect more warnings or errors if that was the case.

Since you're seeing workload to host failures, it could be a difference in system-wide iptables policy between your systems.  Do you have a different iptables INPUT policy set on your s390x system?

@fasaxc
Both host1 and host2 has the profile subnet1
   docker exec -it host1 sh -c 'export ETCD_ENDPOINTS=http://<IP_ADDRESS>:2379; export ETCD_CA_CERT_FILE=; export ETCD_CERT_FILE=; export ETCD_KEY_FILE=; /code/dist/calicoctl get profile'
  NAME
  subnet1

Which is the same on x86_64.
As for the iptables INPUT policy, how can I verify if there is any?

Checking the iptables INPUT policy, did not find any difference between x86_64 and s390x.
It is suggested that the next step is to reproduce the problem and investigate

Going to close this, since v3.0 is several releases back.
Please reopen if hitting this on modern releases.


Cannot get it to work with pem

Hi, we have been trying to get caddy-jwt to work in our environment for a few days now to no avail.
We did realise earlier today that the latest 0.9.2 release requires Caddy 2.7.3 which does not appear to have hit Dockerhub yet. So we are using an earlier version. E.g
FROM caddy:2.7-builder AS builder
RUN xcaddy build --with github.com/ggicci/caddy-jwt@00ce67ff5c824293c51531287caab2ed0fe76743
<snip>

The above is not throwing any errors and we are now testing our Caddyfile
{
	auto_https off
	order jwtauth before basicauth
}

:80 {
	root * /srv
	file_server {
		index index.html
	}
	route {
		jwtauth {
			sign_alg RS256
			sign_key REDACTED
			from_query access_token token
			user_claims openid userprofile email
		}
	}
}

The errors we see now all appear to relate to signing. We started off using jwk_url pointing to https://login.microsoftonline.com/common/discovery/keys and that didn't work. So we decided to convert our key to a PEM file in the format
-----BEGIN RSA PUBLIC KEY-----
REDACTED
REDACTED
REDACTED
REDACTED
REDACTED
-----END RSA PUBLIC KEY-----

But could not see how to add that to the Caddyfile according to the instructions in the README since it is multiple lines. We tried making it all one line with escaped line breaks (e.g. \n). We tried with and without the --- HEADER --- strings. We have tried base64 encoding it. e.g
sign_key LS0tLS1CRUdJTiBS... base64 encoded PEM
sign_key -----BEGIN CERTIFICATE-----\nMIIDBTCCAe2gAwIBAgIQGQ6YG6NleJxJGDRAwAd... replaced line endings with escaped new lines
What is the correct way to represent a pem file in the sign_key variable?
We are passing our JWT in the query string of a GET, e.g. http://localhost:9990/index.html?token=eyJ0eXAiOiJKV1QiLCJu... where the token decodes properly in https://jwt.io (It should be noted that jwt.io always shows Invalid Signature, but we have come to expect that from experience with other providers)
We have since learned that Microsoft provides https://jwt.ms  that is MS specific (version of a standard??). Using that I believe I have deduced the correct audience and issuer whitelists as our client id and tenant id respectivley
But the best we can get is
{"level":"error","ts":1692049376.9480076,"logger":"http.authentication.providers.jwt","msg":"invalid token","token_string":"eyJ0eXAiOiJKV1Qi…qPsS9swO7UsTwypw","error":"could not verify message using any of the signatures or keys"}
{"level":"error","ts":1692049376.9480765,"logger":"http.handlers.authentication","msg":"auth provider returned error","provider":"jwt","error":"could not verify message using any of the signatures or keys"}

I suspect a lot of our challenge is with Microsoft specific values. But knowing how to properly form a sign_key for a multi-line pem will help.

Hi @tforster, thanks for the report.

What is the correct way to represent a pem file in the sign_key variable?

Please see this comment.

The errors we see now all appear to relate to signing. We started off using jwk_url pointing to https://login.microsoftonline.com/common/discovery/keys and that didn't work.

I'm curious why it happened. Could you share some related error information? So that we can do some diagnosis.


Fix key channel indices in PartitionedOutput

Key channel indices are relative to the channels in the input
RowVector. The composition and order of the output may be different
and may not include the partitioning channels. Therefore interpret
'keyChannels_' in terms of the original input and do the rest of the
processing in terms of the rearranged input vectors stored in
'output_'.
Rename input to output where applicable. Add a test that drops the
partitioning column and triggers and error before the fix.

Fixed.

Fixed the other tests and updated the diff.


Concurrency: silence some -Wmicrosoft-extension warnings (NFC)

Explicitly namespace the friend type to avoid the warning.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

CC: @ktso

CC: @ktoso

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - 420e85d634af2f6726bb0a7ba5e8c087e4f6a91b

@swift-ci please test Linux platform


ratelimit support stat prefix

Commit Message: ratelimit support stat prefix
Additional Description: N/A
Risk Level: low
Testing: ut
Docs Changes: N/A
Release Notes: N/A

issue #27421

/retest

the ci seems to be blocked by flake coverage #30701

@StarryVae can you rebase and push again? Thanks.

done, thanks. @htuch


[SQL Index and Data Source Cache] Cannot connect JDBC Uri jdbc:hive2://xxx:port(Run Queries)

sh ./scripts/spark_thrift_server_yarn_with_DRAM.sh  start command has been executed.
When we started to execute the query, we encountered a connection error as follow:
Error：Could not open client transport with JDBC Uri jdbc:hive2://xxx:port:java.net.ConnectException: Connection refused(state=08S01,code=0)
But，when using sbin/start-thriftserver.sh and bin/beeline -u jdbc:hive2://<mythriftserver>:10000,we can connect toThrift  Server correctly.
How can this be solved?Thanks.

yum install numactl works.


Multiple corrections and code completion

Display Bug for autoML - corrected
Adding to_python for Pipelines
to_python is now available for NaiveBayes and OneHotEncoder
correction to_sql for OneHotEncoder
correction of read_csv for headers with space
correction of outlier_plot

Hi Badr,
I have gone through the PR once and have left a few comments. Can you please address them?

The TestOneHotEncoder.test_to_python test has failed.


Demo: Implement ProductVariants editing using grid+form in product tabs and add StackToolbar

Part of Handmade Products Demo that should serve as future best practice and base for admin-generator.
This implements a central Save button together with tab that contains a grid:

Screenshots

Open Issue:
In the ProductVariants Form (add or edit) you now get 2 toolbars:

Screenshot

This is because we render the toolbars now in the page and now there are actually 2 rendered.

Fixed with new <StackToolbar>, which I added also in this PR (as it shows the perfect usage example)

@jamesricky please review as well, since this will be considered as best practice and will be generated by the Admin Generator.


boards: NXP: RT1170 EVKB: change sram from sdram to dtcm

Due to the pin conflict between SDRAM and the M.2 module, all cases/samples will fail on the board where the M.2 module is installed. Set the default sram to dtcm.

Hi @lylezhu2012 , I am blocking this for now, until NXP reviews the options. Using DTCM will limit the size of data memory, and will break some existing samples. If the M.2 module is instaled, the overlay can easily move data to DTCM.
But thank you for raising this. Best regards

I did not notice this issue, because there is not any issue reported in automatic check. Maybe we need to add these samples to building check list.
And since there is a pin conflict issue in the hardware design, there may be a risk of samples/test case failure when using SDRAM (M.2 cannot be detected if it is installed). I think we should avoid this issue with the default configuration.
Could we consider separate overlay SDRAM for these cases that require large RAM?

And since there is a pin conflict issue in the hardware design, there may be a risk of samples/test case failure when using SDRAM (M.2 cannot be detected if it is installed). I think we should avoid this issue with the default configuration.
Could we consider separate overlay SRAM with SDRAM for these cases that require large RAM?

I routinely test Zephyr on an RT1170 EVKB with an M.2 module installed, and I haven't noticed issues. Is it possible that some jumper setting (or the initialization process of the USDHC controller that switches I/O voltages to 1.8V) is causing the issue? I'd rather see a separate overlay that defines the M.2 module in devicetree, and switches the RT1170 EVKB to use an on chip ram bank


Swagger-UI doesn't response with plenty of controllers

Hi
My WebAPI have around 30 controllers. And it seems Swagger taking a lot of times to render UI on browser. I always get timeout exception after waiting for a long time.
Is this a bug?
Thanks

Can you post a link to your Api?

@heldersepu This is internal API, Have we had any issues involving to this?

I remember one case that with a large class (2000+ properties) generated by Entity Framework that was causing slowdowns, but nothing just by the amount of controllers...
Can you remove or replace what ever is private property from your internal API and add it to GitHub, without that it will be impossible to help you out.

@heldersepu I think I have found a bug that crashed swaggerUI by being stuck at "fetching resource list......Please wait"
        [HttpPost]         [Route("importarray")]         public IActionResult ImportArray([FromBody]Account[] value)         {             if (!ModelState.IsValid)             {                 return BadRequest(ModelState);             }             else             {                 var data = value;                 return Ok();             }         }
Account[] is entity model that is scaffolded from database. FromBody should be a Viewmodel or DTO model.
Hope this will help others.

@sonphnt I can NOT troubleshoot with that...
Were are the other classes (Contact, SupplyAgreement) ?

@sonphnt Please create a project that reproduces your bug.

Hi @heldersepu I will try to create a project later. But I can give you other classes. The problem I guess is Navigation Property in classes. That will create a circle loop. In this case is Account - Contact - Account

public partial class Contact
{
    public int Id { get; set; }
    public int? AccountId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string JobTitle { get; set; }
    public string Email { get; set; }
    public string BusinessPhone { get; set; }
    public string MobilePhone { get; set; }
    public string Fax { get; set; }
    public DateTime? Updated { get; set; }

    **public Account Account { get; set; }**
}

public partial class SupplyAgreement
{
    public SupplyAgreement()
    {
    }

    public int Id { get; set; }
    public int EntityId { get; set; }
    public int? AccountId { get; set; }
    public string Name { get; set; }
    public int? Slaid { get; set; }

    public Account Account { get; set; }
}

@sonphnt Here I created a controller very similar to yours:
https://github.com/heldersepu/SwashbuckleTest/blob/master/Swagger_Test/Controllers/ImportArrayController.cs
And the UI loads just fine:
http://swashbuckletest.azurewebsites.net/swagger/ui/index#/ImportArray/ImportArray_Post

@heldersepu I am using .net core 2.0. Is it a difference? but I will download your project and try to add some more to test.

Yes big difference you are reporting this on the wrong project!

@heldersepu sorry for missing that information. Can we give it a test in .net core 2.0 ?

Sure you can, report it here:
https://github.com/domaindrivendev/Swashbuckle.AspNetCore
But I'm not doing net core

Thanks @heldersepu  Once again, sorry about this confusion. I will report there.


feat: update golang.org/x/exp dependency and fix breaking changes

Hello!
Since this update of the golang/exp project, the slices package has a breaking change.
The commit message of the golang/exp package, introducing the regression, is explicit about it.

Note that this changes some of the sorting functions to use a
comparison function rather than a less function. We don't promise
backward compatibility in x/exp packages.

As far as I know, there is no urgency to update the golang/exp package version.
Step to reproduce the breaking change:
go get -u golang.org/x/exp
go test ./...
# github.com/ProtonMail/go-proton-api
./address.go:21:33: type func(a Address, b Address) bool of func(a, b Address) bool {…} does not match inferred type func(a Address, b Address) int for func(a E, b E) int
?   	github.com/ProtonMail/go-proton-api/server/cmd/client	[no test files]
?   	github.com/ProtonMail/go-proton-api/server/proto	[no test files]
FAIL	github.com/ProtonMail/go-proton-api [build failed]
FAIL	github.com/ProtonMail/go-proton-api/server [build failed]
FAIL	github.com/ProtonMail/go-proton-api/server/backend [build failed]
FAIL

Thank you for exposing and maintaining the proton api client.

would be nice to get this fix in


Loading modal

Update copy to:

"Connecting to our partners at [wallet provider] to create your secure account."
When Torus is the wallet provider copy should be 'Torus', not 'Tor.us'

Add learn more link.
Figma:
https://www.figma.com/file/RMXc7jUWiC6amxz9Q2JK5L/Onboarding-and-Wallet-UX?node-id=1588%3A415

@andrewdamelio  i'm not seeing this update on v2.augur. Have only just cleared my cache as well, should it be up?

afaik this is in

I thought I had seen this in as well, but it seems to have reverted, now i'm seeing:


Explore: optimize result aggregation

Aims to speed up result aggregation in the client. Previously this scanned the list of entries to look for a match for each new result; now it will maintain a map of EntryId to index.

As for benchmarking, I'd love that. I don't have any sense of how much this might affect performance, and it depends entirely on the characteristics of the data: like, (to take it to the extreme case) if every single EntryId happened to be the same, this change would do virtually nothing. Also since the aggregation is happening to data coming in from the network, IO latency might make this insignificant. I think my next step is probably to get the plugin running locally and do some profiling.


Customization of identifier template

I offer a more flexible option for formatting an identifier for use with a container than in #31
For the case of @mj4444ru the injector setting will be as follows:
(new Injector($container))->withIdTemplate(
    Injector::TEMPLATE_PARAM_CLASS . '$' . Injector::TEMPLATE_PARAM_NAME,
    Injector::TEMPLATE_PARAM_CLASS
);

Todo

[x] More markers
[ ] Better naming
[ ] Documentation

[ ] Ru
[ ] En
[ ] Comments

[ ] More test

The idea is more sophisticated but naming should be adjusted.

@mj4444ru what do you think

The idea is interesting and gives more possibilities.
In general, I believe that the container should be able to process such requests in one call, the second (third) call is needed for containers that cannot work with this format.
I propose to add the following logic to this functionality:

The container can process identifiers of the format "id$param1$param2$param3" or, alternatively, "id$param1:param2:param3" in one call.
The container does not know what is in "paramX".
The container first looks for the identifier "id$param1$param2$param3", then "id$param1$param2", then "id$param1", then "id".
By default, there will be a variant as in the example. But the end user can replace the second call for example with Injector::TEMPLATE_PARAM_CLASS . '$'. Injector::TEMPLATE_PARAM_NAME . '$'. Injector::TEMPLATE_CLASS, thus adding support for identifiers with the name of the calling class.

https://github.com/yiisoft/injector/issues/33


Homepage

Structure

[x] Edito
[x] Latest,
[ ] Featured post(s),
[x] Most popular
[x] Categories (with description)

Styles

[ ] Add a class homepage before home-(name)
[ ] Add vertical spaces between the widgets
[x] What about the titles ? =>
[x] Try to add borders to the cards

Others

[ ] Bug fix: row-cols-0
[ ] Bug Fix: last posts empty

Component Categories / Sections

Can we add an icon ? (parameter in a front-matter)
* camera,
* blog: pencil, pencil-square, vector-pen
* architecture: tools, wrench-adjustable-circle, grid-3x3-gap
* project: bar-chart-steps

Styles
.homepage {
h2 {
color: $primary;
margin-bottom: 3 * $spacer;
}
}


query and execute messages with same name creates collisions

Currently we're generating two TS clients as classes with the codegen: one class that is readonly for the queries, and a 2nd that extends via inheritance this class for the execute messages. This essentially means the names currently must be unique.
The issue is that if you have an identical method name on a query and execute, you end up with a naming collision.
One idea is to potentially come up with a recommended convention to keep names unique across queries/executes, This does make some sense, but some have brought up a good point that it is sub-optimal to put constraints on contract message naming.
the current "fix" is to not create name collisions between query and execute messages: https://github.com/DA0-DA0/dao-contracts/issues/369
However, the question remains, should we build a way to split clients into two instead of using inheritance where all contract names are unique?

I just ran into this myself and I totally appreciate the complexity of solving it but could the error handling be improved? Currently it seems to let one overwrite the other and not fail until tries to cast the parameters for the query message into the types expected by the execute message.  :joy:
./src/index.ts → ./dist/index.js, ./dist/index.cjs, ./dist/index.mjs, ./dist/index.esm.js, ./dist/index.umd.js, ./dist/index.umd.min.js...
[!] (plugin rpt2) Error: /home/mint/repos/kns/ts/sdk/src/contracts/Registrar.client.ts(252,18): semantic error TS2430: Interface 'RegistrarInterface' incorrectly extends interface 'RegistrarReadOnlyInterface'.
  Types of property 'extension' are incompatible.
    Type '({ msg }: { msg: RegistrarExecuteMsg; }, fee?: number | StdFee | "auto" | undefined, memo?: string | undefined, funds?: Coin[] | undefined) => Promise<...>' is not assignable to type '({ msg }: { msg: SchemaRegistrarQueryMsg; }) => Promise<ConfigResponse>'.

We also came acrros this issue. Imo would be great splitting clients into query and execute clients - instead of inheriting them.


use debugfs only in kernel version less than 4.17.0

https://github.com/aya-rs/aya/pull/641/files#diff-a5e39230544964f896876377e6830ed97cbf0754b083d180ba17435a44ab10b1R53
a small error made by this PR

duplicated as https://github.com/aya-rs/aya/pull/643 has fixed it


Fix shared memory with gluon dataloader, add option pin_memory

Description

This PR fixes gluon data loader which use too aggressive pre-fetching strategy which will cause shared_memory usage being super high (storing too much in data queue).
Add option pin_memory to allow data loader to pin data into cpu_pinned context. Which can potentially speed up the following copy to GPU process.
Removed the doc description: num_worker > 0 is not available on windows since they are runnable.
Enabled unittests on windows for multi worker data loader

Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[x] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

@piiswrong Can you have a look?

@marcoabreu  @larroy For windows to correctly pickle test functions, I copied dll to where unittests are launched, PYTHONPATH is set accordingly, please have a look.

We have a copy of python inside the windows package as well. It should be the same as the checked out repo. But there should be no need to copy the dlls around. What was the problem that made you copy them? I would like to understand this, as we are working on this windows builds actively.

@larroy Do you know where I can point MXNET_LIBRARY_PATH to?
Error log: http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/incubator-mxnet/detail/PR-11908/12/pipeline/896


Support focusing multiple subprojects

We have have multiple subprojects per feature. So let's say we have a "Sign In" feature, and have tagged a number of subprojects to be under that feature.
Would be nice to allow a developer working on the "Sign In" feature to run:
./gradlew signInFocus

That would "focus" all subprojects with that tag

The way you'd achieve this is by creating a module that only has dependencies.  You don't even need to apply any plugins, just a build.gradle file that only creates a configuration and adds dependencies to it should be enough be enough.
// sample/signin/build.gradle

configurations.create("deps")

dependencies {
  deps(project(":sample:lib1b"))
  deps(project(":sample:lib2b"))
}

Add that project to your settings-all.gradle file and you should be good.  It shouldn't really add much to your build time, if anything, since it doesn't apply anything and will mostly be skipped for configuration, but you'll be able to ./gradlew :sample:signin:focus and focus on only the dependencies of that fake module.


In the daily summaries for AEP, show = even if only one group is subscribed in that channel

since i guess #1572 isn't actually a bug

No more RBG


CUDA_VISIBLE_DEVICES=0 python train_search.py when we run this command getting error?

Your work seem to be good enough to see but i have some doubts When i tried running the above command it showing error
Traceback (most recent call last):
File "train_search.py", line 23, in
from datasets.cityscapes.cityscapes import Cityscapes
File "/media/drive/2f08d5f1-1439-4edf-9bb4-1d19896475a5/Naveen/FasterSeg/tools/datasets/init.py", line 1, in
from .cityscapes import Cityscapes
File "/media/drive/2f08d5f1-1439-4edf-9bb4-1d19896475a5/Naveen/FasterSeg/tools/datasets/cityscapes/init.py", line 1, in
from .cityscapes import Cityscapes
File "/media/drive/2f08d5f1-1439-4edf-9bb4-1d19896475a5/Naveen/FasterSeg/tools/datasets/cityscapes/cityscapes.py", line 6, in
class Cityscapes(BaseDataset):
TypeError: module.init() takes at most 2 arguments (3 given)
May i know what is the reason for this error @chenwydj @TianlongChenTAMU

Hi @Naveennavik! Thank you for your interest in our work!
I just cloned my repo and tested it again, and the search script works. I did not meet your error.
Could you please make sure you are on the latest commit?

Thanks for replying,I'm using latest commit only .
Can i use the test to work on my own dataset?

You can learn how to write your own dataset by following BaseDataset.py and cityscapes.py.

In BaseDataset.py main these are the line i need to give path right?
img_root=is the path to the image folder
whereas train_source and eval_source is what may i know
Big Thanks in advance
data_setting = {'img_root': '',
'gt_root': '',
'train_source': '',
'eval_source': ''}

Please follow this configuration file.

For the new dataset we need train and then only we can test right orelse we can directly run test code?
I dont understand clearly on the documentation how to run ?

If your dataset is very different from Cityscapes (e.g. different number of semantic classes, large appearance gap), then yes, you first need to train on your dataset, then evaluate.

cityscapes_train_fine.txt
cityscapes_train_val_fine.txt
cityscapes_val_fine.txt
cityscapes_test.txt
How to prepare these txt files for further process

You can just use python to list all the file names and write them into a file with the same format.


docker_image does not support running from a directory

Dockerfile ADD commands are often relative to a directory, but the docker_image command doesn't support any sort of "run from this directory" command. You can work around this by choosing a directory instead and this works for most situations, but it would be a useful addition.

Sure it does.
https://github.com/chef-cookbooks/docker/blob/master/test/cookbooks/docker_test/recipes/image.rb#L129-L148

Sorry, I should clarify. It supports "run from this directory" if the file you want to build from is called "Dockerfile". It doesn't support the use case I had, which was "run from this directory, but use this differently named file as the Dockerfile" (because I actually had two different Dockerfile's I wanted to run that were both in that directory). I solved this in my case by splitting everything up into separate folders and renaming the files to Dockerfile, but that won't fix everyone's situations.

I'm trying to figure out what support for this would look like....
First thing would be the interface... I image we'd need a property on docker_image and an example of it being exercised somewhere near here:
https://github.com/chef-cookbooks/docker/blob/master/test/cookbooks/docker_test/recipes/image.rb#L103-L105
Then somehow tweak this function:
https://github.com/chef-cookbooks/docker/blob/master/libraries/helpers_image.rb#L9
It really boils down to if the underlying docker-api rubygem supports doing this.
-s

The underlying API definitely supports it. One of the examples from docker-api is Docker::Image.build_from_dir('.', { 'dockerfile' => 'Dockerfile.Centos' }) i.e. specifying directory and Dockerfile name


New demo app

Please checkout "new-demo-app" branch to see it in action

Codecov Report

Merging #22 into master will decrease coverage by 0.06%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##           master      #22      +/-   ##
==========================================
- Coverage   61.18%   61.11%   -0.07%
==========================================
  Files          28       28
  Lines         912      913       +1
==========================================
  Hits          558      558
- Misses        354      355       +1

Impacted Files
Coverage Δ

Sources/Layout/ClosureLayout.swift
0% <0%> (ø)
:arrow_up:

Sources/Layout/FlowLayout.swift
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


fuzz results differ on local vs github CI

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (7bba788 2023-05-10T00:11:46.049317000Z)
What command(s) is the bug in?
forge snapshot
Operating System
macOS (Apple Silicon)
Describe the bug
The fuzz run gas usages differ on my machine vs in github CI. This has been going on for 1-2 months already
Things I tried

comparing the forge config on my machine vs in github CI

discovered that the default remappings for ds-test was defaulted to "ds-test/=lib/forge-std/lib/ds-test/src/" while it was "ds-test/=lib/solmate/lib/ds-test/src/" on the github CI
tried changing to both, but the fuzz runs gas outputs still differ slightly, and therefore CI tests failing

This is the original foundry.toml
[profile.default]
solc = "0.8.19"
#via_ir = true
bytecode_hash = "none"
optimizer_runs = 1_000_000
libs = ['lib']
remappings = [
    "@openzeppelin/=lib/openzeppelin-contracts/contracts/",
]
match_path = "test/unit/*.sol"
verbosity = 3
fs_permissions = [
    { access = "write", path = "./script/optimized-deployer-meta" },
    { access = "write", path = "./script/unoptimized-deployer-meta" },
]
ignored_error_codes = []

[profile.integration]
match_path = "test/integration/*.sol"

[profile.differential]
fs_permissions = [{ access = "read", path = "./reference/balancer-v2-monorepo" }]
match_path     = "test/differential/*.sol"

[profile.differential.fuzz]
runs = 10_000

[fmt]
bracket_spacing   = true
wrap_comments     = false
number_underscore = "thousands"
int_types         = "long"

[profile.script]
optimizer_runs = 1_000_000

Are you setting a fuzz seed? Most likely this is because each fuzz run uses different random values which affects gas costs

did not set a fuzz seed in foundry.toml as you can see. But when I run forge config it doesn't have anything related to the seed as well

Right, so if a fuzz seed is not present in the config (which is the default, and which is why you don't see it when running forge config), then it means "use a random seed each time forge test is invoked

did not set a fuzz seed in foundry.toml as you can see.

You may have been setting a fuzz seed with the FOUNDRY_FUZZ_SEED env var which overrides what's in the config

Alright so I just tried setting a fuzz seed and the github CI gas usage still differs from my local machine's.
Check out my branch

the only other difference that the github CI runs with the ci profile. But the config displayed by forge config does not show any difference compared to the default profile.
Any thoughts? @mds1

A few possibilities:

The file you are checking against may be out of date and need to be rengenerated with the new fuzz seed
Your CI has FOUNDRY_PROFILE: ci, but the config file has no ci profile
The way you currently specify the seed only applies to the default profile, so if you use a different profile it may not have the seed set. Check out the foundry book for more info here
Try seed = 1 e.g. a number instead of a hex string. I don't recall offhand which format is required, but I've always used numbers, so maybe that matters.


@useResult annotation doesn't count passing to a function as named argument as use

I have a group of functions that don't have side effects and should always be used somehow and I spent some time debugging a place where it was not used this way. I thought @useResult is the right defense-in-depth, but looks like it doesn't understand named arguments:
import 'package:meta/meta.dart';

@useResult
int test(int x) => x;

void functionWithPositionalArg(int x) {}

void functionWithNamedArg({required int x}) {}

main() async {
  functionWithPositionalArg(test(1)); // no warnings, all good
  functionWithNamedArg(x: test(2)); // "The value of 'test' should be used."
}

Docs for useResult clearly promise that "A value is considered used if it is (...) passed to a function".

% flutter doctor --version
Flutter 3.0.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision fb57da5f94 (3 weeks ago) • 2022-05-19 15:50:29 -0700
Engine • revision caaafc5604
Tools • Dart 2.17.1 • DevTools 2.12.2

Also reproduces on https://dartpad.dev (which seems to use the same version that I have).

I see that dartpad allows trying out different versions and it reproduces there on the beta channel as well ("Based on Flutter 3.1.0 Dart SDK 2.18.0-44.1.beta").

I just confirmed that the bug has been fixed at HEAD. Note that @asashour was using a newer version of the Dart SDK than was being used in DartPad, which explains the difference. I don't know which version of Flutter will first contain the fix, but it is will appear in a future release.

Understood, thank you!


Can't turn off copilot globally

The following piece of code doesn't turn off copilot globally. I'd like to be able to enable it whenever I need it, not have it constantly on.
;; enable copilot manually
(after! copilot
  (global-copilot-mode -1))

The expected output should be that the minor mode is turned off for every buffer, however this is not the case.

You can use copilot-mode to manually enable it, and there is nothing to do with global-copilot-mode.
I guess you copied the example configurations, so you need to delete the hook, such as :hook (prog-mode . copilot-mode).

Wow I have no idea how I missed that lol. Changed it to :after copilot and now it is disabled by default.
Thanks.


Re-factor the blob-URL caching in DownloadManager.openOrDownloadData

Cache blob-URLs on the actual data, rather than DOM elements, to reduce potential duplicates (note the updated unit-test).

/botio test


Package laravel-auth: "reset, 2fa, google one tab"

Tasks:

reset
2fa
google one tab - PKG-20

➤ Galymzhan Begimov commented:
What about email verification?


Update start.scss to conform to bootstrap 5.1 instructions

Following the instructions here: https://getbootstrap.com/docs/5.1/customize/sass/#variable-defaults
Moved the functions import first, to avoid $theme-colors "isn't a valid
CSS value" https://stackoverflow.com/q/68909199/573389

Thanks but this will be fixed in #49

Cool that's good to know. That's why I targeted the v5 branch.

Actually, wait. If this is targeting the v5 branch it might still be valid. /CC @mdo

The key line from the docs is

Variable overrides must come after our functions are imported, but before the rest of the imports.

which I also added in a comment so it's not missed. That seems to be the difference.


Private Chain - After Broadcast Transaction not credited

Hi, I have established a private chain and was able to get  the initial 100 million NEO into my contract address. I tried to transfer the NEO's to one of my 4 wallet's and done all signature process until Broadcast.
Its been an hr but no luck transferring the NEO. In the transaction histroy I can see one transaction.
Am I missing something!!!
Thanks!
Vaduganathan

Height is 0. You are not connected to any host. Did you create the private-chain using a CoZ docker image?

I am very new to block chain, trying to understand from document available in neo wesite. I used Neo-Cli on four private servers and started consensus.
I used Neo-GUI for transfer of NEo

Try:
1- Ping consensus node's between consensus node.
2- Ping consensus node's from the neo-gui host.
3- Close neo-gui, delete chain folder and peers.dat and start neo-gui

1 and 2 were success - 0% loss
3rd did not help

Hi, is there anything to do with magic value, I have same for all 4 private server.

Magic vale must be the same for all 4 nodes.
Are the consensus node's (start consensus) running and 'relaying' blocks? Can you upload an image?

Let' see:
a) You can't connect from neo-gui to the consensus nodes.
b) Consensus process is not running.
Try:
a) Check if ports 10331 to 10334 are open on the 4 consensus nodes.
b) Delete chain folder and peers.dat on one consensus node, and start consensus.
c) Follow the documentation (in Spanish, but you can follow the screenshots) http://docs.neo.org/es-es/node/private-chain.html

I did everything from the beginning, download to install... No luck. same issue.
Thanks for your support, will drop this for now.

@VaduganathanP<EMAIL_ADDRESS>I have similar issue similar to what you have both faced.
Here's what you can do. Close the 4 neo-cli node and open neo-gui. then open all the four neo-cli. Open one of the wallet..(make sure your protocol.json and congif .json files are all right). Then you can see the blocks are getting synchronised and they are connected.


Documentation links missing on versions >=16.9

On the page https://reactjs.org/versions/ , all of the versions from 16.9 and above (newer) are missing the "Documentation" link.

@a2intl are you sure? I'm seeing all the way up to 16.13.1

@kwaimind what @a2intl is trying to say is that versions 15.6-16.8 have both changelog and documentation links, but versions 16.9-16.13.1 have only changelog link (as seen in both your screenshots)

Yeah that's my bad 🙋♂ I totally misread the message.

Also all the documentation links seem to result in Page Not Found errors. Maybe removing them and just keeping the changelogs would be a good idea @rickhanlonii ?

Something broke with the redirects. :-(

(But that's a separate problem from us forgetting to update the page.)

Oh. That's why I couldn't find the /version/versionNumber page anywhere.

How can this be open for months with multiple issues and no action? Not everyone is using the latest and greatest and people often need to reference old docs.

Redirects were originally added in https://github.com/reactjs/reactjs.org/pull/801.
You can see there's a script that appends stuff to _redirects. My guess is that somehow this script either doesn't run anymore since some Gatsby update, or it doesn't write things in the correct format, or it isn't written at the right time.
If someone wants to look into the cause, it would be highly appreciated.

How can this be open for months with multiple issues and no action? Not everyone is using the latest and greatest and people often need to reference old docs.

I totally understand your frustration! It slipped through the cracks. We're a small team and there are hundreds of issues across many repos. This one kept coming up so I expected that somebody motivated would send a PR with a fix, but maybe there weren't enough details. I hope there's enough now.

Here's my guess https://github.com/reactjs/reactjs.org/pull/3516

And here's my workflow for finding the issue, in case someone wants to contribute to similar issues but doesn't know how:

I looked for where the versions are pulled from. That's versions.yml.
I searched PRs for "versions" and found the PR that introduced this functionality. (Another way to do this would be to look at Git history for versions.yml and find when it was checked in.)
I read the PR (https://github.com/reactjs/reactjs.org/pull/801). It appends some generated stuff to public/_redirects on Gatsby build.
I put a log in that function and did yarn build locally. The function ran, but the file was not modified.
I verified that we do get to the end of the script, so it's something with appendFile not working. But I also noticed that there is some other script appending to the same file. That gave me the idea about the race condition.
I looked at the call to the script and noticed a missing await.

The fix ended up being one line.
We totally dropped the ball here and I agree we should have looked much earlier. At some point I assumed the problem was with the hosting, and I even remember bringing this up with Netlify support, but I think I forgot to follow up about this.
Still, this is an open source project, and I hope that the above writeup can show how someone motivated to fix this could do it. I didn't have any knowledge about how this version integration was set up, and it didn't take that long to fix. Nice contribution opportunity. :-)


[AMBARI-25012] Log Search UI: cannot save filters + select all selecting the ovirrides as well

What changes were proposed in this pull request?
Save button state: Changing the enable/disable condition to a more direct one.
Overrides checking with "select all": checking the component hasOverrides prop too.
How was this patch tested?
It was tested manually and by unit tests:
PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 295 of 295 SUCCESS (11.208 secs / 11.037 secs)
✨  Done in 40.82s.

Please review Ambari Contributing Guide before opening a pull request.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-LogSearch-Github-PR-Builder/115/
Test PASSed.


feat: 🎸 Stepper Component for Angular

Stepper Component for Angular
Stepper Component for the Wizard
https://momentum.design/components/stepper/style
Description
https://momentum.design/components/stepper/style
https://momentum.design/guidelines/wizards
Related Issue

Motivation and Context
This is the implementation of the guidelines for Wizard
How Has This Been Tested?
This is tested using the examples component
Screenshots:

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation update
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Other... Please describe:

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

@NewtonJoshua Please fix the conflicts, so we can merge it to the master.

@wzpo , @ArthusLiang :
Please note that the branch is updated and there are no conflicts.
Please proceed with merging the branch


Online Presence

It could be useful automatically determining who is online at a given point in time.
One use would be only showing online player characters in the character list by default and showing offline characters only when requested. This would make people not present for a session a little out of the way to avoid confusion.
Firestore does not automatically support this, but there is a guide for setting it up by using a combination of Realtime Database and Cloud Functions. We should explore its costs and how much effort is required to link it up.

https://firebase.google.com/docs/firestore/solutions/presence

Since we will probably use Realtime Database for live drawing on battle and world maps, we might as well implement this at that point.


ruby: update GEM_HOME, GEM_PATH and PATH

Currently Ruby works well with bundler in devenv. However, bundle exec is always needed to set the environment correctly.
Some tools require calling the Ruby-gem executabeles directly without bundle exec. For instance, these call rails instead of bundle exec rails. This will fail, because rails is not part of PATH.
This PR attempts to set GEM_HOME to the right directory of the bundler state directory, which holds the gems. It also prepends the gems directory to GEM_PATH and prepends the gem-bin directory to PATH.
I was able to do:
$ devenv shell
$ bundle
$ rails new .
$ rails server

Needs resolved config :)

It would be great to also add nixpkgs-ruby to the ruby example :)


sandbox: make vm stop successful if vm exit unexpected

if vm exited unexpected, stop process should be successful
Fixes: #1539
Signed-off-by: Ace-Tang<EMAIL_ADDRESS>re-produce step
1. run a kata container
# ctr  run -d docker.io/library/busybox:latest k1 top

2. kill vm
# ps -ef | grep kata
root     10924 10903 13 22:34 ?        00:00:00 /usr/local/libexec/qemu-kvm -name sandbox-k1 -uuid ce996b5c-3abd-4568-818d-9756239d9550 -machine q35,accel=kvm,kernel_irqchip,nvdimm,nosmm,nosmbus,nosata,nopit,static-prt,nofw -cpu host -qmp unix:/run/vc/vm/k1/qmp.sock,server,nowait -m 2048M,slots=10,maxmem=32457M -device pci-bridge,bus=pcie.0,id=pci-bridge-0,chassis_nr=1,shpc=on,addr=2,romfile= -device virtio-serial-pci,disable-modern=false,id=serial0,romfile= -device virtconsole,chardev=charconsole0,id=console0 -chardev socket,id=charconsole0,path=/run/vc/vm/k1/console.sock,server,nowait -device virtserialport,chardev=metricagent,id=channel10,name=metric.agent.channel.10 -chardev socket,id=metricagent,path=/run/vc/vm/k1/metric.agent.channel.sock,server,nowait -device nvdimm,id=nv0,memdev=mem0 -object memory-backend-file,id=mem0,mem-path=/usr/local/share/daishu/rootfs.img,size=235929600 -device virtserialport,chardev=charch0,id=channel0,name=agent.channel.0 -chardev socket,id=charch0,path=/run/vc/vm/k1/kata.sock,server,nowait -device virtio-9p-pci,disable-modern=false,fsdev=extra-9p-kataShared,mount_tag=kataShared,romfile= -fsdev local,id=extra-9p-kataShared,path=/run/kata-containers/shared/sandboxes/k1,security_model=none -global kvm-pit.lost_tick_policy=discard -vga none -no-user-config -nodefaults -nographic -daemonize -kernel /usr/local/share/daishu/vmlinux -append tsc=reliable no_timer_check rcupdate.rcu_expedited=1 i8042.direct=1 i8042.dumbkbd=1 i8042.nopnp=1 i8042.noaux=1 noreplace-smp reboot=k console=hvc0 console=hvc1 iommu=off cryptomgr.notests net.ifnames=0 pci=lastbus=0 root=/dev/pmem0p1 rootflags=dax,data=ordered,errors=remount-ro rw rootfstype=ext4 debug systemd.show_status=true systemd.log_level=debug panic=1 nr_cpus=8 init=/usr/lib/systemd/systemd systemd.unit=kata-containers.target systemd.mask=systemd-networkd.service systemd.mask=systemd-networkd.socket -pidfile /run/vc/vm/k1/pid -smp 1,cores=1,threads=1,sockets=1,maxcpus=8
root     10929 10903  0 22:34 pts/0    00:00:00 /usr/local/bin/kata-proxy -listen-socket unix:///run/vc/sbs/k1/proxy.sock -mux-socket /run/vc/vm/k1/kata.sock -sandbox k1
root     10940 10903  0 22:34 pts/0    00:00:00 /usr/local/bin/kata-shim -agent unix:///run/vc/sbs/k1/proxy.sock -container k1 -exec-id k1
root     10975 10866  0 22:34 pts/1    00:00:00 grep --color=auto kata
# kill 10924

3.  delete task
# ctr t delete k1
ctr: failed to delete task: dial unix /run/vc/vm/k1/qmp.sock: connect: no such file or directory: unknown

kill vm is a easy way to re-produce the problem, I think when this happen, we should check if vm process is still running, if not , we can continue the delete process.

@Ace-Tang I think the correct way to handle this is have the shim exit once the VM exits. I thought we had a notification mechanism in place in the shim, if not we should make sure this is in place and works.

cc @sboeuf

@amshinde - how does this apply for v2-shim configuration

@egernst ， it was only test for v1, I will test for v2 kata shim

/test

Hi @Ace-Tang, after applying this patch, does kata be stopped smoothly after qemu process was killed?
It seems kata doesn't take care about the condition of hypervisor's exited abruptly very well, I think it's not enough only to check the hypervisor's process exist when to stop hypervisor and  We need  to figure out a comprehensive way to make kata cli and shimv2 detected the hypervisor's exited and stop/cleanup containers smoothly.

Hi @lifupan ,

after applying this patch, does kata be stopped smoothly after qemu process was killed?

in shim v1, when I directly killed qemu , it will exit successfully with this patch.

We need to figure out a comprehensive way to make kata cli and shimv2 detected the hypervisor's exited and stop/cleanup containers smoothly.

I have test shim v2,  when I directly killed qemu , it not exit successfully with this patch, so I still need to do some test to see what we need.
And thanks for your review, @lifupan @teawater , I will update this pr soon

/test

Hi, @lifupan , for the qemu hypervisor, I wonder if we can get  event from qmp, when vm exit unexpected, we can know from event, and we can do some cleanup , and make sure sandbox should be stopped

/test

Hi, @lifupan , for the qemu hypervisor, I wonder if we can get event from qmp, when vm exit unexpected, we can know from event, and we can do some cleanup , and make sure sandbox should be stopped

For qmp, there is a channel q.qmpMonitorCh.disconn, maybe it can be used to monitor is the qemu exited or not.

there is a channel q.qmpMonitorCh.disconn

Yes, this is what I mean, and if we monitor the event, https://github.com/kata-containers/runtime/issues/1368  also can be fixed.

The patch can make v1/v2 shim stop successfully when vm exit unexpected.

Hi @Ace-Tang ! What is the status on this, ready for re-review?

@Ace-Tang Can you address the latest comments on this PR so that we can move forward with this.
I would also like to understand clearly the difference between issue #1368 and #1539.
In the long run, I think we can have the shim monitor for the existence of the qemu process and exit once qemu is killed forcefully. This will also immediately notify the upper layers and reflect the correct container status.

@amshinde @gabibeyer ，thanks for the reply, and sorry for answer so late.

In the long run, I think we can have the shim monitor for the existence of the qemu process and exit once qemu is killed forcefully.

I want to re-think a way to fix  #1368 and #1539, and I think this advise is good.

Any update? ping @Ace-Tang

@caoruidong , in progress, :smile:

Updated, and use ctr to test with shim v1/v2. When vm exit unexpected, containerd can delete task successful, and files can be cleanup.

/test

I am not find why CI all fail

This feels like it might be a race condition: the CI is showing different unit tests failing such as:

TestCreateEmptyHypervisorSandbox
TestCreateMockSandbox
TestCreateSandboxEmptyID

But all these tests are failing in the same way:
level=error msg="Unable to launch /tmp/vc-tmp-938166972/hypervisor: fork/exec /tmp/vc-tmp-938166972/hypervisor: permission denied"

@Ace-Tang ping 😄  From your weekly Kata-herder

Could someone help to re-trigger this test

/test

:cry:

@Ace-Tang - all CIs failed - probably is the PR :-(
Example from 18.04 CI logs:
10:45:02 === RUN   TestSandboxStateReadyRunning
10:45:02 --- PASS: TestSandboxStateReadyRunning (0.00s)
10:45:02 === RUN   TestSandboxStateRunningPaused
10:45:02 time="2019-07-03T09:45:02Z" level=error msg="Unable to launch /tmp/vc-tmp-823342722/hypervisor: fork/exec /tmp/vc-tmp-823342722/hypervisor: permission denied" source=virtcontainers subsystem=qmp
10:45:02 time="2019-07-03T09:45:02Z" level=error source=virtcontainers subsystem=qmp
10:45:02 FAIL	github.com/kata-containers/runtime/virtcontainers	2.989s
10:45:02 Makefile:543: recipe for target 'go-test' failed

With #1859 , there is no  fork/exec /tmp/vc-tmp-823342722/hypervisor error , virtcontainer unit test can pass

/test

=== RUN   TestIsShimRunningFalse
--- FAIL: TestIsShimRunningFalse (0.00s)

this test fails because I change IsProcRunning code ,  use unix.Kill(pid, syscall.Signal(0)) to test pid is alive, but the test use sleep 0, want process be found, and check this process is not alive.
process, err := os.FindProcess(pid)
-       if err != nil {
-               return false, err
-       }
-
-       if err := process.Signal(syscall.Signal(0)); err != nil {
-               return false, nil
-       }

/test

@Ace-Tang CI is green, but you need to rebase your pr

@Ace-Tang - please rebase and repush to resolve the conflicts on this PR.

@Ace-Tang any updates on this PR? Thx!

I think this PR isn't necessary at all, AFAIK  @bergwolf  had fixed this issue by adding a hypervisor's monitor watching.

closed


Polish the context related codes.

[x] Make some polish after #5666.
[x] Update the CHANGES log. Don't need to, I just polish codes.

Basically, ideas are

Closing unnecessary methods in the ContextCarrier, as it is much more important than I first designed this.
Remove unnecessary object creation(class ExtensionInjector) to reduce GC(very tiny).
Make the comments more clear.

@EvanLjp PTAL

@wu-sheng LGTM


Fixed error on Windows with the line of print line in autorefreshserver.py, but still fixing the issue on ImportError for Windows

Fixed error on Windows with the line of print line in autorefreshserver.py, but still fixing the issue on ImportError for Windows
Currently fixing the ImportError for Windows

I have merged your PR. Please note that I no longer maintain or use this code. There are better ways to autorefresh a site when under development -- checkout http://livereload.com/. Tks.


Revert "Fix: Update automation scripts for Jan release"

Reverts mbta/reduced_fares#56, as we did not ultimately deploy to Production yesterday.

These updates were tied to the January release. I merged them yesterday morning anticipating the release, which was a mistake on my part.
It's correct that the PreProd run will still pass when run manually. The nightly prod run will fail until our deployment on the 18th if we don't revert this, as all of the nightly automated tests are looking for the updated IDs and page section selectors that don't exist. They aren't finding them, failing, and leaving us with no Prod coverage, e.g., this run.

Sounds good to me! Will have a draft PR ready shortly after this merge.


Add workload identity labels to keda pods

Signed-off-by: Vighnesh Shenoy<EMAIL_ADDRESS>
The azure.workload.identity/use label will now be required for pods as well (besides the service account).
https://github.com/Azure/azure-workload-identity/pull/629
Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO - learn more)

Fixes #

Do we need both annotations since now? I mean, are both required or it's one or the other?

Do we need both annotations since now? I mean, are both required or it's one or the other?

Do we need both annotations since now? I mean, are both required or it's one or the other?

https://azure.github.io/azure-workload-identity/docs/topics/service-account-labels-and-annotations.html
From what I get from this page is that both are required.


Added additional telemetry to VsTest task

@ShreyasRmsft,
Thanks for your contribution.
To ensure that the project team has proper rights to use your work, please complete the Contribution License Agreement at https://cla.microsoft.com.
It will cover your contributions to all Microsoft-managed open source projects.
Thanks,
Microsoft Pull Request Bot

                                                                    defer.resolve(tl.TaskResult.Failed);

Any reason to ignore this ..? and couple of other above..?

Refers to: Tasks/VsTest/vstest.ts:627 in 4bd6fb1. [](commit_id = 4bd6fb131903479eaf5fa0664dd04495e21e0968, deletion_comment = False)

:clock1:

                                                                    defer.resolve(tl.TaskResult.Failed);

Will be adding ci data here.

In reply to: 325940897 [](ancestors = 325940897)

Refers to: Tasks/VsTest/vstest.ts:627 in 4bd6fb1. [](commit_id = 4bd6fb131903479eaf5fa0664dd04495e21e0968, deletion_comment = False)


Constants removed from some message definitions

Commit 2d473bbfb10e7c912671a21952479b2bb41a5f39 removed the constants in some of the message definitions.
I noticed it in etsi_its_msgs/etsi_its_cpm_ts_msgs/msg/CpmContainerId.msg first, but I think it has happened some other messages during the recreation in that commit.

Please see the breaking changes listed in https://github.com/ika-rwth-aachen/etsi_its_messages/pull/48. The constants in CpmContainerId.msg have moved to WrappedCpmContainer.msg. With the transition back to the Python-based code generation, we have fixed some bugs and restructured some handling of ASN.1 sytax, in this case the handling of the CLASS keyword. Unfortunately, this leads to some breaking changes in the message definitions.
We are going to publish a new release this week, where you will also be able to find all breaking changes in the release notes.

Ah. Sorry, I didn't notice that.
Thanks for the quick reply.

Here's the full list of breaking changes in the release notes :)
https://github.com/ika-rwth-aachen/etsi_its_messages/releases/tag/v3.0.0


Update ImportAzureApplicationGateway.ps1 for Az module an password security

AzureRM has been generally deprecated in favour of the Az module, this is largely just a drop-in replacement for commands.
For encoding passwords with the new method we need to use -Force and -AsPlainText
https://learn.microsoft.com/en-us/azure/application-gateway/renew-certificates

Wouldn't this break the script for existing users?

I think making this a .v2 version of the script would be wise.


Enable gluon multi worker data loader test

Description
Re-enable the skipped test for Gluon DataLoader. Described in this issue - https://github.com/apache/incubator-mxnet/issues/11455
Tests are working fine on latest master.
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[X] Changes are complete (i.e. I finished coding on this PR)
[X] All changes have test coverage:

Changes

Enable - tests/python/unittest/test_gluon_data.py:test_multi_worker

Comments
Ran for 10,000 runs on CPU/GPU with/without MKLDNN.
~/incubator-mxnet$ MXNET_TEST_COUNT=10000 nosetests -s --verbose tests/python/unittest/test_gluon_data.py:test_multi_worker
/usr/local/lib/python3.5/dist-packages/nose/util.py:453: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead
  inspect.getargspec(func)
[INFO] Setting module np/mx/python random seeds, use MXNET_MODULE_SEED=1359342575 to reproduce.
test_gluon_data.test_multi_worker ... ok

----------------------------------------------------------------------
Ran 1 test in 509.370s

OK

@marcoabreu

@marcoabreu - ping.

@piiswrong @marcoabreu - ping.
Can we merge this and see if any issues crop up? In my test runs, I didn't see any failures.

@marcoabreu - I would like to merge this change. As mentioned before, there are no failures in my trail runs. I would revert back / fix if any issues crop up.


What should we do if a user does not have a profile picture?

Users may be able set up a profile without a profile picture. How should we handle this case?
Should we display a fallback image (like one of these)? If so, an SVG image be good for that.

@forabi @msafih should we use custom pic or Facebook default picture?
My thoughts: if we use Facebook comments widget (where Facebook uses default pics), then seems it's better to use Facebook default picture everywhere for consistency?

Using Facebook default picture makes sense to me. We can go with that for
now.
في الأربعاء، ٨ تشرين الثاني، ٢٠١٧ ٩:٤٢ م Max Gorbachev <
<EMAIL_ADDRESS>كتب:

@forabi https://github.com/forabi @msafih https://github.com/msafih
should we use custom pic or Facebook default picture?
My thoughts: if we use Facebook comments widget (where Facebook uses
default pics), then seems it's better to use Facebook default picture
everywhere for consistency?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hollowverse/design/issues/10#issuecomment-342935981,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA90GXRVUR5cV8-ymFFwB8edcFL2kuiPks5s0gQrgaJpZM4QSGvb
.


#140 Manifest as build parameter

In reference to #140 i am proposing manifest as command param. Let me know guys!

perfect, thanks!


ButtonBarPagerTabStripViewController is behind childExampleViewController?

I tried implement ButtonBarPagerTabStripViewController on my project but the navbar is behind the child controller? I checked and checked the example project but can't find what i am doing wrong here
Any help?
Here is a screenshot while dragging to the right you can check that the navbar starts appearing

Okay was doing something wrong i tried implementing again and its working correctly now


Edge weights

Seeing as numerous graph algorithms and topics use edge weights, we should find a way to support edge weights. Likely they could just be paired with our representation of edges.
An extended feature we could also look into support eventually is capacity/flow, as max-flow/min-cut problems are pretty cool.

Hey - I think this is closed.  Edge weights have been implemented, as well as the max flow algorithm from my team.  I'm going to look into merging the (all properly working now) new algorithms into your website when I get the chance.


uplink.net working for framework 4.7.2

Hi, friends,
I have a question, uplink.net can be used within a .net framework 4.7.2 project or is it exclusive to Net Core

It should work though I haven't tried it myself.

That is my expectation, too. It should work without problems.

@eddy7904 Do you still have problems here or may we close this issue?

Closing this as there was no further response.


Problem: genesis page is not up to date

genesis hash not documented
currently, only "genesis app hash" is documented.
But app hash is different from the overall genesis hash that's expected for light client verification

genesis page is outdated

Besides describing what is this overall genesis hash, any suggestion on what should be inculded? @linfeng-crypto
For example, how to obtain the genesis hash by dev-utils genesis hash?

Besides describing what is this overall genesis hash, any suggestion on what should be inculded? @linfeng-crypto
For example, how to obtain the genesis hash by dev-utils genesis hash?

the important thing is to document its components and how it's calculated -- how to obtain isn't a big deal, as that command may change and for the testnet, it'll be provided in the documentation

https://github.com/tendermint/tendermint/issues/4113
tendermint also have this concept of genesis hash, I guess we should make ours compatible with that.

Will finish it once the renaming in #1670 is done.

Can be closed by #145


Switch to maven-publish plugin

The maven plugin currently used seems to be pretty old, and the suggested plugin is maven-publish. Switch implementation.

Switched to Maven instead


Segmentation (mistakenly?) reported as orthogonal to image

With a sample dataset available by request, I am seeing an error loading segmentation with the error "Segmentations orthogonal to the acquisition plane of the source data are not yet supported", while the orientation seems to be within the tolerance.

dcmjs-org/dcmjs#220 should fix the regression.


How does Salus use an exsiting lane?

https://github.com/SymbioticLab/Salus/blob/master/src/oplibraries/tensorflow/device/gpu/lane/lanemgr.cpp#L336
Given that a lane has already been assigned to a DL job, it seems that other DL jobs cannot share this lane according to the following code:
std::unique_ptr<LaneHolder> GpuLane::tryFit(size_t persistent, size_t peak)
{
    auto g = sstl::with_guard(m_mu);
    auto maxPeak = peak;
    if (!m_maxPeak.empty()) {
        maxPeak = std::max(maxPeak, *m_maxPeak.cbegin());
    }
    if ((persistent + maxPeak) <= m_availableMemory) { // 1
        addHoldUnsafe(persistent, peak);
        return std::make_unique<LaneHolder>(sstl::add_ref(this), persistent, peak);
    }
    return {};
}

Actually maxPeak will equal to m_availableMemory at 1 when the second DL job that wants to share this lane invokes this function. persistent should be greater thant 0. Then it will skip if-block.

hmm, you are right. the logic seems to be incorrect there. The idea is that a lane keeps its size when first created, which equals to persistent + peak of the first workload in the lane. New workload will fit in if its persistent and peak is smaller than available.

I see. So just remove the following code?
    if (!m_maxPeak.empty()) {
        maxPeak = std::max(maxPeak, *m_maxPeak.cbegin());
    }

I'm away from pc so I can't judge at the moment. You should be careful removing it though. I probably added it for a reason. The lane should always maintain its largest peak, given workloads can come and go. I think m_maxPeak is related to this logic. So check that before you proceed

ok. Another question is whether a lane can change its size on the fly?

no it can't


Change offtarget genome?

Hi there!
How can I repurpose flash to search for off-targets in genomes other than humans? It seems human is set as the default. I am a newbie to coding but can get this excellent package running, although I can't workout how to use a different genome for off-target searching.
@batson maybe you could give me a few pointers?
In my specific case, I want to use flash to multiplex pathogen detection in wheat samples. For this, I need the off-target genome to be wheat.
I hope you can help. Cheers,
Gus

I have it mostly working now after making some adjustments to Makefile. My new roadblock is this error:
make build_indices
make[1]: Entering directory '/home/mcfarg01/flash'
make start_offtarget_server
make[2]: Entering directory '/home/mcfarg01/flash'
cd offtarget && go build
/bin/sh: 1: go: not found
Makefile:17: recipe for target 'compile_offtarget_server' failed
make[2]: *** [compile_offtarget_server] Error 127
make[2]: Leaving directory '/home/mcfarg01/flash'
Makefile:25: recipe for target 'build_indices' failed
make[1]: *** [build_indices] Error 2
make[1]: Leaving directory '/home/mcfarg01/flash'
Makefile:52: recipe for target 'library_excluding' failed
make: *** [library_excluding] Error 2

I've worked it all out. A valuable tool - THANKS!


BUG: Diablo 1 no mouse control via right analog thumbstick

I am on the latest version of ArkOS on an ANBERNIC RG351P. Mouse is locked in the left hand corner and cannot move.

Looks like something with the new kernel caused the mouse to no longer function in Diablo 1.  I can't seem to figure out what's caused the issue as it was the same issue previously experienced on the 64 bit version of Diablo 1.  I've submitted the issue for review upstream in hopes they can help identify a resolve.  https://github.com/diasurgical/devilutionX/issues/943

for now... should we try to play this off of the 32bit version of Retroarch?

No solution at this point.

Mouses!
The only time the mouse location values were updated was when an SDL_MOUSEMOTION event was being triggered and the right stick movement was definitely not triggering that event.
Update Mouse location within the HandleRightStickMotion routine has fixed the issue on the OGS.
https://github.com/southoz/devilutionX/commit/6a82fdee333bfd68105344914a629caae6e90f8e

Mouses!
The only time the mouse location values were updated was when an SDL_MOUSEMOTION event was being triggered and the right stick movement was definitely not triggering that event.
Update Mouse location within the HandleRightStickMotion routine has fixed the issue on the OGS.
southoz/devilutionX@6a82fde

Nice.  I'll check this out asap and if good, push an update to resolve!

I've confirmed that this does fix the mouse issue.  This fix will be included in the next update soon.

is there a manual fix for those that are on say... Retro OZ on OGS...?

Thanks to everyone that's never given up and found a fix by the way!

If your comfortable with ssh or winscp, you can just take the executable out of the attached compressed file and put into the /home/ark/.config/devilution folder.  RertroOZ may have a similar setup as well to allow this.  You may have to set the permissions for the file to be executable so it can run.  chmod 755 devilutionx
devilutionx.zip

I'm familiar with ssh and winscp. I'll give it a shot.  THANKS!

jumped into my winscp.  there is a ".config" folder in there, but no "devilution" folder within that.  All well.  I'll probably need help from the developer as to where the config folder is hiding for this port.  thanks for the help anyway

The folder is /home/ark/.config/devilution
ark@rg351p:~/.config/devilution$ l -a -l
total 2632
drwxrwxrwx  2 ark  ark     4096 Dec 16 05:35 ./
drwxrwxrwx 15 root root    4096 Apr 16 21:44 ../
-rwxrwxrwx  1 ark  ark  2684440 Dec 16 05:35 devilutionx*
ark@rg351p:~/.config/devilution$

Yeah... I haven't gotten to the point to work on my RG351 running ArkOS.  At the moment, I was trying to get the mouse working for my OGS running RetroOZ.   So... for RetroOZ... I just need to place the executable "devilutionx" file in the /roms/ports/devilution folder and execute it in an ssh session....?  Or should I just stop messing with it before I hurt myself?   (please pardon my n00bness, sometimes, when I try really hard, I know enough to be dangerous - XD )

RetroOZ 0.42 update includes the updated OGS binary. Keep messing, just backup your roms so you can reimage an SDCard or even better use a second card to mess around with. Breaking things is the first step to fixing them and if you need to ask questions or need help feel free to hit me up in the Odroid Forums. The more people that are tinkering the quicker issues are found and fixes can be made. You know your on track when you break things that bad have to open a serial console to your retro handheld :P

WOOOO!!!, OK, I now have mouse-love working on my ArkOS powered RG351P!
Thanks to you both for all of your work, help, and patients with me.  As
for my OGS running RetroOZ, yeah, I'm totally down to flashing 0.42 on a
spare microsd and see what I can break!
Again, Cheers to you both!
Rh0gii
On Fri, Apr 16, 2021 at 9:34 PM southoz @.***> wrote:

RetroOZ 0.42 update includes the updated OGS binary. Keep messing, just
backup your roms so you can reimage an SDCard or even better use a second
card to mess around with. Breaking things is the first step to fixing them
and if you need to ask questions or need help feel free to hit me up in the
Odroid Forums. The more people that are tinkering the quicker issues are
found and fixes can be made. You know your on track when you break things
that bad have to open a serial console to your retro handheld :P
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/christianhaitian/arkos/issues/291#issuecomment-821752655,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATKKEHYTLBAXZLQAM6MSL73TJDXSHANCNFSM4ZFKUR3A
.

Thanks for confirming that this resolved the issue.  Big thanks to @southoz for the fix.

Super excited. I'm patiently waiting for my 351M and now I can use the final build of ArkOS because I'm super eager to relive Diablo before Resurrected comes out.


Adding onNewCheckpoint to Start Replication on Replica Shard when Segment Replication is turned on

Signed-off-by: Rishikesh1159<EMAIL_ADDRESS>Description
This PR will allow us to start replication on replica shard when a new checkpoint is received. The logic of replaying new checkpoints and storing Latest received checkpoint which comes under same issue 3110, but will be implemented later in a different PR. Some changes like making SegmentReplicationTargetService class not final and Injecting SegmentReplicationTargetService needs discussion/opinion from other developers, please drop your thoughts on these changes also.
This is a part of the process of merging our feature branch - feature/segment-replication - back into main by re-PRing our changes from the feature branch.
The breakdown of the plan to merge to main is detailed here: https://github.com/opensearch-project/OpenSearch/issues/2355
For added context on segment replication - here's the design proposal https://github.com/opensearch-project/OpenSearch/issues/2229
Issues Resolved
#3110
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

start gradle check


routing probelem

when I refreche the page in a page like aProposDeNous, it redricte me to 404 because github search for aProposDeNous.html , we should change BrowserRouter to HashRouter

fix completed by last commit


error_data is 'Not Found'

Describe the bug
when I run this script,it make mistake, AttributeError: 'str' object has no attribute 'get'
then I debug this script and find that error_data is 'Not Found'

To Reproduce

update 'api_requestor.py' file,add lines in request_raw function:

proxy = {
            'http': '<IP_ADDRESS>:7890',
            'https': '<IP_ADDRESS>:7890'
        }
# 7890 is my proxy port

update 'proxies=_thread_context.session.proxies' to proxies=proxy
run it in main program:

import openai

openai.api_key = "my openai key"
openai.api_base = "https://api.openai-proxy.com"

# list models
models = openai.Model.list()

# print the first model's id
print(models.data[0].id)

# create a completion
completion = openai.Completion.create(model="ada", prompt="Hello world")

# print the completion
print(completion.choices[0].text)

Code snippets
No response
OS
windows
Python version
Python v3.10.0
Library version
openai-poython v0.27.4

Can I pick this issue?

Can I pick this issue?

Sorry,I can't understand the meaning about pick the issue.Can you expain it for me?

I can work on this issue.

I'm so happy hearing that.Next, how to solve this issue?

I'm so happy hearing that.Next, how to solve this issue?

It's happening because of different error response format from server side. Just wondering should we handle this via code or fix response from server.
Error response is look like this
{'timestamp': '2023-04-29T04:31:07.541+00:00', 'status': 404, 'error': 'Not Found', 'message': '', 'path': '/models'}
But code expecting some like this
{'error': {'message': 'Invalid URL (GET /v1/chat/completions/models)', 'type': 'invalid_request_error', 'param': None, 'code': None}}

I'm so happy hearing that.Next, how to solve this issue?

I'm so happy hearing that.Next, how to solve this issue?

It's happening because of different error response format from server side. Just wondering should we handle this via code or fix response from server.

So，code expecting should like this.
{
	'timestamp': '2023-04-30T10:41:32.842+00:00',
	'status': 404,
	'error': {
		'message': 'Invalid URL (GET /v1/chat/completions/models)',
		'type': 'invalid_request_error',
		'param': None,
		'code': None
	},
	'message': '',
	'path': '/models'
}

I know that it's happening because of different error response format from server side.
But I still don't know that what is err_data and how to work on the issue.

I think the first improvement could be change the client side code and print out the original error message. Is there a working PR on this one ? If not I can pick up this one.

I think the first improvement could be change the client side code and print out the original error message. Is there a working PR on this one ? If not I can pick up this one.

what is PR？

Actually，err_data = resp["error"]. So，code expecting should like this.
{
	'timestamp': '2023-04-30T10:41:32.842+00:00',
	'status': 404,
	'error': {
		'message': 'Invalid URL (GET /v1/chat/completions/models)',
		'type': 'invalid_request_error',
		'param': None,
		'code': None
	},
	'message': '',
	'path': '/models'
}

I know that it's happening because of different error response format from server side. But I still don't know that what is err_data and how to work on the issue.

您好，请问有解决方案了吗，谢谢


littlefs on SD/eMMC read/write performance is poor

Hi,
Utilising the littlefs filesystem on SD/eMMC is providing read/write speeds of approximately 50KiB/sec (calculated using dd command). I've tried optimising the menuconfig settings to improve it, including options such as below but still the performance is lacking:

Turning on CONFIG_MEMCPY_VIK gave slight improvement
Setting USEC_PER_TICK to 1000 or below gave most improvement, however at the detriment of other aspects of the system.  The fastest speeds observed by adjusting this was ~370KiB/s write and 700KiB/s read though overall this was unacceptable given the effect on the rest of the system.
Adjusting LittleFS parameters (e.g. CONFIG_FS_LITTLEFS_PROGRAM_SIZE_FACTOR, CONFIG_FS_LITTLEFS_READ_SIZE_FACTOR, CONFIG_FS_LITTLEFS_BLOCK_SIZE_FACTOR, CONFIG_FS_LITTLEFS_CACHE_SIZE_FACTOR, CONFIG_FS_LITTLEFS_LOOKAHEAD_SIZE
Ensuring SD/eMMC DMA read/writes are enabled
Setting MMCSD_MULTIBLOCK_LIMIT to 0

Details of build:

risc-v architecture using running kernel in S-mode, main clock running @ 75MHz, SD peripheral @ 25MHz
Toolchain: riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-ubuntu14
Nuttx GIT version: https://github.com/apache/nuttx/pull/8922 with local changes in littlefs to use kmm_malloc/free due to using DMA and S-mode kernel
Built with commands:

   $ make distclean -j16
   $ ./tools/configure.sh rv-virt:knsh64
   $ make -j16
   $ make export -j16
   $ make import -j16

Executed with command:
  $ qemu-system-riscv64 -semihosting -M virt,aclint=on -cpu rv64 -smp 8 -bios none -kernel nuttx -nographic -serial mon:stdio

Our architecture and hardware design requires the product to boot from eMMC and have a fast boot time for a firmware image of > 2MiB.  At 50KiB/s the image load itself would consume >40 seconds.
NOTE: Interestingly littlefs performs considerably better than vFAT on SD/eMMC, which on the same setup has read/writes speeds of ~12KiB/s.  Littlefs however on a RAM disk gives speeds of 560KiB/s for write which is considerably slower than vFAT, which measures ~3225KiB/s.
Does anyone have a rough feel on what  performance we could expect when using littefs on SD/eMMC in Nuttx for a configuration like described above and are there ways to improve this?

Hi,
Utilising the littlefs filesystem on SD/eMMC is providing read/write speeds
of approximately 50KiB/sec (calculated using dd command).

I have just tried the same - I have littlfs on GD25 flash memory. It takes 40 seconds to dd a 1.2Mbyte file from that filesystem to /dev/null. That equates to 30KiB/s - on a processor running at 164MHz and flash SPI at 45MHz.
The file is a wav file that should play in 3 seconds...and this might well explain why I've been having issues getting my in-development audio driver to behave, since I am relying on playing this wav file to check it is working!
Doesn't help you right now, but I will look at this later today/tomorrow to see if I can find if there's a reason: and a workaround or fix or whatever. But doesn't sound right, for sure. Might be optimisation or debug levels of course.
TimJTi

@radek-pesina do you think it could be LittleFS specific? I remember testing SDCards on iMX1052 3 years ago and it was fast (but I was using SDIO interface instead SPI).
I have just changed to LittleFS, and that's a little better at 37kbyte/s.
Using a ram drive it's 24Mbyte/s.
Since both filesystems behave "badly" I will try and investigate more later this week as it concerns me.
Or is it as-expected perhaps?

-----Original Message-----
From: Tim Hardisty
Sent: Monday, April 24, 2023 1:02 PM
To: apache/nuttx
@.>;
apache/nuttx @.>
Cc: Subscribed @.***>
Subject: RE: [apache/nuttx] littlefs on SD/eMMC read/write performance is
poor (Issue #9080)

Hi,
Utilising the littlefs filesystem on SD/eMMC is providing read/write
speeds of approximately 50KiB/sec (calculated using dd command).

I have just tried the same - I have littlfs on GD25 flash memory. It
takes 40 seconds to dd a 1.2Mbyte file from that filesystem to /dev/null.
That equates to 30KiB/s - on a processor running at 164MHz and flash SPI
at 45MHz.
The file is a wav file that should play in 3 seconds...and this might
well explain why I've been having issues getting my in-development audio
driver to behave, since I am relying on playing this wav file to check it
is working!
Doesn't help you right now, but I will look at this later today/tomorrow
to see if I can find if there's a reason: and a workaround or fix or
whatever. But doesn't sound right, for sure. Might be optimisation or
debug levels of course.
TimJTi

@radek-pesina do you think it could be LittleFS specific? I remember testing SDCards on iMX1050 3 years ago and it was fast (but I was using SDIO interface instead SPI). More info here: https://acassis.wordpress.com/2020/08/09/getting-the-sdcard-of-imxrt1050-evk-working-on-nuttx/
Please try to use other FS like VFAT or SmartFS just to verify if the issue is on LittleFS or SPI/SD/MMC drivers.

Testing Fat32 provides poorer performance on our target than littlefs (~12KiB/s) therefore as supported by TimJTi's comment above, it does not appear to be related specifically to littlefs.

I now get 730 KB/s using LittleFS and the same file.

857 KB/s if I disable debug and re-enable normal code optimization

Greatfindings Tim, and a decent improvement.  On our existing embedded platform was operating at 10MiB/s so still relatively slow compared to where we want to get to but I will find some time soon to see if your findings can be applied to our platform - 800KiB/s will provide a MUCH better starting point than what it's currently performing at :)

How fast block I/O without filesystem?

Hi,
Below are some measured speeds with the round-robin interval reduced to 10ms (was initially 200ms, however the improvement was marginal from reducing it to 10ms).  NOTE: This is running on a slightly faster core than the previous measurements, hence why the initial baseline is ~100KiB/s instead of 75KiB/s.
I believe you are more interested in the read/write speeds for eMMC without littlefs on it - I'm trying to DD from /dev/zero to /dev/mmcsd0 however I receive error 6 (no such device or address).  Is there a method you suggest could be used for testing the transfer speed for eMMC?
// From block device (RAM) to block device (RAM)
nsh> dd if=/dev/zero of=/dev/null bs=512 count=2000
1024000 bytes copied, 300000 usec, 3333 KB/s
nsh> dd if=/dev/zero of=/dev/null bs=1024 count=2000
2048000 bytes copied, 340000 usec, 5882 KB/s
nsh> dd if=/dev/zero of=/dev/null bs=4095 count=2000
8190000 bytes copied, 570000 usec, 14031 KB/s
nsh> dd if=/dev/zero of=/dev/null bs=16384 count=2000
32768000 bytes copied, 1520000 usec, 21052 KB/s

// From block device (RAM) to littleFS on (/sys - eMMC)
nsh> dd if=/dev/zero of=/sys/t512 bs=512 count=2000
1024000 bytes copied, 9650000 usec, 103 KB/s
nsh> dd if=/dev/zero of=/sys/t1024 bs=1024 count=100
102400 bytes copied, 680000 usec, 147 KB/s
nsh> dd if=/dev/zero of=/sys/t4096 bs=4096 count=100
409600 bytes copied, 2970000 usec, 134 KB/s
nsh> dd if=/dev/zero of=/sys/t16384 bs=16384 count=50
819200 bytes copied, 5940000 usec, 134 KB/s

// from littleFS (on /sys - eMMC) to block device (RAM)
nsh> dd if=/sys/t512 of=/dev/null bs=512
1024000 bytes copied, 9160000 usec, 109 KB/s
nsh> dd if=/sys/t1024 of=/dev/null bs=1024
102400 bytes copied, 510000 usec, 196 KB/s
nsh> dd if=/sys/t4096 of=/dev/null bs=4096
409600 bytes copied, 2800000 usec, 142 KB/s

Hi,
Below are some measured speeds with the round-robin interval reduced to 10ms (was initially 200ms, however the improvement was marginal from reducing it to 10ms). NOTE: This is running on a slightly faster core than the previous measurements, hence why the initial baseline is ~100KiB/s instead of 75KiB/s.
I believe you are more interested in the read/write speeds for eMMC without littlefs on it

Yes, to investigate file system performance, we must ensure the performance at block level match the hardware spec.

I'm trying to DD from /dev/zero to /dev/mmcsd0 however I receive error 6 (no such device or address). Is there a method you suggest could be used for testing the transfer speed for eMMC?

Do you enable CONFIG_BCH?

@radek-pesina do you think it could be LittleFS specific? I remember testing SDCards on iMX1050 3 years ago and it was fast (but I was using SDIO interface instead SPI). More info here: https://acassis.wordpress.com/2020/08/09/getting-the-sdcard-of-imxrt1050-evk-working-on-nuttx/
Please try to use other FS like VFAT or SmartFS just to verify if the issue is on LittleFS or SPI/SD/MMC drivers.

Hi @alancassis.
Radek is also using SDIO (4bit).
Out of interest, when you say "fast", exactly what sort of performance were you getting? There is no mention of throughput numbers in your blog post...

@xiaoxiang781216
I did a bit of testing in this area.
First, I hacked in a crude virt_to_phys implementation so our DMA engine could use userspace addresses:
diff --git a/arch/risc-v/src/litex/litex_sdio.c b/arch/risc-v/src/litex/litex_sdio.c
index eec66ed295..583e574085 100644
--- a/arch/risc-v/src/litex/litex_sdio.c
+++ b/arch/risc-v/src/litex/litex_sdio.c
@@ -828,6 +828,23 @@ static int litex_cancel(struct sdio_dev_s *dev)
   return OK;
 }

+static uintptr_t virt_to_phys(uintptr_t vaddr)
+{
+  FAR struct tcb_s *tcb = nxsched_self();
+  uintptr_t         page;
+
+  if(tcb->addrenv_own) {
+      page = up_addrenv_find_page(&tcb->addrenv_own->addrenv, vaddr);
+      assert(page);
+      return page | (vaddr & 0xFFF);
+  }
+  else
+  {
+    /* Assume the address is in the kernel address space.*/
+    return vaddr;
+  }
+}
+
 /****************************************************************************
  * Name: litex_dmarecvsetup
  *
@@ -852,6 +869,9 @@ static int litex_recvsetup(struct sdio_dev_s *dev, uint8_t *buffer,
 {
   struct litex_dev_s *priv = (struct litex_dev_s *)dev;
   DEBUGASSERT(priv != NULL && buffer != NULL && nbytes > 0);
+
+  buffer = (uint8_t*)virt_to_phys((uintptr_t)buffer);
+
   DEBUGASSERT(((uint32_t)buffer & 3) == 0);

   mcinfo("buffer: %p bytes: %u\n", buffer, nbytes);
@@ -897,6 +917,9 @@ static int litex_sendsetup(struct sdio_dev_s *dev,
 {
   struct litex_dev_s *priv = (struct litex_dev_s *)dev;
   DEBUGASSERT(priv != NULL && buffer != NULL && nbytes > 0);
+
+  buffer = (uint8_t*)virt_to_phys((uintptr_t)buffer);
+
   DEBUGASSERT(((uint32_t)buffer & 3) == 0);

   mcinfo("buffer: %p bytes: %u\n", buffer, nbytes);

I then modified the DD command handling to accept larger block counts:
diff --git a/nshlib/nsh_ddcmd.c b/nshlib/nsh_ddcmd.c
index 7b005d3d2..45fc4dfca 100644
--- a/nshlib/nsh_ddcmd.c
+++ b/nshlib/nsh_ddcmd.c
@@ -76,8 +76,8 @@ struct dd_s
   uint32_t     skip;       /* The number of sectors skipped on input */
   bool         eof;        /* true: The end of the input or output file has been hit */
   bool         verify;     /* true: Verify infile and outfile correctness */
-  uint16_t     sectsize;   /* Size of one sector */
-  uint16_t     nbytes;     /* Number of valid bytes in the buffer */
+  long         sectsize;   /* Size of one sector */
+  long         nbytes;      /* Number of valid bytes in the buffer */
   FAR uint8_t *buffer;     /* Buffer of data to write to the output file */
 };

@@ -92,8 +92,8 @@ struct dd_s
 static int dd_write(FAR struct dd_s *dd)
 {
   FAR uint8_t *buffer = dd->buffer;
-  uint16_t written ;
-  ssize_t nbytes;
+  long written ;
+  long nbytes;

   /* Is the out buffer full (or is this the last one)? */

@@ -124,7 +124,7 @@ static int dd_write(FAR struct dd_s *dd)
 static int dd_read(FAR struct dd_s *dd)
 {
   FAR uint8_t *buffer = dd->buffer;
-  ssize_t nbytes;
+  long nbytes;

   dd->nbytes = 0;
   do
@@ -349,7 +349,7 @@ int cmd_dd(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv)
         }
       else if (strncmp(argv[i], "bs=", 3) == 0)
         {
-          dd.sectsize = atoi(&argv[i][3]);
+          dd.sectsize = atol(&argv[i][3]);
         }
       else if (strncmp(argv[i], "count=", 6) == 0)
         {

Following this, I was able to use DD to test write speeds from /dev/zero to /dev/sdo:
nsh> dd if=/dev/zero of=/dev/sd0 bs=1 count=100
100 bytes copied, 16772 usec, 5 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=1 count=1000
1000 bytes copied, 124271 usec, 7 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=2 count=1000
2000 bytes copied, 135281 usec, 14 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=4 count=1000
4000 bytes copied, 151580 usec, 25 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=8 count=1000
8000 bytes copied, 184665 usec, 42 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=16 count=1000
16000 bytes copied, 257623 usec, 60 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=32 count=1000
32000 bytes copied, 380676 usec, 82 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=64 count=1000
64000 bytes copied, 647623 usec, 96 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=128 count=100
12800 bytes copied, 116904 usec, 106 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=256 count=100
25600 bytes copied, 223645 usec, 111 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=512 count=100
51200 bytes copied, 295710 usec, 169 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=1024 count=100
102400 bytes copied, 908848 usec, 110 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=2048 count=100
204800 bytes copied, 918065 usec, 217 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=4096 count=100
409600 bytes copied, 935538 usec, 427 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=8192 count=100
819200 bytes copied, 966497 usec, 827 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=16384 count=100
1638400 bytes copied, 1085459 usec, 1474 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=32768 count=100
3276800 bytes copied, 1146966 usec, 2789 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=65536 count=100
6553600 bytes copied, 1515564 usec, 4222 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=131072 count=100
13107200 bytes copied, 2102881 usec, 6086 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=262144 count=10
2621440 bytes copied, 324810 usec, 7881 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=524288 count=10
5242880 bytes copied, 559743 usec, 9147 KB/s
nsh> dd if=/dev/zero of=/dev/sd0 bs=1048576 count=10
10485760 bytes copied, 1052350 usec, 9730 KB/s
nsh>

And read speeds, from /dev/sd0 to /dev/null:
nsh> dd if=/dev/sd0 of=/dev/null bs=1 count=100
100 bytes copied, 16178 usec, 6 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=2 count=100
200 bytes copied, 11441 usec, 17 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=4 count=100
400 bytes copied, 11110 usec, 35 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=8 count=100
800 bytes copied, 15804 usec, 49 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=16 count=100
1600 bytes copied, 20000 usec, 78 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=32 count=100
3200 bytes copied, 25107 usec, 124 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=64 count=100
6400 bytes copied, 34671 usec, 180 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=128 count=100
12800 bytes copied, 51779 usec, 241 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=256 count=100
25600 bytes copied, 89095 usec, 280 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=512 count=100
51200 bytes copied, 162573 usec, 307 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=1024 count=100
102400 bytes copied, 291280 usec, 343 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=2048 count=100
204800 bytes copied, 290959 usec, 687 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=4096 count=100
409600 bytes copied, 290912 usec, 1374 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=8192 count=100
819200 bytes copied, 292070 usec, 2739 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=16384 count=100
1638400 bytes copied, 292429 usec, 5471 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=32768 count=100
3276800 bytes copied, 420083 usec, 7617 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=65536 count=100
6553600 bytes copied, 672012 usec, 9523 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=131072 count=10
1310720 bytes copied, 96933 usec, 13204 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=262144 count=10
2621440 bytes copied, 172675 usec, 14825 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=524388 count=10
5243880 bytes copied, 340322 usec, 15047 KB/s
nsh> dd if=/dev/sd0 of=/dev/null bs=1048576 count=10
10485760 bytes copied, 631881 usec, 16205 KB/s
nsh>

I'm running this experiment on the arty_a7 (litex) board. Key parts of my configuration would be:
CONFIG_ALARM_ARCH=y
CONFIG_ARCH="risc-v"
CONFIG_ARCH_ADDRENV=y
CONFIG_ARCH_CHIP="litex"
CONFIG_ARCH_CHIP_LITEX=y
CONFIG_ARCH_RISCV=y
CONFIG_ARCH_TEXT_NPAGES=128
CONFIG_ARCH_TEXT_VBASE=0x10000000
CONFIG_ARCH_USE_MMU=y
CONFIG_ARCH_USE_MPU=y
CONFIG_ARCH_USE_S_MODE=y
CONFIG_BCH=y
CONFIG_BUILD_KERNEL=y
CONFIG_LITEX_COHERENT_DMA=y
CONFIG_LITEX_SDIO=y
CONFIG_MEMCPY_VIK=y
CONFIG_MEMSET_OPTSPEED=y
CONFIG_MM_PGALLOC=y
CONFIG_NSH_CMDOPT_DD_STATS=y
CONFIG_RISCV_TOOLCHAIN_GNU_RV32=y
CONFIG_RR_INTERVAL=200
CONFIG_SCHED_TICKLESS=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_NSH_PROGNAME="init"
CONFIG_USEC_PER_TICK=1

From the results, it seems like the throughput to and from the SD card @ /dev/sd0 is sufficiently fast, once the block transfer has been initialised, capping out at ~16.2 MB/s read and ~9.7MB/s write. However, lower transfers with single, or lower block counts very slow. For the most part, this is expected, as there is significant overhead required to setup the transaction.
There is a generic rwbuffer under drivers/misc/rwbuffer.c, which has been used previously for mtd. It seems like adding this, optionally, around the mmc_sdio driver would allow for a reduction in block device access and improve performance significantly.
Is that something which has been considered previously? Would it be a feasible addition?

There is a generic rwbuffer under drivers/misc/rwbuffer.c, which has been used previously for mtd. It seems like adding this, optionally, around the mmc_sdio driver would allow for a reduction in block device access and improve performance significantly.
Is that something which has been considered previously? Would it be a feasible addition?

Yes, we consider this approach before, but not implement yet.


ETH - Payment Height in /order Changes Every Time

Every time I call /order to get information about an order made with TETH, the height of the payment changes.
Within a few seconds, I saw 6045498 , 6045519, 6045523.
It appears to always match the current height of the TETH blockchain.
"paymentAddressTransactions": [
        {
            "txid": "0x3ffbdc4da9c8fba971056041c3eb562cfcbace87eea6fc3c95f88d6622835a01",
            "value": 0,
            "confirmations": 5155,
            "height": 6045498,
            "timestamp": "2020-02-26T19:36:19.631355Z",
            "currency": {
                "code": "TETH",
                "divisibility": 18
            },
            "bigValue": "130570359439592"
        }
    ]

It looks like TLTC orders are showing the correct block height.

fixed


missing dependency DynamoDBLocal & dynamodb-streams-kinesis-adapter

In checking out the project i'm unable to build due to missing dependencies:
[WARNING] The POM for com.amazonaws:DynamoDBLocal:jar:<IP_ADDRESS> is missing, no dependency information available
[WARNING] The POM for com.amazonaws:dynamodb-streams-kinesis-adapter:jar:1.0.0 is missing, no dependency information available
I don't see these jars in maven central yet?

We are in the process of publishing JAR artifacts to Maven central. Please checkout dynamodb-streams-kinesis-adapter from github, run mvn install to install the streams adapter to your local maven repository, and then run mvn install in dynmaodb-cross-region-library one more time

@schwar did com.amazonaws:DynamoDBLocal:jar get added to maven central? i dont see it in the dynamodb-streams-kinesis-adapter either?

FWIW, the DynamoDB Local License does not permit reassignment and distribution. Maven Central allows binary-only releases, as long as you file a JIRA with them to mark the project as such. Hosting on Maven central does require the right to distribute among others.

You can always checkout a different project like this one and run mvn test -Pstart-dynamodb-local to test cross region replication in a local environment.


RN: Add accessibility labels to OnDeviceUI

This adds two added properties, accessibilityLabel (for Android) and testID (for iOS) to the OnDeviceUI controls of the component.
Main motivation for this is so that Appium can inspect and automate the UI rendered by Storybook (for automation testing, buy mainly screenshotting).
The values are just two strings that uniquely identify the component (similar to id in DOM land). The strings I'm proposing here kind of follow a namespaced internal approach that has proven useful in the future. Also happy to change the strings to something else, if need be.

Been using these new IDs for automated screenshot testing of my Storybook stories. Works great. I recently ran into a limitation: if the list item is far off the screen, then the ID cannot be found. I suppose this is some kind of lazy-rendering optimization in React Native, although I thought only FlatList's lazily rendered, and not ListView's. I could in theory scroll the story list, which would be a pain, but I would still need a test ID on the ListView. I wonder if anyone has any ideas....?

@hellogerard yes, ran in to the same problem.
didn't follow through on my automation efforts yet, but if I do I will probably employ the strategy you mentioned:
WHILE NOT id_found OR end_of_list_reached:
  scroll_list_by_half_a_screen()
  id_found = search_for_id()

...
Another option would be to add a search field that allows (also automated scripts) to search for components ?