[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[screen-devel] [bug #50143] Core dump
From: |
Valentin Nechayev |
Subject: |
[screen-devel] [bug #50143] Core dump |
Date: |
Wed, 25 Jan 2017 12:21:43 +0000 (UTC) |
User-agent: |
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0 |
Follow-up Comment #1, bug #50143 (project screen):
Reproducing with debug:
(gdb) bt
#0 0x28232b37 in thr_kill () from /lib/libc.so.7
#1 0x28232b2a in raise () from /lib/libc.so.7
#2 0x28232a76 in abort () from /lib/libc.so.7
#3 0x0804f1fa in CoreDump (sigsig=11) at screen.c:1686
#4 0xbfbff004 in ?? ()
#5 0x0000000b in ?? ()
#6 0x00000001 in ?? ()
#7 0xbfbfa320 in ?? ()
#8 0x00000c6c in ?? ()
#9 0x0804f040 in ParseEscape () at screen.c:3384
#10 0x0807d2e2 in SetUtmp (wi=0x2892a000) at utmp.c:434
#11 0x0807bf7b in WindowChangeNumber (old=2, dest=1) at window.c:2347
#12 0x080bfd4a in gl_Window_input (ldata=0x288031e0, inp=0xbfbfadac,
len=0xbfbfad9c) at list_window.c:392
#13 0x080bc7ac in ListProcess (ppbuf=0xbfbfadac, plen=0xbfbfad9c) at
list_generic.c:153
#14 0x0808c05d in DoProcess (p=0x0, bufp=0xbfbfadac, lenp=0xbfbfad9c, pa=0x0)
at process.c:982
#15 0x0808bd5e in ProcessInput2 (ibuf=0xbfbfae37 "", ilen=0) at process.c:913
#16 0x0808b847 in ProcessInput (ibuf=0xbfbfae36 ",", ilen=-1) at
process.c:874
#17 0x080a982f in disp_readev_fn (ev=0x288a6450, data=0x288a5e00 "") at
display.c:3528
#18 0x080c097e in sched () at sched.c:237
#19 0x0804ea17 in main (ac=0, av=0xbfbfec44) at screen.c:1474
(gdb) f 10
#10 0x0807d2e2 in SetUtmp (wi=0x2892a000) at utmp.c:434
434 strncpy(u.ut_host, D_loginhost, sizeof(u.ut_host));
(gdb) l
429 if (!saved_ut)
430 makeuser(&u, stripdev(wi->w_tty), LoginName, wi->w_pid);
431
432 #ifdef UTHOST
433 # if !defined(_SEQUENT_) && !defined(sequent)
434 strncpy(u.ut_host, D_loginhost, sizeof(u.ut_host));
435 # endif
436 #endif /* UTHOST */
437
438 if (pututslot(slot, &u, D_loginhost, wi) == 0)
this is preprocessed to
strncpy(u.ut_host, display->d_utmp_logintty.ut_host, sizeof(u.ut_host));
but:
(gdb) p display
$12 = (struct display *) 0x0
The suspicious place is: WindowChangeNumber():
if (p && (p->w_slot != (slot_t) -1) && (p->w_slot != (slot_t) 0))
{
display = win_old->w_layer.l_cvlist ?
win_old->w_layer.l_cvlist->c_display : 0;
RemoveUtmp(p);
SetUtmp(p);
}
Debug print here confirms there is an issue with display setting:
win_old->w_layer.l_cvlist is NULL during this check.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?50143>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/