Difference between revisions of "ErrDisp"

From 3dbrew
Jump to: navigation, search
m
m
 
(18 intermediate revisions by 5 users not shown)
Line 1: Line 1:
This system process handles displaying the error screens, such as "An error has occurred, the system needs shutdown". This can also display a register dump for exceptions, and info for fatal errors. (Normally the black-screen errors are displayed on retail, while the latter is displayed on dev units.)
+
This system process handles displaying the error screens, such as "an error has occurred, the system needs shutdown". This can also display a register dump for exceptions, and info for fatal errors. (Normally the black-screen errors are displayed on retail, while the latter is displayed on development units.)
  
The register dump/fatal error info can also be written to [[nandrw/sys/native.log]], but this is normally disabled on retail as well. The retail ARM11 kernel does not notify err:f that any user-land exceptions occurred, this is likely only enabled for the dev/debug ARM11 kernel.
+
The register dump/fatal error info can also be written to [[nandrw/sys/native.log]]. On retail consoles, the system does not notify ErrDisp that any user-land exceptions occurred, ErrDisp is only notified for this on dev/debug units. Therefore, on retail consoles native.log only contains info from fatal errors. Starting with [[5.0.0-11]] ErrDisp no longer writes logs to native.log, except when the error-type is value 5 and when other checks with the errorinfo structure are successful (normally processes using this port never use error-type 5).
  
The bottom screen displays the error screen like "error has occurred", even with a development 3DS. The top screen can display the development error info, this is only displayed when [[Configuration_Memory|UNITINFO]] bit0 is clear, for a development 3DS.
+
The bottom screen displays the error screen like "error has occurred", even with a development 3DS. The top screen can display the development error info, this is only displayed when [[Configuration_Memory#ENVINFO|ENVINFO]] bit0 is clear, for a development 3DS.
 +
 
 +
ErrDisp handles "returning" to Home Menu via [[NSS:RebootSystem]], which triggers a hardware system reboot.
  
 
= ErrDisp error port "err:f" =
 
= ErrDisp error port "err:f" =
Line 12: Line 14:
 
|-
 
|-
 
| 0x00010800
 
| 0x00010800
| ThrowFatalErr
+
| [[ERR:Throw|Throw]]
 +
|-
 +
| 0x00020042
 +
| [[ERR:SetUserString|SetUserString]]
 
|}
 
|}

Latest revision as of 21:24, 23 December 2016

This system process handles displaying the error screens, such as "an error has occurred, the system needs shutdown". This can also display a register dump for exceptions, and info for fatal errors. (Normally the black-screen errors are displayed on retail, while the latter is displayed on development units.)

The register dump/fatal error info can also be written to nandrw/sys/native.log. On retail consoles, the system does not notify ErrDisp that any user-land exceptions occurred, ErrDisp is only notified for this on dev/debug units. Therefore, on retail consoles native.log only contains info from fatal errors. Starting with 5.0.0-11 ErrDisp no longer writes logs to native.log, except when the error-type is value 5 and when other checks with the errorinfo structure are successful (normally processes using this port never use error-type 5).

The bottom screen displays the error screen like "error has occurred", even with a development 3DS. The top screen can display the development error info, this is only displayed when ENVINFO bit0 is clear, for a development 3DS.

ErrDisp handles "returning" to Home Menu via NSS:RebootSystem, which triggers a hardware system reboot.

ErrDisp error port "err:f"[edit]

Command Header Description
0x00010800 Throw
0x00020042 SetUserString