Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#47128 - [texinfo] install-info can "corrupt" dir file if interrupted.

Attached to Project: Arch Linux
Opened by pedrum (pd5rm) - Thursday, 19 November 2015, 22:07 GMT
Last edited by Bartłomiej Piotrowski (Barthalion) - Thursday, 05 May 2016, 13:47 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Bartłomiej Piotrowski (Barthalion)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

There's a bug in install-info with how it generates the dir file index. I've filed upstream at: https://savannah.gnu.org/bugs/index.php?46481.

This bug can result in Pacman showing an error message ("error: command failed to execute correctly") if the post-install of package uses texinfo's install-info binary to install documentation. While it's a relatively rare condition, it does show in several forum posts, and when it does occurs it makes the upgrade process seem like it failed.

Additional info:
* texinfo 6.0-1
* This affects the /usr/share/info/dir generated as result of install-info.

Steps to reproduce:

1) install-info grep.info.gz dir
2) You'll need to interrupt the install-info binary at certain point, after it truncates the file, but before it writes it out.

I've have suggested to upstream that to replace that code with a more atomic write/rename style that's common on unix systems for config settings.
This task depends upon

Closed by  Bartłomiej Piotrowski (Barthalion)
Thursday, 05 May 2016, 13:47 GMT
Reason for closing:  Upstream
Comment by pedrum (pd5rm) - Thursday, 19 November 2015, 22:46 GMT
Troubleshooting steps (notes to myself for future remembrance)

1) sudo pacman -S grep --debug
...
debug: writing grep-2.22-1 DESC information back to db
debug: writing grep-2.22-1 FILES information back to db
debug: adding entry 'grep' in 'local' cache
debug: executing ". /tmp/alpm_J8PrDm/.INSTALL; post_upgrade 2.22-1 2.22-1"
debug: executing "/usr/bin/bash" under chroot "/"
debug: call to waitpid succeeded
error: command failed to execute correctly

2) Checked the post_upgrade / post_install script and saw that it called install-info.

3) ls the "dir" file and tracked the previous run > 1 month ago.

-rw-r--r-- 1 root root 0 Oct 9 17:50 /usr/share/info/dir

4) Correlated with pacman run that was interrupted.

[2015-10-09 17:50] [ALPM] upgraded firefox (40.0.3-1 -> 41.0.1-1)
[2015-10-09 17:50] [ALPM] upgraded gdb (7.10-3 -> 7.10-4)
[2015-10-09 17:50] [ALPM] transaction interrupted

This caused pacman errors for following packages (all of which used install-info):
grep, gpm, texinfo, gmp

Loading...