Difference between revisions of "ErrDisp"

From 3dbrew
Jump to navigation Jump to search
m
 
(21 intermediate revisions by 6 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.
 
  
As of [[4.0.0-7]] when ErrDisp handles an exception on retail, it will terminate the process which crashed. Home menu will then display an error when the process was terminated, after this the system will restart if the terminated process was an app. If the terminated process was the [[Internet Browser]], then home menu only displays that the system needs restarted without immediately restarting. Home menu displays the same error regardless of what caused the process termination.
+
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#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 11: Line 14:
 
|-
 
|-
 
| 0x00010800
 
| 0x00010800
| ThrowFatalErr
+
| [[ERR:Throw|Throw]]
 +
|-
 +
| 0x00020042
 +
| [[ERR:SetUserString|SetUserString]]
 
|}
 
|}

Latest revision as of 20: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