#1736: wxNVIZ volume display crashes Mac -----------------------+---------------------------------------------------- Reporter: cmbarton | Owner: grass-dev@… Type: defect | Status: new Priority: critical | Milestone: 6.4.4 Component: wxGUI | Version: svn-releasebranch64 Keywords: | Platform: MacOSX Cpu: OSX/Intel | -----------------------+---------------------------------------------------- Changes (by annakrat):
* milestone: 6.4.3 => 6.4.4 Comment: Update: crash happens when drawing isosurfaces both on Mac and Linux (tested on G7). It does not happen always, I think it depends on data. Testing data from Helena are [http://skagit.meas.ncsu.edu/~helena/grasswork/JR_7408MR_2m_t70.asci.zip here]. Try e.g. isosurface of value 10. This is the relevant part of Mac report: {{{ 0 libgrass_ogsf.7.0.svn.dylib 0x077aaf09 gvl_read_char + 41 (gvl_calc.c:770) 1 libgrass_ogsf.7.0.svn.dylib 0x077b0d59 gvld_isosurf + 3577 (gvld.c:329) 2 libgrass_ogsf.7.0.svn.dylib 0x077afea6 gvld_vol + 134 (gvld.c:54) 3 libgrass_ogsf.7.0.svn.dylib 0x0777a4ed GVL_draw_vol + 45 (GVL2.c:410) 4 libgrass_nviz.7.0.svn.dylib 0x0787c2af Nviz_draw_all_vol + 63 (draw.c:186) 5 libgrass_nviz.7.0.svn.dylib 0x0787c399 Nviz_draw_all + 153 (draw.c:241) }}} The problem is (as debugger in Qt shows) that variable 'crnt_ev' in gvld.c on line 320 is 12: {{{ pos[i] = edge_pos[crnt_ev]; }}} but 'edge_pos' is a field with size 12 (see line 111) so it reads wrong data. The value of the variable 'crnt_ev' comes from a big look-up table (mc33_table.h, line 340). So either the size of the field 'edge_pos' is wrong or the table is wrong. On line 323 in gvld.c 'crnt_ev' is tested on value 12 so it seems that 12 is valid? The marching cubes algorithm is unfortunately too complicated and there are almost no comments in the code so I have no idea what all the numbers mean. I tried to set the size of the field 'edge_pos' to 13 and isosurfaces don't crash anymore (tested on Linux only) and look normally. But I have no idea if they are drawn correctly. Any ideas? -- Ticket URL: <http://trac.osgeo.org/grass/ticket/1736#comment:26> GRASS GIS <http://grass.osgeo.org> _______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev