Loading ...
Sorry, an error occurred while loading the content.

Re: SEGFAULT related to tabline and resize.

Expand Messages
  • Bram Moolenaar
    ... I can t reproduce it... I do recall changing the loop over win_alloc_lines(), but that was more than two days ago. If you look in the code of
    Message 1 of 5 , Mar 1, 2006
    • 0 Attachment
      Groleo Marius wrote:

      > If this was already fixed, I apologise.
      > The actions performed are:
      > In vim, do :tabnew as many times needed to go beyond the closing X.
      > Then, close some tabs, using the X.
      > Doing a terminal resize will cause vim to crash.
      > Its reproductible under linux(console vim) and windows(gui).

      I can't reproduce it... I do recall changing the loop over
      win_alloc_lines(), but that was more than two days ago. If you look in
      the code of screenalloc(), it should say FOR_ALL_TAB_WINDOWS() above
      win_free_lines() and win_alloc_lines(). If it is FOR_ALL_WINDOWS() then
      you are using an older version.

      If the latest version still has this problem, then please give a
      step-by-step reproducable example.

      --
      hundred-and-one symptoms of being an internet addict:
      20. When looking at a pageful of someone else's links, you notice all of them
      are already highlighted in purple.

      /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
      /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
      \\\ download, build and distribute -- http://www.A-A-P.org ///
      \\\ help me help AIDS victims -- http://www.ICCF.nl ///
    • Groleo Marius
      I just built the latest CVS checkout, and the bug is still reproductible. At line 6887, in screen.c I have #ifdef FEAT_WINDOWS FOR_ALL_TAB_WINDOWS(tp, wp)
      Message 2 of 5 , Mar 1, 2006
      • 0 Attachment
        I just built the latest CVS checkout, and the bug is still reproductible.

        At line 6887, in screen.c I have
        #ifdef FEAT_WINDOWS
        FOR_ALL_TAB_WINDOWS(tp, wp)
        win_free_lsize(wp);
        #else
        win_free_lsize(curwin);
        #endif

        The core comes from the attempt to free a NULL pointer
        (gdb) p wp->w_lines
        $5 = (wline_T *) 0x0

        The steps I follow are
        :tabnew, so the tabline becomes visible.
        doubleclick an active tab to create new tabs, until they go beyond the closing X
        now, try to resize the window in which Vim is started.
        You might need to try to resize it a couple of times.




        --
        Regards, Groleo!

        # Use "Reply to All" on mailing lists.
        # touch universe
        # chmod +x universe
        # ./universe
      • A. J. Mechelynck
        ... I think I have seen it in W32, but only after setting tabline to empty (either manually with my usual vimrc, or implicitly with gvim -N -u NONE ).
        Message 3 of 5 , Mar 1, 2006
        • 0 Attachment
          Groleo Marius wrote:
          > I just built the latest CVS checkout, and the bug is still reproductible.
          >
          > At line 6887, in screen.c I have
          > #ifdef FEAT_WINDOWS
          > FOR_ALL_TAB_WINDOWS(tp, wp)
          > win_free_lsize(wp);
          > #else
          > win_free_lsize(curwin);
          > #endif
          >
          > The core comes from the attempt to free a NULL pointer
          > (gdb) p wp->w_lines
          > $5 = (wline_T *) 0x0
          >
          > The steps I follow are
          > :tabnew, so the tabline becomes visible.
          > doubleclick an active tab to create new tabs, until they go beyond the closing X
          > now, try to resize the window in which Vim is started.
          > You might need to try to resize it a couple of times.
          >
          >
          >
          >
          > --
          > Regards, Groleo!
          >
          > # Use "Reply to All" on mailing lists.
          > # touch universe
          > # chmod +x universe
          > # ./universe
          >
          >
          >

          I think I have seen it in W32, but only after setting 'tabline' to empty
          (either manually with my usual vimrc, or implicitly with "gvim -N -u
          NONE"). Downsizing gvim quickly, reducing 'columns' with the mouse to as
          little as it will take, causes gvim to exit. DrWatson does not come up.
          In my vimrc I have an autocommand starting ":au VimLeave * nested if
          v:dying |"... and I believe that it was not triggered.

          With my usual 'tabline' setting, individual tabs don't shrink; if there
          are too many of them they overflow out the left side of the tab line.
          This altered behaviour may explain why in this case Vim doesn't
          disappear in this case.


          Best regards,
          Tony.
        • Bram Moolenaar
          ... OK, I managed to reproduce the problem with the help of the efence library. The tabline was made too long, writing past the number of columns. I have
          Message 4 of 5 , Mar 1, 2006
          • 0 Attachment
            Groleo Marius wrote:

            > I just built the latest CVS checkout, and the bug is still reproductible.
            >
            > At line 6887, in screen.c I have
            > #ifdef FEAT_WINDOWS
            > FOR_ALL_TAB_WINDOWS(tp, wp)
            > =09win_free_lsize(wp);
            > #else
            > win_free_lsize(curwin);
            > #endif
            >
            > The core comes from the attempt to free a NULL pointer
            > (gdb) p wp->w_lines
            > $5 =3D (wline_T *) 0x0
            >
            > The steps I follow are
            > :tabnew, so the tabline becomes visible.
            > doubleclick an active tab to create new tabs, until they go beyond the clos=
            > ing X
            > now, try to resize the window in which Vim is started.
            > You might need to try to resize it a couple of times.

            OK, I managed to reproduce the problem with the help of the efence
            library. The tabline was made too long, writing past the number of
            columns. I have fixed it.

            --
            hundred-and-one symptoms of being an internet addict:
            25. You believe nothing looks sexier than a man in boxer shorts illuminated
            only by a 17" inch svga monitor.

            /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
            /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
            \\\ download, build and distribute -- http://www.A-A-P.org ///
            \\\ help me help AIDS victims -- http://www.ICCF.nl ///
          Your message has been successfully submitted and would be delivered to recipients shortly.