<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - show error on screen instead of exiting"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=81744">81744</a>
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>systemd-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>show error on screen instead of exiting
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>systemd-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>piotr5@netscape.net
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>general
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>systemd
          </td>
        </tr></table>
      <p>
        <div>
        <pre>according to the man page systemd does exit on error, but nowhere I can find
what the exit-codes mean. but even if they were documented, I guess a normal
user wouldn't care to look them up.

I have real_init=/usr/lib/systemd/systemd on the kernel-parameters at boot.
therefore systemd is the 2nd init process and it shouldn't return ever. but if
it already has to return, it really should first take control of the screen,
return to text so the kernel doesn't need to, and print out a meaningful
message, and wait till the user has read the message. the way it does behave
now is: journalctl is missing all entries leading to the exit-code, several
hours are missing. systemd just exits and leaves error-handling to the kernel.

for example 2 times already, at a random time while the computer was idle, I
got (a slightly corrupted filesystem and) an uninformative message like this:

Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

CPU: 3 PID: 1 Comm: systemd Tainted: G        W    3.12.21-gentoo-r1 #1
Hardware name: Dell Inc Inspiron 1090/Inspiron 1090 BIOS A06 08/23/2011
ffffffff8167aea0 ffff88007e8d7c78 ffffffff814c5f4b 00000000000000b2
ffffffff815b77c6 ffff88007e8d7cf8 ffffffff814c278d ffff88007e8d5980
ffff880000000010 ffff88007e8d7d08 ffff88007e8d7ca8 ffffffff817d4cf0
Call Trace:
[<ffffffff814c5f4b>] dump_stack+0x46/0x58
[<ffffffff814c278d>] panic+0xba/0xc2
[<ffffffff810379c6>] do_exit+0x489/0x888
[<ffffffff81037e7f>] ? __sigqueue_free+0x36/0x3a
[<ffffffff81037ecf>] do_group_exit+0x68/0x9b
[<ffffffff81041402>] get_signal_to_deliver+0x442/0x464
[<ffffffff81002091>] do_signal+0x49/0x79a
[<ffffffff8100280a>] do_notify_resume+0x28/0x68
[<ffffffff814cb775>] retint_signal+0x3d/0x78
drm_kms_helper: panic occurred, switching back to text console</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>