2

I am using ptxdist to create kernel and rootfs images for a Linux embedded system, running on an ARM Cortex A8 CPU.

I was trying to use a newer compiler (GCC 5+) and so was forced to upgrade several external packages that would not compile under the new GCC.

I compiled the following versions of Upstart and its immediate dependencies:

upstart: 1.13.2  
libnih: 1.0.3  
dbus: 1.11.2  
json-c: 0.12.1

When I boot, I get the following message:

init: com.ubuntu.Upstart.c:3525: Assertion failed in control_emit_event_emitted: env != NULL
init: Caught abort, core dumped
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000600

Searching online did not yield useful hints - the only relevant issue I found is this, but it is relevant to an older version of Upstart, and my libnih is of the correct version already.

Andy Thomas
  • 1,219
  • 3
  • 19
  • 33
  • Maybe it will be useful for somebody in 2022, I have tried to compile latest upstart (1.13.2) for an embedded device with the latest libnih (1.0.3-ubuntu27) and without success with the same assertion. But, why I tried to use the latest version instead of 1.8 (which is worked). Because upstart-udev-bridge not working in 1.8 with kernel 5. After some time I found the reason, upstart-udev-bridge.conf need to be edited as 'start on started udev' and everything will work, bridge started too early in default conf. So 1.8 works normally, 1.13.2 not – Dmitry Oct 31 '22 at 18:11
  • Bug described here https://bugs.launchpad.net/ubuntu/+source/linux-manta/+bug/1412543 – Dmitry Oct 31 '22 at 18:13

1 Answers1

2

According to comment #8 in the bug report you linked, it is not enough to use version 1.0.3 of libnih -- you have to specifically use the Ubuntu version, as this seems to include dbus fixes which could solve the problem you are seeing. From the bug report:

David Ireland (e-david) wrote on 2013-04-22: #7

I've built libnih 1.0.3 from source and also made sure that upstart builds with that version of the nih-dbus-tool. I'm still having this problem.

James Hunt (jamesodhunt) wrote on 2013-04-22: #8

Which problem? The crash? If so, you are still using the wrong version of libnih: you should be using the Ubuntu version (specifically 1.0.3-4ubuntu16) from here: https://code.launchpad.net/~ubuntu-branches/ubuntu/raring/libnih/raring

You do not need the --session flag to run a "Session Init" (yes, this is a little confusing but --session was added for testing a long time ago and is still required for that). A "Session Init" only requires "--user".

Grodriguez
  • 21,501
  • 10
  • 63
  • 107