[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56736] trunk/blender/source/blender: add missing STACK_INIT, also quiet float <> double conversion warnings.

Mitchell Stokes mogurijin at gmail.com
Mon May 13 04:23:06 CEST 2013


The Blenderplayer stopped crashing with the Edge Split modifier, but it
seems to be stuck in an infinite loop. Here is some example output from gdb:

0x00000000011c4e8c in bmesh_vert_separate (bm=0x291add8, v=0x2941c58,
r_vout=0x0, r_vout_len=0x0) at
/home/mitchell/blender-dev/trunk/blender/source/blender/bmesh/intern/bmesh_core.c:1931
1931                    } while ((e = STACK_POP(stack)));
(gdb) bt
#0  0x00000000011c4e8c in bmesh_vert_separate (bm=0x291add8, v=0x2941c58,
r_vout=0x0, r_vout_len=0x0) at
/home/mitchell/blender-dev/trunk/blender/source/blender/bmesh/intern/bmesh_core.c:1931
#1  0x0000000001243f91 in BM_mesh_edgesplit (bm=0x291add8, use_verts=false,
tag_only=true) at
/home/mitchell/blender-dev/trunk/blender/source/blender/bmesh/tools/bmesh_edgesplit.c:162
#2  0x0000000000f317e8 in doEdgeSplit (dm=0x291ec08, emd=0x23ddac8,
UNUSED_ob=0x23dd358) at
/home/mitchell/blender-dev/trunk/blender/source/blender/modifiers/intern/MOD_edgesplit.c:93
#3  0x0000000000f318b2 in edgesplitModifier_do (emd=0x23ddac8,
ob=0x23dd358, dm=0x291ec08) at
/home/mitchell/blender-dev/trunk/blender/source/blender/modifiers/intern/MOD_edgesplit.c:127
#4  0x0000000000f318ea in applyModifier (md=0x23ddac8, ob=0x23dd358,
derivedData=0x291ec08, UNUSED_flag=(unknown: 0)) at
/home/mitchell/blender-dev/trunk/blender/source/blender/modifiers/intern/MOD_edgesplit.c:136
#5  0x0000000000acac75 in mesh_calc_modifiers (scene=0x23dad38,
ob=0x23dd358, inputVertexCos=0x0, deform_r=0x0, final_r=0x7fffffffcb68,
useRenderParams=0, useDeform=-1, needMapping=0, dataMask=532694146175,
index=-1, useCache=0,
    build_shapekey_layers=0) at
/home/mitchell/blender-dev/trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c:1670
#6  0x0000000000accec1 in mesh_create_derived_no_virtual (scene=0x23dad38,
ob=0x23dd358, vertCos=0x0, dataMask=532694146175) at
/home/mitchell/blender-dev/trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c:2370
#7  0x0000000000d23cb1 in BL_ModifierDeformer::Update (this=0x2919b90) at
/home/mitchell/blender-dev/trunk/blender/source/gameengine/Converter/BL_ModifierDeformer.cpp:172
#8  0x0000000000d23e7d in BL_ModifierDeformer::Apply (this=0x2919b90,
mat=0x0) at
/home/mitchell/blender-dev/trunk/blender/source/gameengine/Converter/BL_ModifierDeformer.cpp:206
#9  0x0000000000d24014 in BL_SkinDeformer::UpdateBuckets (this=0x2919b90)
at
/home/mitchell/blender-dev/trunk/blender/source/gameengine/Converter/BL_SkinDeformer.h:82
#10 0x0000000000d0f338 in BL_CreateGraphicObjectNew (gameobj=0x27f4d60,
localAabbMin=..., localAabbMax=..., kxscene=0x26a86d0, isActive=true,
physics_engine=UseBullet)
    at
/home/mitchell/blender-dev/trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp:1568
#11 0x0000000000d132ce in BL_ConvertBlenderObjects (maggie=0x2397238,
kxscene=0x26a86d0, ketsjiEngine=0x26ac450, physics_engine=UseBullet,
rendertools=0x2624a10, canvas=0x26216b0, converter=0x26ad7e0,
alwaysUseExpandFraming=false,
    libloading=false) at
/home/mitchell/blender-dev/trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp:2714
#12 0x0000000000d329d1 in KX_BlenderSceneConverter::ConvertScene
(this=0x26ad7e0, destinationscene=0x26a86d0, rendertools=0x2624a10,
canvas=0x26216b0, libloading=false)
    at
/home/mitchell/blender-dev/trunk/blender/source/gameengine/Converter/KX_BlenderSceneConverter.cpp:388
#13 0x0000000000929acd in GPG_Application::startEngine
(this=0x7fffffffd5e0) at
/home/mitchell/blender-dev/trunk/blender/source/gameengine/GamePlayer/ghost/GPG_Application.cpp:739
#14 0x000000000092893d in GPG_Application::startWindow
(this=0x7fffffffd5e0, title=..., windowLeft=100, windowTop=100,
windowWidth=640, windowHeight=480, stereoVisual=false, stereoMode=1,
samples=0)
    at
/home/mitchell/blender-dev/trunk/blender/source/gameengine/GamePlayer/ghost/GPG_Application.cpp:339
#15 0x0000000000926985 in main (argc=2, argv=0x7fffffffe608) at
/home/mitchell/blender-dev/trunk/blender/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp:983


This happens when I put an Edge Split modifier on the default cube and run
it through the Blenderplayer. I'm guessing something isn't being
initialized for the Blenderplayer (or a bad level call is being done that's
returning 0).

--Mitchell


On Sun, May 12, 2013 at 7:11 PM, Campbell Barton <ideasman42 at gmail.com>wrote:

> Revision: 56736
>
> http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56736
> Author:   campbellbarton
> Date:     2013-05-13 02:10:59 +0000 (Mon, 13 May 2013)
> Log Message:
> -----------
> add missing STACK_INIT, also quiet float <> double conversion warnings.
>
> Modified Paths:
> --------------
>     trunk/blender/source/blender/blenkernel/intern/tracking.c
>     trunk/blender/source/blender/bmesh/operators/bmo_utils.c
>
> Modified: trunk/blender/source/blender/blenkernel/intern/tracking.c
> ===================================================================
> --- trunk/blender/source/blender/blenkernel/intern/tracking.c   2013-05-13
> 02:01:35 UTC (rev 56735)
> +++ trunk/blender/source/blender/blenkernel/intern/tracking.c   2013-05-13
> 02:10:59 UTC (rev 56736)
> @@ -388,17 +388,17 @@
>         /* Convert the corners into search space coordinates. */
>         for (i = 0; i < 4; i++) {
>                 marker_unified_to_search_pixel(frame_width, frame_height,
> marker, marker->pattern_corners[i], pixel_coords);
> -               search_pixel_x[i] = pixel_coords[0] - 0.5;
> -               search_pixel_y[i] = pixel_coords[1] - 0.5;
> +               search_pixel_x[i] = pixel_coords[0] - 0.5f;
> +               search_pixel_y[i] = pixel_coords[1] - 0.5f;
>         }
>
>         /* Convert the center position (aka "pos"); this is the origin */
> -       unified_coords[0] = 0.0;
> -       unified_coords[1] = 0.0;
> +       unified_coords[0] = 0.0f;
> +       unified_coords[1] = 0.0f;
>         marker_unified_to_search_pixel(frame_width, frame_height, marker,
> unified_coords, pixel_coords);
>
> -       search_pixel_x[4] = pixel_coords[0] - 0.5;
> -       search_pixel_y[4] = pixel_coords[1] - 0.5;
> +       search_pixel_x[4] = pixel_coords[0] - 0.5f;
> +       search_pixel_y[4] = pixel_coords[1] - 0.5f;
>  }
>
>  /* Inverse of above. */
>
> Modified: trunk/blender/source/blender/bmesh/operators/bmo_utils.c
> ===================================================================
> --- trunk/blender/source/blender/bmesh/operators/bmo_utils.c    2013-05-13
> 02:01:35 UTC (rev 56735)
> +++ trunk/blender/source/blender/bmesh/operators/bmo_utils.c    2013-05-13
> 02:10:59 UTC (rev 56736)
> @@ -359,6 +359,7 @@
>          * stack (if we use simple function recursion, we'd end up
> overloading
>          * the stack on large meshes). */
>
> +       STACK_INIT(fstack);
>         STACK_PUSH(fstack, startf);
>         BMO_elem_flag_enable(bm, startf, FACE_VIS);
>
>
> _______________________________________________
> Bf-blender-cvs mailing list
> Bf-blender-cvs at blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>


More information about the Bf-committers mailing list