Jonathan Nieder <jrnieder@gmail.com> (21/07/2010): > Trying to remove iceweasel causes update-alternatives to segfault > for me. iceweasel prerm does > > update-alternatives --remove x-www-browser /usr/bin/iceweasel > update-alternatives --remove gnome-www-browser /usr/bin/iceweasel Reproduced with dpkg -P iceweasel. ,---- | kibi@bowmore:~/hack/dpkg.git$ cat /var/lib/dpkg/alternatives/gnome-www-browser | auto | /usr/bin/gnome-www-browser | gnome-www-browser.1.gz | /usr/share/man/man1/gnome-www-browser.1.gz | | /usr/bin/chromium-browser | 40 | | /usr/bin/iceweasel | 70 | /usr/share/man/man1/iceweasel.1.gz `---- > This is with dpkg (and u-a) built from commit f86ff414. With current master (1.15.7.2-174-gc249251) built with noopt & nostrip: ,---- | (gdb) run | The program being debugged has been started already. | Start it from the beginning? (y or n) y | | Starting program: /usr/sbin/update-alternatives --remove gnome-www-browser /usr/bin/iceweasel | update-alternatives: utilisation de « /usr/bin/chromium-browser » pour fournir « /usr/bin/gnome-www-browser » (gnome-www-browser) en mode automatique. | | Program received signal SIGSEGV, Segmentation fault. | 0x0000000000404629 in alternative_save (a=0x60e030, | file=0x7063c0 "/var/lib/dpkg/alternatives/gnome-www-browser.dpkg-tmp") | at ../../utils/update-alternatives.c:1217 | 1217 for (sl = a->slaves; sl; sl_prev = sl, sl = sl->next) { | (gdb) bt | #0 0x0000000000404629 in alternative_save (a=0x60e030, | file=0x7063c0 "/var/lib/dpkg/alternatives/gnome-www-browser.dpkg-tmp") | at ../../utils/update-alternatives.c:1217 | #1 0x00000000004089f5 in main (argc=4, argv=0x7fffffffe6d8) | at ../../utils/update-alternatives.c:2431 | (gdb) bt full | #0 0x0000000000404629 in alternative_save (a=0x60e030, | file=0x7063c0 "/var/lib/dpkg/alternatives/gnome-www-browser.dpkg-tmp") | at ../../utils/update-alternatives.c:1217 | ctx = {fh = 0x7ffff7af4900, | filename = 0x7ffff7af4820 "H\213\005\071G.", | bad_format = 0x7ffff7e635cc, on_error = {{__jmpbuf = { | 140737488348160, 7355904, 6348912, 0, 4202506, 4233233, | 140737488348344, 206158430240}, __mask_was_saved = -7152, | __saved_mask = {__val = {140737488347984, 4236888, 7356944, | 6348912, 18446744073709551504, 8243121649779630637, | 7809575350067815471, 8532478930843755892, 6348912, 0, 0, | 140737348847756, 6348912, 4216810, 7339520, 6348848}}}}} | sl = 0x0 | sl_prev = 0x0 | fs = 0x0 | #1 0x00000000004089f5 in main (argc=4, argv=0x7fffffffe6d8) | at ../../utils/update-alternatives.c:2431 | fntmp = 0x7063c0 "/var/lib/dpkg/alternatives/gnome-www-browser.dpkg-tmp" | fn = 0x706480 "/var/lib/dpkg/alternatives/gnome-www-browser" | a = 0x60e030 | inst_alt = 0x0 | fileset = 0x0 | ---Type <return> to continue, or q <return> to quit--- | path = 0x60e090 "/usr/bin/iceweasel" | current_choice = 0x706460 "/usr/bin/iceweasel" | alt_map_obj = 0x60e0b0 | alt_map_links = 0x60e0d0 | alt_map_parent = 0x60e0f0 | table = 0x6171a0 | new_choice = 0x6ffe00 "/usr/bin/chromium-browser" | i = 104 | count = 104 `---- Enjoy. :) Mraw, KiBi.
Attachment:
signature.asc
Description: Digital signature