Segfault when loading faces as floats #99916

Closed
opened 2022-07-22 18:09:33 +02:00 by gantsev denis · 8 comments

When accidentally loading faces as floats, segmentation fault happens.
Addon is available here: https://github.com/Warzone2100/warzone2100/tree/master/tools/blender/2.9x/pie_addon
Admittedly, it targets blender version 2.9 (which apperently accepted floats as indices), but this shouldn't trigger a segfault, a nicer user-visible error message would be appreciated


denis@dgecko:~> flatpak run org.blender.Blender
Read prefs: /home/denis/.var/app/org.blender.Blender/config/blender/3.2/config/userpref.blend
/run/user/1000/gvfs/ non-existent directory
reloading addon: pie_addon 1658482733.4439862 1658482966.7039828 '/home/denis/.var/app/org.blender.Blender/config/blender/3.2/scripts/addons/pie_addon/__init__.py'
Modules Installed () from '/home/denis/sources/my-ubuntu/warzone2100/tools/blender/2.9x/pie_addon.zip' into '/home/denis/.var/app/org.blender.Blender/config/blender/3.2/scripts/addons'
TypeError: 'float' object cannot be interpreted as an integer
Traceback (most recent call last):
  File "/home/denis/.var/app/org.blender.Blender/config/blender/3.2/scripts/addons/pie_addon/__init__.py", line 543, in execute
    importer.pie_import(context.scene, self.properties.filepath)
  File "/home/denis/.var/app/org.blender.Blender/config/blender/3.2/scripts/addons/pie_addon/pie_import.py", line 386, in pie_import
    self.pie_generateBlenderObjects(
  File "/home/denis/.var/app/org.blender.Blender/config/blender/3.2/scripts/addons/pie_addon/pie_import.py", line 178, in pie_generateBlenderObjects
    mesh.from_pydata(pie_points, [], pie_polygons)
  File "/app/blender/3.2/scripts/modules/bpy_types.py", line 572, in from_pydata
    self.polygons.foreach_set("vertices", vertex_indices)
TypeError: couldn't access the py sequence

system-info.txt

When accidentally loading faces as floats, segmentation fault happens. Addon is available here: https://github.com/Warzone2100/warzone2100/tree/master/tools/blender/2.9x/pie_addon Admittedly, it targets blender version 2.9 (which apperently accepted floats as indices), but this shouldn't trigger a segfault, a nicer user-visible error message would be appreciated ``` denis@dgecko:~> flatpak run org.blender.Blender Read prefs: /home/denis/.var/app/org.blender.Blender/config/blender/3.2/config/userpref.blend /run/user/1000/gvfs/ non-existent directory reloading addon: pie_addon 1658482733.4439862 1658482966.7039828 '/home/denis/.var/app/org.blender.Blender/config/blender/3.2/scripts/addons/pie_addon/__init__.py' Modules Installed () from '/home/denis/sources/my-ubuntu/warzone2100/tools/blender/2.9x/pie_addon.zip' into '/home/denis/.var/app/org.blender.Blender/config/blender/3.2/scripts/addons' TypeError: 'float' object cannot be interpreted as an integer Traceback (most recent call last): File "/home/denis/.var/app/org.blender.Blender/config/blender/3.2/scripts/addons/pie_addon/__init__.py", line 543, in execute importer.pie_import(context.scene, self.properties.filepath) File "/home/denis/.var/app/org.blender.Blender/config/blender/3.2/scripts/addons/pie_addon/pie_import.py", line 386, in pie_import self.pie_generateBlenderObjects( File "/home/denis/.var/app/org.blender.Blender/config/blender/3.2/scripts/addons/pie_addon/pie_import.py", line 178, in pie_generateBlenderObjects mesh.from_pydata(pie_points, [], pie_polygons) File "/app/blender/3.2/scripts/modules/bpy_types.py", line 572, in from_pydata self.polygons.foreach_set("vertices", vertex_indices) TypeError: couldn't access the py sequence ``` [system-info.txt](https://archive.blender.org/developer/F13308497/system-info.txt)
Author

Added subscriber: @dgan

Added subscriber: @dgan
Author

an example pie object: blaamnt1.pie

an example `pie` object: [blaamnt1.pie](https://archive.blender.org/developer/F13308520/blaamnt1.pie)

Added subscriber: @rjg

Added subscriber: @rjg

There already is a big warning for from_pydata in the API docs indicating that this function does not perform any validation.

There already is a big warning for `from_pydata` in the [API docs ](https://docs.blender.org/api/current/bpy.types.Mesh.html?highlight=from_pydata#bpy.types.Mesh.from_pydata) indicating that this function does not perform any validation.
Author

Ok will add a check. Sorry that's not my addon, and I am not familiar with Blender API.
Feel free to close !

Ok will add a check. Sorry that's not my addon, and I am not familiar with Blender API. Feel free to close !

Changed status from 'Needs Triage' to: 'Archived'

Changed status from 'Needs Triage' to: 'Archived'

No problem. In that case I would recommend that you either create an issue on the developer's GitHub repository or perhaps submit a pull request with a suggested fix.

No problem. In that case I would recommend that you either create an issue on the developer's GitHub repository or perhaps submit a pull request with a suggested fix.
Author

Yeah whoever made it is no longer available, I ll make a PR
thanks for assistance

Yeah whoever made it is no longer available, I ll make a PR thanks for assistance
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#99916
No description provided.