Yeah this is not quite right although your fix is also wrong. Doh.
On Fri, Nov 12, 2010 at 11:52:22PM -0600, Nicholas Riley wrote: > In article <4cde1a6b.4010...@cowan.name>, > Micah Cowan <mi...@cowan.name> wrote: > > > Not true; should be fixed in current CVS HEAD. As a workaround, detach > > any other clients currently attached to the same session (use <prefix> D). > > This does sound encouraging as I do often have multiple clients attached > to a session. > > However, I was running a few-day-old CVS HEAD and still had the problem. > I just updated to the latest version, but now the server process dumps > core when I start tmux. > > The problem appears to be this change in compat/imsg.c: > > Index: compat/imsg.c > =================================================================== > RCS file: /cvsroot/tmux/tmux/compat/imsg.c,v > retrieving revision 1.5 > retrieving revision 1.6 > diff -r1.5 -r1.6 > 1c1 > < /* $Id: imsg.c,v 1.5 2010/06/06 00:08:28 tcunha Exp $ */ > --- > > /* $Id: imsg.c,v 1.6 2010/11/11 20:41:08 nicm Exp $ */ > 114c114 > < if ((imsg->data = malloc(datalen)) == NULL) > --- > > if (datalen != 0 && (imsg->data = malloc(datalen + 1)) == NULL)? > > The logic here seems broken (if datalen is 0 then it won't return with > an error). > > However, even fixing this: > > Index: compat/imsg.c > =================================================================== > RCS file: /cvsroot/tmux/tmux/compat/imsg.c,v > retrieving revision 1.6 > diff -r1.6 imsg.c > 114c114,116 > < if (datalen != 0 && (imsg->data = malloc(datalen + 1)) == NULL) > --- > > if (datalen == 0) > > return (-1); > > if ((imsg->data = malloc(datalen + 1)) == NULL) > > tmux now returns -1 all the way up the stack and exits. > > datalen is 1024 consistently for a while, then it gets big, then it's 0. > > [...] > Breakpoint 1, imsg_get (ibuf=0x80b2858, imsg=0xbfa40264) at > compat/imsg.c:114 > 114 if (datalen == 0) > $36 = 1024 > (gdb) > Continuing. > > Breakpoint 1, imsg_get (ibuf=0x80b2858, imsg=0xbfa40264) at > compat/imsg.c:114 > 114 if (datalen == 0) > $37 = 4228 > (gdb) > Continuing. > > Breakpoint 1, imsg_get (ibuf=0x80b2858, imsg=0xbfa40264) at > compat/imsg.c:114 > 114 if (datalen == 0) > $38 = 0 > > Sorry I don't have time to debug this any further... > -- > Nicholas Riley <njri...@illinois.edu> > > > ------------------------------------------------------------------------------ > Centralized Desktop Delivery: Dell and VMware Reference Architecture > Simplifying enterprise desktop deployment and management using > Dell EqualLogic storage and VMware View: A highly scalable, end-to-end > client virtualization framework. Read more! > http://p.sf.net/sfu/dell-eql-dev2dev > _______________________________________________ > tmux-users mailing list > tmux-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/tmux-users ------------------------------------------------------------------------------ Centralized Desktop Delivery: Dell and VMware Reference Architecture Simplifying enterprise desktop deployment and management using Dell EqualLogic storage and VMware View: A highly scalable, end-to-end client virtualization framework. Read more! http://p.sf.net/sfu/dell-eql-dev2dev _______________________________________________ tmux-users mailing list tmux-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tmux-users