Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BSOD in Win10 IoT on ARM #10238

Open
kwielogorski opened this issue Dec 16, 2024 · 2 comments
Open

BSOD in Win10 IoT on ARM #10238

kwielogorski opened this issue Dec 16, 2024 · 2 comments
Labels
needs-author-feedback Asked author to supply more information.

Comments

@kwielogorski
Copy link

We're building a .Net 8/WinUI app for ARM64. We've faced an issue with BSOD.
To get to the root cause, we prepared an elementary app that drives to the same issue. We've built a .Net app based on the template from the official website. The app just opens COM port connection and displays a progress ring. BSODs occur nondeterministic. Unfortunately, we haven't got BSODs with other, non-.Net apps. The app works fine on Intel CPUs.

The exact error code retrieved from BSOD memory dumps is:
EXCEPTION_CODE_STR: c0000005

The failing module pointed is:
MODULE_NAME: sdport
IMAGE_NAME: sdport.sys

Our tech stack:
Win10 IoT 21H2 long term suport [BSP 1.5.1]
CPU: i.MX 8M Mini Quad Core 1.8 GHz
ARM architecture
.Net8 (we tested it also with .Net6 and .Net9)

@microsoft-github-policy-service microsoft-github-policy-service bot added the needs-triage Issue needs to be triaged by the area owners label Dec 16, 2024
@DarranRowe
Copy link

Have you gone through the process of verifying that this isn't a driver bug?

The fact that sdport.sys, which is the SD/eMMC miniport driver, is named here is quite substantial. With how the driver interfaces handles addresses, it is next to impossible for a user mode address to affect a driver. I hope I don't have to go into details as to how this has major security implications.

This really means that, as unlikely as it feels, the most likely cause of this is the sdport.sys driver, or a driver attached to it, is failing a memory allocation or is corrupting a pointer. Also, yes, driver bugs can be like this, where it requires a specific sequence of actions to potentially cause the bug to manifest.

If you don't quite want to believe me here, at lease start the process of verifying with the driver vendor to figure out if this is a driver bug.

@karkarl karkarl added needs-author-feedback Asked author to supply more information. and removed needs-triage Issue needs to be triaged by the area owners labels Dec 19, 2024
@DarranRowe
Copy link

I was doing some additional checks. I don't have any IoT devices, but I have access to an ARM64 Surface device.

Doing some tests with a device running Windows 10 Pro doesn't show any real problems. But this is a different edition of Windows and it uses an NVMe as the main storage device. I can't say that there is no issues with one particular driver in this case, and I can't say that there is no real problems in Windows, but I have not experienced any major stability issues using the ARM64 version of Windows.

Interestingly, I normally used Windows 11 on the device, but I had also recently purchased one of the new Snapdragon Surface devices and I was in the process of resetting the older device (a Surface Pro X from 2019). This meant that I was able to reset it using the Windows 10 recovery media and do some tests on it. There was some interesting timing here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-author-feedback Asked author to supply more information.
Projects
None yet
Development

No branches or pull requests

3 participants