BRepAlgoAPI_Fuse will cause shape corruption.

Hello. When I try to fuse shape1 and shape2, the result shape is corrupted. Is there a way around the problem? I have confirmed that shape1 and shape2 are valid shapes in the BRepAlgoAPI_Check class.

[Code]

BRepAlgoAPI_Fuse fuseShape( shape1, shape2 );
fuseShape.Build();
TopoDS_Shape shape3 = fuseShape.Shape();

[Environment]

Opencascade: V7.6.3
OS: Windows 10 Pro 64bit
CPU: Intel(R) Core(TM) i7-8550U
Memory: 16GB