Monitor - what it is about?

I'm preparing to use aerys in the production  (5-10k rps). Is there any way to track health of workers, ram, number of connected users and so on?
There is commit about the monitor 2a4d626fb1b8b8ac9d91711085c04eaabdec7768, but I can't find any example.

You can track used RAM using PHP's memory_get_usage or any monitoring tool, that can track any process's RAM and CPU usage.
Monitor is there so you're able to expose it to a /metrics endpoint for example, but it's still experimental.

You can track used RAM using PHP's memory_get_usage or any monitoring tool, that can track any process's RAM and CPU usage.

Yes, memory is not main point, but connected/waiting users, rps, custom params, some summary info from all workers for realtime diagnostics.

Monitor is there so you're able to expose it to a /metrics endpoint for example, but it's still experimental.

Yes, this is exactly what i mean. Is it possible right now and any example?

It is possible right now, but still experimental as said… let me create a small example:
// to add own monitored endpoints:
class OurMonitor implements Aerys\Monitor {
    private $requestsToEndpoint = 0;
    function monitor(): array {
        return ["requests" => $this->requestsToEndpoint];
    }
    function __invoke(Aerys\Request $req, Aerys\Response $res) {
        $this->requestsToEndpoint++;
        // logic ...
    }
};

// To fetch from Monitors
$showMetrics = new class implements Aerys\Bootable {
    private $server; // Server implements Monitor; via that tree you can access all the other Monitors
    function boot(Aerys\Server $server, Aerys\Logger) {
        $this->server = $server;
    }

    function __invoke(Aerys\Request $req, Aerys\Response $res) {
        $data = $server->monitor();
        /* $data contains an array with keys
         * - "state" (Server::STATES constants)
         * - "bindings" (addresses the server binds to)
         * - "clients" count of currently active clients [perhaps I should just add the actual clients array here for people wanting to inspect from where accesses are active, e.g. geoip ???]
         * - "IPs" number of different IPs currently used
         * - "pendingInputs" number of clients with either finished requests (keep-alive) or waiting to read data from
         * - "hosts" array with hosts identified by their name:port, if available, else interface:port they're listening on. The array per host is keyed by class name. For example see at bottom of post...
         */
    }
};

(new Aerys\Host)->use((Aerys\router)
    ->get("/", new OurMonitor)
    ->get("/metrics", $showMetrics)
);

The hosts key contains everything else:
"hosts" => [
    "example.com:80" => [
        "Aerys\Websocket\Rfc6455Endpoint" => [
            [
                "handler" => ["MyWebsocket", $instanceOfMyWebsocket],
                "clients" => ["bytes_read" => $read, /* ... other properties (see Rfc6455Endpoint::getInfo()) ... */]
            ],
            /* ...other Endpoints... */
        ],
        "Aerys\Router" => [
            [
                "GET" => [
                    "/" => [
                        "OurMonitor" => [
                            ["requests" => $requestsOnEndpoint /* (see our custom Monitor) */],
                            /*...other monitors on "GET /" route... */
                        ],
                        /* ...other classes on "GET / route"... */
                    ],
                    "/metrics" => [ /* empty, no monitors here */ ]
                    /* ...other GET routes... */
                ],
                /* ...further methods... */
            ]
        ],
        /* ...further classes... */
    ],
    /* further endpoints */
]

Feedback and requests for things we should monitor too are very welcome, thanks!

(e.g. we're not monitoring Requests per second yet (which would be actually a total request counter divided by uptime seconds))

That's not good. We need to reset the counter from time to time, so sampled per 10 seconds or per minute is better.

@vuliad Any further questions or can we close this?

Thanks for answer. Will test this soon, for now - closing this.


Add familia peluche by diegoxd990028

Song Name
familia peluche
Artist Name
diegoxd990028
Source
Youtube
Youtube Link
6ssB-BECmD0
Direct File Link
No response
Song ID
2022
Start Offset [ms]
0
Extra
Created from Auto Nong.
Created for level: 92639608
Downloaded: No

Hola


Filename mismatch

gulp minify creates a file called /dist/asf-addon.js, but /demo/index.html requests /dist/<addon-name>.js.

This is only in the develop branch.

Fixed in e5d0b357


Can -edit save multiple data with max-repeat="3"

I have a field named Bonus that is so-called Repeating like this:
<metadata>
  <field-definition max-repeat="3" name="Bonus" result="text" ... />
</metadata>
...
<record mod-id="123" record-id="122">
  <field name="Bonus">
    <data>one</data>
    <data>two</data>
    <data>three</data>
  </field>
</record>

And RFM return an array conveniently for me.
['one', 'two', 'three']

My question is, how do we save the record back with the -edit query command?
My guess is that it is entirely impossible with the current setup, just want to know anyone over here deal with repeating values.

Ok I answer myself. We need to simply use the fully qualified field name as in:
model.update_attributes("Bonus(1)" => 'one', "Bonus(2)" => 'two')


Slack users in PaaS Prod Space

Jira ticket URL

Just add the ticket number to the end:

https://dfedigital.atlassian.net/browse/TEVA-2477
Changes in this PR:
Slack users in PaaS Prod Space

Review app deployed to https://teaching-vacancies-review-pr-3531.london.cloudapps.digital


[v2] Parametrize the launcher image

As a follow up to https://github.com/opendatahub-io/data-science-pipelines/pull/127, we need to parameterize the launcher image so it's possible to extend/provide fixes to the code.

Created an issue in the upstream kfp-tekton repo: https://github.com/kubeflow/kfp-tekton/issues/1358

Closing this issue as the PR was merged.


Add automated deploy (testing)

This may enable automated gh-pages based deployment of deep-dive-tikv.
After merging @hoverbear will follow up and ensure it's working, then swap over the Github Pages target branch.
This is based off https://takuti.me/note/travis-gh-pages-deployment/.
This will close #10 after wholly completed.

Fingers crossed. :crossed_fingers:

#14 confirmed this works fine. :)


Search button looses highlighting effect if cursor if moved out while button still pressed

Search button looses highlighting effect if cursor if moved out while button still pressed

For some reason your fix didn't work for me but i refactored the CSS to disentangle the normal and shrinked versions of the search … in general it is better to use less nesting 👍

so the mini search issue is not fixed?


Cannot access local files on iOS 11.3

On iOS 11.3, local files such as those saved from the camera cannot be accessed. For instance, a  tag with a local file as src does not show anything (just a blank box). Inspecting the app with Safari developer tools shows the local server is returning a 404 code.
It works ok on iOS 11.2 and below. We are using version 1.2.1, but we have also tested with v1.1.19 and v1.1.16, with the same result.

Was this really an issue?


Extension doesn't start in Cargo project unless server is explicitly started

The extension doesn't start (or at least every part of it is unavailable) unless I explicitly call :RustStandaloneServerForBuffer. This only happens in Cargo projects, standalone files work perfectly. I'm using nvim-lsp.

What does your setup look like?

I only have few settings enabled for inlay hints, but doesn't work with a default configuration either. As for my computer, it's a standard 64-bit Arch Linux install.


Some fields are too restrictive about units

Fields for some tags like width=* and length=* are given titles "Width (Meters)" and "Length (Meters)". They don't offer a dropdown for selecting units, and they strip units if you enter them. This is contrary to the wiki, which for both of these tags explicitly says units are acceptable. (In fact, width=5' is the 25th most common value for that tag!)
One application where this is particularly important is runways, which in North America have their length and width legally given in feet.
Similar issues are #3614, #5658, and #7129.

Hello and welcome, @BigPeteB.
I agree we should have unit dropdowns for measurement fields like these. OSM makes it tricky since people could put anything in any tag, so iD would have to deal with all types of values. The fields would also have to be localized for different representations of units in different cultures.
Thanks for linking to the other issues. See also #6707. I'm going to close this as a duplicate since I think the other issues cover it.


Can't start discord (stuck in loading with BD logo in the right bottom corner)[Bug]

Describe the Bug

Can't start discord
To Reproduce

Doesn't seem to affect anyone else since there would be many issues with this problem
Expected Behavior

Discord loading properly
Screenshots

Discord Version

Stable
Additional Context

I don't see any logs, where can I find them?

I don't see any logs, where can I find them?
Logs can be enabled in BetterDiscord's settings, but since it is not loading, you may have luck doing the following:

press win r and pasting in notepad.exe %appdata%\BetterDiscord\data\stable\settings.json to open up the settings file.
changing the below from "before" to "after":

// Before:
"developer": {
        "debugLogs": false,

// After:
"developer": {
        "debugLogs": true,

and restarting Discord and ctrl r. This should add some debugging logs to the BetterDiscord folder.
Please join the Discord server for more help, as you will be answered more easily, and generally faster.

I managed to fix it and It seems to have been caused by discord itself and not BD but I'm not sure why.
I disabled cache in networking tab and it helped so I think this issue can be closed because it's not connected to BD.

if Anyone has this, Do the steps below.
Steps:

Go to "run" (Window key + R)
Type "%appdata%" and hit enter
Delete the "Discord" folder or the "Cache" folder inside Discord folder
Launch the Discord app


Using custom fonts?

Regarding speed using no custom fonts on Lightning is the preferred way. I want to keep it like that, for the base website font, and use League Spartan for headings. Locally hosted.
I only managed to embed the font like that
@font-face {
  font-family: "League Spartan";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("https://mysite/templates/font/LeagueSpartan-Regular.woff2") format("woff2");

}
@font-face {
  font-family: "League Spartan";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("https://mysite/templates/font/LeagueSpartan-Bold.woff2") format("woff2");
}
h1,h2,h3,h4,h5,h6, .rec li::before{
  font-family: "League Spartan", sans-serif;
  font-weight: 700;
}

on top of the the templatye's style.css. Is there a better way to do it? On every update I'll have to readd those declarations.

Hi @Razerr, please don't add your code to style.css, as the changes will be lost when you update the template.
Instead, do this:

Go to templates/lightning/css/
Create a new file called user.css and add your custom code

This file will get automatically loaded on your site.

@C-Lodder Have my custom styles on a custom.css already, using a plugin to enable support for it. Now that you updated Lightning with user.css I'll get rid of both the plugin and the file :)
I don't know if first time I added that code in my custom css file and it didn't worked or something. I'll check that right now.


did you test the orignal minigo engine vs leelaz+ converted weight

if they run with same parameter,
whose wintate is higher, or there was no difference.

we don't have a windows exe version at this time, sorry.

thanks

@l1t1 see also https://github.com/tensorflow/minigo/issues/77 and #580 .

thanks, it seems those posts discussing python version, i mean the compiled cpp version.


Added sound sources display to the map

Closes #27

--   No package 'fftw3f' found
CMake Error at /usr/local/share/cmake-3.22/Modules/FindPkgConfig.cmake:603 (message):
A required package was not found
Call Stack (most recent call first):
/usr/local/share/cmake-3.22/Modules/FindPkgConfig.cmake:825 (_pkg_check_modules_internal)
odas_ros/src/odas/CMakeLists.txt:9 (pkg_check_modules)


UnauthorizedAccessException when multiple container activated projects are in the solution.

Problem description:
It seems there is a problem with the download of blobs from the registry when building the container images when there are multiple projects in the solution and we do a publish of all projects in parallel.
A container image publish of all projects at the same time, will logically also trigger a parallel download of the base images and descriptors. As this path is fixed to <temp>\Containers\Content\<contenthash>.<extension> all projects will try to access the same file at the same time which leads to an exception like this:
    C:\...\Microsoft.NET.Build.Containers.targets(172,5): error MSB4018: The "CreateNewImage" task failed unexpectedly.
14:21:27     C:\...\Microsoft.NET.Build.Containers.targets(172,5): error MSB4018: System.AggregateException: One or more errors occurred. (Access to the path is denied.)
14:21:27     C:\...\Microsoft.NET.Build.Containers.targets(172,5): error MSB4018: ---> System.UnauthorizedAccessException: Access to the path is denied.
14:21:27     C:\...\Microsoft.NET.Build.Containers.targets(172,5): error MSB4018: at System.IO.FileSystem.MoveFile(String sourceFullPath, String destFullPath, Boolean overwrite)
14:21:27     C:\...\Microsoft.NET.Build.Containers.targets(172,5): error MSB4018: at Microsoft.NET.Build.Containers.Registry.DownloadBlob(String repository, Descriptor descriptor)
14:21:27     C:\...\Microsoft.NET.Build.Containers.targets(172,5): error MSB4018: at Microsoft.NET.Build.Containers.LocalDocker.WriteImageToStream(Image image, ImageReference sourceReference, ImageReference destinationReference, Stream imageStream)
14:21:27     C:\...\Microsoft.NET.Build.Containers.targets(172,5): error MSB4018: at Microsoft.NET.Build.Containers.LocalDocker.Load(Image image, ImageReference sourceReference, ImageReference destinationReference)
14:21:27     C:\...\Microsoft.NET.Build.Containers.targets(172,5): error MSB4018: --- End of inner exception stack trace ---
14:21:27     C:\...\Microsoft.NET.Build.Containers.targets(172,5): error MSB4018: at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
14:21:27     C:\...\Microsoft.NET.Build.Containers.targets(172,5): error MSB4018: at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
14:21:27     C:\...\Microsoft.NET.Build.Containers.targets(172,5): error MSB4018: at System.Threading.Tasks.Task.Wait()
14:21:27     C:\...\Microsoft.NET.Build.Containers.targets(172,5): error MSB4018: at Microsoft.NET.Build.Containers.Tasks.CreateNewImage.Execute()
14:21:27     C:\...\Microsoft.NET.Build.Containers.targets(172,5): error MSB4018: at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
14:21:27     C:\...\Microsoft.NET.Build.Containers.targets(172,5): error MSB4018: at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask)

This is very unfortunate because this way you cannot have multiple container activated projects in one solution and do a publish in one go.
Example setup
Our setup looks similar like this (I simplified it here, the real setup covers some more aspects):
Directory.Build.targets:
<ItemGroup Condition=" '$(ContainerImageName)' != '' ">
    <PackageReference Include="Microsoft.Net.Build.Containers" Version="0.3.2" />
</ItemGroup>
<Target Name="ContainerPublish" Condition=" '$(ContainerImageName)' != ''">
    <Message Text="Publishing to image '$(ContainerImageName)' " />
    <Exec Command="dotnet publish -p:PublishProfile=DefaultContainer --configuration=Release" />
</Target>
<Target Name="ContainerPublish" Condition=" '$(ContainerImageName)' == ''">
    <!-- Empty target if project has no container output -->
</Target>

And we trigger the build like: dotnet msbuild -target:ContainerPublish Solution.sln
The temp path is overriden in our CI system so the download will happen always.
Potential fix:
The download already happens to a random temp path: https://github.com/dotnet/sdk-container-builds/blob/54e9e6180f2360a9a10b38de3eb7cc3763e91152/Microsoft.NET.Build.Containers/Registry.cs#L239
This move operation likely needs some more intelligence like: If the move fails due to an System.UnauthorizedAccessException, we could start checking again like in line 217 if the file already exists and then we're happy. Maybe it even needs to check if the file is already available for reading (as it might be being moved right now and not yet finished).

Good find, we should probably have some locking here at the layer-download-from-registry level. Using a temp file as a lock to ensure only one process is downloading is a well known technique at this point, and possibly should be how we handle this, since we can't control people publishing in parallel.
On that note, I thought newer 7 and 8 SDKs made solution level publish an error?

Good point, I should actually call publish on the correct "own" project file being built currently and not just dotnet publish. If you look closely you will notice that I am triggering a custom target on the solution, which will then should initiate a publish on each individual project. But the bug still stays valid with this adaption.

@Danielku15 @baronfel do you plan to work on this? alternatively I can look into it. Thanks

I won't have time for a bit, so as far as I'm concerned it's up for grabs.

I think an easy way to coordinate this syncronization might be by a named mutex - the shared resources in question are

manifest jsons
layer tarballs
and each of the shared resources in these locations could be protected by a named mutex, letting the OS handle the multi-process synchronization.

When we tried to download each layer/manifest, the MSBuild Node executing the Task would

check if the file exists
if it does, read from there and continue processing
if it does not, compute the Mutex name and wait until we can acquire it
once acquired, check if the file exists
if it does, release the mutex, read from there and continue processing - a previous holder of the mutex was downloading the files
if it does not, perform the download, release the mutex, then read from there and continue processing - we were the 'downloader' in this case

@rainersigwald / @MichalPavlik thoughts here? other patterns we should consider? We can't directly rely on MSBuild engine caching for synchronization because the net472 pathway would be in a console app, not in an MSBuild Task.


Add support for Application Load Balancers (ELBV2)

Load Balancing -
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html
Load Balancing Listener -
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html
Load Balancer Listener Rule -
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html
Load Balancer Target Group -
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html

@bkrodgers Can we reopen this since #128 wasn't merged?

Yep!


{flutter,dart}: enable riscv64-linux

Description of changes
This PR enables support for 64-bit Linux RISC-V support for Dart and Flutter.

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I've gotten as far as I can until either #212328 is merged or https://github.com/flutter/flutter/issues/99963 is resolved. If the Flutter issue isn't fixed soon then I'll rewrite the engine PR.


front: move back instructions generation to large model

Description
Erroneously moved instructions suggestions from GPT-4-Turbo to a small model in https://github.com/dust-tt/dust/pull/5605/files
fixing that
Risk
N/A
Deploy Plan

deploy front

PMRR


insertion and randomized quick sort

Please merge it with the hacktoberfest tag, as many of my pull requests are excluded due to spamming by others.

Please merge it with the hacktoberfest tag, as many of my pull requests are excluded due to spamming by others.

@Ark898 Star this repo first

i stared this repo.Now,merge it.


Improved markdown experience in Free2z.

Free2z is simply excellent, but there are people who find it difficult to use the Markdown language.
To solve this problem you can add a bar with shortcuts to the different formats.

The image shows a design as a reference, the idea is to have a bar that facilitates the use of markdown to users who do not know how to use the language or even if they know how to use it, they prefer a feature like the one suggested.
Surely developers will be able to better materialize the idea and design, either with a bar, a contextual menu, commands, etc.
GitHub also has a similar feature.

¡Thanks for such a great option in the Zcash ecosystem - long live Free2z!

Great idea, yeah! Looking at this github input widget I'm typing into right now I realize that it's a perfect model for where we want to go. Free2z has different options like embeds and math instead of eg links to other issues or uploads. But, the model I think is perfect - no attempt to make a WYSIWYG or anything too complicated, but even people who don't know any markdown can do (almost) all the possible functions in a very user-friendly way.

I am very glad you liked it, yes the solution presented by GitHub could be the same for Free2z and it is the most basic and essential that every user needs to create their blogs.
WYSIWYG = IMAGINATION. 😀😀😀

This gets pretty close but it's not quite a drop-in solution for some reason; so, we'll check later. Maybe @birdify could help. There is something clashing with our existing styles
https://github.com/uiwjs/react-md-editor

@skyl this looks pretty sweet, let me see if I can polish this up a bit

¿pruebala ahora? @Edicksonjga

I still like github's better:

bigger icons
text functions grouped
cool extensions
refined theme touches

But:
On Free2z you can swipe on mobile which is kinda fire. In the future we can add shortcuts to math and embeds and graphs and many more sweet things, ipython notebooks... anything that can be done with remark and rehype.

::embed[https://twitter.com/free2zcash/status/1517070062108262401]

I'll leave this open for now and maybe we'll take another pass at it for the F2Z customization and syntax highlighting. Maybe we'll create new issues for those things and close this one later.

on second thought, I made this follow up note for a second round: https://github.com/free2z/free2z/projects/1#card-80974547 and will close this issue as a good first pass for what was asked for.

fixed


Arm-Linux Openssl 3.0 req Error

Hi Openssl Team,
I'm working on a dev team that's testing openssl 3.0 on our arm-linux embedded device.
We successfully cross compiled Openssl 3.0 Alpha 9 using the following commands:
Download and unpack latest release from github
cd openssl
export ANDROID_NDK_ROOT=$(abspath ../standalone-toolchain)
export TOP = $(shell pwd)
./Configure android-arm -march=armv7-a --prefix=$(TOP)/install
make
make install

We then adb pushed the generated install directory to our embedded device.
At this point, we ran a simple test to ensure that the openssl binary works as expected.
cd install/bin
./openssl req -x509 -newkey rsa:2048 -keyout key.pem -out req.pem -config ../ssl/openssl.cnf

We get the following message:

Generating a RSA private key
.........+....................+....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.+...+......+.....+....+..............+...+...+.......+.................+...+...+.+.....+...+......+.+...+......+..+.........+.+...+..............+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*Error Generating Key

Is it possible to get a more verbose error message that highlights the actual cause of the error? Have any of you seen a similar issue?
On that last version of openssl we used on our embedded device (OpenSSL 1.0.2l), the above command completed successfully and prompted for usual certificate fields

Generating a 2048 bit RSA private key
....+......+...++++++++++++++++++++++++++++...+..........++++++++++++++++++++++++++++....+............+........................................+............................................+................+..............+......+....+..................+........+....+............................................+..........+..+....+......+..............................+................................+..............................+............+++++++++++++++++++++++++++++++++++++++++++++++++++
...............+...+..+............+.+........++++++++++++++++++++++++++++.....+...+.........++++++++++++++++++++++++++++............................................+....+......+........................+....................+....+................................+..............................................+........+............+....................................................+..+........................+................+..............+..................................+........+............+..................+............................+....................................................................................+....................+......+..............................+........................................................................+..................+........................+................+..+....+..................+......+......+..............+....+..................+........+....+......+........................+......+............+........+......+................................................+..................+..................+................+++++++++++++++++++++++++++++++++++++++++++++++++++
writing new private key to 'key.pem'
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.

Thanks,
Eric

Is it possible to get a more verbose error message that highlights the actual cause of the error? Have any of you seen a similar issue?

Hmm. It is supposed to dump the contents of the OpenSSL error stack in the event of a failure like this. The fact that it doesn't suggests that there are no errors on the stack - in spite of the error message. Probably you've hit some codepath which has failed but not populated the error stack with the reason which is annoying and unhelpful.
The fact that you are getting some output before the failure seems to suggest that it gets quite a way through the process of generating the key before eventually failing.
How feasible is it to run a debugger on this device?

Is it possible to get a more verbose error message that highlights the actual cause of the error? Have any of you seen a similar issue?

Hmm. It is supposed to dump the contents of the OpenSSL error stack in the event of a failure like this. The fact that it doesn't suggests that there are no errors on the stack - in spite of the error message. Probably you've hit some codepath which has failed but not populated the error stack with the reason which is annoying and unhelpful.
The fact that you are getting some output before the failure seems to suggest that it gets quite a way through the process of generating the key before eventually failing.
How feasible is it to run a debugger on this device?

Another thought - what is in you openssl.cnf file? I wonder what happens if you try exactly the same command with the same config file on a non-embedded platform. Do you get the same error?

Another thought - what is in you openssl.cnf file? I wonder what happens if you try exactly the same command with the same config file on a non-embedded platform. Do you get the same error?

@mattcaswell Thanks very much for those ideas!
I just compiled openssl for my local machine (Configuring OpenSSL version 3.0.0-alpha9 for target linux-x86_64)
./Configure --prefix=/home/eparziale/openssl/install
make
make install

Then I ran
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/eparziale/openssl/install/lib
cd /home/eparziale/openssl/install/bin
./openssl req -x509 -newkey rsa:2048 -keyout key.pem -out req.pem -config ../ssl/openssl.cnf

(The exact same command with same config for non-embedded platform.
In this case it worked as expected:

Generating a RSA private key
..+.+..+......+....+...+.....+.........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.......+.......+...+..+......+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+....+.....+....+..+.........+...+.......+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
......+........+.+......+.....+...+..................+...+.+......+........+....+......+......+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.............+...+..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++...........+............+...+.......+..+...+.+......+..............+....+...+..+.......+.........+.....+............+....+......+.....+.......+..+...+................+..+........................+.+........+.+.....+.........+.+........+.......+.....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
writing new private key to 'key.pem'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
Country Name (2 letter code) [AU]:US

I will now use the strace tool to see what code path is failing on the embedded device. Will report back this afternoon.

@mattcaswell Thanks very much for those ideas!
I just compiled openssl for my local machine (Configuring OpenSSL version 3.0.0-alpha9 for target linux-x86_64)
./Configure --prefix=/home/eparziale/openssl/install
make
make install

Then I ran
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/eparziale/openssl/install/lib
cd /home/eparziale/openssl/install/bin
./openssl req -x509 -newkey rsa:2048 -keyout key.pem -out req.pem -config ../ssl/openssl.cnf

(The exact same command with same config for non-embedded platform.
In this case it worked as expected:

Generating a RSA private key
..+.+..+......+....+...+.....+.........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.......+.......+...+..+......+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+....+.....+....+..+.........+...+.......+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
......+........+.+......+.....+...+..................+...+.+......+........+....+......+......+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.............+...+..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++...........+............+...+.......+..+...+.+......+..............+....+...+..+.......+.........+.....+............+....+......+.....+.......+..+...+................+..+........................+.+........+.+.....+.........+.+........+.......+.....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
writing new private key to 'key.pem'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
Country Name (2 letter code) [AU]:US

I will now use the strace tool to see what code path is failing on the embedded device. Will report back this afternoon.

After running openssl through strace on both an x86_64 linux host and on our ARM device, we noticed the following which might be giving a good hint. Could it be that the "/dev/urandom" codepath has a bug in it or is missing logging?
ARMv7l running 3.14 kernel
Note the getrandom() syscall failing and using gettimeofday() instead. The date is also set correctly (Mon Jan  4 20:54:58 UTC 2021).
write(2, "Generating a RSA private key\n", 29) = 29
mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6840000
madvise(0xb6840000, 262144, MADV_MERGEABLE) = 0
prctl(0x53564d41 /* PR_??? */, 0, 0xb6840000, 0x40000, 0xb6aa928f) = 0
futex(0xb6dbaa60, FUTEX_WAKE_PRIVATE,<PHONE_NUMBER>) = 0
mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6800000
madvise(0xb6800000, 262144, MADV_MERGEABLE) = 0
prctl(0x53564d41 /* PR_??? */, 0, 0xb6800000, 0x40000, 0xb6aa928f) = 0
clock_gettime(CLOCK_REALTIME, {1609790116, 522751082}) = 0
getrandom(0xb6888180, 32, 0)            = -1 ENOSYS (Function not implemented)
openat(AT_FDCWD, "/dev/urandom", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 9), ...}) = 0
read(3, "\324\225\274\302u\303c\224?s\23e\233\t\234\246\224\25\231T\342J\220\312\t\355\265.\254).\t", 32) = 32
gettimeofday({1609790116, 523920}, NULL) = 0
gettimeofday({1609790116, 524168}, NULL) = 0
gettimeofday({1609790116, 524464}, NULL) = 0
gettimeofday({1609790116, 524621}, NULL) = 0
gettimeofday({1609790116, 524779}, NULL) = 0
gettimeofday({1609790116, 525074}, NULL) = 0
gettimeofday({1609790116, 525318}, NULL) = 0
write(2, ".", 1)                        = 1
write(2, "+", 1)                        = 1
gettimeofday({1609790116, 527524}, NULL) = 0
write(2, ".", 1)                        = 1
write(2, ".", 1)                        = 1
write(2, "+", 1)                        = 1
gettimeofday({1609790116, 530105}, NULL) = 0
write(2, ".", 1)                        = 1
write(2, "+", 1)                        = 1
gettimeofday({1609790116, 531778}, NULL) = 0
write(2, ".", 1)                        = 1
write(2, ".", 1)                        = 1
write(2, ".", 1)                        = 1
.
.
.
gettimeofday({1609790116, 670150}, NULL) = 0
write(2, "+", 1)                        = 1
gettimeofday({1609790116, 671411}, NULL) = 0
write(2, "+", 1)                        = 1
gettimeofday({1609790116, 672334}, NULL) = 0
write(2, "+", 1)                        = 1
gettimeofday({1609790116, 673320}, NULL) = 0
write(2, "+", 1)                        = 1
write(2, "*", 1)                        = 1
write(2, "Error Generating Key\n", 21)  = 21
madvise(0xb68ff000, 4096, MADV_DONTNEED) = 0
futex(0xb6abe5ac, FUTEX_WAKE_PRIVATE,<PHONE_NUMBER>) = 0
mprotect(0xb6e3b000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6e3b000, 4096, PROT_READ)   = 0
fstat64(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 9), ...}) = 0
close(3)

X86_64 running 4.14 kernel
Note the getrandom() syscall passing and the lack of gettimeofday().
write(2, "Generating a RSA private key\n", 29) = 29
futex(0x7f331495d468, FUTEX_WAKE_PRIVATE,<PHONE_NUMBER>) = 0
brk(0x26f6000)                          = 0x26f6000
brk(0x2717000)                          = 0x2717000
brk(0x273a000)                          = 0x273a000
brk(0x275c000)                          = 0x275c000
brk(0x277d000)                          = 0x277d000
getrandom("\v\322\17\324\333\370G\20)\373\206\5\217y\376\362\34\330\345\253\32054Xj^f\32\366!\225\202", 32, 0) = 32
write(2, ".", 1)                        = 1
write(2, ".", 1)                        = 1
write(2, ".", 1)                        = 1
write(2, ".", 1)                        = 1
write(2, ".", 1)                        = 1
.
.
.
write(2, "writing new private key to 'key."..., 37) = 37
open("key.pem", O_WRONLY|O_CREAT|O_TRUNC, 0600) = 3
fcntl(3, F_GETFL)                       = 0x8001 (flags O_WRONLY|O_LARGEFILE)
futex(0x7f331495e984, FUTEX_WAKE_PRIVATE,<PHONE_NUMBER>) = 0
open("/dev/tty", O_RDONLY)              = 4
open("/dev/tty", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 5
ioctl(4, TCGETS, {B38400 opost isig icanon echo ...}) = 0
fstat(5, {st_mode=S_IFCHR|0666, st_rdev=makedev(5, 0), ...}) = 0
ioctl(5, TCGETS, {B38400 opost isig icanon echo ...}) = 0
write(5, "Enter PEM pass phrase:", 22)  = 22

After running openssl through strace on both an x86_64 linux host and on our ARM device, we noticed the following which might be giving a good hint. Could it be that the "/dev/urandom" codepath has a bug in it or is missing logging?
ARMv7l running 3.14 kernel
Note the getrandom() syscall failing and using gettimeofday() instead. The date is also set correctly (Mon Jan  4 20:54:58 UTC 2021).
write(2, "Generating a RSA private key\n", 29) = 29
mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6840000
madvise(0xb6840000, 262144, MADV_MERGEABLE) = 0
prctl(0x53564d41 /* PR_??? */, 0, 0xb6840000, 0x40000, 0xb6aa928f) = 0
futex(0xb6dbaa60, FUTEX_WAKE_PRIVATE,<PHONE_NUMBER>) = 0
mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6800000
madvise(0xb6800000, 262144, MADV_MERGEABLE) = 0
prctl(0x53564d41 /* PR_??? */, 0, 0xb6800000, 0x40000, 0xb6aa928f) = 0
clock_gettime(CLOCK_REALTIME, {1609790116, 522751082}) = 0
getrandom(0xb6888180, 32, 0)            = -1 ENOSYS (Function not implemented)
openat(AT_FDCWD, "/dev/urandom", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 9), ...}) = 0
read(3, "\324\225\274\302u\303c\224?s\23e\233\t\234\246\224\25\231T\342J\220\312\t\355\265.\254).\t", 32) = 32
gettimeofday({1609790116, 523920}, NULL) = 0
gettimeofday({1609790116, 524168}, NULL) = 0
gettimeofday({1609790116, 524464}, NULL) = 0
gettimeofday({1609790116, 524621}, NULL) = 0
gettimeofday({1609790116, 524779}, NULL) = 0
gettimeofday({1609790116, 525074}, NULL) = 0
gettimeofday({1609790116, 525318}, NULL) = 0
write(2, ".", 1)                        = 1
write(2, "+", 1)                        = 1
gettimeofday({1609790116, 527524}, NULL) = 0
write(2, ".", 1)                        = 1
write(2, ".", 1)                        = 1
write(2, "+", 1)                        = 1
gettimeofday({1609790116, 530105}, NULL) = 0
write(2, ".", 1)                        = 1
write(2, "+", 1)                        = 1
gettimeofday({1609790116, 531778}, NULL) = 0
write(2, ".", 1)                        = 1
write(2, ".", 1)                        = 1
write(2, ".", 1)                        = 1
.
.
.
gettimeofday({1609790116, 670150}, NULL) = 0
write(2, "+", 1)                        = 1
gettimeofday({1609790116, 671411}, NULL) = 0
write(2, "+", 1)                        = 1
gettimeofday({1609790116, 672334}, NULL) = 0
write(2, "+", 1)                        = 1
gettimeofday({1609790116, 673320}, NULL) = 0
write(2, "+", 1)                        = 1
write(2, "*", 1)                        = 1
write(2, "Error Generating Key\n", 21)  = 21
madvise(0xb68ff000, 4096, MADV_DONTNEED) = 0
futex(0xb6abe5ac, FUTEX_WAKE_PRIVATE,<PHONE_NUMBER>) = 0
mprotect(0xb6e3b000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6e3b000, 4096, PROT_READ)   = 0
fstat64(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 9), ...}) = 0
close(3)

X86_64 running 4.14 kernel
Note the getrandom() syscall passing and the lack of gettimeofday().
write(2, "Generating a RSA private key\n", 29) = 29
futex(0x7f331495d468, FUTEX_WAKE_PRIVATE,<PHONE_NUMBER>) = 0
brk(0x26f6000)                          = 0x26f6000
brk(0x2717000)                          = 0x2717000
brk(0x273a000)                          = 0x273a000
brk(0x275c000)                          = 0x275c000
brk(0x277d000)                          = 0x277d000
getrandom("\v\322\17\324\333\370G\20)\373\206\5\217y\376\362\34\330\345\253\32054Xj^f\32\366!\225\202", 32, 0) = 32
write(2, ".", 1)                        = 1
write(2, ".", 1)                        = 1
write(2, ".", 1)                        = 1
write(2, ".", 1)                        = 1
write(2, ".", 1)                        = 1
.
.
.
write(2, "writing new private key to 'key."..., 37) = 37
open("key.pem", O_WRONLY|O_CREAT|O_TRUNC, 0600) = 3
fcntl(3, F_GETFL)                       = 0x8001 (flags O_WRONLY|O_LARGEFILE)
futex(0x7f331495e984, FUTEX_WAKE_PRIVATE,<PHONE_NUMBER>) = 0
open("/dev/tty", O_RDONLY)              = 4
open("/dev/tty", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 5
ioctl(4, TCGETS, {B38400 opost isig icanon echo ...}) = 0
fstat(5, {st_mode=S_IFCHR|0666, st_rdev=makedev(5, 0), ...}) = 0
ioctl(5, TCGETS, {B38400 opost isig icanon echo ...}) = 0
write(5, "Enter PEM pass phrase:", 22)  = 22

Common issue with embedded device: lack of entropy !
OS is waiting for more random inputs.
It can be fixed by adding some other tools/packages to your Linux installation.

Common issue with embedded device: lack of entropy !
OS is waiting for more random inputs.
It can be fixed by adding some other tools/packages to your Linux installation.

Ah thanks very much for that tip.
We will investigate how to increase our entropy.
In the meantime - Is there an openssl tool that can help us test whether our  entropy source is sufficient?
Also, can the openssl binary be updated to return an err message if it encounters lack of entropy?
Thank you,

Ah thanks very much for that tip.
We will investigate how to increase our entropy.
In the meantime - Is there an openssl tool that can help us test whether our  entropy source is sufficient?
Also, can the openssl binary be updated to return an err message if it encounters lack of entropy?
Thank you,

See also : #13325

See also : #13325

You can just use the openssl "rand" tool to see if you are getting random data generated, e.g.
openssl rand -out test.rnd 256
````

You can just use the openssl "rand" tool to see if you are getting random data generated, e.g.
openssl rand -out test.rnd 256
````

Thanks for that info, we were able to increase the entropy on our embedded device, and succesfully run
./openssl req -x509 -newkey rsa:2048 -keyout key.pem -out req.pem -config ../ssl/openssl.cnf

Now that we've confirmed the above basic openssl command works, we want to confirm the same command works with fips enabled.
Before enabling fips on the embedded device and running a test, we first decided to test on our local machines.
We enabled fips locally on our X86_64 linux box via these commands:
First, run fipsinstall on local
/home/eparziale/openssl/install/bin/openssl  fipsinstall -out /home/eparziale/openssl/fipsmodule.cnf -module /home/eparziale/openssl/install/lib/ossl-modules/fips.so

HMAC : (Module_Integrity) : Pass
SHA1 : (KAT_Digest) : Pass
SHA2 : (KAT_Digest) : Pass
SHA3 : (KAT_Digest) : Pass
TDES : (KAT_Cipher) : Pass
AES_GCM : (KAT_Cipher) : Pass
RSA : (KAT_Signature) : RNG : (Continuous_RNG_Test) : Pass
Pass
ECDSA : (KAT_Signature) : Pass
DSA : (KAT_Signature) : Pass
HKDF : (KAT_KDF) : Pass
SSKDF : (KAT_KDF) : Pass
HASH : (DRBG) : Pass
CTR : (DRBG) : Pass
HMAC : (DRBG) : Pass
DH : (KAT_KA) : Pass
ECDH : (KAT_KA) : Pass
RSA_Encrypt : (KAT_AsymmetricCipher) : Pass
RSA_Decrypt : (KAT_AsymmetricCipher) : Pass
RSA_Decrypt : (KAT_AsymmetricCipher) : Pass
INSTALL PASSED

Second, modify two lines in /home/eparziale/openssl/install/ssl/openssl.cnf

###We added this line under openssl_conf = openssl_init
.include /home/eparziale/openssl/fipsmodule.cnf

### we uncommented the following line under [provider_sect]
fips = fips_sect

Then we ran
/home/eparziale/openssl/install/bin/openssl req -x509 -newkey rsa:2048 -keyout key.pem -out req.pem -config /home/eparziale/openssl/install//ssl/openssl.cnf

But got the following output
Generating a RSA private key
..+.....+...............+............+.+.....+...+....+..+......+.......+..................+..+...+.......+.....+.+..+............+.+..+..........+...+.....+......+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*..+...+..................+.+...+..+...+.+...............+.....+....+........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*....+......+......+.....+.+...+..+.......+........+...+.......+...+..+...+....+..+...+..........+..+...+.+.....+.......+...+..+.............+......+.....+.........+.+...........+.......+..+.............+.....+...+.........+....+.....+.+......+...+.........+...+..+......+......+.+...............+..............+....+...........+.+...+..+.........+.........+..........+..+.........+..........+........+............+......+...+.+...+...+...+..+.........+.+.....+.............+......+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
....+.+......+...+..+...............+.......+.....+.+.........+.....+...+....+..............+.+.....+......+....+...+........+.......+..+....+.....+....+..+......+.......+..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*..+.......+......+..+.......+........+.......+...+...+.....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.+.........+...+..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
writing new private key to 'key.pem'
0017A5C8DE7F0000:error::PEM routines:do_pk8pkey:error converting private key:crypto/pem/pem_pk8.c:127

Is this error expected?
How do we get this req command to work with fips enabled?
Thanks,
Eric

Thanks for that info, we were able to increase the entropy on our embedded device, and succesfully run
./openssl req -x509 -newkey rsa:2048 -keyout key.pem -out req.pem -config ../ssl/openssl.cnf

Now that we've confirmed the above basic openssl command works, we want to confirm the same command works with fips enabled.
Before enabling fips on the embedded device and running a test, we first decided to test on our local machines.
We enabled fips locally on our X86_64 linux box via these commands:
First, run fipsinstall on local
/home/eparziale/openssl/install/bin/openssl  fipsinstall -out /home/eparziale/openssl/fipsmodule.cnf -module /home/eparziale/openssl/install/lib/ossl-modules/fips.so

HMAC : (Module_Integrity) : Pass
SHA1 : (KAT_Digest) : Pass
SHA2 : (KAT_Digest) : Pass
SHA3 : (KAT_Digest) : Pass
TDES : (KAT_Cipher) : Pass
AES_GCM : (KAT_Cipher) : Pass
RSA : (KAT_Signature) : RNG : (Continuous_RNG_Test) : Pass
Pass
ECDSA : (KAT_Signature) : Pass
DSA : (KAT_Signature) : Pass
HKDF : (KAT_KDF) : Pass
SSKDF : (KAT_KDF) : Pass
HASH : (DRBG) : Pass
CTR : (DRBG) : Pass
HMAC : (DRBG) : Pass
DH : (KAT_KA) : Pass
ECDH : (KAT_KA) : Pass
RSA_Encrypt : (KAT_AsymmetricCipher) : Pass
RSA_Decrypt : (KAT_AsymmetricCipher) : Pass
RSA_Decrypt : (KAT_AsymmetricCipher) : Pass
INSTALL PASSED

Second, modify two lines in /home/eparziale/openssl/install/ssl/openssl.cnf

###We added this line under openssl_conf = openssl_init
.include /home/eparziale/openssl/fipsmodule.cnf

### we uncommented the following line under [provider_sect]
fips = fips_sect

Then we ran
/home/eparziale/openssl/install/bin/openssl req -x509 -newkey rsa:2048 -keyout key.pem -out req.pem -config /home/eparziale/openssl/install//ssl/openssl.cnf

But got the following output
Generating a RSA private key
..+.....+...............+............+.+.....+...+....+..+......+.......+..................+..+...+.......+.....+.+..+............+.+..+..........+...+.....+......+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*..+...+..................+.+...+..+...+.+...............+.....+....+........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*....+......+......+.....+.+...+..+.......+........+...+.......+...+..+...+....+..+...+..........+..+...+.+.....+.......+...+..+.............+......+.....+.........+.+...........+.......+..+.............+.....+...+.........+....+.....+.+......+...+.........+...+..+......+......+.+...............+..............+....+...........+.+...+..+.........+.........+..........+..+.........+..........+........+............+......+...+.+...+...+...+..+.........+.+.....+.............+......+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
....+.+......+...+..+...............+.......+.....+.+.........+.....+...+....+..............+.+.....+......+....+...+........+.......+..+....+.....+....+..+......+.......+..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*..+.......+......+..+.......+........+.......+...+...+.....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.+.........+...+..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
writing new private key to 'key.pem'
0017A5C8DE7F0000:error::PEM routines:do_pk8pkey:error converting private key:crypto/pem/pem_pk8.c:127

Is this error expected?
How do we get this req command to work with fips enabled?
Thanks,
Eric

How do we get this req command to work with fips enabled?

You don't have any serializers loaded. The serializers are required to convert a key to/from a file format. They are not cryptographic algorithms in themselves and are therefore considered out of the scope of the FIPS module, and are not included in that provider. If you load the "default" provider you always get the serializers, but if you don't load "default" then you should also load the "base" provider. That provider doesn't include any crypto algorithms but does include all the serializers and is designed to work in conjunction with the "fips" provider.
See the 3.0 wiki page for a further discussion on this:
https://wiki.openssl.org/index.php/OpenSSL_3.0
Side note: I wonder if we can improve the error reporting here? I imagine this is going to be a common problem and the error message is quite cryptic and doesn't really lead you in the right direction.

How do we get this req command to work with fips enabled?

You don't have any serializers loaded. The serializers are required to convert a key to/from a file format. They are not cryptographic algorithms in themselves and are therefore considered out of the scope of the FIPS module, and are not included in that provider. If you load the "default" provider you always get the serializers, but if you don't load "default" then you should also load the "base" provider. That provider doesn't include any crypto algorithms but does include all the serializers and is designed to work in conjunction with the "fips" provider.
See the 3.0 wiki page for a further discussion on this:
https://wiki.openssl.org/index.php/OpenSSL_3.0
Side note: I wonder if we can improve the error reporting here? I imagine this is going to be a common problem and the error message is quite cryptic and doesn't really lead you in the right direction.

Side note: I wonder if we can improve the error reporting here? I imagine this is going to be a common problem and the error message is quite cryptic and doesn't really lead you in the right direction.

I raised #13798 for this.

Side note: I wonder if we can improve the error reporting here? I imagine this is going to be a common problem and the error message is quite cryptic and doesn't really lead you in the right direction.

I raised #13798 for this.

Thanks very much @mattcaswell.
Based on your feedback we uncommented  (#activate = 1 under [default_sect])
[default_sect]
activate = 1

and now the command works!
However, I want to make sure we fully understand your comment. You say:

If you load the "default" provider you always get the serializers, but if you don't load "default" then you should also load the "base" provider. That provider doesn't include any crypto algorithms but does include all the serializers and is designed to work in conjunction with the "fips" provider.

Does this mean that we should activate a base_sect instead of default_sect? I'm a little confused here. How do we enable "base" provider via config?
In the documentation listed here, when it describes how to make all apps use FIPS module by default,
https://wiki.openssl.org/index.php/OpenSSL_3.0#Making_all_applications_use_the_FIPS_module_by_default,
it says to edit the config file to add the following lines:
openssl_conf = openssl_init

.include /usr/local/ssl/fipsmodule.cnf

[openssl_init]
providers = provider_sect

[provider_sect]
fips = fips_sect

Should it also say to uncomment #activate =1 under default section? Or to enable base_sect (however that is done)?
Thanks very much.
E

Thanks very much @mattcaswell.
Based on your feedback we uncommented  (#activate = 1 under [default_sect])
[default_sect]
activate = 1

and now the command works!
However, I want to make sure we fully understand your comment. You say:

If you load the "default" provider you always get the serializers, but if you don't load "default" then you should also load the "base" provider. That provider doesn't include any crypto algorithms but does include all the serializers and is designed to work in conjunction with the "fips" provider.

Does this mean that we should activate a base_sect instead of default_sect? I'm a little confused here. How do we enable "base" provider via config?
In the documentation listed here, when it describes how to make all apps use FIPS module by default,
https://wiki.openssl.org/index.php/OpenSSL_3.0#Making_all_applications_use_the_FIPS_module_by_default,
it says to edit the config file to add the following lines:
openssl_conf = openssl_init

.include /usr/local/ssl/fipsmodule.cnf

[openssl_init]
providers = provider_sect

[provider_sect]
fips = fips_sect

Should it also say to uncomment #activate =1 under default section? Or to enable base_sect (however that is done)?
Thanks very much.
E

Does this mean that we should activate a base_sect instead of default_sect?

Yes

How do we enable "base" provider via config?

Something like this should do it:
openssl_conf = openssl_init

.include /usr/local/ssl/fipsmodule.cnf

[openssl_init]
providers = provider_sect

[provider_sect]
fips = fips_sect
base = base_sect

[base_sect]
activate = 1

In the documentation listed here, when it describes how to make all apps use FIPS module by default,
https://wiki.openssl.org/index.php/OpenSSL_3.0#Making_all_applications_use_the_FIPS_module_by_default,
it says to edit the config file to add the following lines:

Thanks for pointing that out. I modified the documentation to talk about "base", and include it in the config file example.

Does this mean that we should activate a base_sect instead of default_sect?

Yes

How do we enable "base" provider via config?

Something like this should do it:
openssl_conf = openssl_init

.include /usr/local/ssl/fipsmodule.cnf

[openssl_init]
providers = provider_sect

[provider_sect]
fips = fips_sect
base = base_sect

[base_sect]
activate = 1

In the documentation listed here, when it describes how to make all apps use FIPS module by default,
https://wiki.openssl.org/index.php/OpenSSL_3.0#Making_all_applications_use_the_FIPS_module_by_default,
it says to edit the config file to add the following lines:

Thanks for pointing that out. I modified the documentation to talk about "base", and include it in the config file example.

Awesome. Thanks for updating the documentation.
Confirmed openssl works with the updated base_sect config as you suggested

Awesome. Thanks for updating the documentation.
Confirmed openssl works with the updated base_sect config as you suggested

Great. Glad it works.

Great. Glad it works.


emmet.triggerExpansionOnTab is not working

VSCode Version: Code - Insiders 1.14.0-insider (4541e70733f110ada8d0b4266bc922565d74950a, 2017-06-09T05:11:14.033Z)

OS Version: Linux x64 4.8.0-52-generic

Extensions: no extensions (I disabled all my extensions)

Settings:

{
    "window.zoomLevel": 1,
    "editor.fontSize": 14,
    "editor.tabCompletion": true,
    "editor.quickSuggestions": false,
    "git.autofetch": false
}

Steps to Reproduce:

Create empty HTML file
Write div and press Tab

Expected Result:

Actual Result: div  -> only a space character is added

It does work if you tab the autocomplete widget result, but this does not popup in other emmet supported languages like handlebars

In the insiders, we have set emmet.useNewEmmet to true by default to give the new emmet model more test coverage.
See https://code.visualstudio.com/updates/v1_13#_emmet-abbreviation-expansion-in-suggestion-list on how the new emmet model is different and why we are moving away from using tab for emmet.
Since you have editor.quickSuggestions turned off, you can try one of the below options to get Emmet expansion.

Manually trigger the suggestion by pressing kb(editor.action.triggerSuggest) and then choose the expansion from the suggestion list
Run the command Emmet: Expand Abbreviation explicity.
kbstyle(Tab) key will no longer expand the abbreviation by default in the new model. Bind a keyboard shortcut for the command Emmet: Expand Abbreviation and use it.

Feel free to log any issues you see in Insiders while using emmet.
#27697 is tracking known current issues.

Ok, thank you, I wasn't aware of this. I'll try to trigger the expansion manually, maybe it's only a question of familiarization.

Yes, it will take a while for emmet users with quicksuggestions off to get used to the new model. We'll get there :)

#28556

I have just another question to this topic :), see #28556


talk about taking content down as well as putting it up

There is no mention of removing bookmarks - how long it takes to replicate etc etc

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

ID: 0c0da86d-a561-e5d5-15ff-c0863de2a58b
Version Independent ID: 66ecc43a-029f-70f7-62e9-3e7b77adc5d9
Content: Manage bookmarks
Content Source: MicrosoftSearch/manage-bookmarks.md
Service: mssearch
GitHub Login: @dawholl
Microsoft Alias: dawholl

@MrQuidd, thanks for the feedback. Will try to add that info to the manage bookmarks topic in a few days. I'll leave a comment when it's been updated.

@MrQuidd, added a Q&A to the FAQ section about removing deleted bookmarks from work results. If the page content has been cached, you may need to do a hard refresh to see the updated content.

@MrQuidd, with the update to address your feedback now live I'm closing this issue.


feat: add channel close feature

Closes: #381
Description
Channel layer misses close feature for a long time, and for a complete version of to be compatible with IBC protocol, close feature should be accomplished at last
Scan and check the incomplete methods in Ckb4Ibc, and only find query_txs() needs to do, others can only keep unimplemented status
Change logs

complete transaction assembly for MsgChannelCloseInit and MsgChannelCloseConfirm
iterate contracts of IBC for CKB endpoint
extract envelope struct from IBC transaction to distinguish which type of message behind a closed channel, for specific, to distinguish a channel that comes to close is triggered by MsgChannelCloseInit or MsgChannelCloseConfirm
emit channel close command in packet related CI tests
complete query_txs() method, but others are unreachable to do
add channel close trigger in CI test only between CKB chains

Related PRs

https://github.com/synapseweb3/ckb-ics/pull/21
https://github.com/synapseweb3/forcerelay-ckb-contracts/pull/31
https://github.com/synapseweb3/forcerelay-ckb-sdk/pull/39

@blckngm this PR's CI won't pass because we give relayer a random key but the module is set PRIVKEY, which would emit error in the contract check of MsgChannelCloseInit, we should send transaction to close channel via forcerelay-ckb-sdk

@Flouse this PR can start to review


Cannot uninstall version 6.1.0

Steps to reproduce
1. Uninstall powershell 6.1.0 from Control Panel.
2. Try to install a newer version.

Expected behavior
Uninstall the current version

Actual behavior
Prompts to locate the original 6.1.0 msi file which isn't available to download.

Environment data

Name                           Value
----                           -----
PSVersion                      6.1.0
PSEdition                      Core
GitCommitId                    6.1.0
OS                             Microsoft Windows 10.0.17763
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

With MSI you can install/uninstall only one version. For Side-By-Side scenarios use zip packages.

Hi @iSazonov
Thanks for the comment. I do not wish to have 2 versions side by side but to uninstall version 6.1.0 and install / update to the latest version. And I'm not able to do it.
A prompt asking for the path of the msi file pops up when I try to uninstall 6.1.0 or install 6.2
Hope this makes sense. Thanks

You could try to repair previous installation.
Or you could clean up registry manually and remove msi keys for previous version.

Hi @iSazonov ,
Same prompt for the msi file pops up when I try to repair the previous installation.
Any idea why 6.1.0 is deleted from Github?
Thanks,
Anton

@atfernando I think 6.1.0 was one of the releases affected by a security vulnerability, which would be why it was pulled I think.

@atfernando You need to clean up registry from broken msi keys. Note that it is not supported. (Supported way is to reinstall OS system.) You could ask help on forums.
I close the issue because we can fix nothing in the repo.


feat(consensus): implement ComponentStarter for the consensus manager component

This change is

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1199  👈
#1198
#1197
#1196
#1195
#1194
#1193
#1192
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @matan-starkware and the rest of your teammates on  Graphite

Merge activity

Oct 13, 5:42 AM EDT: A user started a stack merge that includes this pull request via Graphite.


specifying aggregation axis for gappy data (FMRC, ENSEMBLE, TSERIES)

Reported by @AndrewWittenberg on 29 Mar 2016 21:49 UTC
Branching off of ticket 2391.
We could let the user fully specify the structure of an aggregation axis.  E.g. for FMRC:
FMRC/AXIS=f_axis

where "f_axis" is an existing F-oriented axis.  E.g.:
DEFINE AXIS/F=0:12:1/edges/unit="months"/calendar=gregorian f_axis
FMRC/AXIS=f_axis ...

This would leverage existing functionality to enable full specification of bounds, units, irregular spacing, etc.
A shorthand form would be:
FMRC/AXIS=_f[gf=.5:11.5:1] ...

where for an abstract input axis, the FMRC command would use only the '''coordinate''' info to set up its own F-axis, with the units and other attributes taken from the actual input files.
A similar idea could be used for aggregating along T (TSERIES) or E (ENSEMBLE).
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/2393

Realized (while swimming, so maybe not 100% sure) the fairly easy extension to the recent FMRC changes is to have the user specify the axes to use for TF_CAL_T and TF_CAL_F, which could be the same coordinates, so could ignore the axis direction and just grab the coordinates.  For this to work smoothly, all forecasted dates (ie, for all forecasts) must be contained in TF_CAL_T, and all forecast initialization dates must be contained in TF_CAL_F, but otherwise free to be whatever one wants.
So maybe
DEF DATA /AGG /F /TF_CAL_T=... /TF_CAL_F=... myagg=....

or maybe /FAXIS=... /TAXIS=... so that the same syntax can be used with non-FMRC aggregations, which is pretty close to the above.  If not given, then use current (updated) behavior.

Added the /TAXIS=... option to the DEFINE DATA /T (aka TSERIES) command, although yet not merged into ferret/trunk.  This option allows one to specify the time axis to use when aggregating in time, leaving undefined in the gaps.  This time axis can be any type of time axis; the only requirement is that all the times in the files be present on the axis, and that time steps within a file be consecutive time steps on the given axis.  Also, this type of aggregation cannot have time overlaps.
I was thinking this would help in dealing with FMRC, but now realizing this is unlikely.  Looking at actual forecast files from GFDL, I am seeing that the notion that the time axis in these files is just a lag axis is not completely correct.  It actually is a well-defined time axis, but T0 is the time of forecast and so moves ahead for each file.  So yes, a lag axis, but also a well-defined time axis.
So seems like the result of the forecast aggregation should be the diagonal form instead of the compact form.  The compact form assumes the same regular lags, but this is not the case in these files (forecast made on 1-JAN-xxxx and 1-JUL-xxxx for mid-month of the next twelve true months on a Julian calendar).  Specifying the T and F axes makes more sense when going directly to the diagonal form, with the default F axis being the series of T0 values, and the default T axis being superset axis from merging the times axes of these files.  If the F axis is specified, map the T0 values onto that axis with undefined in any gaps.  If the T axis is specified, map the forecasted times to that axis and undefined in any gaps within or between forecasts.
That being said, I need to see why the compact form and TF_... axes and index array was chosen instead - to see if I am missing something.

As currently implemented (in my "aggaxes" branch in subversion - not yet in GitHub), the T axis coordinates would need to be highly accurate double-precision matches (within ~2.0E-13).  This value was just chosen for the time being and can be refined.  Potentially it could be a user-provided value.  (Ansley has just been dealing with @XACT regridding which has similar issues.)
The other current restriction, because time-axis aggregation is making use of Ferret's "step file" code, is that multiple times within a member dataset must be contiguous on the defined time axis.  If each member dataset is a singleton time, then this is not a concern.  There can be gaps before, after, and around the times of each member dataset.
These comments apply to a provided time axis and the time axis with both T and F aggregation.  This also applies to a provided F axis and the t-zero times of the time axes in the forecast datasets.
Being able to do an @ASN type override has not yet been implemented, but could easily be implemented in the redesigned code.  (Skip trying to match times; just used the axes provided.)

The @ASN type override would definitely be useful for the F-axis for forecast datasets where the t-zero times do not actually have any meaning, and thus the time of forecast is missing (as you mention).
In the redesigned code going directly to the diagonal form, there is, of course, the forecasted-time (T) axis and time-of-forecast (F) for the full aggregation - TF_CAL_T and TF_CAL_F.  But the "lag" axes TF_LAG_T and TF_LAG_F are no longer created as these are no longer forced to be uniform across all forecast datasets.  But a TF_LAGS 2-D variable in T and F can be obtained from
LET TF_LAGS = IFV value THEN _T[gt=TF_LAG_T] - _F[gf=TF_LAG_F]

(where value is the aggregated variable).  Still determining if this can be used to obtain the "skill" view - if that view of the data is desired.
BTW - got the time offset/span issue resolved, so am now producing the "diagonal" form directly.  There are no "gaps" in the default form but these are not needed as all times are correctly identified.  One can add the gaps where desired either by regridding the result or by specifying the T and F axes in the aggregation.

A though about syntax for specifying how to match the axis is to add @XACT, @BIN, @ASN to the end of the provided axis name; e.g., /TAXIS=mycalt@BIN /FAXIS=mycalf@ASN

Almost finished with the @ASN, @BIN, @XACT, and @XACT:<eps> additions to the /TAXIS=<taxis> and /FAXIS=<faxis>  syntax.  (Still needs testing.)  Default behavior (if no @... is to attempt @XACT; if fails, attempt @BIN; if fails, use @ASN.  So if all the T-zero times of the time axes in the data files are the same, /FAXIS=myfaxis will use @ASN as that is the only viable option in this case.
Just realized the "skill" and "compact" views of the aggregation could be created using this same syntax with a new @LAG operator.  With this operator, the axis to use would be optional.  So /FAXIS=@LAG would give the "skill view" (the F-axis becoming average lags instead of dates) and /TAXIS=@LAG would give the "compact view" (the T-axis becoming average lags instead of dates).  The lag axis would be generated from average lags and then actual lags matched to this lag axis with an @BIN-like procedure.
If the user provides an axis, e.g. /FAXIS=<axis>@LAG, match dates to that axis, then determine lags.  So one could possibly say /FAXIS=myfdatesaxis@ASN@LAG.  Was considering whether a lag axis could be provided directly, but not sure how the user would specify such an axis since it would be a T or F axis with units of time and a T-zero - thus interpreted as dates.  Maybe if the T-zero was year zero or one (normally indicates a modulo time axis), then assume this is a lag axis?


The primary color of the ThemeData is not equal to that of the color scheme value when using Brightness.dark and Material 3

In dark mode, the primaryColor of the theme is not equal to that of the color scheme.
Steps to Reproduce

Run the code sample
Compare the color values in the output
The values are different for the dark mode case

Expected results: The colors are the same for both light and dark mode
Actual results: The colors are different when in dark mode
light theme: theme.primaryColor: Color(0xff0061a4) colorScheme.primary Color(0xff0061a4)
dark theme: theme.primaryColor: Color(0xff1a1c1e) colorScheme.primary Color(0xff9ecaff)

Code sample
import 'package:flutter/material.dart';

void main() {
  final lightTheme = getTheme(brightness: Brightness.light);
  final darkTheme = getTheme(brightness: Brightness.dark);

  print('light theme: theme.primaryColor: ${lightTheme.primaryColor} colorScheme.primary ${lightTheme.colorScheme.primary}');
  print('dark theme: theme.primaryColor: ${darkTheme.primaryColor} colorScheme.primary ${darkTheme.colorScheme.primary}');
}

ThemeData getTheme({required Brightness brightness}) {
  final ColorScheme colorScheme =
      ColorScheme.fromSeed(seedColor: Colors.blue, brightness: brightness);

  return ThemeData(
    useMaterial3: true,
    colorScheme: colorScheme,
  );
}

Logs

[✓] Flutter (Channel stable, 3.7.10, on macOS 13.2.1 22D68 darwin-x64, locale
    en-BE)
    • Flutter version 3.7.10 on channel stable at
      /Users/navaronbracke/Documents/flutter
    • Upstream repository git@github.com:navaronbracke/flutter.git
    • FLUTTER_GIT_URL = git@github.com:navaronbracke/flutter.git
    • Framework revision 4b12645012 (3 days ago), 2023-04-03 17:46:48 -0700
    • Engine revision ec975089ac
    • Dart version 2.19.6
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/navaronbracke/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • ANDROID_HOME = /Users/navaronbracke/Library/Android/sdk
    • ANDROID_SDK_ROOT =
    • Java binary at: /Applications/Android
      Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      11.0.15+0-b2043.56-8887301)

[✓] VS Code (version 1.77.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.60.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 13.2.1 22D68 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 112.0.5615.49

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Thanks for filing the issue, @navaronbracke
This issue is reproducible on the latest stable and master channels. May be related or affect to https://github.com/flutter/flutter/issues/118146.

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.7.10, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.7.10 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4b12645012 (2 days ago), 2023-04-03 17:46:48 -0700
    • Engine revision ec975089ac
    • Dart version 2.19.6
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.77.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.60.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 111.0.5563.146

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[!] Flutter (Channel master, 3.9.0-22.0.pre.84, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.9.0-22.0.pre.84 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision aa6a0a9dea (2 hours ago), 2023-04-07 06:52:30 +0200
    • Engine revision d1dad6acbe
    • Dart version 3.0.0 (build 3.0.0-417.0.dev)
    • DevTools version 2.23.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.77.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.60.0

[✓] Connected device (3 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos            • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 111.0.5563.146

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Hi @navaronbracke
This seems to be intentional as ThemeData.primary isn't part of the ColorScheme.
ThemeData.primary  is actually using ColorScheme.surface for the dark theme.
https://github.com/flutter/flutter/blob/0a140c68f88b7cb3c83d721cfa0f64466fa10923/packages/flutter/lib/src/material/theme_data.dart#L471-L476
You can confirm this by printing ColorScheme.surface.
  print('light theme: theme.primaryColor: ${lightTheme.primaryColor} colorScheme.surface ${lightTheme.colorScheme.surface} colorScheme.primary ${lightTheme.colorScheme.primary}');
  print('dark theme: theme.primaryColor: ${darkTheme.primaryColor} colorScheme.surface ${darkTheme.colorScheme.surface} colorScheme.primary ${darkTheme.colorScheme.primary}');

flutter: light theme: theme.primaryColor: Color(0xff343dff) colorScheme.surface Color(0xfffffbff) colorScheme.primary Color(0xff343dff)
flutter: dark theme: theme.primaryColor: Color(0xff1b1b1f) colorScheme.surface Color(0xff1b1b1f) colorScheme.primary Color(0xffbec2ff)

This was added in https://github.com/flutter/flutter/pull/93463 and you can find a reason for this here.
Given ThemeData.primary is supposed to be deprecated under https://github.com/flutter/flutter/issues/91772 and the behavior is intentional, I feel safe to close this issue.


Add a String.hex_decode() method to complement PackedByteArray.hex_encode()

implements https://github.com/godotengine/godot-proposals/issues/6392
not sure if I did it right

I think you should add this method to the String class (core/string/ustring.h) and expose it with bind_string_method in variant_call.cpp (Packed*Array is an alias to Vector<T>, so these methods are implemented here, apparently). Note that the method will be added not only to String but also to StringName. Also, as far as I remember, you need to add some code in C#.

How do I add a C# part?

How do I add a C# part?

See #63902 for example (after that there were changes, maybe something else is needed).

Why does validate_node_name not have a csharp implementation?

Why does validate_node_name not have a csharp implementation?

It is:
https://github.com/godotengine/godot/blob/ad9302bafceaf11fd4e23459395e87151092ed93/modules/mono/glue/GodotSharp/GodotSharp/Core/StringExtensions.cs#L1842-L1850
But usually it should be marshaling:
https://github.com/godotengine/godot/blob/ad9302bafceaf11fd4e23459395e87151092ed93/modules/mono/glue/GodotSharp/GodotSharp/Core/StringExtensions.cs#L354-L360

Also, how do i make the CI run?

CI autostart is disabled for first time contributors.

I implemented the evenity check for the c++ side, but I dont know how to throw a error on the c# side.

I tested the mono side, it works.

I also noticed we have a hex_to_int, but no int_to_hex...

Use rebase, don't merge master into your branch.

Thanks! And congrats for your first merged Godot contribution :tada:


Video feature improvement

Candidates

[x] Cleanup code base
[ ] Change playback speed
[ ] Change quality bitrate
[ ] Offline support
[ ]  keep playing videos when the app goes to the background

Let me close this issue since it's been a long time.


✘ Blockchain init failed: unknown command "validate-genesis"

steps to reproduce:
git clone https://github.com/dhealthproject/dhealth-testnet
cd dhealth-testnet
ignite network chain publish github.com/dhealthproject/dhealth-testnet.git

@jeronimoalbi I think this is due to previous versions of ignite having an "appd validate-genesis" and that seems to have been moved to "appd genesis validate", so the network command runs a command that no longer exists perhaps.

Hi, is there a workaround for this? Want to release a testnet chain as soon as possible. Thank you @mondainai247

Here is the reason for the error, version 26 uses appd validate-genesis

Version 28 uses appd genesis validate-genesis. So the network plugin seems to be using the older command.

Here is the reason for the error, version 26 uses appd validate-genesis
Version 28 uses appd genesis validate-genesis. So the network plugin seems to be using the older command.

noted the error, does not seem like theres a workaround I can do. Yes I tried finding some documentation around launching a chain manually but to no avail! Do let me know if you've created a tutorial, thank you!

@yohanelly95 please check out this documentation below. You can also create a chain using ignite an push it to github, then install on a VPS using SSH commands.
https://docs.cosmos.network/main/user/run-node/run-node

Any updates on this? Tried to fork and change the ignite/cli dependency to v28 but it makes many other dependencies to fail

@ManuelBilbao FYI - if you use version 26 it should work fine. I think we are still trying to find a solution for this, as seems a newer version of sdk caused this issue.

Thank you. As I'm working with version 28 because I want Cosmos v0.50, I'll wait for the solution

The issue actually isn't the name validate-genesis vs validate, its that its at the wrong level.  The network plugin expects it to be at the root command level instead of the genesis sub command level.  A work around hack you can do is add the validate cmd to the root command.
In your  cmd/complianced/cmd/commands.go file you want to add these lines
func initRootCmd(
	rootCmd *cobra.Command,
	txConfig client.TxConfig,
	basicManager module.BasicManager,
) {
	rootCmd.AddCommand(
		genutilcli.InitCmd(basicManager, app.DefaultNodeHome),
		debug.Cmd(),
		confixcmd.ConfigCommand(),
		pruning.Cmd(newApp, app.DefaultNodeHome),
		snapshot.Cmd(newApp),
	)

	server.AddCommands(rootCmd, app.DefaultNodeHome, newApp, appExport, addModuleInitFlags)

	validateGenesisCmd := genutilcli.ValidateGenesisCmd(basicManager) // <- add this line

	// add keybase, auxiliary RPC, query, genesis, and tx child commands
	rootCmd.AddCommand(
		server.StatusCommand(),
		genesisCommand(txConfig, basicManager),
		queryCommand(),
		txCommand(),
		keys.Commands(),
		validateGenesisCmd, // <- Add this line
	)
}

This will then give you
~/GitProjects/compliance-blockchain$ complianced validate --help
Validates the genesis file at the default location or at the location passed as an arg

Usage:
  complianced validate [file] [flags]

Aliases:
  validate, validate-genesis

Flags:
  -h, --help   help for validate

Global Flags:
      --home string         directory for config and data (default "/home/jason-inbody/.compliance")
      --log_format string   The logging format (json|plain) (default "plain")
      --log_level string    The logging level (trace|debug|info|warn|error|fatal|panic|disabled or '*:<level>,<key>:<level>') (default "info")
      --log_no_color        Disable colored logs
      --trace               print out full stack trace on errors

Which allows the network module to find the validate command at your top level.  The validate command has an alias that will pick up validate-genesis just FYI.

To get past the ignite network chain init you'll need to add all the genesis sub commands to the root command like this
func initRootCmd(
	rootCmd *cobra.Command,
	txConfig client.TxConfig,
	basicManager module.BasicManager,
) {
	rootCmd.AddCommand(
		genutilcli.InitCmd(basicManager, app.DefaultNodeHome),
		debug.Cmd(),
		confixcmd.ConfigCommand(),
		pruning.Cmd(newApp, app.DefaultNodeHome),
		snapshot.Cmd(newApp),
	)

	server.AddCommands(rootCmd, app.DefaultNodeHome, newApp, appExport, addModuleInitFlags)

	gentxModule := basicManager[genutiltypes.ModuleName].(genutil.AppModuleBasic)
	rootCmd.AddCommand(
		genutilcli.GenTxCmd(basicManager, txConfig, banktypes.GenesisBalancesIterator{}, app.DefaultNodeHome, txConfig.SigningContext().ValidatorAddressCodec()),
		genutilcli.MigrateGenesisCmd(genutilcli.MigrationMap),
		genutilcli.CollectGenTxsCmd(banktypes.GenesisBalancesIterator{}, app.DefaultNodeHome, gentxModule.GenTxValidator, txConfig.SigningContext().ValidatorAddressCodec()),
		genutilcli.ValidateGenesisCmd(basicManager),
		genutilcli.AddGenesisAccountCmd(app.DefaultNodeHome, txConfig.SigningContext().AddressCodec()),
		genutilcli.ValidateGenesisCmd(basicManager),
		server.StatusCommand(),
		genesisCommand(txConfig, basicManager),
		queryCommand(),
		txCommand(),
		keys.Commands(),
	)
}

@julienrbrt Hi, how about this issue? I still get this error

I switch to ignite v0.26, which version should use for github.com/ignite/cli-plugin-network?

Still the same error with
Ignite CLI version:             v28.5.1.

A change in network needs to happen to work with v0.50 chains. @Pantani is on it.


[BUG]: Couldn't install colossalai

🐛 Describe the bug
Command：install colossalai==0.2.0+torch1.12cu11.3 -f https://release.colossalai.org
Traceback Infos：
Traceback (most recent call last):
File "D:\Projects\DiffusionAlg\ColossalAI-main-diffusion\prepare_env.py", line 90, in
prepare_environment()
File "D:\Projects\DiffusionAlg\ColossalAI-main-diffusion\prepare_env.py", line 86, in prepare_environment
run_pip(f"install colossalai==0.2.0+torch1.12cu11.3 -f https://release.colossalai.org", "colossalai")
File "D:\Projects\DiffusionAlg\ColossalAI-main-diffusion\prepare_env.py", line 48, in run_pip
return run(f'"{python}" -m pip {args} --prefer-binary{index_url_line}', desc=f"Installing {desc}", errdesc=f"Couldn't install {desc}")
File "D:\Projects\DiffusionAlg\ColossalAI-main-diffusion\prepare_env.py", line 41, in run
raise RuntimeError(message)
RuntimeError: Couldn't install colossalai.
Command: "D:\Projects\DiffusionAlg\ColossalAI-main-diffusion\venv\Scripts\python.exe" -m pip install colossalai==0.2.0+torch1.12cu11.3 -f https://release.colossalai.org --prefer-binary
Error code: 1
stdout: Looking in links: https://release.colossalai.org
Could not fetch URL https://release.colossalai.org: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='release.colossalai.org', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:997)'))) - skipping
Environment
torch==1.13.1+cu117
python: 3.10.10

Please use pip install colossalai directly. We will update our README accordingly as we have removed our own pip source.

Please use pip install colossalai directly. We will update our README accordingly as we have removed our own pip source.

OK, it works, thank you very much.


⚠ Bofrost.de has degraded performance

In fdb0913, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1013 ms

Resolved: Bofrost.de performance has improved in a540d02.


add Fistful of flowers items, PCs and NPCs

I can never remember if we get to add these before the PDF is actually out.

I can never remember if we get to add these before the PDF is actually out.

I can never remember if we get to add these before the PDF is actually out.

It is being run at conventions, which is our "new bar". I'll be adding a bunch of PFS stuff pre-GenCon for the same reason :) The Free RPG dayu adventure is allowed to be run online/using Foundry IF the players and GM could have run it at the same FLGS. Since Foundry can be run offline this fits within our new, friendly-with-Paizo rules since no lore/adventure content is going in.


One chunk causes repeatable crashes during terrain generation

OTG Plugin or Mod

[X] OTG Mod for Forge

OTG Version

[x] 1.12.2_v8_r6

Forge or Spigot Versions
forge-1.12.2-<IP_ADDRESS>38
Server/Client Log
latest.log
Crash #1
Crash #2
What other plugins are you running?
badmobs 1.1.28
pixelmon 7.0.7
fastleafdecay v14
Dynmap-3.0-beta-4-forge-1.12.2
Description
What is happening?
The world crashes when I try to generate a specific chunk for the first time. When crashing, the server kicks any logged-in player and displays "server closed", but does not actually close according to the console until about 60 seconds later, when it crashes again due to a tick taking too long. Both crash reports are above.
What did you expect to happen?
For me to go along on my merry way playing Minecraft with no issues.
What have you already tried?
I approached the "problem chunk" from multiple angles - it does in fact seem to be a specific chunk causing the problem. I can't figure out what biome the chunk is supposed to be, since I can't even get close enough to run /otg biome on a neighboring chunk before crashing.
I also tried changing the Resource Seed, but the server still crashed (so it's likely not a specific-bo3 issue?).

Can this be reproduced with normal forge (not spongeforge)? As spongeforge is not a supported platform.

Unfortunately I can't tell. I transferred the world to a forge-only singleplayer world, but the terrain generates differently even with the same seed. I could try running a large pre-gen in forge, but if the error never appears it could just be that I got lucky with no errored chunks.

Resolved: After narrowing the problem down using older backups, I found the issue - basically it was my fault. An NBT file used by one of the structures was causing an error, probably because at some point I messed it up with Notepad++.


Init accessor page needs better explanation and examples.

I've been using C# for 20 years and found out about { init; } today.
This page needs better examples. It says "An init-only setter assigns a value to the property or the indexer element only during object construction." but there are no examples of actual object construction or even mention of why you would use it over { private set; }.
What does it mean and why do I need it? I'm guessing it means that for int Property { get; init; } you are only allowed to set it during construction. And that you can't just come back later and set obj.Property = 456 .
I can imagine for beginners this page would be VERY confusing.
'During construction' may imply 'from the constructor' which I'm guessing is true, but then why not use 'private set'?
Adding something like the following to describe how { int Property { get; init; } might work would make things much clearer.
// Allowed
var something = new Something {
   Property = 123
}

// Allowed
Something() {
   this.Property = 123;
}

// Not allowed
something.Property = 456;

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

ID: 816634c5-6e7d-3845-f9a3-1ce305fea838
Version Independent ID: fc780319-a7fd-d9d1-1877-638ac05eb5f4
Content: init keyword - C# Reference
Content Source: docs/csharp/language-reference/keywords/init.md
Product: dotnet-csharp
Technology: csharp-language-reference
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thanks for writing this @simeyla
I've added this to our backlog to address when we next update this article.


added Ensure CTs in Site Before extracting Template

code related to this post: https://www.m365thinking.com/post/dealing-with-deep-content-type-hierarchies-in-pnp-provisioning-templates

@kasperbolarsen thank you another cool sample, sorry for delay just come back from hols. This will be live shortly 🎉


Building in a shared library

Hi,
My main usage of Lua is in a shared library used by different programs. As I am investigating whether this is possible, I noticed that at least one function cannot be inlined by the compiler, and thus cannot be used in the library as such. In include/selene/LuaRef.h, at line 46, append_ref_recursive should be marked inline to allow building inside a library while still having access to the headers. Not sure if there are other cases in the library though.
Thanks for the great work!

Ah, that's the same issue I had when including the headers in multiple cpp files. I created a pull request with the fix.

Should now be resolved.