Select location of divesite in new map widget

Dirk Hohndel dirk at hohndel.org
Tue Oct 3 10:49:33 PDT 2017


> On Oct 3, 2017, at 10:32 AM, Lubomir I. Ivanov <neolit123 at gmail.com> wrote:
> 
> On 3 October 2017 at 20:23, Lubomir I. Ivanov <neolit123 at gmail.com> wrote:
>> On 3 October 2017 at 20:16, Lubomir I. Ivanov <neolit123 at gmail.com> wrote:
>>> i don't remember such a crash with no empty dive site name, when i was
>>> working on the map, so it might be a new thing.
>>> 
>>> this:
>>> 00507BD2 44EA0000 00000000 044FC968  subsurface.exe!myInvalidate
>>> [/home/stefan/Entwicklung/Subsurface/subsurface/qt-models/filtermodels.cpp
>>> @ 384]
>>> 0050804F 00000022 48B5DE74 044FC988  subsurface.exe!stopFilterDiveSite
>>> [/home/stefan/Entwicklung/Subsurface/subsurface/qt-models/filtermodels.cpp
>>> @ 456]
>>> suggests that the cause is the code related to dive site filtering.
>>> 
>>> i will now check the latest master, to see if i can reproduce the crash.
>>> 
>> 
>> the latest master crashes for me on startup with:
>> 
>> -----------------------------------------------------------------------------------------------------------
>> Program received signal SIGSEGV, Segmentation fault.
>> DiveListView::DiveListView (this=<optimized out>, parent=0x0)
>>    at C:\dev\subsurface\desktop-widgets\divelistview.cpp:98
>> 98                              defaultWidth[col] = width;
>> (gdb) bt
>> #0  DiveListView::DiveListView (this=<optimized out>, parent=0x0)
>>    at C:\dev\subsurface\desktop-widgets\divelistview.cpp:98
>> #1  0x0040804d in MainWindow::MainWindow (this=0x1a9abe80)
>>    at C:\dev\subsurface\desktop-widgets\mainwindow.cpp:105
>> #2  0x004016db in init_ui ()
>>    at C:\dev\subsurface\subsurface-desktop-helper.cpp:36
>> #3  0x00694378 in main (argc=1, argv=0x4b69928)
>>    at C:\dev\subsurface\subsurface-desktop-main.cpp:91
>> -----------------------------------------------------------------------------------------------------------
>> 
>> interesting...
>> 
> 
> yey, a compiler bug (stack corruption) in:
> gcc version 5.3.0 (i686-posix-dwarf-rev0, Built by MinGW-W64 project)
> 
> in divelistview.cpp, for this:
> for (int col = DiveTripModel::NR; col < DiveTripModel::COLUMNS; ++col) {
> 
> instead of incrementing col up to 16, it goes up to 2689.

Sweet. If you look at the preprocessor output, is it the DiveTripModel::COLUMNS
that is incorrectly expanded, or is it really the code generation?

And given that Gaetan sees this on Arch... different compiler, right?

WEIRD

/D


More information about the subsurface mailing list