To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=115156





------- Additional comments from [email protected] Fri Oct 29 11:55:07 
+0000 2010 -------
The backtrace shows that the path to the crash came through functions
and macros with names including "DEBUG", "DBG", and "debug".  This
makes me suspect that I am getting this code because of my non-product
build.  (Hmm.  Why, I wonder, did I not see anything from the call to
__stl_debug_message() at _debug.c:303?  Oh well.)

Looking into
DomainMapperTableHandler::endTableGetCellProperties(TableInfo&),
defined at TableHandler.cxx:515, I see that line 521 allocates an
empty container and then line 526 attempts to calculate end()-1.  It
is entirely reasonable that the code implementing this should
complain.

This reminds me that issue 109142 requests that fired assertions
should abort the program.  This issue provoked considerable
discussion in the thread starting with
<http://www.openoffice.org/servlets/ReadMsg?list=dev&msgNo=26561>.
Still, I guess that sb was not asking for the program just to crash.
Or maybe one of the scores of assertions raised before the crash
actually explains the crash; I have not looked very far backward from
the crash itself.


If these comments sound plausible, then some ideas come to mind ...

(*) The STL code could helpfully fire an assertion before aborting the
    program.  This would allow a motivated user the attach a debugger
    and collect a backtrace upon seeing the problem for the first
    time.

    Is it sufficient to fire the assertion just before the
    _STLP_ABORT() that killed the program this time?  Or should the
    STL code be sprinkled with assertions?  I am not qualified to have
    an opinion.

(*) Is it legitimate for the container allocated at
    DomainMapperTableHandler.cxx:521 to be empty?

    ( Line 526 assumes that the container has at least one element.
    Lines 535 and 559 appear to avoid that assumption, but that is
    the natural result of the usual idiom for iterating over the
    elements in a container; I do not see it as saying much about the
    code actually expecting an empty container. )

    If the empty container is legitimate, then line 526 is simply
    wrong.

    If the empty container is not legitimate, then the program might
    reasonably complain and refuse to open the file, or complain and
    open the file anyway, or just open the file without complaint.


BTW, if I save the document from OOo as a .docx file, I can open the
saved file without a crash.  However, OOo writes a file so different
from the original that I cannot tell what is the important difference.


---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to