#160 Nedit quietly exits unexpectedly.

development
closed-fixed
Program (402)
7
2004-10-15
2002-05-01
No

I have found that nc unexpectedly exits when requested
to do an operation or on reload. No error message is
given to indicate a reason. I cannot consistently
reproduce this problem, but it occurs quite frequently.

Version Information:

NEdit 5.3RC1
Mar 19, 2002

Built on: IRIX, MIPS, SGI MipsPro
Built at: Apr 18 2002, 19:35:18
With Motif: 1002 [@(#)OSF/Motif Version 1.2.4]
Running Motif: 1002
Server: StarNet Communications Corp. 49

Discussion

  • Alexander Mai

    Alexander Mai - 2002-05-01

    Logged In: YES
    user_id=15180

    I don't understand fully:
    what does quit - the running server or is just nc failing to
    do anything?!
    Are you sure that nc and nedit do match? (not sure which
    kind of problems may be hidden there)

     
  • Wally Crooze

    Wally Crooze - 2002-05-02

    Logged In: YES
    user_id=530199

    The server dies, closing all windows with it, though I have
    noticed a couple of times where the nedit windows will
    freeze, on the same server.

    Sometimes I have only one window attached to the offending
    server when the problem occurs. I generally have multiple
    servers running (i.e. different server names), but this is
    not always the case.

    I am using the following versions of nedit and nc (using -V
    option):

    NEdit 5.3RC1
    Mar 19, 2002

    Built on: IRIX, MIPS, SGI MipsPro
    Built at: Apr 18 2002, 19:35:18
    With Motif: 1002 [@(#)OSF/Motif Version 1.2.4]
    Running Motif: 1002
    Server: StarNet Communications Corp. 49

    nc (NEdit) Version 5.3 version
    (February 2002)

    Built on: IRIX, MIPS, SGI MipsPro
    Built at: Apr 18 2002, 19:35:20

    P.S. Is there tracing in the nedit/nc code that I can turn
    on to provide more information?

     
  • Wally Crooze

    Wally Crooze - 2002-05-03

    Logged In: YES
    user_id=530199

    A core from running nedit -server -svrname blah. This
    occured during a changing to an alternate desktop window and
    then back.

    Core from signal SIGBUS: Bus error
    (dbx) where
    > 0 t_splay(0x1028bc70, 0x9c0013b, 0x0, 0x11, 0x11, 0x0,
    0x1, 0x4)
    ["/xlv44/6.5.13m/work/irix/lib/libc/libc_n32_M4/gen/malloc.c":861,
    0xfb0c6a8]
    1 t_delete(0x1028bc70, 0x9c0013b, 0x0, 0x11, 0x11, 0x0,
    0x1, 0x4)
    ["/xlv44/6.5.13m/work/irix/lib/libc/libc_n32_M4/gen/malloc.c":796,
    0xfb0c558]
    2 realfree(0x1028bc70, 0x9c0013b, 0x0, 0x11, 0x0, 0x0,
    0x1, 0x4)
    ["/xlv44/6.5.13m/work/irix/lib/libc/libc_n32_M4/gen/malloc.c":531,
    0xfb0c348]
    3 cleanfree(0x0, 0x9c0013b, 0x0, 0x11, 0x11, 0x0, 0x1,
    0x4)
    ["/xlv44/6.5.13m/work/irix/lib/libc/libc_n32_M4/gen/malloc.c":944,
    0xfb0c990]
    4 __malloc(0x0, 0x9c0013b, 0x0, 0x11, 0x11, 0x0, 0x1,
    0x0)
    ["/xlv44/6.5.13m/work/irix/lib/libc/libc_n32_M4/gen/malloc.c":230,
    0xfb0bbbc]
    5 _malloc(0x0, 0x9c0013b, 0x0, 0x11, 0x11, 0x0, 0x1, 0x4)
    ["/xlv44/6.5.13m/work/irix/lib/libc/libc_n32_M4/gen/malloc.c":186,
    0xfb0ba28]
    6 XSetCommand(0x0, 0x0, 0x0, 0x0, 0x11, 0x0, 0x1, 0x4)
    ["/xlv44/6.5.13m/work/x/xc/lib/X11/RecolorC.c":190, 0xf6599f0]
    7 saveYourselfCB(0x1028bc70, 0x101d78e0, 0x0, 0x11, 0x11,
    0x0, 0x1, 0x4)
    ["/users/chrisw/private/src/nedit/nedit-5.3rc1-irix/source/window.c":1674,
    0x10022820]
    8 _XmCallCallbackList(0x101dade8, 0x10236fd0, 0x7fff21f0,
    0x11, 0x11, 0x0, 0x1, 0x4)
    ["/xlv44/6.5.13m/work/motif/src/buildN32/lib/XmRoxy/CallbackI.c":193,
    0xb062d0c]
    9 ProtocolHandler(0x0, 0x9c0013b, 0x7fff24a0, 0x11, 0x11,
    0x0, 0x1, 0x4)
    ["/xlv44/6.5.13m/work/motif/src/buildN32/lib/XmRoxy/Protocols.c":590,
    0xb15c0a4]
    10 CallEventHandlers(0x101dade8, 0x7fff24a0, 0x7fff2238,
    0x11, 0x11, 0x7fff223c, 0x1, 0x4)
    ["/xlv44/6.5.13m/work/x/xc/lib/Xt/Hooks.c":871, 0xf4afae0]
    11 XtDispatchEventToWidget(0x101dade8, 0x7fff24a0, 0x0,
    0x11, 0x11, 0x0, 0x1, 0x4)
    ["/xlv44/6.5.13m/work/x/xc/lib/Xt/NextEvent.c":992, 0xf4bcfdc]
    12 _XtDefaultDispatcher(0x7fff24a0, 0x9c0013b, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0)
    ["/xlv44/6.5.13m/work/x/xc/lib/Xt/NextEvent.c":1476, 0xf4bd9f4]
    13 XtDispatchEvent(0x0, 0x0, 0x0, 0x11, 0x11, 0x0, 0x1,
    0x4) ["/xlv44/6.5.13m/work/x/xc/lib/Xt/NextEvent.c":1571,
    0xf4b99b0]
    14 ServerMainLoop(0x10169578, 0x9c0013b, 0x0, 0x11, 0x11,
    0x0, 0x1, 0x4)
    ["/users/chrisw/private/src/nedit/nedit-5.3rc1-irix/source/server.c":146,
    0x100724b0]
    15 main(0x4, 0x1011f2bc, 0x0, 0x11, 0x11, 0x0, 0x1, 0x4)
    ["/users/chrisw/private/src/nedit/nedit-5.3rc1-irix/source/nedit.c":528,
    0x1000fab8]
    16 __start()
    ["/xlv55/kudzu-apr12/work/irix/lib/libc/libc_n32_M4/csu/crt1text.s":177,
    0x1000f568]

    This is a second core...

    Core from signal SIGSEGV: Segmentation violation
    (dbx) where
    > 0 t_splay(0x1027a888, 0xa40013b, 0x0, 0x31200000,
    0x31200000, 0x0, 0x1, 0x4)
    ["/xlv44/6.5.13m/work/irix/lib/libc/libc_n32_M4/gen/malloc.c":861,
    0xfb0c6a8]
    1 t_delete(0x1027a888, 0xa40013b, 0x0, 0x31200000,
    0x31200000, 0x0, 0x1, 0x4)
    ["/xlv44/6.5.13m/work/irix/lib/libc/libc_n32_M4/gen/malloc.c":796,
    0xfb0c558]
    2 realfree(0x1027a888, 0xa40013b, 0x0, 0x31200000, 0x0,
    0x0, 0x1, 0x4)
    ["/xlv44/6.5.13m/work/irix/lib/libc/libc_n32_M4/gen/malloc.c":531,
    0xfb0c348]
    3 cleanfree(0x0, 0xa40013b, 0x0, 0x31200000, 0x31200000,
    0x0, 0x1, 0x4)
    ["/xlv44/6.5.13m/work/irix/lib/libc/libc_n32_M4/gen/malloc.c":944,
    0xfb0c990]
    4 __malloc(0x0, 0xa40013b, 0x0, 0x31200000, 0x31200000,
    0x0, 0x1, 0x0)
    ["/xlv44/6.5.13m/work/irix/lib/libc/libc_n32_M4/gen/malloc.c":230,
    0xfb0bbbc]
    5 _malloc(0x0, 0xa40013b, 0x0, 0x31200000, 0x31200000,
    0x0, 0x1, 0x4)
    ["/xlv44/6.5.13m/work/irix/lib/libc/libc_n32_M4/gen/malloc.c":186,
    0xfb0ba28]
    6 XSetCommand(0x0, 0x0, 0x0, 0x0, 0x31200000, 0x0, 0x1,
    0x4) ["/xlv44/6.5.13m/work/x/xc/lib/X11/RecolorC.c":190,
    0xf6599f0]
    7 saveYourselfCB(0x1027a888, 0x101d78b0, 0x0, 0x31200000,
    0x31200000, 0x0, 0x1, 0x4)
    ["/users/chrisw/private/src/nedit/nedit-5.3rc1-irix/source/window.c":1674,
    0x10022820]
    8 _XmCallCallbackList(0x101dadb8, 0x10237390, 0x7fff21e0,
    0x31200000, 0x31200000, 0x0, 0x1, 0x4)
    ["/xlv44/6.5.13m/work/motif/src/buildN32/lib/XmRoxy/CallbackI.c":193,
    0xb062d0c]
    9 ProtocolHandler(0x0, 0xa40013b, 0x7fff2490, 0x31200000,
    0x31200000, 0x0, 0x1, 0x4)
    ["/xlv44/6.5.13m/work/motif/src/buildN32/lib/XmRoxy/Protocols.c":590,
    0xb15c0a4]
    10 CallEventHandlers(0x101dadb8, 0x7fff2490, 0x7fff2228,
    0x31200000, 0x31200000, 0x7fff222c, 0x1, 0x4)
    ["/xlv44/6.5.13m/work/x/xc/lib/Xt/Hooks.c":871, 0xf4afae0]
    11 XtDispatchEventToWidget(0x101dadb8, 0x7fff2490, 0x0,
    0x31200000, 0x31200000, 0x0, 0x1, 0x4)
    ["/xlv44/6.5.13m/work/x/xc/lib/Xt/NextEvent.c":992, 0xf4bcfdc]
    12 _XtDefaultDispatcher(0x7fff2490, 0xa40013b, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0)
    ["/xlv44/6.5.13m/work/x/xc/lib/Xt/NextEvent.c":1476, 0xf4bd9f4]
    13 XtDispatchEvent(0x0, 0x0, 0x0, 0x31200000, 0x31200000,
    0x0, 0x1, 0x4)
    ["/xlv44/6.5.13m/work/x/xc/lib/Xt/NextEvent.c":1571, 0xf4b99b0]
    14 ServerMainLoop(0x10169578, 0xa40013b, 0x0, 0x31200000,
    0x31200000, 0x0, 0x1, 0x4)
    ["/users/chrisw/private/src/nedit/nedit-5.3rc1-irix/source/server.c":146,
    0x100724b0]
    15 main(0x5, 0x1011f2bc, 0x0, 0x31200000, 0x31200000,
    0x0, 0x1, 0x5)
    ["/users/chrisw/private/src/nedit/nedit-5.3rc1-irix/source/nedit.c":528,
    0x1000fab8]
    16 __start()
    ["/xlv55/kudzu-apr12/work/irix/lib/libc/libc_n32_M4/csu/crt1text.s":177,
    0x1000f568]

     
  • Eddy De Greef

    Eddy De Greef - 2002-05-03

    Logged In: YES
    user_id=73597

    For some reason, NEdit seems to receive an event that
    instructs it to save its session.

    Can you recompile your binary with -DNO_SESSION_RESTART
    added to the CFLAGS and see whether the crashes still
    occur? (Be sure to make clean first.)
    That could narrow down the search space.

     
  • Wally Crooze

    Wally Crooze - 2002-05-08

    Logged In: YES
    user_id=530199

    After recompiling with the -DNO_SESSION_RESTART flag it
    appears to be stable...

     
  • Eddy De Greef

    Eddy De Greef - 2002-05-08
    • assigned_to: nobody --> edg
     
  • Eddy De Greef

    Eddy De Greef - 2002-05-08

    Logged In: YES
    user_id=73597

    I think I may have found the reason for the problems.
    Can you apply the patch that I attached, recompile
    (without the extra flag) and test it again?
    Thanks.

     
  • Eddy De Greef

    Eddy De Greef - 2002-05-08

    fix attempt

     
  • Eddy De Greef

    Eddy De Greef - 2002-07-12

    Logged In: YES
    user_id=73597

    I have applied the patch to CVS (it was certainly a bug).
    I presume that NEdit is more stable with the patch ?

     
  • Eddy De Greef

    Eddy De Greef - 2002-07-12
    • status: open --> closed-fixed
     
  • Eddy De Greef

    Eddy De Greef - 2002-09-12

    Logged In: YES
    user_id=73597

    Reopened because it doesn't appear to be solved (see #608151).

     
  • Eddy De Greef

    Eddy De Greef - 2002-09-12
    • status: closed-fixed --> open-fixed
     
  • Andrew Hood

    Andrew Hood - 2002-09-19

    Logged In: YES
    user_id=36856

    Just a shot in the dark, but would a debugging malloc add a
    bit more info? Most of the backtrace is in malloc.

     
  • Eddy De Greef

    Eddy De Greef - 2002-09-19

    Logged In: YES
    user_id=73597

    Possibly. But since it seems to be a platform-specific bug
    (maybe in libX/libXt/X-server), it has to be done by someone
    who has access to that platform (and can reproduce the problem).

    Any volunteers for collecting dmalloc traces?

     
  • Scott Tringali

    Scott Tringali - 2003-06-21

    Logged In: YES
    user_id=11321

    Ed, didn't we have a workaround patch for the SAVE_YOURSELF
    problem? Or is this a different bug? I would really like
    to get any unexpected quits fixed/worked around before 5.4
    goes out the door.

    Another idea is to set XmNargc/XmNargv instead of using
    XSetCommand directly. Don't know if that would help.

     
  • Scott Tringali

    Scott Tringali - 2003-06-21
    • priority: 5 --> 7
     
  • Scott Tringali

    Scott Tringali - 2003-06-21

    Logged In: YES
    user_id=11321

    Given the malloc error, maybe we're passing in some bad
    pointers to XSetCommand. We build a list of arguments,
    which is fairly complex. But first we allocate a "guessed"
    amount of space we need (maxArgc). I'm wondering if argc
    turns out to be higher than maxArgc, and we wind up
    overwriting the end of the array.

     
  • Eddy De Greef

    Eddy De Greef - 2003-06-21

    Logged In: YES
    user_id=73597

    I don't believe this is related to the other session
    management problem (MWM simply terminates the application
    when a window is closed).
    You may be right about the underestimation of the maximum
    number of arguments. I think the server arguments are
    overlooked, and the maximum count is off by 3.
    But I doubt that it can explain the crashes. The 4 arguments
    to XSetCommand are all 0 (ignore the last 4; they are
    identical for all calls in the trace). The first argument
    should be TheDisplay, which is a global variable. The second
    one is the window. I find it extremely unlikely that an
    overflow of the argv list could result in both these
    arguments becoming zero.
    My guess is that something else has gone wrong somewhere,
    possibly causing the saveYourselfCB being called erroneously.
    Maybe we should completely disable session management after
    all. The WM_SAVE_YOURSELF protocol was probably already
    obsolete by the time that NEdit got session management.

     
  • Scott Tringali

    Scott Tringali - 2004-02-24

    Logged In: YES
    user_id=11321

    This is a shot in the dark, but the widget hierarchy was rearranged in 5.5 (CVS) in order to match the X documentation. I think there may be some relation between this bug and our previously incorrect widget hieararchy. I'd be interested to see if it's still happening now.

     
  • Wally Crooze

    Wally Crooze - 2004-10-15

    Logged In: YES
    user_id=530199

    I haven't seen a problem since I've been running 5.5 RC1.
    RC2 seems stable and I've only just installed the Release
    Version.

    I think this can be closed. Thanks for everybodies help.

     
  • Eddy De Greef

    Eddy De Greef - 2004-10-15

    Logged In: YES
    user_id=73597

    Ok, closing this. Please reopen if it happens again.
    Thanks.

     
  • Eddy De Greef

    Eddy De Greef - 2004-10-15
    • status: open-fixed --> closed-fixed
     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks