assert, ABORT, and friends

Stephen J. Turnbull stephen at xemacs.org
Wed Jun 21 00:07:55 EDT 2006


>>>>> "Jerry" == Jerry James <james at xemacs.org> writes:

    Jerry> It does not preserve more data.  Our code base is riddled
    Jerry> with code that assumes that ABORT() and failing assert()s
    Jerry> do not return.  So in a double assertion failure scenario,
    Jerry> what is likely to happen is that the second assert_failed()
    Jerry> will return, and the code it returns to will immediately do
    Jerry> something fatal based on the assumption that a return would
    Jerry> not happen.  So XEmacs is dead anyway, without having done
    Jerry> anything extra to preserve the user's data.

I wonder if this scenario helps to account for the number of
backtraces we see with no apparent connection to what the user said he
was doing at the time?

    Jerry> [...]

    Jerry> My position is that our code base assumes that those
    Jerry> functions do not return, therefore we should fix it so that
    Jerry> propery is guaranteed.

I'm convinced; I'm +1 on trying it your way, provided you give Ben a
few more days to respond.

-- 
School of Systems and Information Engineering http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba                    Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
               Ask not how you can "do" free software business;
              ask what your business can "do for" free software.




More information about the XEmacs-Beta mailing list