[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi] FFFFFFFF:FFFFFFFF
From: |
Greg Chicares |
Subject: |
[lmi] FFFFFFFF:FFFFFFFF |
Date: |
Sat, 12 Dec 2015 02:17:12 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.3.0 |
I wanted to test the patch below [0], so I added "false &&" just for
testing (I wouldn't commit that part) and tried loading a complex
census (perhaps one date field that varies by cell is complex enough).
I got an error message that seems not to be very useful (so I'll
remove the "lmi::TypeInfo(typeid(value))" part). Then, it crashed.
IIRC, it was an access violation at an address that was all hex 'F',
like FFFFFFFF:FFFFFFFF. My JIT debugger then printed an "abort, retry,
ignore" message saying that it had tried to access invalid memory; I
selected "ignore" a few times, and it finally finished. Then I copied
its screen contents to this VM's clipboard and pasted that into
IceWeasel, which froze for ten minutes until I killed it.
I report this in case it indicates a problem with wx.
---------
[0] "the patch below":
Index: census_view.cpp
===================================================================
--- census_view.cpp (revision 6436)
+++ census_view.cpp (working copy)
@@ -42,6 +42,7 @@
#include "ledger_text_formats.hpp"
#include "miscellany.hpp" // is_ok_for_cctype()
#include "path_utility.hpp"
+#include "rtti_lmi.hpp"
#include "safely_dereference_as.hpp"
#include "single_choice_popup_menu.hpp"
#include "timer.hpp"
@@ -680,15 +681,34 @@
{
tn_range_base const* as_range = member_cast<tn_range_base>(value);
if(typeid(int) == as_range->value_type())
+ {
return get_impl<renderer_int_range_convertor>();
+ }
else if(typeid(double) == as_range->value_type())
+ {
return get_impl<renderer_double_range_convertor>();
- else if(typeid(calendar_date) == as_range->value_type())
+ }
+ else if(false && typeid(calendar_date) == as_range->value_type())
+ {
return get_impl<renderer_date_convertor>();
+ }
+ else
+ {
+ warning()
+ << "Range type '"
+ << lmi::TypeInfo(typeid(value))
+ << "' unrecognized; it will be treated as a string."
+ << " Please report this issue."
+ << LMI_FLUSH
+ ;
+ // Fall through to treat datum as string.
+ }
}
else
{
; // Fall through.
+ // TODO ?? 'ce_product_name' is missing; it's silently treated
+ // as a string type, which is not what's really wanted.
}
return get_impl<renderer_fallback_convertor>();
- [lmi] FFFFFFFF:FFFFFFFF,
Greg Chicares <=