[Soc-2005-dev] New booleans builds

Chris Want cwant at ualberta.ca
Mon Oct 17 06:47:31 CEST 2005


Hi Marc,

Looks like there are still a lot of problems with the
new booleans on Windows XP, which seems a lot less fault
tolerant than linux:

http://www.blender.org/forum/viewtopic.php?t=7137

Seems some pointer is still being used after the memory
it points to has been freed?

I've tried the intersect function using a cube and a sphere
(center at 1,1,1), and valgrind still gives some errors
(see trimmed output below).

Cheers,
Chris

-----------------------

==13401== Conditional jump or move depends on uninitialised value(s)
==13401==    at 0x8262DFD: BOP_createXS(BOP_Mesh*, BOP_Face*, BOP_Face*, 
MT_Plane3, MT_Plane3, BOP_Segment, BOP_Segment, bool, BOP_Segment*) 
(BOP_Face2Face.cpp:726)
==13401==    by 0x8262C50: BOP_createXS(BOP_Mesh*, BOP_Face*, BOP_Face*, 
BOP_Segment, BOP_Segment, bool, BOP_Segment*) (BOP_Face.h:60)
==13401==    by 0x8261C7D: BOP_intersectNonCoplanarFaces(BOP_Mesh*, 
std::vector<BOP_Face*, std::allocator<BOP_Face*> >*, 
std::vector<BOP_Face*, std::allocator<BOP_Face*> >*, BOP_Face*, 
BOP_Face*) (BOP_Face2Face.cpp:365)
==13401==    by 0x8260CCC: BOP_Face2Face(BOP_Mesh*, 
std::vector<BOP_Face*, std::allocator<BOP_Face*> >*, 
std::vector<BOP_Face*, std::allocator<BOP_Face*> >*) (BOP_Face2Face.cpp:177)
==13401==    by 0x8250CF7: BOP_intersectionBoolOp(BOP_Mesh*, 
std::vector<BOP_Face*, std::allocator<BOP_Face*> >*, 
std::vector<BOP_Face*, std::allocator<BOP_Face*> >*, bool, bool) 
(BOP_Interface.cpp:193)
==13401==    by 0x8250A3C: BOP_performBooleanOperation(EnumBoolOpType, 
CSG_MeshPropertyDescriptor, BSP_CSGMesh**, CSG_MeshPropertyDescriptor, 
CSG_FaceIteratorDescriptor, CSG_VertexIteratorDescriptor, 
CSG_MeshPropertyDescriptor, CSG_FaceIteratorDescriptor, 
CSG_VertexIteratorDescriptor, int (*)(void*, void*, void*, float)) 
(BOP_Interface.cpp:125)
==13401==    by 0x8247F41: CSG_PerformBooleanOperation (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x8188F9A: NewBooleanMesh (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80CE66D: special_editmenu (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x815B9DD: winqreadview3dspace (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x81656C6: scrarea_do_winhandle (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80D5951: scrarea_dispatch_events (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==
==13401== Conditional jump or move depends on uninitialised value(s)
==13401==    at 0x8262E0A: BOP_createXS(BOP_Mesh*, BOP_Face*, BOP_Face*, 
MT_Plane3, MT_Plane3, BOP_Segment, BOP_Segment, bool, BOP_Segment*) 
(BOP_Face2Face.cpp:727)
==13401==    by 0x8262C50: BOP_createXS(BOP_Mesh*, BOP_Face*, BOP_Face*, 
BOP_Segment, BOP_Segment, bool, BOP_Segment*) (BOP_Face.h:60)
==13401==    by 0x8261C7D: BOP_intersectNonCoplanarFaces(BOP_Mesh*, 
std::vector<BOP_Face*, std::allocator<BOP_Face*> >*, 
std::vector<BOP_Face*, std::allocator<BOP_Face*> >*, BOP_Face*, 
BOP_Face*) (BOP_Face2Face.cpp:365)
==13401==    by 0x8260CCC: BOP_Face2Face(BOP_Mesh*, 
std::vector<BOP_Face*, std::allocator<BOP_Face*> >*, 
std::vector<BOP_Face*, std::allocator<BOP_Face*> >*) (BOP_Face2Face.cpp:177)
==13401==    by 0x8250CF7: BOP_intersectionBoolOp(BOP_Mesh*, 
std::vector<BOP_Face*, std::allocator<BOP_Face*> >*, 
std::vector<BOP_Face*, std::allocator<BOP_Face*> >*, bool, bool) 
(BOP_Interface.cpp:193)
==13401==    by 0x8250A3C: BOP_performBooleanOperation(EnumBoolOpType, 
CSG_MeshPropertyDescriptor, BSP_CSGMesh**, CSG_MeshPropertyDescriptor, 
CSG_FaceIteratorDescriptor, CSG_VertexIteratorDescriptor, 
CSG_MeshPropertyDescriptor, CSG_FaceIteratorDescriptor, 
CSG_VertexIteratorDescriptor, int (*)(void*, void*, void*, float)) 
(BOP_Interface.cpp:125)
==13401==    by 0x8247F41: CSG_PerformBooleanOperation (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x8188F9A: NewBooleanMesh (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80CE66D: special_editmenu (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x815B9DD: winqreadview3dspace (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x81656C6: scrarea_do_winhandle (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80D5951: scrarea_dispatch_events (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==
==13401== Invalid read of size 4
==13401==    at 0x8248050: CSG_FreeBooleanOperation (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x8188FB2: NewBooleanMesh (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80CE66D: special_editmenu (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x815B9DD: winqreadview3dspace (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x81656C6: scrarea_do_winhandle (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80D5951: scrarea_dispatch_events (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80D6CCF: screen_dispatch_events (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80D7134: screenmain (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80A9BBE: main (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==  Address 0x1C844D50 is 0 bytes inside a block of size 72 free'd
==13401==    at 0x1B904CA8: operator delete(void*) (vg_replace_malloc.c:155)
==13401==    by 0x82477B7: 
BSP_CSGMesh_FaceIt_Destruct(CSG_FaceIteratorDescriptor*) (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x818916E: NewBooleanMesh (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80CE66D: special_editmenu (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x815B9DD: winqreadview3dspace (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x81656C6: scrarea_do_winhandle (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80D5951: scrarea_dispatch_events (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80D6CCF: screen_dispatch_events (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80D7134: screenmain (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80A9BBE: main (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==
==13401== Invalid write of size 4
==13401==    at 0x8248055: CSG_FreeBooleanOperation (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x8188FB2: NewBooleanMesh (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80CE66D: special_editmenu (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x815B9DD: winqreadview3dspace (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x81656C6: scrarea_do_winhandle (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80D5951: scrarea_dispatch_events (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80D6CCF: screen_dispatch_events (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80D7134: screenmain (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80A9BBE: main (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==  Address 0x1C844D50 is 0 bytes inside a block of size 72 free'd
==13401==    at 0x1B904CA8: operator delete(void*) (vg_replace_malloc.c:155)
==13401==    by 0x82477B7: 
BSP_CSGMesh_FaceIt_Destruct(CSG_FaceIteratorDescriptor*) (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x818916E: NewBooleanMesh (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80CE66D: special_editmenu (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x815B9DD: winqreadview3dspace (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x81656C6: scrarea_do_winhandle (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80D5951: scrarea_dispatch_events (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80D6CCF: screen_dispatch_events (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80D7134: screenmain (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)
==13401==    by 0x80A9BBE: main (in 
/scratch/tmp/soc-2005/mfreixas/soc-blender/obj/linux-glibc2.3.5-i386/bin/blender)


More information about the Soc-2005-dev mailing list