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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NTOS:KE] Fancy blue screen with elegant stack backtrace #1444

Closed
wants to merge 12 commits into from

Conversation

Projects
5 participants
@feel-the-dz3n
Copy link
Contributor

commented Mar 27, 2019

This is the continuation of my previous BSoD-related pull request.

Purpose

BugCheck screen is the main sight of ReactOS. In my previous PR, I made screen look like in Windows 10, it even included QR-code library. But I realized - it was a bad idea. Reasons:

  • VGA screen resolution (640x480x4)
  • No place for QR-code, so It will be unreadable
  • Image is stretched on modern monitors, especially on widescreen ones

So I decided to close that Pull Request and start working on another one. And here it is. This is more user-friendly blue screen, it includes a lot of useful information for developers, and there is no sad emoji. 馃槥

image
image
image

JIRA issue: CORE-15474

Proposed changes

  • Added bitmap instead of intro texts. It has special palette for text and background.
    Remark: Have you seen Mizu ReactOS build? It's designed by @foxlet and was shared in some chats. Here how it looks:
    image
    Bitmap palette uses Mizu color scheme, not Windows 8 one.
  • All bugcodes texts were removed/trimmed. I don't even know is it a good idea, but Windows 8+ even not uses any explanations for bug codes.
  • Removed intro texts on screen.
  • Added nice stack backtrace text on screen.

TODO

  • Review bugcodes

  • Test BugCheck behaviour.
    I have already tested:

    • Ctrl+Double Scroll Lock
    • Killing winlogon.exe
    • Removing important Win32 components
    • INACCESSIBLE BOOT DEVICE on real hardware (booting from USB) (video)

    In these situations it looked nice.

I wanna answer before you ask/complain

Q: Intro text has different font and style unlike other text
A: Why not?

Q: Stack backtrace shows not all entries
A: It shows only as much as possible on screen to not lose important information above (bugcheck code, stop codes, etc.)

Q: Make switching between blue screen styles using registry/file/holding Shift/little pony
A: No, blue screen is the "ending station" of the system. At this moment OS has no access to things, especially to files.

I finished.

@feel-the-dz3n feel-the-dz3n referenced this pull request Mar 27, 2019

Closed

[NTOSKRNL][KE][INBV] Modern BSOD #1171

1 of 6 tasks complete
@feel-the-dz3n

This comment has been minimized.

Copy link
Contributor Author

commented Mar 27, 2019

Trying on real hardware.

Preview

Video: https://youtu.be/K2Pv9ijmZjw


VOID
NTAPI
KiDoStackBacktrace()

This comment has been minimized.

Copy link
@learn-more

learn-more Mar 27, 2019

Member

This function does not handle garbage or bad frames well.
Why not use RtlCaptureStackBackTrace ?

This comment has been minimized.

Copy link
@tkreuzer

tkreuzer Apr 2, 2019

Contributor

It's also not portable, and only works on x86. Please use RtlCaptureStackBackTrace.

@tkreuzer

This comment has been minimized.

Copy link
Contributor

commented Apr 1, 2019

If I understand the output correctly, the last row is supposed to show the last valid entry in the backtrace. I find it quite confusing though. I suggest instead to remove any NULL entries as seen in the 3rd screenshot and in case of more entries than displayable, just add a last line with something like "and 7 more"


VOID
NTAPI
KiDoStackBacktrace()

This comment has been minimized.

Copy link
@tkreuzer

tkreuzer Apr 2, 2019

Contributor

It's also not portable, and only works on x86. Please use RtlCaptureStackBackTrace.

@feel-the-dz3n

This comment has been minimized.

Copy link
Contributor Author

commented Apr 3, 2019

I have no time to complete that PR so I'll finish it later

@tkreuzer tkreuzer added this to New PRs in ReactOS PRs Apr 5, 2019

@tkreuzer tkreuzer moved this from New PRs to WIP / Waiting on contributor in ReactOS PRs Apr 5, 2019

@ghostslayer989

This comment has been minimized.

Copy link

commented Apr 5, 2019

Ah yes (less) windows 10 bluescreen style. But still, it looks smooth and "elegant".

@feel-the-dz3n

This comment has been minimized.

Copy link
Contributor Author

commented Jun 4, 2019

I have no time and no idea how to fix it

ReactOS PRs automation moved this from WIP / Waiting on contributor to Done Jun 4, 2019

@feel-the-dz3n feel-the-dz3n changed the title [NTOS] Fancy blue screen with elegant stack backtrace [NTOS:KE] Fancy blue screen with elegant stack backtrace Jul 4, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can鈥檛 perform that action at this time.