I'm not completely sure whether there is a loop or that these repeated messages are part of "normal" processing. Anyway, things were taking so long and the repetitions do seem to indicate a loop so I decided to break off the upgrade. If this is a real loop, the severity of this BR should be raised to serious. Preparing to replace initscripts 2.86.ds1-52 (using .../initscripts_2.86.ds1-53_i386.deb) ... Unpacking replacement initscripts ... Setting up initscripts (2.86.ds1-53) ... Installing new version of config file /etc/init.d/sendsigs ... insserv: warning: script 'K03spamassassin' missing LSB tags and overrides insserv: warning: script 'K03fnfxd' missing LSB tags and overrides insserv: warning: script 'fnfxd' missing LSB tags and overrides insserv: warning: script 'spamassassin' missing LSB tags and overrides insserv: warning: script 'K03spamassassin' missing LSB tags and overrides insserv: warning: script 'K03fnfxd' missing LSB tags and overrides insserv: warning: script 'fnfxd' missing LSB tags and overrides insserv: warning: script 'spamassassin' missing LSB tags and overrides insserv: warning: script 'K03spamassassin' missing LSB tags and overrides insserv: warning: script 'K03fnfxd' missing LSB tags and overrides insserv: warning: script 'fnfxd' missing LSB tags and overrides insserv: warning: script 'spamassassin' missing LSB tags and overrides insserv: warning: script 'K03spamassassin' missing LSB tags and overrides insserv: warning: script 'K03fnfxd' missing LSB tags and overrides insserv: warning: script 'fnfxd' missing LSB tags and overrides insserv: warning: script 'spamassassin' missing LSB tags and overrides insserv: warning: script 'K03spamassassin' missing LSB tags and overrides insserv: warning: script 'K03fnfxd' missing LSB tags and overrides insserv: warning: script 'fnfxd' missing LSB tags and overrides insserv: warning: script 'spamassassin' missing LSB tags and overrides insserv: warning: script 'K03spamassassin' missing LSB tags and overrides insserv: warning: script 'K03fnfxd' missing LSB tags and overrides insserv: warning: script 'fnfxd' missing LSB tags and overrides insserv: warning: script 'spamassassin' missing LSB tags and overrides insserv: warning: script 'K03spamassassin' missing LSB tags and overrides insserv: warning: script 'K03fnfxd' missing LSB tags and overrides insserv: warning: script 'fnfxd' missing LSB tags and overrides insserv: warning: script 'spamassassin' missing LSB tags and overrides insserv: warning: script 'K03spamassassin' missing LSB tags and overrides insserv: warning: script 'K03fnfxd' missing LSB tags and overrides insserv: warning: script 'fnfxd' missing LSB tags and overrides insserv: warning: script 'spamassassin' missing LSB tags and overrides insserv: warning: script 'K03spamassassin' missing LSB tags and overrides insserv: warning: script 'K03fnfxd' missing LSB tags and overrides insserv: warning: script 'fnfxd' missing LSB tags and overrides insserv: warning: script 'spamassassin' missing LSB tags and overrides insserv: warning: script 'K03spamassassin' missing LSB tags and overrides insserv: warning: script 'K03fnfxd' missing LSB tags and overrides insserv: warning: script 'fnfxd' missing LSB tags and overrides insserv: warning: script 'spamassassin' missing LSB tags and overrides dpkg: error processing initscripts (--configure): subprocess post-installation script killed by signal (Interrupt) Errors were encountered while processing: initscripts E: Sub-process /usr/bin/dpkg returned an error code (1) A package failed to install. Trying to recover: Setting up libart-2.0-2 (2.3.20-1) ... Setting up libaspell15 (0.60.5-2) ... Setting up libmx4j-java (3.0.2-1) ... Setting up libicu38 (3.8-6) ... Setting up libncurses5-dev (5.6+20080119-1) ... Setting up libneon27-gnutls (0.27.2-1) ... Setting up libxerces27 (2.7.0-5) ... Setting up libxerces2-java (2.9.1-1) ... Setting up libhsqldb-java (1.8.0.9-2) ... Setting up libgstreamer0.10-0 (0.10.17-1) ... Setting up initscripts (2.86.ds1-53) ... insserv: warning: script 'K03spamassassin' missing LSB tags and overrides insserv: warning: script 'K03fnfxd' missing LSB tags and overrides insserv: warning: script 'fnfxd' missing LSB tags and overrides insserv: warning: script 'spamassassin' missing LSB tags and overrides insserv: warning: script 'K03spamassassin' missing LSB tags and overrides insserv: warning: script 'K03fnfxd' missing LSB tags and overrides insserv: warning: script 'fnfxd' missing LSB tags and overrides insserv: warning: script 'spamassassin' missing LSB tags and overrides insserv: warning: script 'K03spamassassin' missing LSB tags and overrides insserv: warning: script 'K03fnfxd' missing LSB tags and overrides insserv: warning: script 'fnfxd' missing LSB tags and overrides insserv: warning: script 'spamassassin' missing LSB tags and overrides dpkg: error processing initscripts (--configure): subprocess post-installation script killed by signal (Interrupt)
[Frans Pop] It is part of normal processing. the initscripts package need to register a lot of scripts, and the old insserv package had a bug that made it very slow on systems with a moderate amount of scripts (fixed in a later version of insserv), so it would take forever to install initscripts. just leave it running and it will finish. Happy hacking,
OK, that does indeed work. I still think this should be fixed before insserv can be considered usable for "normal" users. I ended up with ~200 lines before it finished. IMO with such numbers anybody can be forgiven for thinking that the script are looping. Cheers, FJP
[Frans Pop] The slow insserv is fixed (from ~20 to <1 second per invocation), and the messages about scripts missing headers are best fixed by adding headers to the scripts missing them. I agree that both these need to be fixed before users will avoid believing that insserv is looping. The two scripts resulting in the warning on your machine is already reported to BTS, spamassasin as bug #451762, and fnfxd as bug #463648. Please poke their maintainer to get the packages fixed. :) Happy hacking,
That's good. In principle I agree, but OTOH I think you can never fully exclude that some scripts will not have correct headers, so trying to prevent the endless repetition of the same messages should be worthwhile anyway.
[Frans Pop] I agree, and I have reduced the noise to one report per invocation of insserv. The problem with the initscripts package is that it calls update-rc.d 27 times, and the missing headers are reported once per script per invocation. I am not sure if it is a good idea to add a cross process memory for insserv, which is what would be needed to avoid having multiple messages showing up when initscripts is installed or upgraded. This make me conclude that the best way to fix the issue is to fix the headers missing LSB headers, and leave the message in place to warn those with packages missing the headers hoping that this will improve the chance of having the LSB header added to the package. Can I close this BTS report as fixed now, or is there any more I can do to address it? Happy hacking,
Personally I still think this is a design error: a program should really only need a single verification run for something like this. In your reply to #466700 you said: package only the init scripts of _that_ package change. With insserv potentially multiple packages can have major changes if the relationships are complex. This is what makes it more "dangerous", or at least uncertain to me: if something goes wrong which is _not_ detected (because there is no technical (detectable) error in the definitions, but there is a logical one), it can potentially be a lot harder to debug and correct. After my experiences with insserv over the past few weeks, my opinion is that it will not be ready for the big time until: - dpkg triggers has been implemented so that insserv only needs to be run _once_ at the end of an upgrade instead of for each package that changes an init script (at least, I expect that's what it does now) - insserv uses *debconf* to communicate issues (failures, not info) to the user, including the status of the system (e.g. "no changes have been made, existing init procedure is unchanged", or "failure halfway through update of scripts, system may not boot correctly") - insserv creates a log file that details what changes were made during a run so users can actually see what changed in the run order in case of problems; currently AFAIK there is no such info and the only thing you can "see" is the current (broken) state The first point would somewhat mitigate the original subject of this BR, but does not solve it. Feel free to turn this into a wishlist report for those suggestions. Note that I have not really looked into insserv very deeply. This is just based on my experiences as a (dumb) user. Cheers, FJP
retitle 465587 insserv can produce a lot of error messages when installing the initscripts package severity 465587 wishlist thanks You have some interesting wishlist points, and I guess some of them could be adressed in insserv (like reporting errors using debconf, and log all changes). On the other hand, the dependency based boot sequencing is working very well in Debian now, and I believe it is safe to enable by default without any more changes. Happy hacking,