Minor memory leak without sqlite3_shutdown

Hello, I was seeing some memory leaks on app exit and traced it to sqlite3mc_amalgamation.c(23761). Specifically, three blocks of size 8, 48, and 208 bytes. One of these being wsdAutoext.aExt which is freed in sqlite3_reset_auto_extension but only if I call sqlite3_shutdown. Not sure if I'm just doing something wrong, but the call to shutdown seems to be necessary for me (building the default sqlite3mc_amalgamation.c on VS2019).
Not that it's a significant amount of memory or anything, but the "Detected memory leaks!" warning might make someone think twice about using the library. Anyway, it might be nice to mention this somewhere in the docs for others who might run into the same leaks.

If you want to be on the safe side, you'll have to call sqlite3_shutdown. This is the only way to guarantee that all resources are freed.
Interestingly, I use VS2019 myself, but I didn't experience memory leaks, even without calling sqlite3_shutdown. For example, the shell application coming with SQLite does not call sqlite3_shutdown. Nevertheless VS2019 does not report memory leaks, if I use this shell together with SQLite3 Multiple Ciphers.
How do you compile sqlite3mc_amalgamation.c? Could you please show the full VS2019 command line which is used? TIA.

Thanks for the confirmation! The official sqlite3 documentation is a little vague on when sqlite3_shutdown is necessary. But I will assume it is in this case.
Here is a minimal sample app that illustrates the leaking.
// main.c
// --------------------------------------------------------------
// Illustration of memory leak with sqlite3mc on app exit
// when not calling sqlite3_shutdown().
//
// Compile with MSVC from the commandline with
// cl /MTd main.c
//
// Run with the debugger to see the memory leak output
// devenv main.exe
//
// --------------------------------------------------------------

// Enable memory leak detection
// Ref: https://docs.microsoft.com/en-us/visualstudio/debugger/finding-memory-leaks-using-the-crt-library?view=vs-2019
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>

// Simple unity build for demonstration purposes
#include "sqlite3mc_amalgamation.c"
#include "sqlite3mc_amalgamation.h"

int main(int argc, char *argv[])
{
    // Enable memory leak reporting (will show up in MSVC "Output" window)
    _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );

    sqlite3* db;

    sqlite3_open(":memory:", &db);
    sqlite3_close(db);

    // Memory is leaked at app exit unless shutdown is explicitly called
    // sqlite3_shutdown();

    return 0;
}

The official sqlite3 documentation is a little vague on when sqlite3_shutdown is necessary.

Yes, indeed. In fact, it depends on how the SQLite library was built, especially whether the standard SQLite amalgamation is used with default settings or additional features were added and/or activated (as is the case for SQLite3 Multiple Ciphers). In the default case sqlite3_shutdown does not need to free any memory, and therefore it is not necessary to call the function at all in that case.

But I will assume it is in this case.

Yes. SQLite3 Multiple Ciphers makes use of the function sqlite3_auto_extension to register extensions for automatic loading for each new database connection. And therefore it is necessary to call sqlite3_reset_auto_extension (which is done implicitly by sqlite3_shutdown) to clean up memory before exiting the application - this is true for the standard SQLite3 code, too. This could be avoided only at the price of patching the SQLite source code even more.
Additionally, SQLite3 Multiple Ciphers registers at least one dynamically allocated VFS instance, which is freed only if sqlite3_shutdown is called or if sqlite3mc_vfs_shutdown (or sqlite3mc_shutdown) is called explicitly. At first I had implemented only a single static instance of the new VFS shim, but that was too restrictive, in case a developer wanted to combine encryption with a non-default VFS.
So, the conclusion is that the simplest way to avoid memory leaks is to call sqlite3_shutdown before exiting the application.
Thanks for bringing the issue to my attention. I will add a note to the documentation.

Since calling sqlite3_shutdown avoids memory leaks and since this is now documented, too, I close the issue.


Need sample code for Google.Apis.Fitness.v1 .NET library

Extremely sorry if this is not the right place to discuss this point.
I am trying to use Google.Apis.Fitness.v1 .NET library. I know how to use authentication part. But further usage of 'Fitness' service is really not clear because of lack of any .Net sample of the library demonstrating actual usage. It will be great if you can provide .Net sample of this library.

Sorry for the post here. I have posted my question on stack-overflow
http://stackoverflow.com/questions/31823678/need-sample-code-for-google-apis-fitness-v1-net-library
Hence closing question from here.

I am working on it (Google Fitness sample)[https://github.com/LindaLawton/Google-Dotnet-Samples/tree/master/Google-Fitness]

Generally we don't provide C# samples of how to use individual libraries. An overview of the fitness API is provided in the REST fitness docs here: https://developers.google.com/fit/rest/

Most of the other libraries supply samples are you sure we don't want to?


Updated Phone-Number Test cases ( tests.toml & phone_number_test.cpp)

first PR here.
used configlet to update tests.toml  for phone numbers against the problem-specifications reqs, then went through problem-specs repo, tests.toml, and phone_number_test.cpp and updated cases accordingly to include the correct cases.

Just realized I need to make some updates in the TEST_CASE() function and add in the UUIDs. I looked through previously merged commits and saw that. I will update and re pr tonight.


Asking to open in browser that is not installed fails silently

Repro:

Set livePreview.customExternalBrowser  to Firefox on a computer that doesn't have firefox installed
Try Live Preview: Show Preview (External Browser)
Fails silently :bug:

I don't see any error, nor do I see any failure message.

Did you see a notif like

?

No. It just adds a "Port: 3000" entry to the status bar. Nothing else seems to happen

which version of ms-vscode.js-debug-companion are you running? are there any errors in devtools?

I get the following devtools error message on Windows 11.
I uninstalled Firefox before attempting to verify this issue.
mainThreadExtensionService.ts:81 [ms-vscode.js-debug-companion]Cannot read properties of undefined (reading 'Stable')
$onExtensionRuntimeError @ mainThreadExtensionService.ts:81
N @ rpcProtocol.ts:455
M @ rpcProtocol.ts:440
H @ rpcProtocol.ts:370
G @ rpcProtocol.ts:296
(anonymous) @ rpcProtocol.ts:161
w @ event.ts:1088
fire @ event.ts:1119
fire @ ipc.net.ts:650
Q.onmessage @ localProcessExtensionHost.ts:583
mainThreadExtensionService.ts:82 TypeError: Cannot read properties of undefined (reading 'Stable')
    at Rt.<anonymous> (c:\Users\raymondzhao\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\extensions\ms-vscode.js-debug-companion\out\extension.js:12:21370)
    at Generator.next (<anonymous>)
    at i (c:\Users\raymondzhao\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\extensions\ms-vscode.js-debug-companion\out\extension.js:1:1120)

js-debug-companion is on v1.1.1
js-debug is disabled
js-debug-nightly is on v2023.6.2717
Live Preview is on v0.5.2023062101

I also can't see the notification. Using:
js-debug-companion  v1.1.1
js-debug v1.80.0
Live preview on v0.5.2023062101
Same logs as Raymond's when toggling Developer Tools.

Should be fixed when https://github.com/microsoft/vscode-js-debug-companion/pull/30 is adopted.


Cargo should use progress bar only on terminals that support it

Currently cargo seems to always use a progress bar, but for example the terminal that travis uses does not support it, such that every update to the progress bar creates a lot of noise: https://api.travis-ci.org/v3/job/403149958/log.txt
Cargo should detect whether the terminal allows modifying a line in place, and if it doesn't, it shouldn't really use a progress bar.
Also, there should be an environment variable that allows disabling the progress bar, but I couldn't find one in the cargo book. So maybe the docs need updating, or if there isn't one, we maybe should add one.

Also, kudos to whoever added the progress bar, been using it all day, and its really nice, so thanks for doing that!

I think that Travis intentionally sets TERM to xterm because the build output on the website (https://travis-ci.org/rust-lang/rust/) is colorized.  Adding TERM=dumb should disable the progress bar.
Note: The progress bar has been placed behind an unstable option in #5716, so it will go away the next time cargo is updated in nightly.

I think that Travis intentionally sets TERM to xterm because the build output on the website

Oh crap, then cargo cannot really detect this. If there was an environment variable, one could disable the progress bar without having to change the TERM.

The progress bar has been placed behind an unstable option in #5716, so it will go away the next time cargo is updated in nightly.

Sad to hear this, i've enjoyed it a lot today :/

So one could argue that the bug is really on the Travis side for setting TERM=xterm without actually supporting xterm properly?  Is there an issue on their side to track that?

So one could argue that the bug is really on the Travis side for setting TERM=xterm without actually supporting xterm properly?

Yes, but this is no excuse for cargo to break travis-CI for every Rust project using it: I'm getting notifications that builds are failing because now they are writing N-times more logs due to the progress bar, exceeding the log limit.
A workaround could be for cargo to detect whether it is running in a travis instance (e.g. checking if the travis environment variables exist), and disabling the progress bar if this is the case.

I agree there probably should be some way to disable it.
Does anyone at @rust-lang/cargo have any opinions about this, and how to approach it?

It could check for TRAVIS env var.  That seems a little odd, though.
It could check for CI env var.  It looks like the majority of CI systems will set this.
It could check for some custom var (CARGO_PROGRESS_BAR?).  However, if this is the only option, that means everyone who uses travis would need to set it, which most probably won't.

It could check for some custom var (CARGO_PROGRESS_BAR?). However, if this is the only option, that means everyone who uses travis would need to set it, which most probably won't.

I think that having such an environment variable would be useful irrespectively of what's done about the other options.

It could check for CI env var.

This seems good to me, like the most general option and already an established 'standard'.

It could check for some custom var

I have a bad opinion of env vars in general (they are global mutable state) and I'd much prefer to use a command line option (if the CI env var is not good enough).

Oh one thing I should mention on the cli/env/config var debate is that one thing I've intended we should do for a long time is to add a --config flag to Cargo for all subcommands. Just like .cargo/config already has env vars to configure it I'd ideally like to have a --config flag as well, that way whatever's easiest for the use at hand can be used without us having to dictate which is the best

one thing I've intended we should do for a long time is to add a --config flag to Cargo for all subcommands

(there's now a proposal for that in https://github.com/rust-lang/cargo/issues/6699)

I'm going to close this as fixed. #6281 disabled the progress bar when CI env var is set (which Travis does).  Additionally, there is now a progress bar config, where CARGO_TERM_PROGRESS_WHEN=never can disable the progress bar.

FWIW, CI is not set on Azure (because why would MS follow any kind of standard they didn't invent). For that reason Miri also checks the TF_BUILD variable.

So does cargo, see is_ci.  Sorry I didn't mention all the details.  GitHub Actions, GitLab CI, and CircleCI also sets CI.

@ehuss CI=1 and CARGO_TERM_PROGRESS_WHEN=never don't indicate anything (or does not work as expected) for updating crates.io index:

Maybe add some indicator?
Example for reproduce in Docker (you will understand problem, when run docker build .):
FROM rust:latest

ENV CARGO_TERM_PROGRESS_WHEN=never
ENV CI=1

WORKDIR /usr/src/myapp

RUN cargo new --bin myapp && \
  cd myapp && \
  cargo add rand_core

CMD ["myapp"]

Thank you, @Luchanso. That is an interesting idea. There are already some discussion around console output happening. You can check the label https://github.com/rust-lang/cargo/labels/A-console-output to get a glimpse of them.
As your proposal seems like a new feature request, to catch everyone's eyes, I would suggest commenting on a relevant open issue or creating your own, rather than replying under a closed issue :)


Enhancement: Snapshot testing of EXPLAINs

REMEMBER, BE SMART!
S: Specific
M: Measurable
A: Achievable
R: Relevant
T: Time-Bound
Goal-State/What/Result
A clear and concise description of what the enhancement is and the target goal-state.
Why/Purpose
Clear and concise answer to why this should be done now.
By When
A target date for done-done completion of the entire enhancement.
Issue/Spec written and reviewed:
Done-Done:
Done-Done

[ ] First Principles Driven
[ ] The Algorithm
[ ] PM/Design Review
[ ] UX Review
[ ] Threat Model / Security Review
[ ] Tests
[ ] Documentation
[ ] Samples/Quickstarts/Tutorials
[ ] Release Notes

The Algorithm

[ ] Every requirement questioned?
[ ] Delete (Scope) any part you can.
[ ] Simplify.
[ ] Break down into smaller iterations/milestones.
[ ] Opportunities for automation.

Spec
Basic specification of the enhancement.
How/MAP
A clear and concise plan of how this should be implemented.
Implementation (issues)

QA

closing as duplicate of #2544


OneOf accepts both fields present

Hi!  Thanks for the lib, it's been really useful for us, however I'm experiencing the behaviour that doesn't seem to be an intentional one.
When I declare a message containing oneof field I expect it to fail on unmarshal, when both options are present,
However this doesn't seem to be the case
syntax = "proto3";

package proto;

message Project {
  ..... <Ommited fields>

  oneof project_type {
    int32 number = 4;
    string string = 5;
  }
}

protoyaml handles this message as valid one, which can lead to unexpected behaviours
number: 4
string: idp

This used to be the case with protoyaml at some point as well, but has been fixed according to the devs. https://github.com/golang/protobuf/issues/618

Thanks for the report! This protoyaml should treat this as an error.


gate phaser initial commit

A script which attempts to answer the question "What would Steve Reich do if he had a EuroPi?

@gamecat69 I'm going to merge this as-is since most of the changes are minor and documentation fix requests. Please follow up with a PR to address the comments in the PR in the near future.
Thanks for another awesome script!

all changes made and placed in https://github.com/Allen-Synthesis/EuroPi/pull/378


Error message

Script error: esegovic_fuel_system/client/client.lua:100: attempt to index a nil value (field '?')
local function manageFuel(state, veh)
    local fuel = state.fuel;
    local fuelType = state.fuelType
    if GetIsVehicleEngineRunning(veh) then
        local currentRpm = GetVehicleCurrentRpm(veh)
        local roundedRpm = math.floor(currentRpm * 10) / 10
		local newFuel = fuel - Fuel_Consumption[fuelType][roundedRpm] * 1.0
        setFuel(state, veh, newFuel)
    end
end

Will be fixed in next patch

thx

Fixed.


Step 5: Add NOTICE, LICENSE, and CHANGELOG to each OpenWhisk project

This step can lead to multiple issues for each openwhisk repo to implement by adding NOTICE, LICENSE and CHANGELOG separately.
The important thing we need to confirm is which files are static in content, and which are dynamic based on different releases.
This step can make sure in further steps that we can package the all the necessary files.
Sub-issues can be opened to track this epic.

The LICENSE and NOTICE files have been added to the 12 repos we are about to release for the first time in Apache.
We will resolve the issue regarding CHANGELOG during next source code release.


Update for pending strictness change in layering check

Post https://reviews.llvm.org/D132779 the layering check will be
stricter.

I'm excited to have the layering checks enabled - these kind of things bitrot fast without it - thanks for doing this!


Why are the frames all required to be from different seeds?

Is there no way to use one base seed and have it altered for each frame so it animates and doesnt just move to a completely new image for each frame?

the seeds aren't required to be different. you could pass a list of all the same seed if you wanted. :)

from my usage, you can't animate a single prompt without it being unstable due to it simply being frames changing if you use multiple seeds. if you use the same seed, the image doesnt change. so are you expecting people to use this tool so that the prompt changes with the image every second? because even when i do that, there are very abrupt swaps that make it unusable.
it's a good idea and the implementation for music is good, i'd like to see these issues addressed though.

perhaps you could add a zoom option like other diffusion setups?


fix: chase plugin api for yazi 0.30

Hi! I noticed I have left this plugin here, but I was actually meaning to archive it in favor of using https://gitee.com/DreamMaoMao/easyjump.yazi
I originally created this fork in order to preserve the plugin DreamMaoMao created, but since then I have found they opened that gitee repository that can be used.
Personally I install the plugin with yazi.nvim's plugin integration here. However, I think ya pack is used by most of the yazi plugin community, and I think it's not possible to install from other hosts than github.
There is an issue for reworking the ya pack interface in various ways https://github.com/sxyazi/yazi/issues/1471 as well as an open PR that adds support for other hosts https://github.com/sxyazi/yazi/pull/1325
I'm not sure what to do about this right now. I think for the time being I can mirror the othe repository here so people can at least use the plugin.

Ok, I changed the repository name keyjump.yazi -> easyjump.yazi and rewrote the main branch to the latest commit by DreamMaoMao. See if that works for you.

Ok, I just tried the following easyjump although the basic functions are the same, but keyjump seems to have more functions.


[CI] - [LLM] Add ssh debugging during workflows

📝 Description
Add ssh action if detox test fail
❓ Context

JIRA or GitHub link: LIVE-10135

✅ Checklist
Pull Requests must pass the CI and be code reviewed. Set as Draft if the PR is not ready.

[ ] npx changeset was attached.
[ ] Covered by automatic tests.

[ ] Impact of the changes:

🧐 Checklist for the PR Reviewers

[ ] The code aligns with the requirements described in the linked JIRA or GitHub issue.
[ ] The PR description clearly documents the changes made and explains any technical trade-offs or design decisions.
[ ] There are no undocumented trade-offs, technical debt, or maintainability issues.
[ ] The PR has been tested thoroughly, and any potential edge cases have been considered and handled.
[ ] Any new dependencies have been justified and documented.
[ ] Performance considerations have been taken into account. (changes have been profiled or benchmarked if necessary)

I think that SSH session might be optional.
We could start a job with a parameter to tell that we want to start a SSH session. Maybe we can create a custom action that we can easily reuse across all workflow.
wdyt?

I think that SSH session might be optional. We could start a job with a parameter to tell that we want to start a SSH session. Maybe we can create a custom action that we can easily reuse across all workflow. wdyt?

I guess this is a good idea, thank you

Interesting what you have here. Did you test to ssh into the machine ?

Interesting what you have here. Did you test to ssh into the machine ?

Only on github one, I test it on ledger runners. It works with the ssh key authentication


[WIP] Add Mesos serviceRegistry

Currently, istio only supports K8s and Consul.  I added another service registry to make Istio run on Mesos + Marathon.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: harryge00
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: rshriram
If they are not already assigned, you can assign the PR to them by writing /assign @rshriram in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @harryge00. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: harryge00
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: zackbutcher
If they are not already assigned, you can assign the PR to them by writing /assign @zackbutcher in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

I believe the proper way for this is by providing service info over MCP rather than directly in pilot. Then Pilot doesnt need to add another dependency on Mesos, since we want to make Pilot simpler. There is already work being done on moving consul to this approach: https://github.com/costinm/istio-consul. And I think even the kubernetes one in the future.
I am not an expert in the area though so I am not 100% sure - @costinm (who is on vacation for a couple more weeks) or @rshriram can probably give you a conclusive answer on if we could accept something like this directly in pilot.
I'd recommend you join the #environments channel in slack and discuss further, especially for relatively large changes like this -- we definitely don't want to waste your time implementing something that should be done in a different way.
It would be great to see Mesos support though so the work is much appreciated.

@howardjohn Thanks very much for your reply. I am OK by providing service info over MCP. We can discuss this in detail through slack. I have submitted my joining requst. My working email is<EMAIL_ADDRESS>

Yes, I agree on using MCP if possible.
github.com/costinm/istio-consul has the start of a consul-to-mcp mapper. There are still some issues
like https://github.com/istio/istio/issues/15417 and work on moving k8s registry to MCP.
How urgent do you need this ? I think best would be to put all efforts on making 'over MCP' work,
so we don't have to remove this PR a bit later.
The main issue is how readiness is handled - if you can live with passing all endpoints to pilot
for distribution before readiness probe is complete - it's pretty easy. Otherwise you need to
expose separate sets for ready and not ready endpoints - @nmittler is the expert.

@harryge00: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Closing as this will be done in MCP. Another example of mcp server can be found at https://github.com/istio/istio/issues/16191, with some other links to docs, etc


Match on Email

Context
We want to be able to match TRN records on the Date of Birth step instead of the NI step
Changes proposed in this pull request

There is a feature flag to turn on matching on the DOB step instead of the NI step. This is because until qualified-teachers-api ships an update on their side, if we shipped this, it would probably break all "eager matching." It also allows us to control when this is enabled and see how it impacts our performance stats
Matching is done at the date of birth step instead of the NI step
Don't include email when querying DQT when feature flag is off

Guidance to review

Ensure new cassettes are accurate
Ensure existing tests do not require any changes
Check New Tests
Test on Review

Checklist

[x] Attach to Trello card
[x] Rebased main
[x] Cleaned commit history
[x] Tested by running locally

Code looks good so far; let's add a system spec that exercises the path with the feature flag on. Then we can merge this 🚀
We can go back and update the dqt_api_spec once we remove the feature flag as a follow-up.

This is now done and in the branch. Should be good to merge in once i merge changes from main into this branch


Bug in intermediate solution on the forum

Missing letter algo challenge, intermediate solution in the forums has a bug.
It cannot handle sequential missing letters, so if you had an input of 'abcf', it would only return 'd' instead of 'de'.
I tried to add a comment, but I wasn't able to unlock the topic, so I thought I'd post an issue and see if someone could guide me to the proper place to go fix this.
Here's a working solution that uses reduce instead of map
function fearNotLetter(str) {
    const toMissingLetters = (missingLetters, ch, index) => {
        if(index == 0) return missingLetters;

        const charCode = ch.charCodeAt();
        const prevCharCode = str.charCodeAt(index - 1);
        let nextExpectedCharCode = prevCharCode + 1;

        while(nextExpectedCharCode != charCode) {
            const nextMissingLetter = String.fromCharCode(nextExpectedCharCode);
            missingLetters = missingLetters.concat(nextMissingLetter);
            nextExpectedCharCode += 1;
        }
        return missingLetters;
    };

    return str.split("").reduce(toMissingLetters, '') || undefined;
};

fearNotLetter("abcf");

Thanks!

map is returning no more the number of the letters that come after the missing letters. For example, if the string is "abe", then there is only one letter "e" that comes after the missing letters "cd". So, map returns only one missing letter "c".
If the original string was "abef", then "cd" would be returned as missing letters.
To remedy this issue, we need to get the number of missing letters first by subtracting "compare", the character code of the last missing letter, from the character code of the letter in the string.
Then we loop for the as much as there are missing letters increasing the character code by 1.
This works only for strings with alphabetically sequential letters. Here is the updated solution:
function fearNotLetter(str) {
    var compare = str.charCodeAt(0), missing="", nbr_missed = 0;

    str.split('').map(function(letter,index){
        if (str.charCodeAt(index) == compare) { ++compare; }
        else { nbr_missed = str.charCodeAt(index) - compare; }
    });

    while(nbr_missed>0){
        missing += String.fromCharCode(compare++);
        nbr_missed--;
    }

    return missing;
  }

  // test here
  fearNotLetter("abf");

Correct me if I am wrong, but I think that the forum posts on https://forum.freecodecamp.org are not part of the freeCodeCamp repo on Github!

That is correct, but since I could not find how to unlock and leave a
comment, I figured I would post on Github and see if someone could point me
in the right direction.
What would be great is to update the forum example so it does not have the
bug.
Though I prefer self commenting variable names, whichever working code
works, works for me.
Do you know how to change that post linked to in the original issue?
On Sat, Jun 16, 2018 at 7:24 PM Haydar Al-Rikabi<EMAIL_ADDRESS>wrote:

Correct me if I am wrong, but I think that the forum posts on
https://forum.freecodecamp.org are not part of the freeCodeCamp repo on
Github!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/issues/17604#issuecomment-397844135,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AATkbyFbRWyLt7PfymAC-4324gPowptIks5t9ZO2gaJpZM4Uqi6V
.

--
Best,
F

That is correct, the sites are different, but since I could not find how to unlock and leave a
comment on the forum, I figured I would post on Github and see if someone could point me
in the right direction.
What would be great is to update the forum example so it does not have the bug.
Though reduce feels semantically more appropriate, and I prefer self commenting variable names, and fewer moving parts, the priority is working code on the forum. 🥇
Do you know how to update the post linked to in the original issue?
BTW, to make your code pass the tests, you will need to append a || undefined; at the end to handle the no missing letters case.
Thanks!

The guides are locked on the forum for a reason.
Have you seen the pinned post in the guide category? https://forum.freecodecamp.org/t/about-the-guide-category/26397

If you notice there is a padlock icon on the left of the forum's title which indicates that the topic is closed and does not accept new replies.
You can contact the support team through this email address<EMAIL_ADDRESS>or through this page: https://forum.freecodecamp.org/latest
Most probably you will receive the same reply as @thatnini 's.

Ok, thanks. Since it seems this issue would be more appropriate for the guides repo, I created a new  issue over there.

I've only just read the challenge in question as it wasn't linked here.
This may just be me, but as https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/missing-letters/ is asking you to

Find the missing letter in the passed letter range and return it.

implies that there will only ever be one missing letter and that you won't need to think about the scenario you're suggesting ie multiple missing letters.

The original issue linked to the forum page that has a description of the
problem.
From the description:
"There is currently no test case for the string missing more than one
letter, but if there was one, recursion would be used. "
In other words, the tests will pass with one missing letter, but there is a
possibility that there will be more.
On Sun, Jun 17, 2018 at 12:49 PM thatnini<EMAIL_ADDRESS>wrote:

I've only just read the challenge in question as it wasn't linked here.
This may just be me, but as
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/missing-letters/
is asking you to
Find the missing letter in the passed letter range and return it.
implies that there will only ever be one missing letter and that you
won't need to think about the scenario you're suggesting ie multiple
missing letters.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/issues/17604#issuecomment-397891107,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AATkb9sREx7pTh4hwlt1Ay4ykyj2MIOBks5t9oiygaJpZM4Uqi6V
.

--
Best,
F


operator project-quay (3.12.0-nightly.20240626)

Add 3.12.0-nightly.20240626 to community operators

/merge possible

/merge possible


Get soft deletes

Adds getting of soft deleted items.
Get and List functions may now provide an additional options argument which allows the caller to provide additional settings for the requests.
The first of which is WithDeleted which, when set true will allow for deleted directories to be retrieved.
This works for both getting a directory or returning a list of directories, such as getting children or parents.

This does make sense. I had considered this as well, but ultimately had gone the initial way. I've now converted it to using this new method and your other issues.


Add Chebi IDS to the metabolites on Pathway Explorer page

Adding the Chebi IDs allows the user to compare the FlyMet metabolites directly with the pathway diagram.

IDs added.


Application crashes when call ui.Image  toByteData function on windows.

I build https://github.com/renancaraujo/bitmap's example code on windows (I use master channel). It crashed.
However, the same code works on Linux and mac.
It throws exception at
final ByteData byteData = await image.toByteData();
Is it a windows platform bug?

Hi @cometyang
Can you please provide your flutter doctor -v your flutter run  -d windows --verbose
Thank you

Sure.
The flutter doctor -v  output is the following:
[√] Flutter (Channel master, 1.22.0-10.0.pre.136, on Microsoft Windows [Version 10.0.20211.1000], locale en-US)
• Flutter version 1.22.0-10.0.pre.136 at C:\Users\user1\flutter\flutter
• Framework revision 53f9653e6b (4 days ago), 2020-09-10 20:20:04 -0700
• Engine revision e831433a20
• Dart version 2.10.0 (build 2.10.0-112.0.dev)
[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at C:\Users\user1\AppData\Local\Android\sdk
X Flutter requires Android SDK 29 and the Android BuildTools 28.0.3
To update the Android SDK visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed
instructions.
! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[√] Chrome - develop for the web
• Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.7.3)
• Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
• Visual Studio Community 2019 version 16.7.30503.244
• Windows 10 SDK version 10.0.19041.0
[√] Android Studio (version 4.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 46.0.2
• Dart plugin version 193.7361
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] VS Code (version 1.49.0)
• VS Code at C:\Users\user1\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.14.1
[√] Connected device (4 available)
• Windows (desktop) • windows    • windows-x64    • Microsoft Windows [Version 10.0.20211.1000]
• Web Server (web)  • web-server • web-javascript • Flutter Tools
• Chrome (web)      • chrome     • web-javascript • Google Chrome 85.0.4183.102
• Edge (web)        • edge       • web-javascript • Microsoft Edge 85.0.564.51
! Doctor found issues in 1 category.
The verbose log for flutter run -d windows --verbose:
[ +239 ms] executing: [C:\Users\user1\flutter\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +170 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +3 ms] 53f9653e6be44438c5addf3495cf1e896b7a2b3c
[   +2 ms] executing: [C:\Users\user1\flutter\flutter/] git tag --points-at HEAD
[ +225 ms] Exit code 0 from: git tag --points-at HEAD
[   +7 ms] executing: [C:\Users\user1\flutter\flutter/] git describe --match ..* --first-parent --long --tags
[ +141 ms] Exit code 0 from: git describe --match ..* --first-parent --long --tags
[   +3 ms] 1.22.0-9.0.pre-136-g53f9653e6
[  +21 ms] executing: [C:\Users\user1\flutter\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +79 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[   +2 ms] origin/master
[   +1 ms] executing: [C:\Users\user1\flutter\flutter/] git ls-remote --get-url origin
[  +70 ms] Exit code 0 from: git ls-remote --get-url origin
[   +2 ms] https://github.com/flutter/flutter.git
[ +136 ms] executing: [C:\Users\user1\flutter\flutter/] git rev-parse --abbrev-ref HEAD
[  +92 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[   +2 ms] master
[ +108 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[   +9 ms] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +9 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[   +5 ms] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +62 ms] executing: C:\Users\user1\AppData\Local\Android\sdk\platform-tools\adb.exe devices -l
[  +48 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +9 ms] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[   +3 ms] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +118 ms] executing: C:\Users\user1\AppData\Local\Android\sdk\platform-tools\adb.exe devices -l
[ +140 ms] Found plugin bitmap at C:\Users\user1\Projects\Flutter\bitmap
[ +245 ms] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Warning
──────────────────────────────────────────────────────────────────────────────
Your Flutter application is created using an older version of the Android
embedding. It's being deprecated in favor of Android embedding v2. Follow the
steps at
                https://flutter.dev/go/android-project-migration

                to migrate your project.
                ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[  +43 ms] Found plugin bitmap at C:\Users\user1\Projects\Flutter\bitmap
[  +96 ms] Generating
C:\Users\user1\Projects\Flutter\bitmap\example\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[ +215 ms] Starting incremental build...
[   +8 ms] Initializing file store
[  +32 ms] Skipping target: gen_localizations
[  +16 ms] complete
[   +8 ms] Launching lib\main.dart on Windows in debug mode...
[   +9 ms] C:\Users\user1\flutter\flutter\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev
C:\Users\user1\flutter\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root
C:\Users\user1\flutter\flutter\bin\cache\artifacts\engine\common\flutter_patched_sdk/ --incremental --target=flutter
--debugger-module-names --experimental-emit-debug-metadata -Ddart.developer.causal_async_stacks=true --output-dill
C:\Users\user1\AppData\Local\Temp\flutter_tools.8e672884\flutter_tool.d2f5434\app.dill --packages .packages
-Ddart.vm.profile=false -Ddart.vm.product=false
--bytecode-options=source-positions,local-var-info,debugger-stops,instance-field-initializers,keep-unreachable-code,avoid-closure
-call-instructions --enable-asserts --track-widget-creation --filesystem-scheme org-dartlang-root --initialize-from-dill
build\cache.dill.track.dill
[  +59 ms] executing: C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe -format json -products * -utf8 -latest
-version 16 -requires Microsoft.VisualStudio.Workload.NativeDesktop Microsoft.VisualStudio.Component.VC.Tools.x86.x64
Microsoft.VisualStudio.Component.VC.CMake.Project
[ +252 ms] Exit code 0 from: C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe -format json -products * -utf8
-latest -version 16 -requires Microsoft.VisualStudio.Workload.NativeDesktop Microsoft.VisualStudio.Component.VC.Tools.x86.x64
Microsoft.VisualStudio.Component.VC.CMake.Project
[   +5 ms] [
{
"instanceId": "daf74b7c",
"installDate": "2020-09-11T05:25:48Z",
"installationName": "VisualStudio/16.7.3+30503.244",
"installationPath": "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community",
"installationVersion": "16.7.30503.244",
"productId": "Microsoft.VisualStudio.Product.Community",
"productPath": "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.exe",
"state":<PHONE_NUMBER>,
"isComplete": true,
"isLaunchable": true,
"isPrerelease": false,
"isRebootRequired": false,
"displayName": "Visual Studio Community 2019",
"description": "Powerful IDE, free for students, open-source contributors, and individuals",
"channelId": "VisualStudio.16.Release",
"channelUri": "https://aka.ms/vs/16/release/channel",
"enginePath": "C:\Program Files (x86)\Microsoft Visual
Studio\Installer\resources\app\ServiceHub\Services\Microsoft.VisualStudio.Setup.Service",
"releaseNotes": "https://go.microsoft.com/fwlink/?LinkId=660893#16.7.3",
"thirdPartyNotices": "https://go.microsoft.com/fwlink/?LinkId=660909",
"updateDate": "2020-09-11T05:25:48.7081632Z",
"catalog": {
"buildBranch": "d16.7",
"buildVersion": "16.7.30503.244",
"id": "VisualStudio/16.7.3+30503.244",
"localBuild": "build-lab",
"manifestName": "VisualStudio",
"manifestType": "installer",
"productDisplayVersion": "16.7.3",
"productLine": "Dev16",
"productLineVersion": "2019",
"productMilestone": "RTW",
"productMilestoneIsPreRelease": "False",
"productName": "Visual Studio",
"productPatchVersion": "3",
"productPreReleaseMilestoneSuffix": "1.0",
"productSemanticVersion": "16.7.3+30503.244",
"requiredEngineVersion": "2.7.3132.26759"
},
"properties": {
"campaignId": "556966161.1599799323",
"channelManifestId": "VisualStudio.16.Release/16.7.3+30503.244",
"nickname": "",
"setupEngineFilePath": "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installershell.exe"
}
}
]
[   +6 ms] Building Windows application...
[  +65 ms] <- compile package:bitmap_example/main.dart
[   +9 ms] executing: C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe -S
C:\Users\user1\Projects\Flutter\bitmap\example\windows -B build\windows -G Visual Studio 16 2019
[ +461 ms] List of devices attached
[  +29 ms] List of devices attached
[ +273 ms] -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.20206.
[ +235 ms] -- Configuring done
[+1526 ms] -- Generating done
[ +163 ms] -- Build files have been written to: C:/Users/user1/Projects/Flutter/bitmap/example/build/windows
[  +20 ms] executing: C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe --build build\windows --config Debug
--target INSTALL --verbose
[+1108 ms] Microsoft (R) Build Engine version 16.7.0+b89cb5fde for .NET Framework
[   +5 ms] Copyright (C) Microsoft Corporation. All rights reserved.
[ +512 ms] Build started 9/14/2020 7:23:42 PM.
[+1692 ms] Project "C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\INSTALL.vcxproj" on node 1 (default targets).
[   +3 ms] Project "C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\INSTALL.vcxproj" (1) is building
"C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\ZERO_CHECK.vcxproj" (2) on node 1 (default targets).
[   +2 ms] InitializeBuildStatus:
[   +1 ms]   Creating "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
[ +131 ms] CustomBuild:
[   +6 ms]   All outputs are up-to-date.
[ +186 ms]   Checking Build System
[ +338 ms] FinalizeBuildStatus:
[   +3 ms]   Deleting file "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild".
[   +4 ms]   Touching "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate".
[   +7 ms] Done Building Project "C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\ZERO_CHECK.vcxproj" (default
targets).
[ +315 ms] Project "C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\INSTALL.vcxproj" (1) is building
"C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\ALL_BUILD.vcxproj" (3) on node 1 (default targets).
[   +3 ms] Project "C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\ALL_BUILD.vcxproj" (3) is building
"C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\runner\example.vcxproj" (4) on node 1 (default targets).
[   +3 ms] Project "C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\runner\example.vcxproj" (4) is building
"C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\flutter\flutter_assemble.vcxproj" (5) on node 1 (default targets).
[   +2 ms] InitializeBuildStatus:
[   +1 ms]   Creating "x64\Debug\flutter_assemble\flutter_assemble.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
[   +4 ms] CustomBuild:
[   +1 ms]   "The build of
'C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\CMakeFiles\847603ffe0e459aa3d3a6c997efe976f\flutter_assemble.rule'
depends on 'C:\USERS\user1\PROJECTS\FLUTTER\BITMAP\EXAMPLE\WINDOWS\FLUTTER\EPHEMERAL\FLUTTER_WINDOWS.DLL' which is produced by
the build of
'C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\CMakeFiles\b96acd519755a7445cd75e17c2fe1a9d\flutter_windows.dll.rul
e'. The items cannot be built in parallel."
[ +117 ms]   Generating C:/Users/user1/Projects/Flutter/bitmap/example/windows/flutter/ephemeral/flutter_windows.dll,
C:/Users/user1/Projects/Flutter/bitmap/example/windows/flutter/ephemeral/flutter_export.h,
C:/Users/user1/Projects/Flutter/bitmap/example/windows/flutter/ephemeral/flutter_windows.h,
C:/Users/user1/Projects/Flutter/bitmap/example/windows/flutter/ephemeral/flutter_messenger.h,
C:/Users/user1/Projects/Flutter/bitmap/example/windows/flutter/ephemeral/flutter_plugin_registrar.h,
C:/Users/user1/Projects/Flutter/bitmap/example/windows/flutter/ephemeral/cpp_client_wrapper/core_implementations.cc,
C:/Users/user1/Projects/Flutter/bitmap/example/windows/flutter/ephemeral/cpp_client_wrapper/standard_codec.cc,
C:/Users/user1/Projects/Flutter/bitmap/example/windows/flutter/ephemeral/cpp_client_wrapper/plugin_registrar.cc,
C:/Users/user1/Projects/Flutter/bitmap/example/windows/flutter/ephemeral/cpp_client_wrapper/flutter_engine.cc,
C:/Users/user1/Projects/Flutter/bitmap/example/windows/flutter/ephemeral/cpp_client_wrapper/flutter_view_controller.cc, phony
[+2967 ms]   [ +213 ms] executing: [C:\Users\user1\flutter\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +180 ms]   [ +218 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +3 ms]   [        ] 53f9653e6be44438c5addf3495cf1e896b7a2b3c
[   +1 ms]   [   +1 ms] executing: [C:\Users\user1\flutter\flutter/] git tag --points-at HEAD
[ +287 ms]   [ +287 ms] Exit code 0 from: git tag --points-at HEAD
[   +7 ms]   [   +4 ms] executing: [C:\Users\user1\flutter\flutter/] git describe --match ..* --first-parent --long --tags
[ +178 ms]   [ +184 ms] Exit code 0 from: git describe --match ..* --first-parent --long --tags
[   +3 ms]   [        ] 1.22.0-9.0.pre-136-g53f9653e6
[  +21 ms]   [  +24 ms] executing: [C:\Users\user1\flutter\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +91 ms]   [  +91 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[   +3 ms]   [        ] origin/master
[   +2 ms]   [        ] executing: [C:\Users\user1\flutter\flutter/] git ls-remote --get-url origin
[  +94 ms]   [  +99 ms] Exit code 0 from: git ls-remote --get-url origin
[   +2 ms]   [        ] https://github.com/flutter/flutter.git
[ +148 ms]   [ +150 ms] executing: [C:\Users\user1\flutter\flutter/] git rev-parse --abbrev-ref HEAD
[  +89 ms]   [  +89 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[   +3 ms]   [        ] master
[  +94 ms]   [  +97 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[   +3 ms]   [        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[   +4 ms]   [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +1 ms]   [   +6 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +33 ms]   [  +44 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[   +5 ms]   [        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +3 ms]   [   +1 ms] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[   +4 ms]   [   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[   +3 ms]   [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[   +2 ms]   [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[   +1 ms]   [        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[ +101 ms]   [ +133 ms] Initializing file store
[  +49 ms]   [  +49 ms] Done initializing file store
[ +170 ms]   [ +171 ms] Skipping target: gen_localizations
[+3423 ms]   [+3423 ms] Skipping target: kernel_snapshot
[+3655 ms]   [+3655 ms] Skipping target: unpack_windows
[ +838 ms]   [ +838 ms] Skipping target: debug_bundle_windows_assets
[   +4 ms]   [   +1 ms] Persisting file store
[  +30 ms]   [  +33 ms] Done persisting file store
[  +35 ms]   [  +36 ms] build succeeded.
[ +409 ms]   [ +409 ms] "flutter assemble" took 8,438ms.
[  +10 ms]   [  +10 ms] Running shutdown hooks
[   +1 ms]   [        ] Shutdown hooks complete
[   +4 ms]   [   +5 ms] exiting with code 0
[+1382 ms] FinalizeBuildStatus:
[   +1 ms]   Deleting file "x64\Debug\flutter_assemble\flutter_assemble.tlog\unsuccessfulbuild".
[   +1 ms]   Touching "x64\Debug\flutter_assemble\flutter_assemble.tlog\flutter_assemble.lastbuildstate".
[   +4 ms] Done Building Project "C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\flutter\flutter_assemble.vcxproj"
(default targets).
[  +91 ms] Project "C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\runner\example.vcxproj" (4) is building
"C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\flutter\flutter_wrapper_app.vcxproj" (6) on node 1 (default
targets).
[   +4 ms] InitializeBuildStatus:
[   +4 ms]   Creating "flutter_wrapper_app.dir\Debug\flutter_.81B711C9.tlog\unsuccessfulbuild" because "AlwaysCreate" was
specified.
[   +2 ms] CustomBuild:
[   +1 ms]   All outputs are up-to-date.
[ +104 ms] ClCompile:
[   +3 ms]   All outputs are up-to-date.
[  +63 ms] Lib:
[   +3 ms]   All outputs are up-to-date.
[   +4 ms]   flutter_wrapper_app.vcxproj ->
C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\flutter\Debug\flutter_wrapper_app.lib
[  +62 ms] FinalizeBuildStatus:
[   +4 ms]   Deleting file "flutter_wrapper_app.dir\Debug\flutter_.81B711C9.tlog\unsuccessfulbuild".
[   +2 ms]   Touching "flutter_wrapper_app.dir\Debug\flutter_.81B711C9.tlog\flutter_wrapper_app.lastbuildstate".
[   +1 ms] Done Building Project
"C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\flutter\flutter_wrapper_app.vcxproj" (default targets).
[  +26 ms] InitializeBuildStatus:
[   +4 ms]   Creating "example.dir\Debug\example.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
[   +1 ms] CustomBuild:
[   +1 ms]   All outputs are up-to-date.
[  +43 ms] ClCompile:
[   +4 ms]   C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\CL.exe /c
/IC:\Users\user1\Projects\Flutter\bitmap\example\windows
/IC:\Users\user1\Projects\Flutter\bitmap\example\windows\flutter\ephemeral
/IC:\Users\user1\Projects\Flutter\bitmap\example\windows\flutter\ephemeral\cpp_client_wrapper\include /Zi /nologo /W4 /WX
/diagnostics:column /Od /Ob0 /D WIN32 /D _WINDOWS /D _HAS_EXCEPTIONS=0 /D DEBUG /D UNICODE /D UNICODE /D
"CMAKE_INTDIR="Debug"" /D UNICODE /D UNICODE /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR
/std:c++17 /Fo"example.dir\Debug\" /Fd"example.dir\Debug\vc142.pdb" /Gd /TP /wd4100 /errorReport:queue
C:\Users\user1\Projects\Flutter\bitmap\example\windows\flutter\generated_plugin_registrant.cc
C:\Users\user1\Projects\Flutter\bitmap\example\windows\runner\flutter_window.cpp
[ +290 ms]   generated_plugin_registrant.cc
[ +929 ms]   flutter_window.cpp
[+1503 ms]   Generating Code...
[ +218 ms] ResourceCompile:
[   +4 ms]   All outputs are up-to-date.
[  +63 ms] Link:
[   +4 ms]   C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\link.exe
/ERRORREPORT:QUEUE /OUT:"C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\runner\Debug\example.exe" /INCREMENTAL
/NOLOGO ..\flutter\Debug\flutter_wrapper_app.lib
C:\Users\user1\Projects\Flutter\bitmap\example\windows\flutter\ephemeral\flutter_windows.dll.lib kernel32.lib user32.lib
gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed
/manifestinput:C:\Users\user1\Projects\Flutter\bitmap\example\windows\runner\runner.exe.manifest /DEBUG
/PDB:"C:/Users/user1/Projects/Flutter/bitmap/example/build/windows/runner/Debug/example.pdb" /SUBSYSTEM:WINDOWS /TLBID:1
/DYNAMICBASE /NXCOMPAT /IMPLIB:"C:/Users/user1/Projects/Flutter/bitmap/example/build/windows/runner/Debug/example.lib"
/MACHINE:X64  /machine:x64 example.dir\Debug\Runner.res
[   +2 ms]   example.dir\Debug\flutter_window.obj
[   +1 ms]   example.dir\Debug\main.obj
[   +1 ms]   example.dir\Debug\run_loop.obj
[   +1 ms]   example.dir\Debug\utils.obj
[   +1 ms]   example.dir\Debug\win32_window.obj
[   +1 ms]   example.dir\Debug\window_configuration.obj
[   +1 ms]   example.dir\Debug\generated_plugin_registrant.obj
[ +601 ms]   example.vcxproj -> C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\runner\Debug\example.exe
[  +10 ms] FinalizeBuildStatus:
[   +2 ms]   Deleting file "example.dir\Debug\example.tlog\unsuccessfulbuild".
[   +1 ms]   Touching "example.dir\Debug\example.tlog\example.lastbuildstate".
[   +2 ms] Done Building Project "C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\runner\example.vcxproj" (default
targets).
[  +65 ms] Project "C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\ALL_BUILD.vcxproj" (3) is building
"C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\flutter\flutter_wrapper_plugin.vcxproj" (7) on node 1 (default
targets).
[   +4 ms] InitializeBuildStatus:
[   +5 ms]   Creating "flutter_wrapper_plugin.dir\Debug\flutter.043BCAB8.tlog\unsuccessfulbuild" because "AlwaysCreate" was
specified.
[   +1 ms] CustomBuild:
[   +1 ms]   All outputs are up-to-date.
[  +13 ms] ClCompile:
[   +1 ms]   All outputs are up-to-date.
[  +11 ms] Lib:
[   +3 ms]   All outputs are up-to-date.
[   +1 ms]   flutter_wrapper_plugin.vcxproj ->
C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\flutter\Debug\flutter_wrapper_plugin.lib
[  +10 ms] FinalizeBuildStatus:
[   +1 ms]   Deleting file "flutter_wrapper_plugin.dir\Debug\flutter.043BCAB8.tlog\unsuccessfulbuild".
[   +3 ms]   Touching "flutter_wrapper_plugin.dir\Debug\flutter.043BCAB8.tlog\flutter_wrapper_plugin.lastbuildstate".
[   +1 ms] Done Building Project
"C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\flutter\flutter_wrapper_plugin.vcxproj" (default targets).
[  +12 ms] InitializeBuildStatus:
[   +2 ms]   Creating "x64\Debug\ALL_BUILD\ALL_BUILD.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
[   +7 ms] CustomBuild:
[   +1 ms]   All outputs are up-to-date.
[  +92 ms]   Building Custom Rule C:/Users/user1/Projects/Flutter/bitmap/example/windows/CMakeLists.txt
[  +91 ms] FinalizeBuildStatus:
[   +2 ms]   Deleting file "x64\Debug\ALL_BUILD\ALL_BUILD.tlog\unsuccessfulbuild".
[   +1 ms]   Touching "x64\Debug\ALL_BUILD\ALL_BUILD.tlog\ALL_BUILD.lastbuildstate".
[   +1 ms] Done Building Project "C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\ALL_BUILD.vcxproj" (default
targets).
[  +15 ms] InitializeBuildStatus:
[   +1 ms]   Creating "x64\Debug\INSTALL\INSTALL.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
[ +116 ms] PostBuildEvent:
[   +3 ms]   setlocal
[   +1 ms]   "C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -DBUILD_TYPE=Debug -P cmake_install.cmake
[   +2 ms]   if %errorlevel% neq 0 goto :cmEnd
[   +2 ms]   :cmEnd
[   +1 ms]   endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
[   +1 ms]   :cmErrorLevel
[   +3 ms]   exit /b %1
[   +1 ms]   :cmDone
[   +1 ms]   if %errorlevel% neq 0 goto :VCEnd
[   +1 ms]   :VCEnd
[ +105 ms]   -- Install configuration: "Debug"
[  +42 ms]   -- Up-to-date: C:/Users/user1/Projects/Flutter/bitmap/example/build/windows/runner/Debug/data/icudtl.dat
[ +286 ms]   -- Up-to-date: C:/Users/user1/Projects/Flutter/bitmap/example/build/windows/runner/Debug/flutter_windows.dll
[  +30 ms]   -- Installing: C:/Users/user1/Projects/Flutter/bitmap/example/build/windows/runner/Debug/data/flutter_assets
[   +1 ms]   -- Installing:
C:/Users/user1/Projects/Flutter/bitmap/example/build/windows/runner/Debug/data/flutter_assets/AssetManifest.json
[   +4 ms]   -- Installing: C:/Users/user1/Projects/Flutter/bitmap/example/build/windows/runner/Debug/data/flutter_assets/assets
[   +5 ms]   -- Installing:
C:/Users/user1/Projects/Flutter/bitmap/example/build/windows/runner/Debug/data/flutter_assets/assets/doggo.jpeg
[   +2 ms]   -- Installing:
C:/Users/user1/Projects/Flutter/bitmap/example/build/windows/runner/Debug/data/flutter_assets/assets/street.jpg
[   +3 ms]   -- Installing:
C:/Users/user1/Projects/Flutter/bitmap/example/build/windows/runner/Debug/data/flutter_assets/FontManifest.json
[   +3 ms]   -- Installing: C:/Users/user1/Projects/Flutter/bitmap/example/build/windows/runner/Debug/data/flutter_assets/fonts
[   +4 ms]   -- Installing:
C:/Users/user1/Projects/Flutter/bitmap/example/build/windows/runner/Debug/data/flutter_assets/fonts/MaterialIcons-Regular.otf
[   +7 ms]   -- Installing:
C:/Users/user1/Projects/Flutter/bitmap/example/build/windows/runner/Debug/data/flutter_assets/kernel_blob.bin
[ +259 ms]   -- Installing: C:/Users/user1/Projects/Flutter/bitmap/example/build/windows/runner/Debug/data/flutter_assets/NOTICES
[   +7 ms]   -- Installing:
C:/Users/user1/Projects/Flutter/bitmap/example/build/windows/runner/Debug/data/flutter_assets/packages
[   +1 ms]   -- Installing:
C:/Users/user1/Projects/Flutter/bitmap/example/build/windows/runner/Debug/data/flutter_assets/packages/cupertino_icons
[   +2 ms]   -- Installing:
C:/Users/user1/Projects/Flutter/bitmap/example/build/windows/runner/Debug/data/flutter_assets/packages/cupertino_icons/assets
[   +5 ms]   -- Installing:
C:/Users/user1/Projects/Flutter/bitmap/example/build/windows/runner/Debug/data/flutter_assets/packages/cupertino_icons/assets/Cup
ertinoIcons.ttf
[  +22 ms] FinalizeBuildStatus:
[   +2 ms]   Deleting file "x64\Debug\INSTALL\INSTALL.tlog\unsuccessfulbuild".
[   +1 ms]   Touching "x64\Debug\INSTALL\INSTALL.tlog\INSTALL.lastbuildstate".
[   +1 ms] Done Building Project "C:\Users\user1\Projects\Flutter\bitmap\example\build\windows\INSTALL.vcxproj" (default
targets).
[  +29 ms] Build succeeded.
[   +3 ms]     0 Warning(s)
[   +1 ms]     0 Error(s)
[   +2 ms] Time Elapsed 00:00:22.65
[  +61 ms] Building Windows application... (completed in 27.1s)
[+1344 ms] Observatory URL on device: http://<IP_ADDRESS>:54165/Hka6vFhA61w=/
[  +16 ms] Caching compiled dill
[ +101 ms] Connecting to service protocol: http://<IP_ADDRESS>:54165/Hka6vFhA61w=/
[   +4 ms] DDS is currently disabled due to https://github.com/flutter/flutter/issues/62507
[ +413 ms] Successfully connected to service protocol: http://<IP_ADDRESS>:54165/Hka6vFhA61w=/
[   +9 ms] Waiting for Windows to report its views...
[  +18 ms] Waiting for Windows to report its views... (completed in 12ms)
[  +20 ms] DevFS: Creating new filesystem on the device (null)
[  +41 ms] DevFS: Created new filesystem on the device (file:///C:/Users/user1/AppData/Local/Temp/example2464a7af/example/)
[   +6 ms] Updating assets
[ +371 ms] Syncing files to device Windows...
[   +9 ms] Scanning asset files
[   +7 ms] <- reset
[   +1 ms] Compiling dart to kernel with 0 updated files
[   +5 ms] <- recompile package:bitmap_example/main.dart a634f4ef-e809-48c1-bdd6-d8766553d5f6
[   +1 ms] <- a634f4ef-e809-48c1-bdd6-d8766553d5f6
[ +169 ms] Updating files
[ +182 ms] DevFS: Sync finished
[   +4 ms] Syncing files to device Windows... (completed in 376ms)
[   +4 ms] Synced 1.8MB.
[   +2 ms] <- accept
[   +4 ms] Connected to _flutterView/0x1fcff99d930.
[   +6 ms] Flutter run key commands.
[   +8 ms] r Hot reload.
[   +5 ms] R Hot restart.
[   +2 ms] h Repeat this help message.
[   +2 ms] d Detach (terminate "flutter run" but leave application running).
[   +9 ms] c Clear the screen
[   +2 ms] q Quit (terminate the application on the device).
[   +1 ms] An Observatory debugger and profiler on Windows is available at: http://<IP_ADDRESS>:54165/Hka6vFhA61w=/
[+6466 ms] Service protocol connection closed.
[  +13 ms] Lost connection to device.
[   +5 ms] DevFS: Deleting filesystem on the device (file:///C:/Users/user1/AppData/Local/Temp/example2464a7af/example/)
[ +269 ms] Ignored error while cleaning up DevFS: TimeoutException after 0:00:00.250000: Future not completed
[   +8 ms] "flutter run" took 38,133ms.
[  +12 ms] Running shutdown hooks
[   +3 ms] Shutdown hook priority 4
[  +11 ms] Shutdown hooks complete
[   +1 ms] exiting with code 0

Hi @cometyang
I'm unable to reproduce this issue using example, it just times out. It doesn't have windows support, I had added it myself with flutter create .
[ +267 ms] Ignored error while cleaning up DevFS: TimeoutException after 0:00:00.250000: Future not completed
Can you please a minimal complete reproducible code sample without using third party package
Thank you

I further digged into it. It turns out caused by this two lines:
const ImageProvider imageProvider = AssetImage('./images/street.jpg'); value = await Bitmap.fromProvider(imageProvider);
I tried different solutions suggested in this https://github.com/flutter/flutter/issues/17870
None of them works.
  uses-material-design: true   assets:     - images/street.jpg

I created an example to show the crash when you click the + button on the windows platform. https://github.com/cometyang/flutter_loadimage_crash

complete code sample
import 'dart:async';
import 'dart:typed_data';
import 'dart:ui' as ui;
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material App',
      theme: ThemeData.dark(),
      home: Home(),
    );
  }
}

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Material App Bar'),
      ),
      body: Center(
        child: Container(
          child: Text('Hello World'),
        ),
      ),
      floatingActionButton: FloatingActionButton(
        child: Icon(Icons.add),
        onPressed: () {
          loadImage();
        },
      ),
    );
  }

  Future<Uint8List> fromProvider(ImageProvider provider) async {
    final Completer completer = Completer<ImageInfo>();
    final ImageStream stream = provider.resolve(const ImageConfiguration());
    final listener =
        ImageStreamListener((ImageInfo info, bool synchronousCall) {
      if (!completer.isCompleted) {
        completer.complete(info);
      }
    });
    stream.addListener(listener);
    final imageInfo = await completer.future;
    final ui.Image image = imageInfo.image;
    final ByteData byteData = await image.toByteData();
    final Uint8List listInt = byteData.buffer.asUint8List();
    return listInt;
  }

  void loadImage() {
    ImageProvider imageProvider = AssetImage('./images/street.jpg');
    fromProvider(imageProvider);
  }
}

images.zip

flutter doctor -v
[✓] Flutter (Channel master, 1.23.0-19.0.pre.95, on Microsoft Windows [Version 10.0.19041.572], locale en-US)
    • Flutter version 1.23.0-19.0.pre.95 at C:\Code\flutter_master
    • Framework revision a837557634 (21 hours ago), 2020-10-18 06:12:02 -0400
    • Engine revision 499a70f5e2
    • Dart version 2.11.0 (build 2.11.0-234.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Code\sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = C:\Code\sdk
    • Java binary at: C:\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.7.6)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.7.30611.23
    • Windows 10 SDK version 10.0.18362.0

[✓] Android Studio (version 4.1.0)
    • Android Studio at C:\Code\android-studio
    • 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 1.8.0_242-release-1644-b01)

[✓] VS Code (version 1.50.1)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.15.1

[✓] Connected device (4 available)
    • sdk gphone x86 (mobile) • emulator-5554 • android-x86    • Android 11 (API 30) (emulator)
    • Windows (desktop)       • windows       • windows-x64    • Microsoft Windows [Version 10.0.19041.572]
    • Web Server (web)        • web-server    • web-javascript • Flutter Tools
    • Chrome (web)            • chrome        • web-javascript • Google Chrome 86.0.4240.75

• No issues found!

  flutter_windows.dll!flutter::Rasterizer::ConvertToRasterImage(sk_sp<SkImage> image) Line 310	C++
   [External Code]
   flutter_windows.dll!fml::MessageLoopImpl::FlushTasks(fml::FlushType type) Line 131	C++
   flutter_windows.dll!fml::MessageLoopWin::Run() Line 21	C++
   flutter_windows.dll!fml::MessageLoopImpl::DoRun() Line 96	C++
   [External Code]
   flutter_windows.dll!thread_start<unsigned int (__cdecl*)(void *),1>(void * const parameter) Line 97	C++

It was a failure to read at 0x20, which looks like image is null, but there's a check for that just before.
This was using a stock engine with the cached pdb file; I'll try with a local engine build and see if I can debug further.

Ah, I didn't look closely enough at the crashing line.
  return DoMakeRasterSnapshot(image->dimensions(),
                              [image = std::move(image)](SkCanvas* canvas) {
                                canvas->drawImage(image, 0, 0);
                              });

Argument order evaluation is undefined in C++, so this code is wrong. Nothing prevents the call to std::move from happening before image->dimensions().


[SPARK-42635][SQL][3.3] Fix the TimestampAdd expression

This is a backport of #40237.
What changes were proposed in this pull request?
This PR fixed the counter-intuitive behaviors of the TimestampAdd expression mentioned in https://issues.apache.org/jira/browse/SPARK-42635. See the following user-facing changes for details.
Does this PR introduce any user-facing change?
Yes. This PR fixes the three problems mentioned in SPARK-42635:

When the time is close to daylight saving time transition, the result may be discontinuous and not monotonic.
Adding month, quarter, and year silently ignores Int overflow during unit conversion.
Adding sub-month units (week, day, hour, minute, second, millisecond, microsecond)silently ignores Long overflow during unit conversion.

Some examples of the result changes:
Old results:
// In America/Los_Angeles timezone:
timestampadd(DAY, 1, 2011-03-12 03:00:00) = 2011-03-13 03:00:00 (this is correct, put it here for comparison)
timestampadd(HOUR, 23, 2011-03-12 03:00:00) = 2011-03-13 03:00:00
timestampadd(HOUR, 24, 2011-03-12 03:00:00) = 2011-03-13 03:00:00
timestampadd(SECOND, 86400 - 1, 2011-03-12 03:00:00) = 2011-03-13 03:59:59
timestampadd(SECOND, 86400, 2011-03-12 03:00:00) = 2011-03-13 03:00:00
// In UTC timezone:
timestampadd(quarter,<PHONE_NUMBER>, 1970-01-01 00:00:00) = 1969-09-01 00:00:00
timestampadd(day, 106751992, 1970-01-01 00:00:00) = -290308-12-22 15:58:10.448384

New results:
// In America/Los_Angeles timezone:
timestampadd(DAY, 1, 2011-03-12 03:00:00) = 2011-03-13 03:00:00
timestampadd(HOUR, 23, 2011-03-12 03:00:00) = 2011-03-13 03:00:00
timestampadd(HOUR, 24, 2011-03-12 03:00:00) = 2011-03-13 04:00:00
timestampadd(SECOND, 86400 - 1, 2011-03-12 03:00:00) = 2011-03-13 03:59:59
timestampadd(SECOND, 86400, 2011-03-12 03:00:00) = 2011-03-13 04:00:00
// In UTC timezone:
timestampadd(quarter,<PHONE_NUMBER>, 1970-01-01 00:00:00) = throw overflow exception
timestampadd(day, 106751992, 1970-01-01 00:00:00) = throw overflow exception

How was this patch tested?
Pass existing tests and some new tests.

@MaxGekk Please take a look, thanks for reviewing!

@chenhao-db Could you fix the build errors:
[error] /home/runner/work/apache-spark/apache-spark/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/DateExpressionsSuite.scala:2047:7: not found: value checkErrorInExpression
[error]       checkErrorInExpression[SparkArithmeticException](TimestampAdd("DAY",
[error]       ^
[error] /home/runner/work/apache-spark/apache-

@MaxGekk It seems that checkErrorInExpression doesn't exist in 3.3, so I still have to use the old checkExceptionInExpression. Is that okay?

Seems like the test failure is related to the changes:
[info] - SPARK-42635: timestampadd unit conversion overflow *** FAILED *** (12 milliseconds)
[info]   (non-codegen mode) Expected error message is `[DATETIME_OVERFLOW] Datetime operation overflow`, but `Datetime operation overflow: add 106751992 DAY to TIMESTAMP '1970-01-01 00:00:00'.` found (ExpressionEvalHelper.scala:176)

@MaxGekk I see. In old versions Spark doesn't include the error class in the error message: https://github.com/apache/spark/blob/branch-3.3/core/src/main/scala/org/apache/spark/ErrorInfo.scala#L74. I just removed the error class prefix in the expected error message.

+1, LGTM. All GAs passed. Merging to 3.3.
Thank you, @chenhao-db.


Better size checking + download fixes

The main functional change for this PR is to check the download size using the album's pagedata instead of initiating a full download of the desired format, which is much faster on the client-side and much kinder to bandcamp's network on the server side. This required calculating more metadata via the initial API calls rather than waiting until download_file.
That change revealed some issues in the retry behavior when album pagedata is rate-limited (the new code was getting rate-limited without ever making a download_file call). Retry logic has been reorganized to support that case too.
This also fixes the issue of multiple downloads having the same file path. (This is possible even with a seemingly reasonable output pattern like {artist}/{title}/{artist} - {title} -- in my library it happened once, and it made the downloads fail every time.) Previously I've solved this by adding {item_id} to the pattern, but with this change the initial pattern works, and the item key will be appended only to the specific albums that have a collision instead of the entire library. (This also required calculating metadata earlier in the process.)
Related cleanup: separated helper function logic between functions that fetch metadata and functions that filter / process it, instead of duplicating filter logic for different item sources.

Thanks for the PR, this looks like some great work!
Good on including the secondary size check. In my own runs I had an album that had no given size but was caught by that and not downloaded again. Catching the rate limiting also seems to give a better user experience.
Maybe a future feature could be a flag to enable detecting that and automatically increasing the retry wait.
In testing this I'm running into an issue:

If I am running in parallel, then the items never get their extension field set, so the unzip logic throws an exception.

If I run with -p 1 then the line that sets extension throws an exception because download_item has no field download_type. It looks like you're expecting a download_type field with a value of something like 'a' to represent an album, but I'm not always seeing that. Sometimes I do, sometimes I don't. I do always see a download_type_str field with a value of 'Album'. I haven't tried to find a single and see what that looks like, but I think that the download_type is not consistent, for whatever reason.

The reason why these cases look different is that the exception thrown in case 2 is being hidden since it is running in another thread in case 1. I think download_and_log_album needs to wrap download_album (or even the whole thing) in a try catch and then to log the given exception.

For type, I think we can rely on url_hints.item_type -- in my library it's present on every item, and its only two values are "a" and "t". I've changed it to use that, and to add the exception logging around download_album you suggested. I also set extension immediately in download_album which should fix the key errors.

Ok, third time's the charm: url_hints.item_type was in fact missing in two items on my current library (both albums that seem to have been deleted by the artist), however tralbum_type was never missing and is still always "a" or "t".
On top of that, I brought back the code to calculate the extension directly from the download response in download_file, so even if tralbum_type doesn't exist, it will just fall back to the previous behavior.

Alright, I think this looks good! Thanks for all the hard work, it is appreciated.


Proposal: Copy data from container to empty vol in all cases

Currently data is only copied into a volume if it is a normal volume,
e.g. not for volumes-from or host-mounts.
At one point a host-mounted volume would not be automatically created if
the dir didn't exist already, today that is no longer true.  If we are
willing to create the dir, we might as well populate it too.
This makes it so data is always copied if the volume is empty.

Wondering if there's any progress on this proposal, has this been reviewed yet by the maintainers?
If backwards-compatibility is an issue, I would have no problem to have make this optional, e.g. via a --propagate-volumes flag or something :)

@cpuguy83 Sorry for the ridiculous delay... is this PR still desirable?

@icecrime Yep, I can rebase if this is something we want to introduce.

@cpuguy83 please do! (rebase). Still hoping this will make it one day :)

@cpuguy83 what was the rationale for the current behavior on master?

@thaJeztah what's your usecase for this?

@cpuguy83 how about always trying to copy, and if the directory is not empty, then error out?

@tiborvass That's precisely what this is doing.

what's your usecase for this?

Well (apart from the things listed above); to make bind-mounted volumes act the same as regular volumes do; the only differences being that the user specifies the host-directory and that they won't be removed when doing docker rm -v. It will give the user more control over their data.
Thanks for considering this, much appreciated :)

design ok for me
ping @tiborvass @crosbymichael @cpuguy83 to move to code-review or tell concerns

ping @tiborvass @crosbymichael @cpuguy83 (https://github.com/docker/docker/pull/9092#issuecomment-88201945) (/me ducks away)

ping @icecrime @tiborvass @jfrazelle @calavera @crosbymichael

@cpuguy83 rebase please sorry :(

ping @docker/core-maintainers

i don't like it because i don't want random image files ending up in a bind mount.  i want docker to provide this dir to a container and only that.

@crosbymichael What about just empty volumes-from dirs?

I'm going to close this in light of the fact that this use-case for volumes-from is far more limited now with the new volumes stuff docker run -v <volume_name>:/container/path and probably not worth the change.


Consolidate/Resolve data_sources columns data_portal_type and data_portal_type_other

Context

Currently, the data_portal_type and data_portal_type_other columns in the data_sources table have a lot of overlap with each other.
For example, both columns include MuckRock as one of their potential data portal types, and in some cases SWIFTREPOSITORY, PowerDMS, and MuckRock are listed simultaneously for both columns.
We should probably consolidate these to simplify logic. But how?

Requirements

TODO

Tests

TODO

Docs

TODO

Open questions

TODO

the data_portal_other is only used for submission; part of the intake process is noticing if there's a value there, and adding a data_portal_type if it wasn't on the list.

Got it! In that case, I will close this!


advanced menu: LESS variables for colors

I have introduced extra LESS variables to advanced menu.
Now you can customize the colors of advanced menu separately from the other colors of your theme. Just overwrite them in LESS file of your own theme.
Color defaults are the same as before, so nothing gets broken.

/cc @klarstil  @Phil23 @tobiasberge review please.

That's a good idea, thanks for the contribution. I checked the changes and they're all looking good for me.
@bcremer We can merge this pull requests.

Dear Contributor,
Thank you for your contribution to Shopware. We value your engagement.
Unfortunately we have to close all existing Pull Requests.
This is due to the new Shopware 5 Major Release and a restructuring of the branch names.
If your contribution is still relevant for Shopware 5, a new pull request is highly appreciated.
We are very sorry for this inconvenience.
Greetings from the Shopware Team.


Exec occasionally appears to fail for no reason

In concurrency tests, I occasionally get containers where the spawn_container subroutine fails before it deletes the container, but after the exec.
'echo abc | lxc exec container -- cat | grep abc'
does succeed, as evidenced by the logged info.  Further debug statements in lxc/exec.c show that Exec returned (nil, 0).  Yet the shell returned failure.

I haven't seen this in quite awhile.  Closing for now.  If it shows again when i start pounding on the stress test again, I'll re-open then.


Support for release message template

The problem I'm trying to solve:

Making release messages easier to reason about,
by for example pre-filling headings and links like a compare link
How I imagine hub could expose this functionality:

reading it from ./github/RELEASE_TEMPLATE
Has been asked on SO as well release-template-for-github.
Even though it's not the most popular question 😅

@CanRau Interesting idea, but the reason why we support issue and PR templates is primarily:

GitHub supports them too;
They are oriented towards users who are opening issues/PRs by hand, and they could often use some guidance.

I'm not sure if the same use-case applies to releases too:

GitHub doesn't support release templates;
Releases can only be created by maintainers of the project, often via scripts/automation, and because of that "templates" such as a shared header/footer or pre-filling headings/links for releases could easily be encoded via scripts/automation.

For instance, this is an example release script that a team could use:
set -e
cp ./github/RELEASE_TEMPLATE.md ./tmp/release.md
vim ./tmp/release.md # fill in release notes
hub release create v1.0.0 -F ./tmp/release.md

I see, yea that example looks useful I think and maybe I can soonish automate even further.
Thanks for the quick explanation and possible solution, very kind 🙏 👍

That's actually pretty slick, didn't even know you could use vim (or nano) as a prompt like this 🎉 👍


[Bug] Device profile editing is not possible

Describe the bug
In the menu "Device profile" it is not possible to create or delete profiles. If a new device is created on edge it is possible to create a new device profile via this menu. Deleting afterwards is not possible.
Your Server Environment

own setup

Deployed as Docker on Raspberry Pi 4B
thingsboard/tb-cassandra <IP_ADDRESS> (latest)
Ubuntu 20.04 LTS

Your Client Environment
Desktop:

Windows 10
Chrome
Docker Desktop with thingsboard/tb-edge 3.3.4Edge

To Reproduce

Login into Thingsboard Edge as Tenant Administrator
Click on Device Profiles

Expected behavior
Device Profiles can be created and deleted the same way as in Thingsboard  Server

A second problem according to the Device profiles is following:
If a device is created with a custom device profile on the server and is assigned to the edge, the edge immediately fails because the device profile is not existing on the edge instance.
What is the proper handling with this issue?
I would expect the device profile to be downloaded first if not available and then the device.
Kind regards

hi @ricktauss
creation of the device profile is not available at the moment on the edge. Most probably we have a bug, that allows you to create it on the edge from the device creation window.
Regarding the second topic - that is true - if the device profile is created on the cloud, it should be provisioned automatically to all edges.
In your case you had created a custom device profile together with the creation of the device - and most probably this case is not covered by tests and has a bug. I'm going to double-check it as well and get back to this issue.
At the moment, as a workaround - please create a custom device profile on the cloud and then the device, using this device profile.
Thanks for posting these issues!

Hello @volodymyr-babak ,
ok if it is not available on edge its fine.
I am not sure but i think i have created the device profile on the cloud and afterwards alos the device on the cloud. The device profile was not pushed down to the edge.
But i am not sure and will test this with a new edge instance and give feedback if this is working or not.
Thank you!

Hello @volodymyr-babak ,
i have tested it that way as you said and it is working fine.

Create Device profile on cloud  =>  is synchronized automatically
Create Device on cloud
Assign Device to edge  =>  is synchronized automatically

Thank you!

Hello @volodymyr-babak,
the synchronizing from the Device profile from cloud to edge is just working if the transport type of the device is set to default.
If a device profile for e. g. with MQTT is created, this profile is not synchronized to the edge.

Hello @volodymyr-babak ,
when will the next release happen? Generally i having a little bit stress, but if there is a release planned within a week i can wait ;)
Thank you!

@ricktauss probably a month or two - I can't answer that precisely at the moment.
If you are using the CE version, I can provide you with deb or other artifacts, that will contain the latest release and the fix for this bug.
Just let me know what installation type you are using.

@volodymyr-babak ok thats too long for me now ;)
I am using the CE platfrom version as Docker container on Linux (ARM64). The following container: thingsboard/tb-cassandra. Image should be the latest -> <IP_ADDRESS>

@ricktauss
I'm going to upload these images to my personal docker-hub account (volodymyrbabak) and set the version to <IP_ADDRESS>.
Will that work for you?

@volodymyr-babak
Yes that's fine.  Thank you!

@ricktauss
please take a look at this repository:
https://hub.docker.com/repository/docker/volodymyrbabak/tb-cassandra
You can simply replace thingsboard/tb-cassandra with volodymyrbabak/tb-cassandra image and restart the docker container.
Let me know if you'll have any additional issues.

@volodymyr-babak
Thank you for the image!
I have done following and also had some issues:

Stopped containers
Changed docker compose file to the new image
Pulled and started container
-> A lot of exceptions

Next thing i have done:

Deleted .tb-data and .tb-logs files and created new ones
Started container again
Everything ok -> Platform worked

On the edge side:

Created new edge volums on windows
Stated edge with new credentials from platform
As i checked the Downlink info for the edge after some time i got the following error like in the picture

After the exception:

Stopped and restarted edge again
Tried to provision new device profile
-> Everything ok now

@ricktauss
double-checking - do you have any issue after the full redeploy and restart of CE server and edge instance? Or everything is OK at the moment?

@volodymyr-babak
I have worked a little bit with server and edge and everything is looking good at the moment.


Error about running "scripts/run_preprocess.py" with custom video

Thank you very much for your outstanding work! I have encountered some problems and hope you can help me.
I want to handle my own video, and then I placed it under database/raw/bird-0.mp4
When I run the command Python scripts/run_preprocess. py bird-0.mp4 bird quad "0",
I receive an error:  ModuleNotFoundError: No module named 'preprocess.third_party.Track-Anything.app'
I want to use automated segmentation, so I commented out lines 25-32 in run_preprocess.py.
Re running Python scripts/run_preprocess.py bird-0mp4 bird quad "0"
found an error: Value Error: needed at least one array to concatenate. How to resolve the error? The image is shown below:

Hi @litchisea sorry I missed this one. Replying in case it has not been solved
You still need L25-32 to get automatic segmentation. This seems a path issue related to the container, it might be worth checking

if "preprocess/third_party/Track-Anything/app.py" exists
if the code can run outside the container; if so, appending path of the root lab4d dir to system path, similar to this line would probably fix it

Hi,
Please follow this instruction when using custon videos, specifically

To preprocess other videos, create a folder named database/raw/$seqname, move the videos into it, and run the above command.

Let me know if the problem still exists

Thanks for the prompt response, I put the test.mp4 under the /databse/raw/test folder and rerun python scripts/run_preprocess.py test squirrel quad "0" and got the following error.
err.txt
Not sure if it is because different version of imageio-ffmpeg, mine version is 0.4.9

Could you provide a full error log? Thanks.
This is my version
imageio                       2.31.1
imageio-ffmpeg                0.4.8

I downgraded both two files and the error is the same. I attached the output.txt and the packages I used below.
out.txt
err.txt
list.txt

Possibly this file is corrupted. Did you try another videos? https://www.dropbox.com/home/lab4d_data/sample/banmo/cat-pikachu-0

I downloaded this particular file and it is able to play correctly.Will try another video and see if the error persists


Added support for global date formats and fixed drf date formats not supported

#49
Changes:

added field dictionary to check field types more easily
added global date format settings
added support for rest framework date formats

This was a bit more complicated than I originally thought because the data is already formatted by drf, and because we needed to know the field type (couldn't rely on the type since it was a str).
I realized the current version would break when using drf's DATETIME_FORMAT, DATE_FORMAT or TIME_FORMAT because parse_datetime() and parse_date() could not parse non-iso formats.
Take a look and let me know what you think.
Also what should the settings be name and where should they be?
I went with DRF_RENDERER_XLSX_ prefix in global django settings:

DRF_RENDERER_XLSX_DATETIME_FORMAT
DRF_RENDERER_XLSX_DATE_FORMAT
DRF_RENDERER_XLSX_TIME_FORMAT

Another option would be to stick these settings inside REST_FRAMEWORK = {} instead?

@rptmat57 @willtho89 Thanks for the contribution! Before we review and merge this, I want to raise a question that's been on my mind.
Do we want to rename this package something less... obtuse? Like drf-excel or drf-spreadsheet? We could stub out the current name, and go with something easier. Thoughts?
That way, the prefix for settings could be DRF_EXCEL_ instead of DRF_RENDERER_XLSX_.
I'm not married to the current package name and figured we should have the conversation before we create global settings, to avoid headaches for people down the road.

Current name also doesn't bother me, but I can see where you are coming from. (Other Packages)(https://www.django-rest-framework.org/api-guide/renderers/#third-party-packages) mostly use djangorestframework-{format}. As far as I can see none of them use global settings though
I would leave this up to you @FlipperPA

lgtm
@rptmat57 when we decide on a name please also update README.md briefly explaining these settings

sure thing. I'll update the README
With regards to settings, what do you think about having them inside REST_FRAMEWORK?

Let me bounce these questions off Tom Christie and a few others, since we're playing in that ecosystem. :) Great work, my friends.

Awesome work @rptmat57. Using cell formatting is a great feature generally.
I'm not sure how we handle breaking changes. Imo Deprecation warnings would be best. @FlipperPA what would you suggest?

Deprecation warnings would be best - and I think we're probably around time for a 1.0 release and semver for breaking changes. I'll get us renamed to drf-spreadsheet today so that we can move forward with an easier name, and keep the old name as a stub. Thanks so much for both of your hard work on this!

lgtm – aside from the new datetime formatting.
tested with some of our existing data/serializers. Had to rewrite the xlsx_date_format_mappings tough

something like this:
format_mappings = {
    'created_at': 'yyyy-mm-dd h:mm:ss',
    'cost': '"$"#,##0.00_-',
}

@FlipperPA thanks! I am hoping it will make dealing with formatting easier, and it will be very useful to me so it's a win-win.
Nice little plugin you guys put together

alright I am really done now. added styling/formatting per column

@rptmat57 @willtho89 I'm good with merging this as long as you both are. Does this break backwards compatibility? Should this become released version 2.0.0?
We'll never get SemVer perfect, I'm sure, but should do our best. :)

it does break backwards compatibility with regards to date formats.
I am sorry I was trying to get the changes in before you release 1.0.0 but didn't realized it had already been released... my bad

No biggie at all! I wanted the 1.0 release to be the name change, so 2.0 is just fine.

When will version 2.0 with code written by rptmat57 be released? I was watching this conversation because I needed the number format function.

Nice, thanks!
I believe #4 and #30 can now be closed, since this is supported in 2.0.0


signal: Don't do schedule_sigaction when there is no action

Summary
signal: Don't do schedule_sigaction when there is no action
task: don't set default signal in kernal thread
We think, the kernel thread should set default signal action, like SIGINT SIGSTOP...
Impact
signal on kernel thread
Testing
VELA

@GUIDINGLI

signal: Don't do schedule_sigaction when there is no action
task: don't set default signal in kernal thread
We think, the kernel thread should set default signal action, like SIGINT SIGSTOP...

Can you explain more about this PR?
Does this PR fix a bug or just refactoring?


ld: framework not found url_launcher on Flutter 2.10.0

I started facing an issue of framework not found, when upgraded flutter from 2.8.1 to 2.10.1.
I'm working on mac m1
I tried pub and pod clean  with complete cache by using below command and also tried fresh setup on new system
flutter clean
pod cache clean 'FortifySec' --all
 rm -rf Pods
pod deintegrate
rm -rf ~/Library/Developer/Xcode/DerivedData/*
rm -rf ~/Library/Caches/CocoaPods
rm -rf ../pubspec.lock
rm -rf .symlinks
pod cache clean --all
flutter pub cache clean

attaching build log
in flutter doctor all correct
build.log

Hi @ashish12s3, Thanks for filing the issue. Does the app build fine when you run from xcode by running
open ios/Runner.xcworkspace from root of project?
Is this issue when running on a physical ios device or simulator or both?
Please attach

pubspec.yaml,
Podfile
output of flutter doctor -v

@maheshmnj
Is this issue when running on a physical ios device or simulator or both?
for all case
but my issue resolved by removing the entry from
xcode-> target->build setting -> other flag
-framwork
url_launcher

and remove all entries that create problems.


Update de-DE.json

Updated the german language file. Used the english one as a template.

When will this be merged?


Support Hald CLUTs

It would be nice if easyLUT supported Hald variant color lookup tables.
There's a nice description with some C source code on this website:
http://www.quelsolaar.com/technology/clut.html
The trouble is that the API will need to change, since Hald LUTs and regular LUTs are both square images; they only differ in grid sizes. Compare these two 512x512 images:
Conventional LUT:

Hald LUT:

Hald support and countless other improvements have been made in https://github.com/Pixplicity/easyLUT. Let me know if you want me to make a massive PR for all this.


Fix failed two tests.

Can you shortly comment on where this unit test fails (OS, Compiler, Version). This was added in response to https://github.com/headmyshoulder/odeint-v2/issues/149. Are you compiling with msvc as well?

Can you shortly comment on where this unit test fails (OS, Compiler, Version).

Oh, sorry that. I used GCC6 (fedora rawhide, I forget detail version...) with gnu++98/11/14 mode.
The change test/numeric/order_quadrature_formula.cpp is for teeks99-02-dg4.4-g98-Docker-64on64 - numeric/odeint - order_quadrature_formula / gcc-4.4~gnu98 and other same errors.
And other changes are for teeks99-02-dg4.4-98-Docker-64on64 - numeric/odeint - regression_149 / gcc-4.4~c++98.

This was added in response to headmyshoulder/odeint-v2#149. Are you compiling with msvc as well?

I didn't know about that (and didn't tested on MSVC), but I assume the test is not necessary to use lambda and auto. I'll test MSVC and report the results.

As for the missing include, this is an obvious mistake and should be fixed. For the regression I would prefer to leave it as is. I think it is acceptable if this fails for C++03 only compilers. But maybe C++11 mode was needed to observe the bug in the first place so changing the code into C++03 might defeat the whole purpose of this test.

I tested a) develop , b) without f312a809c86387dfe948a826625643f3186fa760 , c) a with this PR and d) b with this PR on MSVC 10,11,12 and 14.
All compilers show same result with and without this PR: i.e. c++11 mode is unnecessary to reproduce.

Ok, thanks for checking. Out of curiosity - does this regression still fail on MSVC? I don't have a windows machine for testing, unfortunately...

Out of curiosity - does this regression still fail on MSVC?

No. f312a80 fixes the regression.