screen-devel
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]