text:
[Discussion] Using create-playwright on macOS 10.13

Hi all.
I'm arguably on an old system but can not upgrade to a later macOS.
Because the latest supported OS on this hardware is macOS 10.13.6 High Sierra, I'm currently fixed on the following versions (+ indicates I'm able to use the latest version and can probably continue to upgrade for a while):

nodejs: 16.x (npm 8.19.3)
Corepack: 0.15.1
Firefox: 108+
Chromium: 109+
AppleWebKit: 605.1.15

There is already a closed PR, https://github.com/microsoft/playwright/issues/1941#issuecomment-1008338376, with a work-around for npm init playwright@latest failing on macOS 10.13.
I would like to contribute to a better Developer eXperience (DX) for us on old Apple hardware, if possible.
Below is my notes for getting Playwright to work on 10.13. Any of the sections could be turned into a PR, if desired by you. I don't see any guidelines for what is supported other than comments here and there.
ERROR: Playwright does not support webkit on mac10.13
Steps to reproduce
npm init playwright@latest
Result
Error: ERROR: Playwright does not support webkit on mac10.13
Error: Command failed: npx playwright install
    at checkExecSyncError (node:child_process:861:11)
    at execSync (node:child_process:932:15)
    at executeCommands (/Volumes/mystuff/dotnet/.npm/_npx/d352e76cc6b4974c/node_modules/create-playwright/lib/index.js:4519:39)
    at Generator.run (/Volumes/mystuff/dotnet/.npm/_npx/d352e76cc6b4974c/node_modules/create-playwright/lib/index.js:4660:5)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async /Volumes/mystuff/dotnet/.npm/_npx/d352e76cc6b4974c/node_modules/create-playwright/lib/index.js:4928:3 {
  status: 1,
  signal: null,
  output: [ null, null, null ],
  pid: 2004,
  stdout: null,
  stderr: null
}

create-playwright npm test
Steps to reproduce
npm i && npm test
Result
All of the tests fails.
1) [NPM] › integration.spec.ts:20:1 › should generate a project in the current directory =========

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: 0
    Received: 1

      21 |   test.slow();
      22 |   const { exitCode, dir, stdout } = await run([], { installGitHubActions: true, testDir: 'tests', language: 'TypeScript', installPlaywrightDependencies: false, installPlaywrightBrowsers: true });
    > 23 |   expect(exitCode).toBe(0);

The same error happens in all of the tests.
Possible solution
Since the test output does not say what why all of the tests failed, I added a stderr property to type RunResult and in integration.spec.ts I print to console.error if exitCode is not above 0.
I could then see that the tests expects yarn and pnpm to be globally installed. I don't know if it makes sense to add package managers to the devDependencies for create-playwright but I'm assuming it does not.
A fix could be to just write that npm, yarn and pnpm is required for the tests to run, in the README.
After installing yarn 2 and still failing all tests, I took a peek at what the macOS github action is using and it turns out to be yarn@1. This should also be clear in the README.
The steps required, according to .github/workflows/.ci.yml, are the following:

npm i -g npm@8
npm i -g yarn@1
npm i -g pnpm@7
npm ci
npx playwright install-deps
npm run build
npx tsc --noEmit
npm test

Despite successfully doing the above steps, all of the tests still fails. Fortunately, with the stderr property, I am now able to see which commands fails.
The first one being, npx playwright install, which brings be back to my original issue, "Playwright does not support webkit on mac10.13".
Running the test with PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=true npm test gives the same errors.
It seems that I can not get any further without looking into the source of microsoft/playwright...
I will update this issue with my findings :)
Related issues:

1535
1941

Right, after looking through the source in playwright, I see that a lot of things has changed since the before mentioned issues - I simply can not find out where add logic for which browsers to download by default.
I think it is somewhere in playwright/packages/playwright-core/src/server/registry/index.ts. Preferably it should not be logic somewhere in the belly of playwright but flags/arguments to playwright CLI with logic in create-playwright.

Supporting macOS 10.15 or lower is unfortunately out of scope, since e.g. WebKit does not support them anymore due to their minimal xcode version constrains.
macOS 10.15 does no longer receive security updates by Apple as well, so we recommend updating.
Closing since this is not actionable for us.

I can not update. I would have to throw out my hardware and buy new... I understand that Microsoft don't want to support outdated OS's but the community could support macOS 10.13+. The latest webkit for iOS 15.7.2 (webkit 605.1.15), is also supported on 10.13 - I am running Safari 13.1.2 AppleWebKit/605.1.15.

WebKit does not support them anymore due to their minimal xcode version constrains.

@mxschmitt how does the xcode version come into play with playwright? I see relative download paths to a builds/ directory but fail to get a sample of the corresponding .zip file.

Also, it strikes me that playwright is also very useful on macoS 10.13 for Chromium and FIrefox browsers, which runs just fine.

Alternative if playwright does not run on old hardware, then there is only karma and puppeteer - though I can not find supported OS's in Puppeteer's documentation.
@mxschmitt can you confirm that cross-platform testing (for developer machines) would be possible with Docker?

The latest WebKit version is 16.2, which is much more recent than yours, see here. 605.1.15 is not the version number.

@mxschmitt that's not strictly true. The version numbers can be found here: https://github.com/WebKit/WebKit/blob/main/Configurations/Version.xcconfig
But you're correct that my webkit version is not the latest. It is however, the latest on iOS 15.7 which is still supported by Apple.
Again, I fail to see why you impose this requirement to playwright? Is it because you do not have old macOS's to test on? Is it because playwright depends on a specific xcode version - if yes, where and how?
Sorry about all this questions - but I'm very confused to why playwright would not work on macOS 10.13-10.15.
Previously (in August 2022) Version.xcconfig was here: https://trac.webkit.org/browser/trunk/Source/WebCore/Configurations/Version.xcconfig
Versions were unified in these two PR's: https://bugs.webkit.org/show_bug.cgi?id=244450 (https://github.com/WebKit/WebKit/pull/3747) and https://bugs.webkit.org/show_bug.cgi?id=249718 (https://github.com/WebKit/WebKit/pull/7958).

authors: dotnetCarpenter mxschmitt

repo: microsoft/create-playwright


text:
feat: Consider moving FluentDataGrid to another namespace

🙋 Feature Request
I am opting not to use the provided FluentDataGrid as it is not html table based (uses per row css grid instead). Instead I am now using the standard QuickGrid.
However using it is quite painful because namespace collisions.
In my _Imports.razor I have.
@using Microsoft.AspNetCore.Components.QuickGrid
@using Microsoft.Fast.Components.FluentUI

Now the following code won't work as TemplateColumn and PropertyColumn exists in both imported namespaces.
        <QuickGrid Items="@(Filter())" Virtualize="true">
            <TemplateColumn Title="Name"></TemplateColumn>
            <PropertyColumn Title="Date created" Property="@(c => c.CreatedTimestamp)" Format="yyyy-MM-dd" Sortable="true"></PropertyColumn>
        </QuickGrid>

So now I need to go with the fully qualified format which is just tedious.
        <QuickGrid Items="@(Filter())" Virtualize="true">
            <Microsoft.AspNetCore.Components.QuickGrid.TemplateColumn Title="Name"></Microsoft.AspNetCore.Components.QuickGrid.TemplateColumn>
            <Microsoft.AspNetCore.Components.QuickGrid.PropertyColumn Title="Date created" Property="@(c => c.CreatedTimestamp)" Format="yyyy-MM-dd" Sortable="true"></Microsoft.AspNetCore.Components.QuickGrid.PropertyColumn>
        </QuickGrid>

Having the FAST component's custom PropertyColumn and TemplateColumn and possible other conflicting implementations in different namespace from the main namespace Microsoft.Fast.Components.FluentUI would greatly help with working with the standard QuickGrid.
🤔 Expected Behavior

😯 Current Behavior

💁 Possible Solution

🔦 Context

💻 Examples

Having the FAST component's custom PropertyColumn and TemplateColumn and possible other conflicting implementations in different namespace from the main namespace Microsoft.Fast.Components.FluentUI would greatly help with working with the standard QuickGrid.

But that would also mean that everyone else needs to do extra work when they just want to use the FluentDataGrid (add namespace to _imports.cs or add @using etc), we need to document it, add setup instructions, etc.
I agree that having to use the full namespace in your situation is a bit cumbersome and tedious, but it seems to be a bit of an edge case and I don't want to have others do extra work needed to support this. Also, by using the full namespace, it is totally clear that you are not using Fluent library functionality and code,

Having the FAST component's custom PropertyColumn and TemplateColumn and possible other conflicting implementations in different namespace from the main namespace Microsoft.Fast.Components.FluentUI would greatly help with working with the standard QuickGrid.

But that would also mean that everyone else needs to do extra work when they just want to use the FluentDataGrid (add namespace to _imports.cs or add @using etc), we need to document it, add setup instructions, etc.
I agree that having to use the full namespace in your situation is a bit cumbersome and tedious, but it seems to be a bit of an edge case and I don't want to have others do extra work needed to support this. Also, by using the full namespace, it is totally clear that you are not using Fluent library functionality and code,

source: gharchive/issue

authors: juho-hanhimaki vnbaaij

repo: microsoft/fast-blazor

license: MIT

license_type: permissive

license_source: github-api


text:
Add items - Possibility to pin a project as a favorite

Describe the bug
When I do the portfolio management then I normally work with a handful projects. It would be very beneficial if I could mark my often used project as favorites.
Browser
Choose a browser
[x] Chrome
Version
[x] Azure DevOps/VSTS

Sorry, but this code in this repo is not currently being maintained. We recommend you use the Delivery Plans feature that is core to Azure DevOps.

authors: danhellem ooeler

repo: microsoft/featuretimeline


text:
Implement TES compliance suite as a github action

https://github.com/elixir-cloud-aai/tes-compliance-suite

Currently in progress on including compliance tests as part of integration tests running in ADO release pipeline. What I have done so far:

got a docker image for tes compliance suite up and running locally (hitting a fake server url)
battled ADO to get the same behavior on an agent machine in the release (also fake url)
stood up a TES instance and verified that tes-compliance-suite indeed works with basic auth, just need to give server url in a specific format that includes user/password (http://user:password@serverurl)
the way the test yaml files are set up in tes compliance suite, TES doesnt pass any of the tests. A simple change to not include the name in the create task fixed the create tasks test (https://github.com/elixir-cloud-aai/tes-compliance-suite/blob/665f4ff721eb2f0fde0bcfaf94b64b65c18f374f/tests/create_task.yml, line 16), need to figure out what the expectation there is (i.e. is it okay to change the body provided in there or are they meant to stay as is, documentation is a bit confusing - readmelink)

so far, it does seem that the service-info endpoint should not be under tasks/service-info. Will document any other discoveries as I make them.
remaining work for now:

get the release working end to end for the integration test with the compliance test
to do that need to adjust entrypoint script to take in username, password and endpoint url and should be all set.
next will create a PR in the tes compliance suite repo to add a docker file and connect with repo owner if any other changes are needed there


text:
Error executing stored procedures with parameters starting with # or $

Describe the bug
@#foo and @$foo are valid store procedure parameters but trigger an error.
Exception message: error(*errors.errorString) *{s: "name \"#foo\" does not begin with a letter"}

To Reproduce
Create this procedure
CREATE PROCEDURE dbo.FooBar
              @#foo INT,
              @$bar INT
AS BEGIN
              SET NOCOUNT ON;
              SELECT @#foo AS foo, @$bar AS bar
END

Execute it
_, err := db.Query("dbo.FooBar", sql.Named("#foo", 1), sql.Named("$bar", 2))
fmt.Println(err)

Expected behavior
Procedure FooBar should execute without an error.
Further technical details
Sql Server 13.0.6300.2
go version go1.20.4 windows/amd64
Windows 10
Additional context
I've never seen this error using another language.

I've discovered this is a go standard library problem: https://github.com/golang/go/issues/60577

repo: microsoft/go-mssqldb


text:
[release/0.9] Backport hostprocess fixes

This change brings a fix to make storage stats work for hostprocess containers, as well as some additional fixes to jobobjects/hpc along the way in the commit history.
Commits cped:

1154e47f9766102d3ffca283acf01bf28f8331ad
52a4ea99865dd097d1c963e94bd7cfb14b5b8c96
7fbb79f823aa5a039d6329501accc0b2c92a91d3
566e3b0f89b2c769fc874ea3cc2a33ac5423ab08
f29964fb18afcd85c561494c04a8e797a1fdf2fd
014849a4b0dcf88831921f34ba751b0400716203
9d05b5b66d4cc3e678b4cd87b50a54977820101c

And one additional commit to vendor everything in test as release/0.9 still has the test vendor directory.

fyi @jsturtevant

source: gharchive/pull-request

repo: microsoft/hcsshim


text:
add auto-generated comment in CSharp to avoid triggering static analysis

A big ask but I was wondering if it would be possible to either generate StyleCop compliant code OR to add // <auto-generated /> headers to generated C# files so that StyleCop could automatically ignore these files?
I was also wondering if it would be possible to specify a .NET version - thus if you're targeting .NET 6 / 7 / 8 you don't need all the debug conditionals to deal with .NET Standard / .NET Core 3.1 if you're not supporting them.

@HowardvanRooijen Thanks for the feedback.  I remember you telling me about the comment issue and I completely forgot to create an issue for it.  I agree that it would be really nice if we didn't need all the conditionals.

On the StyleCop front, we have some standard nuget "recommended practices" packages we pull into projects to configure them for our standard build / deployment process which includes StyleCop.
My current workaround is adding exclusions to the projects to remove the 3000+ rule violations generated. It's quite a long list!
SA1629;SA1201;SA1134;SA1514;SA1615;SA1600;SA1602;CS1591;SA1128;SA1128;SA1611;SA1633;SA1612;SA1117;SA1116;SA1623;

Hi @HowardvanRooijen
Thanks for using Kiota and for reaching out.
You'll find some context in #2594 and #2073 as to the conditional compilation, the fact that kiota doesn't have language specific options and more.
As for linting/static analysis in general, all those rules can be configured differently by the target projects, additional ones can be added, which means there's no "right" version of the generated code. Of course there are some more widely adopted than others we might consider.
@darrelmiller the only reason why we need conditional compilation is to keep compatibility with .net framework. Changing this now would be a breaking change.
With that in mind, having the auto-generated comment at the top of the files or changing the extension to .g.cs see this important note
This is something that could be added at the following locations:
https://github.com/microsoft/kiota/blob/1ff6537bea89442dabacf4be341d57ca644d120e/src/Kiota.Builder/Writers/CSharp/CodeClassDeclarationWriter.cs#L35
https://github.com/microsoft/kiota/blob/1ff6537bea89442dabacf4be341d57ca644d120e/src/Kiota.Builder/Writers/CSharp/CodeEnumWriter.cs#L21
Is this something you'd be willing to submit a pull request for?

I absolutely understand that StyleCop is a fickle and user configurable tool (I maintained it when it got OSS'd on CodePlex back in the day!), so totally understand your position on that. Although I still think the OOTB settings are a good baseline.
And yes, I'd be happy to have a go at implementing it and issuing a PR for the header. I'll try and figure out when I can make time to investigate!

@HowardvanRooijen are you still willing to help with implementing these changes? We'd love to get your contribution! @andrueastman would be a good candidate to help with this one also. Thanks!

I am - it's just finding the window in my month where I have capacity (the joys of a tech small business owner!).

+1 on adding the auto generated header on top of the classes generated using kiota. We are currently trying to port over to kiota lib for code generation and our project is using StyleCop.Analyzers version 1.1.0+ and we are running into this issue.
If the header //  is added the stylecop is able to identify the class and not show warnings.
Also, curious to know if the code generated can actually honor the stylecop rules when generating code. It would make the generated classes more readable and comparable to the non generated classes.

@samarthasthana the challenge with "generating the rules that comply with Stylecop" is that projects can have their rules be configured different ways, or even use different linters/static analysis tools. So even if we get compliant with one tool/set of rules, it might conflict with another.

Agreed, it would make sense to choose one code analysis tool and be in compliance just so that the generated code is more readable and navigable.
Adding the autogenerated header on top would still be required so that the target project's code analyzer does not flag the code.

Created the Pull Req 3034
Kindly review.

authors: HowardvanRooijen baywet darrelmiller samarthasthana sebastienlevert

repo: microsoft/kiota


text:
Add timesync_validate_ptp.

The newer kernel version linux will have this, we need find the baseline for 'newer kernel version'.

as discussed, move it to `microsoft/testsuites/core

authors: LiliDeng squirrelsc

repo: microsoft/lisa


text:
Add test failure troubleshooting docs

This adds information for LISA users on how to troubleshoot test failures and how to understand the console output and logs.
Thank you for Lili Deng and Chi Song who created the images and provided information to make this documentation.

Please make commits meaningful, once it's done, it's ready to merge.

I updated the commit messages to be more meaningful

I updated the commit messages to be more meaningful

I will merge this change. Next time, the file renaming can be a separated commit, so it's easier to track what's changed in next commit. From current commits, it shows a deleted file and an added file, so the diff doesn't work for the content.

authors: kat-lsg-dev squirrelsc


text:
Adds support for blocking unmocked requests. Closes #311

Adds support for blocking unmocked requests. Closes #311

Let's merge after releasing v0.11


text:
User Guide icon

User guide is hard to find from web app. Would be nice to have an icon in lower left (similar size of microbit connect icon). Would disappear once clicked. Keep link at bottom.

I made it a bit more proeminent... but it might be good to do something more drastic like poping the connect dialog on startup.

authors: pelikhan ramseyball

repo: microsoft/microcode


text:
ItemsRepeater does not display items in order

Describe the bug

I have noticed that ItemsRepeater sometime does not order the items properly. On my PC I am able to reproduce it using following steps. I have created a sample repo
Steps to reproduce the bug

Steps to reproduce the behavior:

Open the app and make sure only two columns are displayed
Observe the order of items.
Maximise the app, the order of the displayed elements are changed.

Expected behavior

The order should not change
Screenshots

Before

After

Version Info

NuGet package version:
2.4.0-prerelease.200113001
Could also reproduce with 2.3.191211002
Before

After

Windows 10 version
Saw the problem?

Insider Build (xxxxx)
Yes

November 2019 Update (18363)

May 2019 Update (18362)

October 2018 Update (17763)

April 2018 Update (17134)

Fall Creators Update (16299)

Creators Update (15063)

Device form factor
Saw the problem?

Desktop

Mobile

Xbox

Surface Hub

IoT

Additional context

@havinders, Unfortunately i won't get a chance to debug this further until early next week. I can give you an update once I understand the issue a little better. I appreciate your patience.

@havinders  If I change the data template to the following, the order looks correct when going full screen.

which gave me the impression that there is something wrong with the ViewModel's binding.
On looking closer, your StoryView should be implementing INotifyPropertyChanged and when ViewModel is changing, it should raise PropertyChanged like so.
public sealed partial class StoryView : UserControl, System.ComponentModel.INotifyPropertyChanged
{
private StoryViewModel viewModel;
public StoryViewModel ViewModel
{
get
{
return viewModel;
}
set
{
viewModel = value;
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("ViewModel"));
}
}
}
Also, you need your binding in StoryView.xaml needs to be OneWay. The default is one time.
<TextBlock
Grid.Row="1"
x:Name="Title"
Text="{x:Bind ViewModel.Name, Mode=OneWay}"
After fixing these two issues, I see that on going full screen the order is correct. The bindings were not firing correct which gave the impression that the order was wrong. Can you make these changes and see if it affects https://github.com/microsoft/microsoft-ui-xaml/issues/1954 ?

Yes, this seems to work. I am going to spend some time understanding your logic here, I have never seen  PropertyChanged  raised for ViewModel from a View before. Is it because of recycling in ItemsRepeater. Would I have to do same changes if it was a GridView or ListView? Apologies @ranjeshj, If I am asking stupid questions.
However this did not help with #1954.

The behavior should be the same for ListView/GridView. The problem is that ViewModel property gets assigned by the x:Bind on StoryView, however that does not trigger the binding in StoryView to re-evaluate because the property is not INPC. There is a mainpage.g.cs file that is generated by the markup compiler in the output folder where you can see the hookup (you can set breakpoints there to see if the ViewModel property is hit and when it gets updated)

authors: harvinders ranjeshj

repo: microsoft/microsoft-ui-xaml


text:
Published App from Default WinUI 3 Template Is Unresponsive

Describe the bug
I have encountered an issue with publishing Win UI 3 apps. In order to rule out any issues with my code, I am just trying to publish the app generated from the default template, which only contains a "Click Me" button. The specifics of the issue are as follows:

If I deploy the app, the exe file does not respond. The blue progress wheel momentarily appears, but nothing else happens.
If I publish the app, the Setup,exe completes successfully, but when I try to run the installed app, again it is unresponsive.
If I add this line of code: <WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained> to the project file, the deployed version runs correctly.
However, if I try to publish the version of the app containing this line of code, the Setup,exe gives an error message and will not complete.

In the "Steps to reproduce the bug" section below I describe the simplest method to reproduce each of these behaviours. I have also ensured I have installed the latest stable SDK and RunTime, which are version 1.2. If anyone can advise me how to fix this issue then I would greatly appreciate it.
Steps to reproduce the bug
Setup

Open Visual Studio 2022
Click "Create a new project"
Select "Blank App Packaged (WinUI 3 in Desktop)
Click Next
Click Create
Click Run, and observe that the project runs successfully

Steps to Reproduce Deployment Bug
7. Right click on the project name, and click Deploy
8. Navigate to the deployment output folder (right click on project name and click properties, click on Debug, Open Debug Launch Profiles UI, copy the Layout Folder Path, and paste into Explorer)
9. Double Click the YourAppName.exe file.
10. Nothing happens: That is, the application does not open, but there is no error message displayed. The blue progress wheel is momentarily displayed.
Steps to Reproduce First Publishing Bug
11. Right click on the project name, and click Publish
12. Modify the publishing settings so they are compatible with your operating system
13. Click Publish
14. After the process completes, click the link to navigate to the output folder
15. Double click the Setup File, the setup process completes without issue.
16. Run the installed application, by clicking on the Start button and clicking on YourAppName.
17. As with the deployed version, nothing happens.
Steps to Fix Deployment Bug
18.  Right click on the project name and click Edit Project File
19. Add the following property to the <PropertyGroup> element: <WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>
20. Right click on the project name, and click Deploy
21. Double Click the YourAppName.exe file.
22. Now the app runs correctly.
Steps to Reproduce Second Publishing Bug
23. Repeat steps 11 to 15
24. This time, running the Setup gives an error message: "Cannot continue. The application is improperly formatted. Contact the application vendor for assistance."
25. Click on the "Details" button, which opens the log file. The informative part of this file states: "Exception reading manifest from .dll.manifest: the manifest may not be valid or the file could not be opened." This log file is attached.
26. Open the manifest file and observe that it is an extremely large file, and it is not clear which part is the problem (GitHub will not let me attach this).
FJEXNEJX.log
Expected behavior
The installed app to behave in the same way as the deployed app.
Screenshots
No response
NuGet package version
None
Windows version
Windows 11 (22H2): Build 22621
Additional context
No response

i wonder why this issue isnt resolved? without this fix i wouldn't have known how to fix the issue with deploying my app.

Hi, thanks for filing.  The problem here might be that the WinAppSDK framework package isn't installed.  When you press F5 in VS this will happen automatically.  But if you just press the deploy button, then the dependencies aren't installed.  Does that help?  Thanks!
FYI @Scottj1s

I built a WinUI3 App and now I can published it to use the App on another computer 😣

Same problem, I can't deploy it.   Says my dll.manifest is incorrect.
This should have been fixed a long time ago, this is why so many developers turn away from Microsoft.  Very sad.

Hi @AceSyntax , it sounds like your issue might be different.  Would you mind opening a new issue with information about what version you're using and the full error message?  Thanks!

And currently it has not been fixed.

Hi, I notice this line in the repro steps:

Double Click the YourAppName.exe file.

For packaged apps like this one, you'll need to install the msix rather than run the .exe directly.  I'm not sure if this is what other folks are hitting.
It shouldn't be necessary to add true to your project for it to work out of the box.  By default, the blank app will use the WindowsAppRuntime framework package.
Are folks still seeing these problems on WinAppSDK 1.5?
Thanks!

I am so frustrated that this issue is not solved yet. If you do not want to solve the basic problem then close this project.

Hi @Md-Ashraful-Pramanik , which of the issues are you hitting?  Please note that if you're building a packaged app (which is the default in the blank app template), it's by-design that the app doesn't run when you launch the exe.  If you want to build an unpackaged WinAppSDK app, please see: https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/deploy-unpackaged-apps
I don't know much about the VS "Publish..." option, but I suspect it may not be helpful for packaged apps.  For packaged apps, in VS you'd typically right-click on the project and use the "Package and Publish | Create App Packages..." option.
FYI @Scottj1s

Hi, is this a managed/C# app or a C++ app?

Hi @Md-Ashraful-Pramanik , if this is a C# app, you may need to follow the steps here: https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/stable-channel
In particular, you may need to add a nuget project reference to the latest CsWinRT package.

It solves the problem. Thank you. But I would like to request you to add all of them in the Blank Project Template so that no one gets panic like me.

@JesseCol, Now, I can not call db in release mode. I can do it in Debug mode. I am new to Winui 3 so do not mind if these are stupid questions.

Hi @Md-Ashraful-Pramanik , sorry, what do you mean by "call db" exactly?

DB means database call.
On Mon, Sep 16, 2024, 11:06 PM JesseCol @.***> wrote:

Hi @Md-Ashraful-Pramanik https://github.com/Md-Ashraful-Pramanik ,
sorry, what do you mean by "call db" exactly?
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/microsoft-ui-xaml/issues/8288#issuecomment-2353463679,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANO3RTS5MO3XBWN3BTIFT6TZW4F2BAVCNFSM6AAAAAAV4QEL2SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJTGQ3DGNRXHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

DB means database call.
…
On Mon, Sep 16, 2024, 11:06 PM JesseCol @.> wrote: Hi @Md-Ashraful-Pramanik https://github.com/Md-Ashraful-Pramanik , sorry, what do you mean by "call db" exactly? — Reply to this email directly, view it on GitHub <#8288 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANO3RTS5MO3XBWN3BTIFT6TZW4F2BAVCNFSM6AAAAAAV4QEL2SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJTGQ3DGNRXHE . You are receiving this because you were mentioned.Message ID: @.>

Have you had any luck with this, I have also noticed that none of my database queries or updates work in release

I am able to package and publish with default but as soon as I call an SQL server connection (Sqlexpress) the app crashes.

authors: AceSyntax JesseCol MaiastraMan Md-Ashraful-Pramanik PunchCakee mattswainston mmnj40 patricksadowski rs82uk


text:
[Regression] FontFamily resolution changed between WinUI 2 and WinUI 3

Describe the bug
On the same machine, some FontFamily that are properly resolved with WinUI 2 fall back to the default Segoe UI font with WinUI 3.
Steps to reproduce the bug
Use the following XAML snippet in an app:
<TextBlock FontSize="24">
    <TextBlock.Inlines>
        <Run Text="Segoe UI" FontFamily="Segoe UI"/><LineBreak/>
        <Run Text="Arial" FontFamily="Arial"/><LineBreak/>
        <Run Text="Arial Narrow" FontFamily="Arial Narrow"/><LineBreak/>
        <Run Text="Algerian" FontFamily="Algerian"/><LineBreak/>
        <Run Text="Harlow Solid Italic" FontFamily="Harlow Solid Italic"/><LineBreak/>
    </TextBlock.Inlines>
</TextBlock>

Note that other controls like CheckBox are impacted as well.
Expected behavior
On the same machine, the rendering should be the same whether WinUI 2 or WinUI 3 is used.
Screenshots
Using a WinUI 2 / UWP app, rendering is correct:

Using a WinUI 3 / WinAppSDK app, rendering is not correct. "Arial Narrow" and "Harlow Solid Italic" fall back to Segoe UI:

NuGet package version
WinUI 3 - Windows App SDK 1.4.4: 1.4.231219000
Windows version
Windows 11 (22H2): Build 22621
Additional context
No response

Also related (2 years ago :') ) https://github.com/microsoft/microsoft-ui-xaml/issues/6109
Caused by change change from WSS family resolution in Windows 10 SDK's to Typographic font families for WIndow 11 SDK's, with no way provided to properly reference the missing fonts. This also affects WinUI 2 if the Min version is set to a Windows 11 SDK.

authors: JohnnyWestlake jbrianceau


text:
move RadialGradientBrush from preview to public

Moving RadialGradient brush to public from preview now that the API review is complete. Spec document is here.

The spec still refers to GradientOriginOffset while we renamed it to GradientOrigin . Is there a PR for adjusting the spec to align with the current code? Or is that unecessary?

The spec still refers to GradientOriginOffset while we renamed it to GradientOrigin . Is there a PR for adjusting the spec to align with the current code? Or is that unecessary?

Yes. The spec will need to be updated.

I'm in the process of updating the spec right now.

/azp run

:shipit:

Does the Spec now align with the idl? @chingucoding @ranjeshj or @MikeHillberg ?

The idl is aligned with what was discussed. I think @mikehillberg is in the process of getting the spec up to date with the current API. So yes, IDL aligns with the spec that was discussed.

/azp run

authors: MikeHillberg StephenLPeters chingucoding ranjeshj


text:
Application which uses many dlls crashes when using mimalloc under Windows

Hello,
our application crashes when it uses mimalloc-override.
The application uses many dlls.
The crash occurrs when memory within the CRT is freed.
Here ist the stacktrace:
ntdll.dll!string "Enabling heap debug options\n"()	Unbekannt
ntdll.dll!RtlValidateHeap()	Unbekannt
AcXtrnal.dll!000007febd077bac()	Unbekannt
ucrtbase.dll!__acrt_free_locale()	Unbekannt
ucrtbase.dll!_updatetlocinfoEx_nolock()	Unbekannt
ucrtbase.dll!_updatetlocinfoEx_nolock()	Unbekannt
ucrtbase.dll!__crt_seh_guarded_call<void>::operator()<class <lambda_d67e8342c384adda8f857579ab50b2ae>,class <lambda_30712929f77e709619002f448b6a9510> &,class <lambda_4525336fd7e478d965fb7ca7a337cad8> >(class <lambda_d67e8342c384adda8f857579ab50b2ae> &&,class <lambda_30712929f77e709619002f448b6a9510> &,class <lambda_4525336fd7e478d965fb7ca7a337cad8> &&)	Unbekannt
ucrtbase.dll!_wcscats()	Unbekannt
ucrtbase.dll!__crt_seh_guarded_call<void>::operator()<class <lambda_5df02c53a8f32f81fd64e5bbb78039f1>,class <lambda_2af78c5f5901b1372d98f9ab3177dfa6> &,class <lambda_f51fe5fd7c79a33db34fc9310f277369> &>(class <lambda_5df02c53a8f32f81fd64e5bbb78039f1> &&,class <lambda_2af78c5f5901b1372d98f9ab3177dfa6> &,class <lambda_f51fe5fd7c79a33db34fc9310f277369> &)	Unbekannt
ucrtbase.dll!_wsetlocale()	Unbekannt
ucrtbase.dll!___lc_locale_name_func()	Unbekannt
ucrtbase.dll!setlocale()	Unbekannt
msvcp140.dll!000007fee58c1724()	Unbekannt
msvcp140.dll!000007fee58b46a4()	Unbekannt
msvcp140.dll!000007fee58b5e59()	Unbekannt

dlltools.dll!std::use_facet<std::codecvt<char,char,_Mbstatet>>(const std::locale & _Loc) Zeile 519	C++
[Inlineframe] dlltools.dll!std::basic_filebuf<char,std::char_traits>::open(const char *) Zeile 292	C++
[Inlineframe] dlltools.dll!std::basic_fstream<char,std::char_traits>::{ctor}(const char *) Zeile 1328	C++
dlltools.dll!C_ConfigFile::CheckForNewLineOnLastLine() Zeile 904	C++
dlltools.dll!C_ConfigFile::SetLockName() Zeile 159	C++
dlltools.dll!C_ConfigFile::SetConfigFileName(const std::string & strName) Zeile 883	C++
dlltools.dll!C_ZISDirectories::ReadConfigFile() Zeile 785	C++
dlltools.dll!C_ZISDirectories::Init_Impl() Zeile 418	C++
dlltools.dll!C_ZISDirectories::C_ZISDirectories() Zeile 70	C++
dlltools.dll!C_ZISDirectories::instance(const char * pszBinDirectory) Zeile 57	C++
dllunittestutilities.dll!C_ConsoleModus::ActivateLocalMiniDump_Impl() Zeile 223	C++
dllunittestutilities.dll!C_ConsoleModus::Execute(int argc, char * * argv, const std::string & strXMLFileName) Zeile 53	C++
dbgtools.exe!ace_main_i(int argc, char * * argv) Zeile 347	C++
dbgtools.exe!main(int argc, char * * argv) Zeile 181	C++

This is the executed code in "dlltools.dll!C_ConfigFile::CheckForNewLineOnLastLine() Zeile 904":
std::fstream myFile(strConfigFileName.c_str(), std::ios::in | std::ios::out);
if(myFile.is_open())
...
The application crashes in "Debug" and in "Release" mode.
When the application starts in "Debug" mode the following message is printed to stdout:
"mimalloc-redirect: warning: unable to resolve "ucrtbase.DLL!_msize_base" -- this may cause allocation errors."
In the "Release" mode no message is printed to stdout.
The same code works fine when it is executed within the test application mimalloc-override-test.exe.
int main() {
//mi_stats_reset();  // ignore earlier allocations
atexit(free_p);
void* p1 = malloc(78);
void* p2 = mi_malloc_aligned(16,24);
free(p1);
p1 = malloc(8);
char* s = mi_strdup("hello\n");
_putenv("TEST=ENV");
int twice = 0;
do
{
printf("Locale is: %s\n", setlocale(LC_ALL, NULL));
std::fstream myfile("example.txt", std::ios::in | std::ios::out);
if(myfile.is_open())
{
myfile << "This is a line.\n";
myfile << "This is another line.\n";
myfile.close();
}
setlocale(LC_ALL, "");
}
while(!twice++);
...
}
Best regards
Michael

Ouch -- the error looks not good. I need a bit more information:

can you tell me exactly what Windows version you are running on?  If you know what the windows SDK version is (for the ucrtbase version) that would be great too. Do you compile for 64-bit?
can you set MI_VERBOSE=1 in release mode and see if you get any warnings?
or even MI_VERBOSE=3 to see very detailed info.

Also, make sure that the mimalloc-override.dll is first on the linker command line so it loads early (and thus mimalloc-redirect.dll loads early.)

can you tell me exactly what Windows version you are running on?
Windows 7 Ultimate Service Pack 1

if you know what the windows SDK version is (for the ucrtbase version) that would be great too.
In "Debug" mode ucrtbase.dll and ucrtbased.dll are loaded.
ucrtbase	  10.0.10586.788 (th2_release_sec.170113-1732)
ucrtbased  10.0.18362.1 (WinBuild.160101.0800)

Also, make sure that the mimalloc-override.dll is first on the linker command line so it loads early (and thus mimalloc-redirect.dll loads early.)
Now mimalloc-override.dll is loaded as 5th dll.
In "Debug" mode I can see the command line menu. But when a test in the application is executed the application crashes.
In "Release" mode the appliction crashes immediately after start.

I have appended 2 files.
They contain:

console output with MI_VERBOSE=3
stacktrace of the crash
order of the loaded modules (copy this to Excel and you can see a prettier output)

mimalloc_debug.txt
mimalloc_release.txt

I looked at the output and it is clearly the "_msize_base" that goes wrong :-(  I tried to replace my ucrtbase.dll with the one you used but was unable to do so on my machine -- windows seems to special tricks around system32 that makes this not easy to do; I will try again later. This would hopefully allow me to reproduce the error.
ps. If this doesn't work out we could perhaps set up a remote debug session -- I think I can figure it out when I see it.  If you are able to, perhaps you can set a breakpoint on "main"; when you hit it, then open a disassembly window and go to the address of ucrtbase.dll!_msize  (this address is also shown in the VERBOSE=3 output) and show me what it looks like (best with hex and assembly display).

Here is the result of result.
I hope I did it correctly.
mimalloc_release_output_hex.txt
mimalloc_debug_output_hex.txt

Hi @migra-leutek, that is great! It is almost what I need... (you used the addresses in mimalloc but I need the ones in ucrtbase :-))
Can you repeat just for the "release" version?  Use MIMALLOC_VERBOSE=3, and then break at main. Then open the disassembly window in the debugger and type in its address window: ucrtbase.DLL!_msize -- this should work. Then send me the first 10 or so assembly instructions (and hex codes) that you see.
Apologies for this kind of tricky-ness but I hope we can figure out what is going on.

This time it should be correct :-).
mimalloc_release_disassembly_with_hex_codes.txt

Thanks -- I am still not sure what is going on though; it looks to be ok. I will investigate further and let you know how it goes.

I created a test version of mimalloc-direct; can you copy it into your test (and overwrite the old one) and see how it goes?
Thanks!

Good job :-). Now it works without any crash!
mimalloc_release_console_output.txt

Hello Daan,
great job :-). Now it works without any crash!
Thanks
Michael
Von: Daan notifications@github.com
Gesendet: Freitag, 15. November 2019 05:55
An: microsoft/mimalloc mimalloc@noreply.github.com
Cc: Graf, Michael Michael.Graf@leutek.de; Mention mention@noreply.github.com
Betreff: Re: [microsoft/mimalloc] Application which uses many dlls crashes when using mimalloc under Windows (#170)
I created a test versionhttps://www.dropbox.com/s/1gwkrov8jqdb9ag/mimalloc-redirect.dll?dl=1 of mimalloc-direct; can you copy it into your test (and overwrite the old one) and see how it goes?
Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/mimalloc/issues/170?email_source=notifications&email_token=AJKN6EYKGWWALLUL4WOKVLTQTYTTFA5CNFSM4JKVRTV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEEJV3I#issuecomment-554212077, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJKN6E6G5FFOYHUF2C7JLPDQTYTTFANCNFSM4JKVRTVQ.
mimalloc: option 'show_errors': 0
mimalloc: option 'show_stats': 0
mimalloc: option 'eager_commit': 1
mimalloc: option 'eager_region_commit': 0
mimalloc: option 'large_os_pages': 0
mimalloc: option 'reserve_huge_os_pages': 0
mimalloc: option 'segment_cache': 0
mimalloc: option 'page_reset': 0
mimalloc: option 'cache_reset': 0
mimalloc: option 'reset_decommits': 0
mimalloc: option 'eager_commit_delay': 0
mimalloc: option 'segment_reset': 0
mimalloc: option 'os_tag': 100
mimalloc: process init: 0x7fffffdc000
mimalloc-redirect: trace: checking for target mimalloc.dll
mimalloc-redirect: trace: checking for target mimalloc-override.dll
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dbgtools.exe"
mimalloc-redirect: trace: module "C:\Windows\SYSTEM32\ntdll.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\kernel32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\KERNELBASE.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\mimalloc-override.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\mimalloc-redirect.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\ADVAPI32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\msvcrt.dll"
mimalloc-redirect: trace: module "C:\Windows\SYSTEM32\sechost.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\RPCRT4.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\VCRUNTIME140.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-runtime-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\ucrtbase.DLL"
mimalloc-redirect: trace: resolving "ucrtbase.DLL"
mimalloc-redirect: trace: resolve "malloc" at ucrtbase.DLL!0x000007FEF2E540F0 to mimalloc!0x000007FEEAA12800 (0)
mimalloc-redirect: trace: resolve "calloc" at ucrtbase.DLL!0x000007FEF2E54EF0 to mimalloc!0x000007FEEAA12160 (0)
mimalloc-redirect: trace: resolve "realloc" at ucrtbase.DLL!0x000007FEF2E466B0 to mimalloc!0x000007FEEAA12A10 (0)
mimalloc-redirect: trace: resolve "free" at ucrtbase.DLL!0x000007FEF2E54180 to mimalloc!0x000007FEEAA12210 (0)
mimalloc-redirect: trace: resolve "_expand" at ucrtbase.DLL!0x000007FEF2EA0460 to mimalloc!0x000007FEEAA121D0 (0)
mimalloc-redirect: trace: resolve "_recalloc" at ucrtbase.DLL!0x000007FEF2E42AE0 to mimalloc!0x000007FEEAA12B40 (0)
mimalloc-redirect: trace: resolve "_msize" at ucrtbase.DLL!0x000007FEF2E54140 to mimalloc!0x000007FEEAA12C60 (0)
mimalloc-redirect: trace: resolve "_malloc_base" at ucrtbase.DLL!0x000007FEF2E49120 to mimalloc!0x000007FEEAA12800 (0)
mimalloc-redirect: trace: resolve "_calloc_base" at ucrtbase.DLL!0x000007FEF2E4E160 to mimalloc!0x000007FEEAA12160 (0)
mimalloc-redirect: trace: resolve "_realloc_base" at ucrtbase.DLL!0x000007FEF2E47560 to mimalloc!0x000007FEEAA12A10 (0)
mimalloc-redirect: trace: resolve "_free_base" at ucrtbase.DLL!0x000007FEF2E4A890 to mimalloc!0x000007FEEAA12210 (0)
mimalloc-redirect: trace: resolve "_expand_base" at ucrtbase.DLL!0x000007FEF2EA046C to mimalloc!0x000007FEEA9F2650 (0)
mimalloc-redirect: trace: resolve "_recalloc_base" at ucrtbase.DLL!0x000007FEF2E474BC to mimalloc!0x000007FEEA9F2680 (0)
mimalloc-redirect: warning: unable to resolve "ucrtbase.DLL!_msize_base" -- enabling MIMALLOC_PATCH_IMPORTS to prevent allocation errors.
mimalloc-redirect: trace: resolve import "ntdll.dll!RtlSizeHeap" in ucrtbase.DLL at 0x000007FEF2EEC200 to 0x000007FEEA9F2D70 (0)
mimalloc-redirect: trace: resolve import "ntdll.dll!RtlFreeHeap" in ucrtbase.DLL at 0x000007FEF2EEC218 to 0x000007FEEA9F2DE0 (0)
mimalloc-redirect: trace: resolve import "ntdll.dll!RtlReAllocateHeap" in ucrtbase.DLL at 0x000007FEF2EEC1D8 to 0x000007FEEA9F2E70 (0)
mimalloc-redirect: trace: resolve "_aligned_malloc" at ucrtbase.DLL!0x000007FEF2E9FFE0 to mimalloc!0x000007FEEAA11670 (0)
mimalloc-redirect: trace: resolve "_aligned_realloc" at ucrtbase.DLL!0x000007FEF2EA0430 to mimalloc!0x000007FEEAA116F0 (0)
mimalloc-redirect: trace: resolve "_aligned_free" at ucrtbase.DLL!0x000007FEF2E9FFB0 to mimalloc!0x000007FEEAA12210 (0)
mimalloc-redirect: trace: resolve "_aligned_recalloc" at ucrtbase.DLL!0x000007FEF2EA0440 to mimalloc!0x000007FEEAA11A10(0)
mimalloc-redirect: trace: resolve "_aligned_msize" at ucrtbase.DLL!0x000007FEF2E9FFF0 to mimalloc!0x000007FEEA9F2A60 (0)
mimalloc-redirect: trace: resolve "_aligned_offset_malloc" at ucrtbase.DLL!0x000007FEF2EA0090 to mimalloc!0x000007FEEAA116B0 (0)
mimalloc-redirect: trace: resolve "_aligned_offset_realloc" at ucrtbase.DLL!0x000007FEF2EA0160 to mimalloc!0x000007FEEAA11760 (0)
mimalloc-redirect: trace: resolve "_aligned_offset_recalloc" at ucrtbase.DLL!0x000007FEF2EA0370 to mimalloc!0x000007FEEAA11A00 (0)
mimalloc-redirect: error: mimalloc-redirect.dll is initialized after ucrtbase.DLL -- redirection is disabled.
(try to link with mimalloc earlier on the command line?)
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-core-timezone-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-core-file-l2-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-core-localization-l1-2-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-core-synch-l1-2-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-core-processthreads-l1-1-1.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-core-file-l1-2-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-heap-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-string-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-stdio-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-convert-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-environment-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-conio-l1-1-0.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\cppunit\lib\cppunit_dll.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\MSVCP140.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-locale-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-filesystem-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-time-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-math-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-utility-l1-1-0.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\ACE_wrappers\lib\ACE.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\IPHLPAPI.DLL"
mimalloc-redirect: trace: module "C:\Windows\system32\NSI.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\WINNSI.DLL"
mimalloc-redirect: trace: module "C:\Windows\system32\USER32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\GDI32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\LPK.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\USP10.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\WS2_32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\MSWSOCK.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\NETAPI32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\netutils.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\srvcli.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\wkscli.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\WINMM.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\zlib\lib\zlib1.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\icu\bin\icuin60.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\icu\bin\icuuc60.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\icu\bin\icudt60.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dll7zhelper.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dlltools.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\SHELL32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\SHLWAPI.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\ole32.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllmemorymanager.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\DNSAPI.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\VERSION.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-multibyte-l1-1-0.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllarchivehelper.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\libarchive\lib\archive.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\bzip2\lib\LIBBZ2.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\bcrypt.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllbzip2helper.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllcron4cpp.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dlldatetime.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllgziphelper.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllmemoryleakdetector.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dlltesta.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dlltestb.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllunittestutilities.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\ltutils.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllcurlutil.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\ACE_wrappers\lib\ACE_SSL.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\openssl\out32dll\SSLEAY32.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\openssl\out32dll\LIBEAY32.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\curl\lib\libcurl.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\libssh2\lib\libssh2.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\apphelp.dll"

I just have seen this message:

(try to link with mimalloc earlier on the command line?)
The 'Module' window in the debugger says
mimalloc_release_module_load_ranking.txt
that mimalloc is loaded as 5th and 6th module.

Hi @migra-leutek,
The good news is that I think my fix works ... but the bad news is that in your test mimalloc is currently not enabled:
mimalloc-redirect: error: mimalloc-redirect.dll is initialized after ucrtbase.DLL -- redirection is disabled.
  (try to link with mimalloc earlier on the command line?)

If mimalloc-redirect loads too late (after ucrtbase) it disables itself as it is not guaranteed to be robust in that case. The way to get it to load earlier is to put mimalloc-override.lib more early on the linker command line.  You can check where it ended up in the import tables using dumpbin /IMPORTS <myexe> and see how early it is (usually after kernel32 but before vcruntime140)
Let me know how it goes.
(ps. if that fails or is difficult to do, you can also use CFF Explorer to open the exe and go to
the import directory and right-click on the mimalloc-override entry and move it up until it is first. I might automate this but in practice adjusting the linker command line has always worked)

Hi @daanx,
The output of mimalloc is still:
mimalloc-redirect: error: mimalloc-redirect.dll is initialized after ucrtbase.DLL -- redirection is disabled.
(try to link with mimalloc earlier on the command line?)
although I think mimalloc-override.lib should be the first module which will be loaded by dbgtools.exe.
Here is the linker command line:
dbgtools.exe_linker_command_line.txt
Here is module output of the debugger:

Here is what the COFF Explorer outputs:

Here is the output of "dumpbin /IMPORTS dbgtools.exe":
dbgtools.exe_dumpbin_imports.txt
Here is the console output of dbgtools.exe:
dbgtools.exe_console_output.txt
What I am doing wrong ?

Ah, not sure -- the output all looks good; (Sorry for the trouble but it is really helpful as I cannot repro this behaviour myself).
Can you try one more thing? With CFF Explorer edit the exe: go to "Import Adder" and add "mimalloc-redirect.dll" explicitly (just import any function from it) and move it all the way up to be the first.
Another cause could be that the check I am doing if ucrtbase is not yet initialized is going wrong; I will provide another build of mimalloc-redirect to ignore the error and keep running; perhaps everything is actually working :-)

The message

(try to link with 'mimalloc-override.lib' earlier on the command line?)
is shown in all cases.

Here are the results:

dbgtools.exe_dumpbin_imports.txt
dbgtools.exe_console_output_with_new_mimalloc-redirect.dll_as_first_module_in_import_table_and_environment_variable_MIMALLOC_FORCE_REDIRECT_is_0.txt
dbgtools.exe_console_output_with_new_mimalloc-redirect.dll_as_first_module_in_import_table_and_environment_variable_MIMALLOC_FORCE_REDIRECT_is_1.txt

Ah, with the new mimalloc-redirect and MIMALLOC_FORCE_DIRECT=1, it is actually working despite the error message (since it does say mimalloc: malloc is redirected. somewhere). So, if you add MIMALLOC_SHOW_STATS=1  (or MI_VERBOSE=1) you should see after running that it mimalloc allocated things.  Also, it does seem it is no longer crashing?

Hello Daan,

So, if you add MIMALLOC_SHOW_STATS=1 (or MI_VERBOSE=1) you should see after running that it mimalloc allocated things.
Yes, mimalloc is active despite the error message.

Also, it does seem it is no longer crashing?
A crash doesn’t occur any longer.

Thanks
Michael
Von: Daan notifications@github.com
Gesendet: Dienstag, 19. November 2019 07:07
An: microsoft/mimalloc mimalloc@noreply.github.com
Cc: Graf, Michael Michael.Graf@leutek.de; State change state_change@noreply.github.com
Betreff: Re: [microsoft/mimalloc] Application which uses many dlls crashes when using mimalloc under Windows (#170)
Ah, with the new mimalloc-redirect and MIMALLOC_FORCE_DIRECT=1, it is actually working despite the error message (since it does say mimalloc: malloc is redirected. somewhere). So, if you add MIMALLOC_SHOW_STATS=1 (or MI_VERBOSE=1) you should see after running that it mimalloc allocated things. Also, it does seem it is no longer crashing?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/mimalloc/issues/170?email_source=notifications&email_token=AJKN6EY4AKCBKUIULBF5SKTQUN7ATA5CNFSM4JKVRTV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEM7G6Q#issuecomment-555348858, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJKN6E4OQG623KH5ERIMISDQUN7ATANCNFSM4JKVRTVQ.

That is great to hear! I will adjust the message and I at least know what is going on. Still need to work on a better initialization detection... if you are willing, I will send more test builds your way to try out?
Hope mimalloc improves performance for your workloads, thanks for helping to fix these errors!

if you are willing, I will send more test builds your way to try out?
That’s ok.

Von: Daan notifications@github.com
Gesendet: Dienstag, 19. November 2019 20:50
An: microsoft/mimalloc mimalloc@noreply.github.com
Cc: Graf, Michael Michael.Graf@leutek.de; State change state_change@noreply.github.com
Betreff: Re: [microsoft/mimalloc] Application which uses many dlls crashes when using mimalloc under Windows (#170)
That is great to hear! I will adjust the message and I at least know what is going on. Still need to work on a better initialization detection... if you are willing, I will send more test builds your way to try out?
Hope mimalloc improves performance for your workloads, thanks for helping to fix these errors!
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/mimalloc/issues/170?email_source=notifications&email_token=AJKN6EZIKI53NMYOP4X6N2LQUQ7N5A5CNFSM4JKVRTV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEPQDCA#issuecomment-555680136, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJKN6EZLQAR5GOLHRAXA44TQUQ7N5ANCNFSM4JKVRTVQ.

Hi, I created a new redirect dll with hopefully better initialization detection and messages. Can you try it with MIMALLOC_VERBOSE=3 and send the output? (Maybe with MIMALLOC_FORCE_REDIRECT=1 as well in case initialization detection still fails)  Thanks!

Hi Daan,
here are the outputs.
Michael
Von: Daan notifications@github.com
Gesendet: Freitag, 22. November 2019 00:32
An: microsoft/mimalloc mimalloc@noreply.github.com
Cc: Graf, Michael Michael.Graf@leutek.de; State change state_change@noreply.github.com
Betreff: Re: [microsoft/mimalloc] Application which uses many dlls crashes when using mimalloc under Windows (#170)
Hi, I created a new redirect dllhttps://www.dropbox.com/s/1gwkrov8jqdb9ag/mimalloc-redirect.dll?dl=1 with hopefully better initialization detection and messages. Can you try it with MIMALLOC_VERBOSE=3 and send the output? (Maybe with MIMALLOC_FORCE_REDIRECT=1 as well in case initialization detection still fails) Thanks!
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/mimalloc/issues/170?email_source=notifications&email_token=AJKN6E44ZRKQ7UP74XZLSNLQU4K5LA5CNFSM4JKVRTV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEE4AMGQ#issuecomment-557319706, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJKN6E2RHQUQCM7D4M4G2RLQU4K5LANCNFSM4JKVRTVQ.
e:\cvs_5825_x64\stage\B5825\x64\Release\bin>set MI
MIMALLOC_FORCE_REDIRECT=0
MIMALLOC_SHOW_ERRORS=1
MIMALLOC_SHOW_STATS=1
MIMALLOC_VERBOSE=3
e:\cvs_5825_x64\stage\B5825\x64\Release\bin>dbgtools.exe
mimalloc: option 'show_errors': 1
mimalloc: option 'show_stats': 1
mimalloc: option 'eager_commit': 1
mimalloc: option 'eager_region_commit': 0
mimalloc: option 'large_os_pages': 0
mimalloc: option 'reserve_huge_os_pages': 0
mimalloc: option 'segment_cache': 0
mimalloc: option 'page_reset': 0
mimalloc: option 'cache_reset': 0
mimalloc: option 'reset_decommits': 0
mimalloc: option 'eager_commit_delay': 0
mimalloc: option 'segment_reset': 0
mimalloc: option 'os_tag': 100
mimalloc: malloc is redirected.
mimalloc-redirect: trace: build: Nov 20 2019
mimalloc-redirect: trace: checking for target mimalloc.dll
mimalloc-redirect: trace: checking for target mimalloc-override.dll
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dbgtools.exe"
mimalloc-redirect: trace: module "C:\Windows\SYSTEM32\ntdll.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\kernel32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\KERNELBASE.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\mimalloc-override.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\mimalloc-redirect.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\ADVAPI32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\msvcrt.dll"
mimalloc-redirect: trace: module "C:\Windows\SYSTEM32\sechost.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\RPCRT4.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\VCRUNTIME140.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-runtime-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\ucrtbase.DLL"
mimalloc-redirect: trace: resolving "ucrtbase.DLL"
mimalloc-redirect: trace: resolve "malloc" at ucrtbase.DLL!0x000007FEE36440F0 to mimalloc!0x000007FED65F2800 (0)
mimalloc-redirect: trace: resolve "calloc" at ucrtbase.DLL!0x000007FEE3644EF0 to mimalloc!0x000007FED65F2160 (0)
mimalloc-redirect: trace: resolve "realloc" at ucrtbase.DLL!0x000007FEE36366B0 to mimalloc!0x000007FED65F2A10 (0)
mimalloc-redirect: trace: resolve "free" at ucrtbase.DLL!0x000007FEE3644180 to mimalloc!0x000007FED65F2210 (0)
mimalloc-redirect: trace: resolve "_expand" at ucrtbase.DLL!0x000007FEE3690460 to mimalloc!0x000007FED65F21D0 (0)
mimalloc-redirect: trace: resolve "_recalloc" at ucrtbase.DLL!0x000007FEE3632AE0 to mimalloc!0x000007FED65F2B40 (0)
mimalloc-redirect: trace: resolve "_msize" at ucrtbase.DLL!0x000007FEE3644140 to mimalloc!0x000007FED65F2C60 (0)
mimalloc-redirect: trace: resolve "_malloc_base" at ucrtbase.DLL!0x000007FEE3639120 to mimalloc!0x000007FED65F2800 (0)
mimalloc-redirect: trace: resolve "_calloc_base" at ucrtbase.DLL!0x000007FEE363E160 to mimalloc!0x000007FED65F2160 (0)
mimalloc-redirect: trace: resolve "_realloc_base" at ucrtbase.DLL!0x000007FEE3637560 to mimalloc!0x000007FED65F2A10 (0)
mimalloc-redirect: trace: resolve "_free_base" at ucrtbase.DLL!0x000007FEE363A890 to mimalloc!0x000007FED65F2210 (0)
mimalloc-redirect: trace: resolve "_expand_base" at ucrtbase.DLL!0x000007FEE369046C to mimalloc!0x000007FED40D4D80 (0)
mimalloc-redirect: trace: resolve "_recalloc_base" at ucrtbase.DLL!0x000007FEE36374BC to mimalloc!0x000007FED40D4DB0 (0)
mimalloc-redirect: warning: unable to resolve "ucrtbase.DLL!_msize_base" -- enabling MIMALLOC_PATCH_IMPORTS to prevent allocation errors.
mimalloc-redirect: trace: resolve import "ntdll.dll!RtlSizeHeap" in ucrtbase.DLL at 0x000007FEE36DC200 to 0x000007FED40D54A0 (0)
mimalloc-redirect: trace: resolve import "ntdll.dll!RtlFreeHeap" in ucrtbase.DLL at 0x000007FEE36DC218 to 0x000007FED40D5510 (0)
mimalloc-redirect: trace: resolve import "ntdll.dll!RtlReAllocateHeap" in ucrtbase.DLL at 0x000007FEE36DC1D8 to 0x000007FED40D55A0 (0)
mimalloc-redirect: trace: resolve "_aligned_malloc" at ucrtbase.DLL!0x000007FEE368FFE0 to mimalloc!0x000007FED65F1670 (0)
mimalloc-redirect: trace: resolve "_aligned_realloc" at ucrtbase.DLL!0x000007FEE3690430 to mimalloc!0x000007FED65F16F0 (0)
mimalloc-redirect: trace: resolve "_aligned_free" at ucrtbase.DLL!0x000007FEE368FFB0 to mimalloc!0x000007FED65F2210 (0)
mimalloc-redirect: trace: resolve "_aligned_recalloc" at ucrtbase.DLL!0x000007FEE3690440 to mimalloc!0x000007FED65F1A10 (0)
mimalloc-redirect: trace: resolve "_aligned_msize" at ucrtbase.DLL!0x000007FEE368FFF0 to mimalloc!0x000007FED40D5190 (0)
mimalloc-redirect: trace: resolve "_aligned_offset_malloc" at ucrtbase.DLL!0x000007FEE3690090 to mimalloc!0x000007FED65F16B0 (0)
mimalloc-redirect: trace: resolve "_aligned_offset_realloc" at ucrtbase.DLL!0x000007FEE3690160 to mimalloc!0x000007FED65F1760 (0)
mimalloc-redirect: trace: resolve "_aligned_offset_recalloc" at ucrtbase.DLL!0x000007FEE3690370 to mimalloc!0x000007FED65F1A00 (0)
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-core-timezone-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-core-file-l2-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-core-localization-l1-2-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-core-synch-l1-2-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-core-processthreads-l1-1-1.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-core-file-l1-2-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-heap-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-string-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-stdio-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-convert-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-environment-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-conio-l1-1-0.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\cppunit\lib\cppunit_dll.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\MSVCP140.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-locale-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-filesystem-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-time-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-math-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-utility-l1-1-0.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\ACE_wrappers\lib\ACE.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\IPHLPAPI.DLL"
mimalloc-redirect: trace: module "C:\Windows\system32\NSI.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\WINNSI.DLL"
mimalloc-redirect: trace: module "C:\Windows\system32\USER32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\GDI32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\LPK.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\USP10.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\WS2_32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\MSWSOCK.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\NETAPI32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\netutils.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\srvcli.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\wkscli.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\WINMM.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\zlib\lib\zlib1.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\icu\bin\icuin60.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\icu\bin\icuuc60.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\icu\bin\icudt60.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dll7zhelper.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dlltools.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\SHELL32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\SHLWAPI.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\ole32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\DNSAPI.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\VERSION.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-multibyte-l1-1-0.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllarchivehelper.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\libarchive\lib\archive.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\bzip2\lib\LIBBZ2.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\bcrypt.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllbzip2helper.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllcron4cpp.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dlldatetime.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllgziphelper.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllmemoryleakdetector.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllmemorymanager.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dlltesta.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dlltestb.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllunittestutilities.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\ltutils.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllcurlutil.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\ACE_wrappers\lib\ACE_SSL.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\openssl\out32dll\SSLEAY32.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\openssl\out32dll\LIBEAY32.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\curl\lib\libcurl.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\libssh2\lib\libssh2.dll"
mimalloc-redirect: trace: standard malloc is redirected
Execute tests or list tests/test methods
Usage:
dbgtools.exe
-e(xecuteTest)
or
-e(xecuteTest) all
or
-l(istAllTests)
or
-listAllTestMethods
e.g.  dbgtools.exe  -e C_ToolsTestCase
dbgtools.exe  -e C_ToolsTestCase::Test_IsNumeric
dbgtools.exe  -e all
dbgtools.exe  -listAllTests
dbgtools.exe  -listAllTestMethods C_ToolsTestCase
Please press 'x' to finish program ...
e:\cvs_5825_x64\stage\B5825\x64\Release\bin>
e:\cvs_5825_x64\stage\B5825\x64\Release\bin>set MI
MIMALLOC_FORCE_REDIRECT=1
MIMALLOC_SHOW_ERRORS=1
MIMALLOC_SHOW_STATS=1
MIMALLOC_VERBOSE=3
e:\cvs_5825_x64\stage\B5825\x64\Release\bin>dbgtools.exe
mimalloc: option 'show_errors': 1
mimalloc: option 'show_stats': 1
mimalloc: option 'eager_commit': 1
mimalloc: option 'eager_region_commit': 0
mimalloc: option 'large_os_pages': 0
mimalloc: option 'reserve_huge_os_pages': 0
mimalloc: option 'segment_cache': 0
mimalloc: option 'page_reset': 0
mimalloc: option 'cache_reset': 0
mimalloc: option 'reset_decommits': 0
mimalloc: option 'eager_commit_delay': 0
mimalloc: option 'segment_reset': 0
mimalloc: option 'os_tag': 100
mimalloc: malloc is redirected.
mimalloc-redirect: trace: build: Nov 20 2019
mimalloc-redirect: trace: checking for target mimalloc.dll
mimalloc-redirect: trace: checking for target mimalloc-override.dll
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dbgtools.exe"
mimalloc-redirect: trace: module "C:\Windows\SYSTEM32\ntdll.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\kernel32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\KERNELBASE.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\mimalloc-override.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\mimalloc-redirect.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\ADVAPI32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\msvcrt.dll"
mimalloc-redirect: trace: module "C:\Windows\SYSTEM32\sechost.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\RPCRT4.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\VCRUNTIME140.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-runtime-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\ucrtbase.DLL"
mimalloc-redirect: trace: resolving "ucrtbase.DLL"
mimalloc-redirect: trace: resolve "malloc" at ucrtbase.DLL!0x000007FEE36440F0 to mimalloc!0x000007FED4012800 (0)
mimalloc-redirect: trace: resolve "calloc" at ucrtbase.DLL!0x000007FEE3644EF0 to mimalloc!0x000007FED4012160 (0)
mimalloc-redirect: trace: resolve "realloc" at ucrtbase.DLL!0x000007FEE36366B0 to mimalloc!0x000007FED4012A10 (0)
mimalloc-redirect: trace: resolve "free" at ucrtbase.DLL!0x000007FEE3644180 to mimalloc!0x000007FED4012210 (0)
mimalloc-redirect: trace: resolve "_expand" at ucrtbase.DLL!0x000007FEE3690460 to mimalloc!0x000007FED40121D0 (0)
mimalloc-redirect: trace: resolve "_recalloc" at ucrtbase.DLL!0x000007FEE3632AE0 to mimalloc!0x000007FED4012B40 (0)
mimalloc-redirect: trace: resolve "_msize" at ucrtbase.DLL!0x000007FEE3644140 to mimalloc!0x000007FED4012C60 (0)
mimalloc-redirect: trace: resolve "_malloc_base" at ucrtbase.DLL!0x000007FEE3639120 to mimalloc!0x000007FED4012800 (0)
mimalloc-redirect: trace: resolve "_calloc_base" at ucrtbase.DLL!0x000007FEE363E160 to mimalloc!0x000007FED4012160 (0)
mimalloc-redirect: trace: resolve "_realloc_base" at ucrtbase.DLL!0x000007FEE3637560 to mimalloc!0x000007FED4012A10 (0)
mimalloc-redirect: trace: resolve "_free_base" at ucrtbase.DLL!0x000007FEE363A890 to mimalloc!0x000007FED4012210 (0)
mimalloc-redirect: trace: resolve "_expand_base" at ucrtbase.DLL!0x000007FEE369046C to mimalloc!0x000007FED65F4D80 (0)
mimalloc-redirect: trace: resolve "_recalloc_base" at ucrtbase.DLL!0x000007FEE36374BC to mimalloc!0x000007FED65F4DB0 (0)
mimalloc-redirect: warning: unable to resolve "ucrtbase.DLL!_msize_base" -- enabling MIMALLOC_PATCH_IMPORTS to prevent allocation errors.
mimalloc-redirect: trace: resolve import "ntdll.dll!RtlSizeHeap" in ucrtbase.DLL at 0x000007FEE36DC200 to 0x000007FED65F54A0 (0)
mimalloc-redirect: trace: resolve import "ntdll.dll!RtlFreeHeap" in ucrtbase.DLL at 0x000007FEE36DC218 to 0x000007FED65F5510 (0)
mimalloc-redirect: trace: resolve import "ntdll.dll!RtlReAllocateHeap" in ucrtbase.DLL at 0x000007FEE36DC1D8 to 0x000007FED65F55A0 (0)
mimalloc-redirect: trace: resolve "_aligned_malloc" at ucrtbase.DLL!0x000007FEE368FFE0 to mimalloc!0x000007FED4011670 (0)
mimalloc-redirect: trace: resolve "_aligned_realloc" at ucrtbase.DLL!0x000007FEE3690430 to mimalloc!0x000007FED40116F0 (0)
mimalloc-redirect: trace: resolve "_aligned_free" at ucrtbase.DLL!0x000007FEE368FFB0 to mimalloc!0x000007FED4012210 (0)
mimalloc-redirect: trace: resolve "_aligned_recalloc" at ucrtbase.DLL!0x000007FEE3690440 to mimalloc!0x000007FED4011A10 (0)
mimalloc-redirect: trace: resolve "_aligned_msize" at ucrtbase.DLL!0x000007FEE368FFF0 to mimalloc!0x000007FED65F5190 (0)
mimalloc-redirect: trace: resolve "_aligned_offset_malloc" at ucrtbase.DLL!0x000007FEE3690090 to mimalloc!0x000007FED40116B0 (0)
mimalloc-redirect: trace: resolve "_aligned_offset_realloc" at ucrtbase.DLL!0x000007FEE3690160 to mimalloc!0x000007FED4011760 (0)
mimalloc-redirect: trace: resolve "_aligned_offset_recalloc" at ucrtbase.DLL!0x000007FEE3690370 to mimalloc!0x000007FED4011A00 (0)
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-core-timezone-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-core-file-l2-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-core-localization-l1-2-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-core-synch-l1-2-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-core-processthreads-l1-1-1.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-core-file-l1-2-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-heap-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-string-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-stdio-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-convert-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-environment-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-conio-l1-1-0.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\cppunit\lib\cppunit_dll.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\MSVCP140.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-locale-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-filesystem-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-time-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-math-l1-1-0.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-utility-l1-1-0.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\ACE_wrappers\lib\ACE.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\IPHLPAPI.DLL"
mimalloc-redirect: trace: module "C:\Windows\system32\NSI.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\WINNSI.DLL"
mimalloc-redirect: trace: module "C:\Windows\system32\USER32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\GDI32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\LPK.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\USP10.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\WS2_32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\MSWSOCK.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\NETAPI32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\netutils.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\srvcli.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\wkscli.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\WINMM.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\zlib\lib\zlib1.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\icu\bin\icuin60.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\icu\bin\icuuc60.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\icu\bin\icudt60.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dll7zhelper.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dlltools.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\SHELL32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\SHLWAPI.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\ole32.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\DNSAPI.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\VERSION.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\api-ms-win-crt-multibyte-l1-1-0.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllarchivehelper.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\libarchive\lib\archive.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\bzip2\lib\LIBBZ2.dll"
mimalloc-redirect: trace: module "C:\Windows\system32\bcrypt.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllbzip2helper.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllcron4cpp.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dlldatetime.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllgziphelper.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllmemoryleakdetector.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllmemorymanager.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dlltesta.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dlltestb.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllunittestutilities.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\ltutils.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\stage\B5825\x64\Release\bin\dllcurlutil.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\ACE_wrappers\lib\ACE_SSL.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\openssl\out32dll\SSLEAY32.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\openssl\out32dll\LIBEAY32.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\curl\lib\libcurl.dll"
mimalloc-redirect: trace: module "e:\cvs_5825_x64\all\vendor\libssh2\lib\libssh2.dll"
mimalloc-redirect: warning: there were errors during patching but these are ignored (due to MIMALLOC_FORCE_REDIRECT=1).
mimalloc-redirect: trace: standard malloc is redirected
Execute tests or list tests/test methods
Usage:
dbgtools.exe
-e(xecuteTest)
or
-e(xecuteTest) all
or
-l(istAllTests)
or
-listAllTestMethods
e.g.  dbgtools.exe  -e C_ToolsTestCase
dbgtools.exe  -e C_ToolsTestCase::Test_IsNumeric
dbgtools.exe  -e all
dbgtools.exe  -listAllTests
dbgtools.exe  -listAllTestMethods C_ToolsTestCase
Please press 'x' to finish program ...
e:\cvs_5825_x64\stage\B5825\x64\Release\bin>

authors: daanx migra-leutek

repo: microsoft/mimalloc


text:
Fix min macOS for pressure_relief

This field exists in the 10.7 and later SDKs.

Thanks so much!

authors: daanx jmroot


text:
any reason that slim pruner  does not support dependency aware mode?

Environment:

NNI version: 1.9
NNI mode (local|remote|pai): local

I've read the code and can't get why slim pruner does not support dependency aware mode. the current implementation only supports conv2d. but it seems that it's easy to support batchnorm2d as well.
is there any reason that nni does not support that?

Sincerely sorry for the late reply. There is actually no special reason. We are looking for a general way to analyze dependencies for the submodules, so we haven't supported more pruners for the time being

authors: twmht zheng-ningxin

repo: microsoft/nni


text:
HPO: gpu_metrics file does not exist!

Describe the issue:
I runnnictl create --config exp.yaml --port 9090 and  cheak nvidia-smi, find its running without using GPU.
So  I runnnictl create --config exp.yaml --port 9090 - f and get error below:

I have followed tips in https://github.com/microsoft/nni/issues/4226
METRIC_OUTPUT_DIR=${scriptFolder} python3 -m nni.tools.gpu_tool.gpu_metrics_collector works under my path.
Environment:

NNI version: 2.6
Training service (local|remote|pai|aml|etc): local
Client OS: Ubuntu 18.04
Server OS (for remote mode only): \
Python version:  py3.7
PyTorch/TensorFlow version:  pytorch 1.10.2
Is conda/virtualenv/venv used?: Y
Is running in Docker?: N

Configuration:

Experiment config (remember to remove secrets!):
Search space:

Log message:

nnimanager.log:
Dont exist
dispatcher.log:
[2022-04-20 20:12:10] INFO (nni.experiment/MainThread) Creating experiment, Experiment ID: 30pecn7s
[2022-04-20 20:12:10] INFO (nni.experiment/MainThread) Starting web server...
[2022-04-20 20:12:11] WARNING (nni.experiment/MainThread) Timeout, retry...
[2022-04-20 20:12:12] INFO (nni.experiment/MainThread) Setting up...
[2022-04-20 20:12:12] INFO (nni.experiment/MainThread) Web UI URLs: http://127.0.0.1:9090 http://172.17.7.99:9090 http://172.18.0.1:9090 http://172.19.0.1:9090 http://172.20.0.1:9090
[2022-04-20 20:12:12] INFO (nni.tools.nnictl.launcher/MainThread) To stop experiment run "nnictl stop 30pecn7s" or "nnictl stop --all"
[2022-04-20 20:12:12] INFO (nni.tools.nnictl.launcher/MainThread) Reference: https://nni.readthedocs.io/en/stable/Tutorial/Nnictl.html
[2022-04-20 20:12:12] INFO (nni.experiment/MainThread) Stopping experiment, please wait...
[2022-04-20 20:12:12] INFO (nni.tuner.tpe/MainThread) Using random seed 1504156515
[2022-04-20 20:12:12] INFO (nni.runtime.msg_dispatcher_base/MainThread) Dispatcher started
[2022-04-20 20:12:12] INFO (nni.runtime.msg_dispatcher_base/MainThread) Dispatcher exiting...
[2022-04-20 20:12:15] INFO (nni.runtime.msg_dispatcher_base/MainThread) Dispatcher terminiated
nnictl stdout and stderr:
Dont exist

How to reproduce it?:
nnictl create --config exp.yaml --port 9090 - f

Does the Python script create /tmp/USER/nni/script/gpu_metrics file?

Does the Python script create /tmp/USER/nni/script/gpu_metrics file?

Nothing under  /tmp/USER/nni.

Does the Python script create /tmp/USER/nni/script/gpu_metrics file?

Nothing under tmp/USER/nni.
I create /tmp/USER/nni/script/gpu_metrics myself.
Run nnictl create --config exp.yaml -p 9090 -f and get the following error log:

By manually running METRIC_OUTPUT_DIR=/tmp/zmy/nni/script python3 -m nni.tools.gpu_tool.gpu_metrics_collector, what's the output in console and in the directory?
It's a relatively simple script: https://github.com/microsoft/nni/blob/master/nni/tools/gpu_tool/gpu_metrics_collector.py
If does not output anything at all, could you please help debug it?

By manually running METRIC_OUTPUT_DIR=/tmp/zmy/nni/script python3 -m nni.tools.gpu_tool.gpu_metrics_collector, what's the output in console and in the directory? It's a relatively simple script: https://github.com/microsoft/nni/blob/master/nni/tools/gpu_tool/gpu_metrics_collector.py If it does not output anything at all, could you please help debug it?

cat /tmp/USER/nni/script/gpu_metrics
{"Timestamp": "Thu Apr 21 15:25:23 2022", "gpuCount": 4, "gpuInfos": [{"activeProcessNum": 0, "gpuMemUtil": "0", "gpuUtil": "0", "index": 0}, {"activeProcessNum": 0, "gpuMemUtil": "0", "gpuUtil": "0", "index": 1}, {"activeProcessNum": 0, "gpuMemUtil": "0", "gpuUtil": "0", "index": 2}, {"activeProcessNum": 0, "gpuMemUtil": "0", "gpuUtil": "0", "index": 3}]}

After some investigation I think the warning is not the problem. It periodically queries GPU metrics and at first query the file is not ready yet.
The real problem is tuner exited immediately after launching.
[2022-04-20 20:12:12] INFO (nni.experiment/MainThread) Stopping experiment, please wait...

Could you use nnictl create ... --debug to launch the experiment and upload dispatcher.log & nnimanager.log?

After some investigation I think the warning is not the problem. It periodically queries GPU metrics and at first query the file is not ready yet. The real problem is tuner exited immediately after launching.
[2022-04-20 20:12:12] INFO (nni.experiment/MainThread) Stopping experiment, please wait...

Could you use nnictl create ... --debug to launch the experiment and upload dispatcher.log & nnimanager.log?

thanks for ur  reply :)
dispatcher.log
nnimanager.log

authors: MinYounZhang liuzhe-lz


text:
feat(atenlib): add op(min)

The logic is same wth aten_max()

I will do a more in-depth review after the initial comments are addressed

Nice! So they do handle rank 0 tensors. I would do the same to max.

authors: justinchuby xiaowuhu

repo: microsoft/onnx-script


text:
Crash when trying to load a modpack.

Describe the bug
I get a SIGSEGV error when starting a fabric modpack (Another Quality Modpack 2).
Desktop (please complete the following information):
Garuda Linux kernel 6.3.8-zen1-1-zen, Plasma 5.27.5
Using ATLauncher version 3.4.28.1
MSFT Build of OpenJDK Version:
The output from java --version :
openjdk 20.0.1 2023-04-18 OpenJDK Runtime Environment (build 20.0.1+9) OpenJDK 64-Bit Server VM (build 20.0.1+9, mixed mode, sharing)
To Reproduce:
Steps to reproduce the behavior:

Install mod pack (version 1.5.9)
Here are the JVM arguments: -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
launch

Expected behavior
The modpack should run fine. If I launch the modpack All of Fabric 6, everything is fine.
Screenshots, Logs etc
Here is a link to the crash report: crash report.

Please contact the mod developer. We do not support modded Minecrafts.

authors: Aganthor brunoborges

repo: microsoft/openjdk


text:
List history jobs with job history API

List jobs of more than 1 month before.

Currently, we adopt Approach 1
However, we have a design TBD for a long time:
We need to make sure that the changes to the list (such as create new job), should be immediately visible after the change (such as create) http call succeeded.
The db can only eventually synced with APIServer, whose data may stale for unbound duration, so does not satisfy our API requirement.

Approach 1: User -> RestServer -> (APIServer + DB)
1. RestServer query both APIServer and HistoryDB, and merge the result (if find conflict, only use APIServer result)
(This is exactly our current history server design, and easy to fit in)
2. If HistoryDB found “a job has completed, and stored in its DB”, it actively deletes the job to free APIServer pressure.
(So, the APIServer only stores waiting and running jobs now, which should be very small if we also limit the max waiting jobs per user)

Approach 2: User -> RestServer -> DB -> APIServer
1. Job request will be first stored into DB, the DB then synced it to ApiServer.
(However, DB in this case need to be in critical path, which should be very stable,
and it data is no longer immutable and need to sync all APIServer changes from time to time, instead of just the job retry/completion snapshot from ApiServer)

Approach 3:
Maybe we can use both Approach 1 and 2, some API only use Approach 2 (such as create) and others still use Approach 1 or raw APIServer (still need merge)

Approach 4:
If we do not care the API visibility (happens-before), just db synchronization Is fine, however, it will make our API (and UI) very abnormal, misleading and hard to use.

authors: debuggy yqwang-ms

repo: microsoft/pai


text:
[Plugin] Update protocol submission form and marketplace

Resolve comments in #2780.

Update default marketplace option in submission form
Set default view to grid view in marketplace
Remove subtitle in marketplace
Remove star icon

Coverage remained the same at 53.345% when pulling 139054c9d0e7e0c2e767126dad4bfd8880fadbeb on xiongyf/marketplace-update into 0538fbe4457a4c585124845c6383611c02460740 on master.

Coverage remained the same at 53.345% when pulling 139054c9d0e7e0c2e767126dad4bfd8880fadbeb on xiongyf/marketplace-update into 0538fbe4457a4c585124845c6383611c02460740 on master.

Coverage remained the same at 53.345% when pulling 139054c9d0e7e0c2e767126dad4bfd8880fadbeb on xiongyf/marketplace-update into 0538fbe4457a4c585124845c6383611c02460740 on master.

authors: abuccts coveralls


text:
Error doesn't shows when playwright can't find selector

Expected result: User see exception If he try to find elementHandle which doesn't exist when timeout is done.
@Test
public void test () throws Exception {
Playwright playwright = Playwright.create();
List browserTypes = Arrays.asList(
playwright.chromium(),
playwright.webkit()
);
for (BrowserType browserType : browserTypes) {
BrowserType.LaunchOptions options = new BrowserType.LaunchOptions();
options.headless = false;
Browser browser = browserType.launch(options);
BrowserContext context = browser.newContext(
new Browser.NewContextOptions().withViewport(800, 600));
Page page = context.newPage();
page.navigate("http://ya.ru");
page.waitForSelector(""text = ура123123123"", new Page.WaitForSelectorOptions()
.withState(Page.WaitForSelectorOptions.State.ATTACHED));
page.screenshot(new Page.ScreenshotOptions().withPath(Paths.get("screenshot-" + browserType.name() + ".png")));
browser.close();
}
playwright.close();
}

waitForSelector() returns an object and doesn't wait for the selector, you should call get() on the object to wait for the event to happen:
    Deferred<ElementHandle> event = page.waitForSelector("text = ура123123123", new Page.WaitForSelectorOptions()
      .withState(Page.WaitForSelectorOptions.State.ATTACHED));
    event.get();

This is the trickiest part in the API as it is very easy to forget to call .get() (made this mistake many times myself), we need to fix this somehow. Having an annotation on waitForSelector that the method's result must be used would be very helpful but unfortunately there is no such annotation in standard java and all existing solutions would be IDE/vendor specific and would bring in extra dependencies for each of them.

authors: VladToporkov yury-s

repo: microsoft/playwright-java


text:
Admin | Sync Template v2 (Model Driven Apps) Failing

I am executing this flow with my Power Platform Service Admin Account.
The environment which returned the result today, is throwing the error while running the flow again tomorrow.
I am seeing the performance is not consistent everyday.
Is there anything specific I have to see for this issue?
Cheers,
Dhawal Mehta

We did have a regression in this solution this week which impacted this flow. We shipped the fix yesterday. Can you upgrade and see if that fixes you? Be sure to choose overwrite customizations on upgrade.

I'm also having some trouble with this flow.  This is a brand new setup with Core 1.6.
I'm seeing 400s in the "List Model Driven Apps" step with "Invalid value provided for data set"

@JeneferM-MSFT    In the 1.6 version there's a problem in the "Get App Modules Table. Fail out if no permissions to environment" section.     In the List Model Driven apps step the Environment is set to admin_environmentcdsmetadataname   which looks like  orgXXXXXXXX.crm.dynamics.com.    This results in a 400 error when the step runs.
If I manually set the environment to one from the drop down and then go to peek code i can see the it is looking for only orgXXXXXXXX.crm.    I changed environment to the following:
replace(triggerBody()?['admin_environmentcdsmetadataname'],'.dynamics.com','')
This removes .dynamics.com from the environment name and the step runs successfully.
Same problem again in the "Get MDD App Creator" step.
Once those were both changed the flow runs successfully.

Hi Paul. I think you may have not chosen overwrite on upgrade as the issue you are seeing did ship but was fixed in 1.6
Thank you for getting yourself unblocked though! And thanks for using CoE!

Jenefer,
Ok,  I'm not sure that applies since this was our initial install and we started on 1.6?    Experienced the same problem with new install in test tenant.
It's working fine for me after the above work around, I just wanted to report the issue in case it comes up again.
Paul

Thanks Paul. The release may have missed the fix then, but our local version contains it and we are shipping soon.
Really appreciate your efforts to help make CoE great!

repo: microsoft/powerapps-tools


text:
Enumeration values are not valid for labelOrientation

When using the enumeration for labelOrientation, it yields an error.
"labelOrientation": "horizontal",
"labelOrientation": "vertical",

The Schema should have something like:
                          "labelOrientation": {
                            "type": "string",
                            "enum": [
                              "horizontal",
                              "vertical"
                            ],
                            "title": "Orientation"
                          },

(Not sure if your convention is caps or lower, and not sure which value is 0 and which is 1!)

FYI, it looks like this similar issue may apply to other properties like radiusScalingMethod, barShape, orientation, expandCollapseToggleType, and position.
Try doing a find on integer enums:
"type": "integer",
                            "enum"

My search found 34 occurrences that need to be updated for these properties.

The error is correct, 0 and 1 are the only allowed values for label > labelOrientation.  A type of "integer" and "enum" means that the values must be integers and also one of the listed values.  0 is vertical, and 1 is horizontal.
If you spot another issue, please let me know.  I'll work on making this a bit more descriptive; the values of 0 and 1 are hard to discern.  I'll probably end up following the convention described here, but this likely won't make it until the May Desktop release.

Sorry, just saw the link. Yes, adding a title on each integer would work. I think strings would match what is being used elsewhere, but I'm guessing that requires code changes elsewhere that won't happen for a long time. Thanks for taking this up!

I've prototyped something for the May release, it'll look something like this:

this shipped awhile ago, please let me know if you see any instances of numeric enums that don't have an explanation / English display name!

authors: somedaygone yelper

repo: microsoft/powerbi-desktop-samples


text:
Dead link

Link in the below text is dead:
"You will first need to set up your environment as detailed here."

Same here. Have some issue setting up the environment.

repo: microsoft/powerbi-visuals-sampleslicer


text:
Sprite image browser wrote over my flygirl asset

Describe the bug
I had a skydiving girl in my asset library and when I went to choose a different sprite from the gallery for this example, it wrote over my flygirl.
To Reproduce
Steps to reproduce the behavior:

Make and name an asset in the asset editor
Build a project that uses set mySprite to block
Select named asset.
Click on the sprite again to enter asset editor and go click on a few sprites in the gallery.
The new sprite will copy on top of your named sprite.

I noticed it happening, but it was too late.  There's no way to "cancel" out once you're in there.  Any action will save the mistake over the carefully drawn asset :(
Expected behavior
The saved asset should be removed from the selection (And remain saved under it's selected name) and the new images should swap in, not overwrite.
Screenshots
Here is where I noticed that the fish was writing over "flyGirl"...but it was already too late, because I couldn't cancel out.

Desktop (please complete the following information):

Edge on Windows

Additional context
Thankfully, I've learned to save my projects constantly.

@kiki-lee Did undo button work?

@kiki-lee Did undo button work?

It does.  (But that's not a solution, just a way to restore your work after things go wrong.)
Note that "undo" stops working if the user tries to go back into the assets tab (since it forces a reload, as does toggling to another language.)

It does.  (But that's not a solution, just a way to restore your work after things go wrong.)
Note that "undo" stops working if the user tries to go back into the assets tab (since it forces a reload, as does toggling to another language.)

authors: abchatra kiki-lee

repo: microsoft/pxt-arcade