On Mon, Dec 09, 2013 at 12:24:52AM +0100, Guillem Jover wrote:
> Control: tags -1 unreproducible moreinfo
>
> Hi!
>
> On Sun, 2013-12-08 at 22:25:35 +0100, Guillem Jover wrote:
> > On Sun, 2013-12-08 at 21:39:01 +0100, Julian Andres Klode wrote:
> > > update-alternative crashes when creating the alternatives for
> > > epiphany-browser, causing epiphany-browser to not be configured,
> > > thus breaking it, and probably other software as well.
> > >
> > > The part of the postinst causing the seg fault is:
> > >
> > > PRIO=85
> > > for alt in x-www-browser gnome-www-browser; do
> > > update-alternatives --install \
> > > /usr/bin/$alt $alt /usr/bin/epiphany-browser $PRIO \
> > > --slave /usr/share/man/man1/$alt.1.gz $alt.1.gz
> > > /usr/share/man/man1/epiphany-browser.1.gz
> > > done
> > >
> > > Maybe you can reproduce this yourself in a debug build, otherwise
> > > I'll do a debug build myself and try to reproduce it with debugging
> > > symbols.
>
> > Well it does not trigger on the test suite, anyway looking into it now.
>
> I've tried your recipe, and installing the epiphany-browser package,
> neither segfault. And I've re-reviewed the changes in u-a between
> 1.17.1 and 1.17.4, and nothing obvious jumps to me. Could you attach
> your /var/lib/dpkg/alternatives/ and /etc/alternatives/ directories and
> to where do the x-www-browser and gnome-www-browser generic names point
> to currently in your file system? (Those would be the /usr/bin/$alt and
> /usr/share/man/man1/$alt.1.gz links.)
The command failing is:
update-alternatives --install /usr/bin/gnome-www-browser gnome-www-browser
/usr/bin/epiphany-browser 85 --slave /usr/share/man/man1/gnome-www-browser.1.gz
gnome-www-browser.1.gz /usr/share/man/man1/epiphany-browser.1.gz
$ ls -l /usr/share/man/man1/gnome-www-browser* /usr/bin/gnome-www-browser
ls: cannot access /usr/share/man/man1/gnome-www-browser*: No such file or
directory
lrwxrwxrwx 1 root root 35 Sep 7 10:53 /usr/bin/gnome-www-browser ->
/etc/alternatives/gnome-www-browser
I believe the missing man page link is the problem.
Here's a backtrace for the failing command:
Program received signal SIGSEGV, Segmentation fault.
#0 0x0000000000403657 in alternative_copy_slave (a=0x60f0d0, sl=0x60f2e0) at
../../utils/update-alternatives.c:992
sl_new = 0x0
#1 0x00000000004070ed in alternative_evolve (a=0x60f0d0, b=0x60f140,
cur_choice=0x63d4f0 "/usr/bin/chromium", fs=0x60f1e0) at
../../utils/update-alternatives.c:2310
sl = 0x60f2e0
is_link = true
#2 0x00000000004090d3 in main (argc=10, argv=0x7fffffffe0a8) at
../../utils/update-alternatives.c:2783
a = 0x60f0d0
inst_alt = 0x60f140
fileset = 0x60f1e0
path = 0x0
current_choice = 0x63d4f0 "/usr/bin/chromium"
new_choice = 0x0
i = 10
rax 0x0 0
rbx 0x706140 7364928
rcx 0x7ffff7dd5640 140737351865920
rdx 0x1 1
rsi 0x51 81
rdi 0x0 0
rbp 0x7fffffffdeb0 0x7fffffffdeb0
rsp 0x7fffffffde80 0x7fffffffde80
r8 0x0 0
r9 0x3 3
r10 0x411 1041
r11 0x246 582
r12 0x401510 4199696
r13 0x7fffffffe0a0 140737488347296
r14 0x0 0
r15 0x0 0
rip 0x403657 0x403657 <alternative_copy_slave+89>
eflags 0x10246 [ PF ZF IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
Thread 1 (process 30421):
#0 0x0000000000403657 in alternative_copy_slave (a=0x60f0d0, sl=0x60f2e0) at
../../utils/update-alternatives.c:992
#1 0x00000000004070ed in alternative_evolve (a=0x60f0d0, b=0x60f140,
cur_choice=0x63d4f0 "/usr/bin/chromium", fs=0x60f1e0) at
../../utils/update-alternatives.c:2310
#2 0x00000000004090d3 in main (argc=10, argv=0x7fffffffe0a8) at
../../utils/update-alternatives.c:2783
A debugging session is active.
Inferior 1 [process 30421] will be killed.
Quit anyway? (y or n) [answered Y; input not from terminal]
>
> Thanks,
> Guillem
--
Julian Andres Klode - Debian Developer, Ubuntu Member
See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/.
Please do not top-post if possible.
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]