lmi
[Top][All Lists]
Advanced

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

Re[2]: [lmi] wxmsw-2.9.0 regression: messagebox doubling


From: Vadim Zeitlin
Subject: Re[2]: [lmi] wxmsw-2.9.0 regression: messagebox doubling
Date: Wed, 25 Feb 2009 01:26:36 +0100

On Tue, 24 Feb 2009 20:54:33 +0000 Greg Chicares <address@hidden> wrote:

GC> The directory that '--data_path' points to must contain
GC>   qx_cso.dat
GC>   qx_cso.ndx
GC> among other files; I would speculate that it does not.

 You're absolutely right, sorry for not realizing this. In my defense, the
error message might be a tad more clear...

 But unfortunately -- and sorry if I'm missing something obvious again --
even after unpacking the contents of

GC> 
http://download.savannah.gnu.org/releases-noredirect/lmi/lmi-data-20050618T1440Z.tar.bz2

in the data directory (which happens to be just "." as I don't use
--data_path) I still get an error (and a subsequent crash), albeit a
different one:

        Table 8 in file './sample': offset -1 is invalid.
        [file .\actuarial_table.cpp, line 275]

Does this indicate something wrong with my product_files binary which I
used to generate sample.{pol,rnd,db4,fnd,tir} files? Again, I didn't really
try to debug it yet...

GC> >  There are obviously many bugs in (inter)play here, I see at least:
GC> > 
GC> > 0. initial error is probably a bug, although whether it's in lmi_wx or
GC> >    in product_files which I used to generate the files is unclear
GC> > 1. safe_message_alert() doesn't seem to be safe
GC> > 2. m_childView shouldn't be left dangling
GC> > 
GC> > I'm going to fix (2) and I might look at (1) if you wish

 The cause for (1) is in fact a MSVC-specific feature/bug: it translates
Win32 SEH exceptions into C++ exceptions. So the crash, which happens
during repainting of the window is caught and the program tries to report
it and then the window is repainted again (while the message box is being
shown) and it crashes again and so on. This particular problem is MSVC-
specific but I do wonder if there shouldn't be some recursion safeguards in
safe_message_alert() to prevent this kind of problem.

 Regards,
VZ

reply via email to

[Prev in Thread] Current Thread [Next in Thread]