Re: mcedit stackdumps on exit


On Fri, 10 Jun 2005, Pavel Tsekov wrote:

> Hello,
> On Fri, 10 Jun 2005, [iso-8859-2] Krzysztof Dulęba wrote:
> > Hi
> >
> > For a few months now I've been suffering from mcedit internal error. Every
> > once in a while, without any reason, mcedit stackdumps during exit
> > procedure (after pressing F10 or double ESC).
> >
> > Debugging mcedit seems pointless as stackdumps occur on a very irregular
> > basis. Can I provide any more information?
> >
> > I work on a Cygwin system, but Cygwin people told me that I should rather
> > send this report here.
> I'll look into this.

I've found the cause for the crash. It is not a Cygwin specific issue but
a bug in MC. Since I don't have time today I'll post more details and
a patch later. Please, hold the release of MC 4.6.1 until this issue is

Still I'll post some hints for those interested to  understand the
problem and maybe submitting a patch :)

1) Run `mcedit' build for debugging in gdb. It is important to use
   `mcedit' and not `mc'

2) Add two breakpoints - one at `clean_dir' and the second
   at the following line in `mc_maybe_editor_or_viewer':

     g_free (path);

3) Run mcedit and type F11 (User Menu). Select some of the commands
   and see gdb break in `clean_dir'. Continue the execution.

4) Press F10 (Quit) and see gdb hitting the second breakpoint - step over.
   You should see an interesting warning message from glibc indicating
   double free condition.

The reason for this is the following hack from `setup_dummy_mc':

    /* Create a fake current_panel, this is needed because the
     * expand_format routine will use current panel.
    strcpy (current_panel->cwd, d);
    current_panel->selected = 0;
    current_panel->count = 1;
    current_panel->dir.list[0].fname = (char *) file;

P.S. Christopher Faylor of Cygwin was very helpful in providing important
     information which helped me to find the problem much faster. And
     beleive me this bug is a really nasty one.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]