Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Segmentation fault on complete

Help
2005-06-22
2013-05-02
  • If I try to execute the complete command with ^[x
    in the main window (not in a minibuffer), I invariably get a segmentation fault.
    The simplest way to reproduce this bug is
    to start joe and type ^[ x complete ^M.

    Now I suppose that the complete statement is not for use in an editing window, only in a main window, but the segmentation fault still bothers me a bit, as I can lose data with it.  It would be much better if joe just ignored the command or printed some error message but allowed me to continue.

    I am using joe v3.2, compiled from source (on an i686-linux machine, with no configure options, gcc 3.4.3).

    I'd be glad if you could look at this feature.
    If you need any additional information about the bug, please ask for them.

    Thanks in advance,

    jonas

     
    • I recompiled joe with CFLAGS="-g -O0".
      Here's a stack trace of the segmentation fault, if that helps.

      cmd: complete
      Program received signal SIGSEGV, Segmentation fault.
      0x00000001 in ?? ()
      (gdb) bt
      #0  0x00000001 in ?? ()
      #1  0x0805ed8d in ucmplt (bw=0x8139960, k=-1) at pw.c:208
      #2  0x0805764b in execmd (cmd=0x809a5f8, k=-1) at cmd.c:407
      #3  0x0805a1d7 in exsimple (m=0x80f4230, arg=0, u=1) at macro.c:439
      #4  0x0805a28f in exmacro (m=0x80f4230, u=1) at macro.c:477
      #5  0x08057b31 in docmd (bw=0x8139960, s=0x813a0d0 "complete", object=0x0, notify=0x0) at cmd.c:528
      #6  0x0805ed4c in rtnpw (bw=0x8139ed0) at pw.c:197
      #7  0x0808f018 in urtn (b=0x8139ed0, k=13) at w.c:766
      #8  0x0805764b in execmd (cmd=0x809b000, k=13) at cmd.c:407
      #9  0x0805a1d7 in exsimple (m=0x80bb8d8, arg=0, u=1) at macro.c:439
      #10 0x0805a28f in exmacro (m=0x80bb8d8, u=1) at macro.c:477
      #11 0x0805a55a in exemac (m=0x80bb8d8) at macro.c:653
      #12 0x0805b564 in edloop (flg=0) at main.c:162
      #13 0x0805c2b7 in main (argc=1, argv=0xbffff874, envv=0xbffff87c) at main.c:469

      pw:208 is this line in ucmplt, if that matters:
                      return pw->tab(bw, k);

      jonas

       
    • Joe Allen
      Joe Allen
      2005-06-24

      I'll fix this for the next version.