Merge pull request #331 from qarmin/master

Fix fuzzer freeze and crashes
This commit is contained in:
Marc 2021-12-11 22:33:32 +00:00 committed by GitHub
commit fdcb1c9fdd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 63 additions and 51 deletions

View File

@ -35,58 +35,9 @@ jobs:
ref: 3.x
path: fuzzer
# Currently configuration is done by modifing source code
- name: Configure fuzzer
working-directory: fuzzer
- name: Copy fuzzer settings
run: |
sed -i 's/var use_parent_methods: bool = false/var use_parent_methods: bool = true/' FunctionExecutor.gd
sed -i 's/var add_to_tree: bool = false/var add_to_tree: bool = true/' FunctionExecutor.gd
sed -i 's/var delay_removing_added_nodes_to_next_frame: bool = false/var delay_removing_added_nodes_to_next_frame: bool = true/' FunctionExecutor.gd
echo "FastNoiseLite" >> classes.txt
echo "FastNoiseLiteGradient" >> classes.txt
echo "Voxel" >> classes.txt
echo "VoxelBlockSerializer" >> classes.txt
echo "VoxelBoxMover" >> classes.txt
echo "VoxelBuffer" >> classes.txt
echo "VoxelColorPalette" >> classes.txt
echo "VoxelGenerator" >> classes.txt
echo "VoxelGeneratorFlat" >> classes.txt
echo "VoxelGeneratorGraph" >> classes.txt
echo "VoxelGeneratorHeightmap" >> classes.txt
echo "VoxelGeneratorImage" >> classes.txt
echo "VoxelGeneratorNoise" >> classes.txt
echo "VoxelGeneratorNoise2D" >> classes.txt
echo "VoxelGeneratorScript" >> classes.txt
echo "VoxelGeneratorWaves" >> classes.txt
echo "VoxelInstanceComponent" >> classes.txt
echo "VoxelInstanceGenerator" >> classes.txt
echo "VoxelInstanceLibrary" >> classes.txt
echo "VoxelInstanceLibraryItem" >> classes.txt
echo "VoxelInstanceLibraryItemBase" >> classes.txt
echo "VoxelInstanceLibrarySceneItem" >> classes.txt
echo "VoxelInstancer" >> classes.txt
echo "VoxelLibrary" >> classes.txt
echo "VoxelLodTerrain" >> classes.txt
echo "VoxelMesher" >> classes.txt
echo "VoxelMesherBlocky" >> classes.txt
echo "VoxelMesherCubes" >> classes.txt
echo "VoxelMesherDMC" >> classes.txt
echo "VoxelMesherTransvoxel" >> classes.txt
echo "VoxelNode" >> classes.txt
echo "VoxelRaycastResult" >> classes.txt
echo "VoxelServer" >> classes.txt
echo "VoxelStream" >> classes.txt
echo "VoxelStreamBlockFiles" >> classes.txt
echo "VoxelStreamRegionFiles" >> classes.txt
echo "VoxelStreamSQLite" >> classes.txt
echo "VoxelStreamScript" >> classes.txt
echo "VoxelTerrain" >> classes.txt
echo "VoxelTool" >> classes.txt
echo "VoxelToolBuffer" >> classes.txt
echo "VoxelToolLodTerrain" >> classes.txt
echo "VoxelToolTerrain" >> classes.txt
echo "VoxelViewer" >> classes.txt
echo "VoxelVoxLoader" >> classes.txt
mv modules/voxel/misc/fuzzer_config.txt fuzzer/settings.txt
# Azure repositories are not reliable, we need to prevent azure giving us packages.
- name: Make apt sources.list use the default Ubuntu repositories
@ -161,6 +112,12 @@ jobs:
name: timer
path: fuzzer/timer.txt
- name: Store memory usage results
uses: actions/upload-artifact@v2
with:
name: memory_usage
path: fuzzer/memory_usage.txt
- name: Check fuzzer output
run: |
fuzzer/misc/check_ci_log.py sanitizers_log.txt

55
misc/fuzzer_config.txt Normal file
View File

@ -0,0 +1,55 @@
use_parent_methods: true
add_to_tree: true
delay_removing_added_nodes_to_next_frame: true
test_one_class_multiple_times: true
custom_classes:
FastNoiseLite
FastNoiseLiteGradient
Voxel
VoxelBlockSerializer
VoxelBoxMover
VoxelBuffer
VoxelColorPalette
VoxelGenerator
VoxelGeneratorFlat
VoxelGeneratorGraph
VoxelGeneratorHeightmap
VoxelGeneratorImage
VoxelGeneratorNoise
VoxelGeneratorNoise2D
VoxelGeneratorScript
VoxelGeneratorWaves
VoxelInstanceComponent
VoxelInstanceGenerator
VoxelInstanceLibrary
VoxelInstanceLibraryItem
VoxelInstanceLibraryItemBase
VoxelInstanceLibrarySceneItem
VoxelInstancer
VoxelLibrary
VoxelLodTerrain
VoxelMesher
VoxelMesherBlocky
VoxelMesherCubes
VoxelMesherDMC
VoxelMesherTransvoxel
VoxelNode
VoxelRaycastResult
VoxelServer
VoxelStream
VoxelStreamBlockFiles
VoxelStreamRegionFiles
VoxelStreamSQLite
VoxelStreamScript
VoxelTerrain
VoxelTool
VoxelToolBuffer
VoxelToolLodTerrain
VoxelToolTerrain
VoxelViewer # Cause freeze when using with VoxelTerrain, due iterating each cell
VoxelVoxLoader
#function_exceptions_append:
#debug_print_sdf_top_down # Look at https://github.com/Zylann/godot_voxel/issues/330