HolisticLandmark clashes
If draw_landmarks(landmarks) commented, it runs continuously.
func _result_callback(stream_name: String, packet: MediaPipePacket) -> void:
print(stream_name)
if stream_name == "image_in":
var image_frame = MediaPipeImage.create_from_packet(packet)
image = image_frame.get_image()
elif stream_name in ["pose_landmarks", "face_landmarks", "left_hand_landmarks", "right_hand_landmarks"]:
var proto := packet.get_proto("")
var landmarks = proto.get("landmark")
# draw_landmarks(landmarks)
elif stream_name == "face_blendshapes":
var proto = packet.get_proto("")
var classifications = proto.get("classification")
show_blendshapes(classifications)
E 0:00:54:0888 HolisticLandmarker.gd:81 @ show_blendshapes(): This function in this node (/root/VisionTask/VBoxContainer/Image/Blendshapes) can only be accessed from either the main thread or a thread group. Use call_deferred() instead.
<C++ Error> Condition "!is_readable_from_caller_thread()" is true. Returning: (false)
<C++ Source> scene/main/node.cpp:1278 @ can_auto_translate()
<Stack Trace> HolisticLandmarker.gd:81 @ show_blendshapes()
HolisticLandmarker.gd:22 @ _result_callback()
E 0:00:54:0889 HolisticLandmarker.gd:81 @ show_blendshapes(): Caller thread can't call this function in this node (/root/VisionTask/VBoxContainer/Image/Blendshapes). Use call_deferred() or call_thread_group() instead.
<C++ Error> Condition "!is_accessible_from_caller_thread()" is true.
<C++ Source> scene/main/canvas_item.cpp:423 @ queue_redraw()
<Stack Trace> HolisticLandmarker.gd:81 @ show_blendshapes()
HolisticLandmarker.gd:22 @ _result_callback()
E 0:00:54:0890 HolisticLandmarker.gd:81 @ show_blendshapes(): This function in this node (/root/VisionTask/VBoxContainer/Image/Blendshapes) can only be accessed from the main thread. Use call_deferred() instead.
<C++ Error> Condition "is_inside_tree() && !is_current_thread_safe_for_nodes()" is true.
<C++ Source> scene/gui/control.cpp:1613 @ update_minimum_size()
<Stack Trace> HolisticLandmarker.gd:81 @ show_blendshapes()
HolisticLandmarker.gd:22 @ _result_callback()
E 0:00:54:0892 HolisticLandmarker.gd:81 @ show_blendshapes(): Caller thread can't call this function in this node (/root/VisionTask/VBoxContainer/Image/Blendshapes). Use call_deferred() or call_thread_group() instead.
<C++ Error> Condition "!is_accessible_from_caller_thread()" is true.
<C++ Source> scene/main/node.cpp:3311 @ update_configuration_warnings()
<Stack Trace> HolisticLandmarker.gd:81 @ show_blendshapes()
HolisticLandmarker.gd:22 @ _result_callback()
Packet callbacks invoked by MediaPipeGraph are not executed during idle time in Godot, thus the error.
Demo project has updated to GDMP 28aaccc to make use of MediaPipeTaskRunner for holistic landmark task, that should fix the issue.
CrashHandlerException: Program crashed with signal 11
Engine version: Godot Engine v4.3.stable.official (77dcf97d82cbfe4e4615475fa52ca03da645dbd8)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] error(-1): no debug info in PE/COFF executable
[2] error(-1): no debug info in PE/COFF executable
[3] error(-1): no debug info in PE/COFF executable
[4] error(-1): no debug info in PE/COFF executable
[5] error(-1): no debug info in PE/COFF executable
[6] error(-1): no debug info in PE/COFF executable
[7] error(-1): no debug info in PE/COFF executable
[8] error(-1): no debug info in PE/COFF executable
[9] error(-1): no debug info in PE/COFF executable
[10] error(-1): no debug info in PE/COFF executable
[11] error(-1): no debug info in PE/COFF executable
[12] error(-1): no debug info in PE/COFF executable
[13] error(-1): no debug info in PE/COFF executable
[14] error(-1): no debug info in PE/COFF executable
[15] error(-1): no debug info in PE/COFF executable
[16] error(-1): no debug info in PE/COFF executable
[17] error(-1): no debug info in PE/COFF executable
[18] error(-1): no debug info in PE/COFF executable
[19] error(-1): no debug info in PE/COFF executable
[20] error(-1): no debug info in PE/COFF executable
[21] error(-1): no debug info in PE/COFF executable
[22] error(-1): no debug info in PE/COFF executable
[23] error(-1): no debug info in PE/COFF executable
[24] error(-1): no debug info in PE/COFF executable
[25] error(-1): no debug info in PE/COFF executable
[26] error(-1): no debug info in PE/COFF executable
[27] error(-1): no debug info in PE/COFF executable
[28] error(-1): no debug info in PE/COFF executable
[29] error(-1): no debug info in PE/COFF executable
[30] error(-1): no debug info in PE/COFF executable
-- END OF BACKTRACE --
================================================================
Could you try narrowing down to which line in GDScript lead to the crash? No platform-specific code is used in MediaPipeTaskRunner from GDMP side, chances are that there are issues in mediapipe when running on Windows.
CrashHandlerException: Program crashed with signal 11 Engine version: Godot Engine v4.3.stable.official (77dcf97d82cbfe4e4615475fa52ca03da645dbd8) Dumping the backtrace. Please include this when reporting the bug to the project developer. [1] error(-1): no debug info in PE/COFF executable [2] error(-1): no debug info in PE/COFF executable [3] error(-1): no debug info in PE/COFF executable [4] error(-1): no debug info in PE/COFF executable [5] error(-1): no debug info in PE/COFF executable [6] error(-1): no debug info in PE/COFF executable [7] error(-1): no debug info in PE/COFF executable [8] error(-1): no debug info in PE/COFF executable [9] error(-1): no debug info in PE/COFF executable [10] error(-1): no debug info in PE/COFF executable [11] error(-1): no debug info in PE/COFF executable [12] error(-1): no debug info in PE/COFF executable [13] error(-1): no debug info in PE/COFF executable [14] error(-1): no debug info in PE/COFF executable [15] error(-1): no debug info in PE/COFF executable [16] error(-1): no debug info in PE/COFF executable [17] error(-1): no debug info in PE/COFF executable [18] error(-1): no debug info in PE/COFF executable [19] error(-1): no debug info in PE/COFF executable [20] error(-1): no debug info in PE/COFF executable [21] error(-1): no debug info in PE/COFF executable [22] error(-1): no debug info in PE/COFF executable [23] error(-1): no debug info in PE/COFF executable [24] error(-1): no debug info in PE/COFF executable [25] error(-1): no debug info in PE/COFF executable [26] error(-1): no debug info in PE/COFF executable [27] error(-1): no debug info in PE/COFF executable [28] error(-1): no debug info in PE/COFF executable [29] error(-1): no debug info in PE/COFF executable [30] error(-1): no debug info in PE/COFF executable -- END OF BACKTRACE -- ================================================================
I think UI threads conflict. The App displays complete landmarks for 0.5 sec and clashes
I think UI threads conflict. The App displays complete landmarks for 0.5 sec and clashes
Does performing single image inference multiple times also lead to the crash?
When I suppressed draw landmarks but only displaying in text the blendshapes, the app run continuously.
Single image inference multiple times before callback is independent of UI. However, the sending of next frame image for GDectension multiple time inference must wait until all drawing of landmarks are completed . This is my guest.
Does updating to mediapipe v0.10.20 (https://github.com/j20001970/GDMP-demo/commit/d483c7ae963caae2c779217e7f4b7304c9d61320) solves your problem?
It works with image and loaded video.
Live Camera
@j20001970 crash again. Same error message as here https://github.com/j20001970/GDMP/issues/60#issuecomment-2537329584
Not sure why.
I see a completely render face landmarks and post landmarks, however, after I frame, the app crash.
Using loaded video, you could see missing face landmarks in same frames. miss alignment of post landmarks.
This project may need to have way to check the stability of landmarks. Pose landmarks using dots may not be sufficient.
e.g use lines to link up these dots for both pose and hand landmarks
@srcnalt https://github.com/srcnalt/rpm-godot-sdk/issues/3 Godot Mediapipe holistic landmark is almost there
Perhaps time to look into it, especially Facebook Meta is putting strong interest to Godot. See Godot Cons 2024 Nov
@Malcolmnixon GodotReadyPlayerMeAvatar
The hollisticlandmark is here The motion matching is now GDextension @GuilhermeGSousa https://github.com/GuilhermeGSousa/godot-motion-matching-demo
https://github.com/google-ai-edge/mediapipe/issues/3421#issuecomment-2571639888
Could you try narrowing down to which line in GDScript lead to the crash? No platform-specific code is used in
MediaPipeTaskRunnerfrom GDMP side, chances are that there are issues in mediapipe when running on Windows.CrashHandlerException: Program crashed with signal 11 Engine version: Godot Engine v4.3.stable.official (77dcf97d82cbfe4e4615475fa52ca03da645dbd8) Dumping the backtrace. Please include this when reporting the bug to the project developer. [1] error(-1): no debug info in PE/COFF executable [2] error(-1): no debug info in PE/COFF executable [3] error(-1): no debug info in PE/COFF executable [4] error(-1): no debug info in PE/COFF executable [5] error(-1): no debug info in PE/COFF executable [6] error(-1): no debug info in PE/COFF executable [7] error(-1): no debug info in PE/COFF executable [8] error(-1): no debug info in PE/COFF executable [9] error(-1): no debug info in PE/COFF executable [10] error(-1): no debug info in PE/COFF executable [11] error(-1): no debug info in PE/COFF executable [12] error(-1): no debug info in PE/COFF executable [13] error(-1): no debug info in PE/COFF executable [14] error(-1): no debug info in PE/COFF executable [15] error(-1): no debug info in PE/COFF executable [16] error(-1): no debug info in PE/COFF executable [17] error(-1): no debug info in PE/COFF executable [18] error(-1): no debug info in PE/COFF executable [19] error(-1): no debug info in PE/COFF executable [20] error(-1): no debug info in PE/COFF executable [21] error(-1): no debug info in PE/COFF executable [22] error(-1): no debug info in PE/COFF executable [23] error(-1): no debug info in PE/COFF executable [24] error(-1): no debug info in PE/COFF executable [25] error(-1): no debug info in PE/COFF executable [26] error(-1): no debug info in PE/COFF executable [27] error(-1): no debug info in PE/COFF executable [28] error(-1): no debug info in PE/COFF executable [29] error(-1): no debug info in PE/COFF executable [30] error(-1): no debug info in PE/COFF executable -- END OF BACKTRACE -- ================================================================
I'm running into this same issue bug. Can you provide more details about it's cause.
func init_task() -> void: var builder := MediaPipeGraphBuilder.new() var node := builder.add_node(package_name+".HolisticLandmarkerGraph") node.set_options(options) builder.connect_input_to("image_in", node, "IMAGE") builder.connect_to_output(node, "POSE_LANDMARKS", "pose_landmarks") builder.connect_to_output(node, "LEFT_HAND_LANDMARKS", "left_hand_landmarks") builder.connect_to_output(node, "RIGHT_HAND_LANDMARKS", "right_hand_landmarks") builder.connect_to_output(node, "FACE_LANDMARKS", "face_landmarks") builder.connect_to_output(node, "FACE_BLENDSHAPES", "face_blendshapes") var config := builder.get_config() var callback: Callable if running_mode == MediaPipeTask.RUNNING_MODE_LIVE_STREAM: callback = self._packets_callback task_runner.initialize(config, callback)
i think the issue lies with the MediaPipeGraphBuilder class. It appears to run stably when running one graph. But fails when multiple graphs are run. Additionally, the use of MediaPipeGraphBuilder is unique to the HolisticLandmarker.gd script. e.g(it's not used in FaceLandmarker.gd or HandLandmarker.gd)
CrashHandlerException: Program crashed with signal 11 corresponds to a segmentation fault error which leads me to believe that the MediaPipeGraphBuilder is causing a stackoverflow/bufferoverflow. If you can provide anymore insights into this issue it would be much appreciated
the use of MediaPipeGraphBuilder is unique to the HolisticLandmarker.gd script.
There are no official task API for holistic landmarker yet, MediaPipeGraphBuilder is introduced for creating graphs that are compiled in GDMP but currently no ways to access with class method calls.
CrashHandlerException: Program crashed with signal 11 corresponds to a segmentation fault error which leads me to believe that the MediaPipeGraphBuilder is causing a stackoverflow/bufferoverflow.
Could you point it out for me that which line in HolisticLandmarker.gd GDScript caused signal 11? thanks in advance.
I'm not really sure which specific line to point you towards. On a related note, I can't load the GDMP.windows.dll generated from source. Being able to do so would aid my debugging attempts and pinpoint the problematic line.
here is the rough outline of how I built the GDMP.windows.dll
python ./setup.py --custom-opencv-dir C:/opencv/build /venv/Scripts/activate python ./build.py desktop --type release --output build/
ERROR: Can't open dynamic library: C:/Users/gerry/Desktop/godot-4.2.2-stable/godot-4.2.2-stable/bin/godot_projects/new_. at: (platform\windows\os_windows.cpp:449) ERROR: Can't open GDExtension dynamic library: C:/Users/gerry/Desktop/godot-4.2.2-stable/godot-4.2.2-stable/bin/godot_pl at: (core\extension\gdextension.cpp:793) ERROR: Failed loading resource: res://addons/GDMP/GDMP.gdextension. Make sure resources have been imported by opening t. at: (core\io\resource_loader.cpp:325) ERROR: Error loading extension: res://addons/GDMP/GDMP.gdextension at: (core\extension\gdextension_manager.cpp:234)
yes, it is located at "res://addons/GDMP/libs/x86_64/GDMP.windows.dll"
I'm not really sure which specific line to point you towards. On a related note, I can't load the GDMP.windows.dll generated from source. Being able to do so would aid my debugging attempts and pinpoint the problematic line.
here is the rough outline of how I built the GDMP.windows.dll
python ./setup.py --custom-opencv-dir C:/opencv/build /venv/Scripts/activate python ./build.py desktop --type release --output build/
ERROR: Can't open dynamic library: C:/Users/gerry/Desktop/godot-4.2.2-stable/godot-4.2.2-stable/bin/godot_projects/new_. at: (platform\windows\os_windows.cpp:449) ERROR: Can't open GDExtension dynamic library: C:/Users/gerry/Desktop/godot-4.2.2-stable/godot-4.2.2-stable/bin/godot_pl at: (core\extension\gdextension.cpp:793) ERROR: Failed loading resource: res://addons/GDMP/GDMP.gdextension. Make sure resources have been imported by opening t. at: (core\io\resource_loader.cpp:325) ERROR: Error loading extension: res://addons/GDMP/GDMP.gdextension at: (core\extension\gdextension_manager.cpp:234)
yes, it is located at "res://addons/GDMP/libs/x86_64/GDMP.windows.dll"
It might be the incompatibility between bindings generated during setup.py and the editor version you are running (godot-cpp submodule is currently at v4.3). You can specify custom bindings with --extension-api-json or --godot-binary when running setup.py instead of using the one provided by godot-cpp.
Please also check that OpenCV libraries are also in the same folder with GDMP.windows.dll
--extension-api-json
Sorry My last post did not include this information. I am currently attempting to Open the GDMP.windows.dll with godotv4.3. looks like Godot is able to locate the GDMP.windows.dll but is not able to open it. The architectures are the same fore Godot and the GDMP.windows.dll (x86_64) so i guess the source GDMP.windows.dll is missing some dependencies???
yes, OpenCV libraries are also in the same folder with GDMP.windows.dll: version 3.4.1 I believe Godot locates and opens the OpenCV dll without issue since there are no error logs
Another interesting note, the prebuilt GDMP.windows.dll from the demo project is 10,126 kb while my source GDMP.windows.dll is 10,258 kb
Godot Engine v4.3.1.rc.custom_build.99d66b4b2 (2025-02-07 09:15:03 UTC) - https://godotengine.org ERROR: Condition "f.is_null()" is true. at: ShaderRD::_save_to_cache (servers\rendering\renderer_rd\shader_rd.cpp:474) ERROR: Condition "f.is_null()" is true. at: ShaderRD::_save_to_cache (servers\rendering\renderer_rd\shader_rd.cpp:474) ERROR: Condition "f.is_null()" is true. at: ShaderRD::_save_to_cache (servers\rendering\renderer_rd\shader_rd.cpp:474)
ERROR: Can't open dynamic library: C:/Users/gerry/Desktop/godot-4.2.2-stable/godot-4.2.2-stable/bin/godot_projects/new_gdmp_project/addons/GDMP/libs/x86_64/GDMP.windows.dll. Error: Error 126: The specified module could not be found.. at: (platform\windows\os_windows.cpp:449) ERROR: Can't open GDExtension dynamic library: C:/Users/gerry/Desktop/godot-4.2.2-stable/godot-4.2.2-stable/bin/godot_projects/new_gdmp_project/addons/GDMP/libs/x86_64/GDMP.windows.dll at: (core\extension\gdextension.cpp:793) ERROR: Failed loading resource: res://addons/GDMP/GDMP.gdextension. Make sure resources have been imported by opening the project in the editor at least once.
how would i use these flags? --extension-api-json or --godot-binary godot-cpp/gdextension/README.md ???
how would i use these flags? --extension-api-json or --godot-binary
These two flags are specific to setup.py in GDMP:
- Use
--extension-api-jsonto point to aextension-api.jsonfile that you already have. - Use
--godot-binaryto point to your Godot editor executable, andsetup.pywill useextension-api.jsonthat generated by the editor.
how would i use these flags? --extension-api-json or --godot-binary
These two flags are specific to
setup.pyin GDMP:
- Use
--extension-api-jsonto point to aextension-api.jsonfile that you already have.- Use
--godot-binaryto point to your Godot editor executable, andsetup.pywill useextension-api.jsonthat generated by the editor.
\GDMP>python setup.py --custom-opencv-dir C:/opencv/build --extension-api-json C:/Users/gerry/Desktop/gdmp_source_4/GDMP/godot-cpp/gdextension/extension_api.json --godot-binary C:/Users/gerry/Desktop/godot_v4_3/godot/bin/godot.windows.editor.x86_64.exe Dumping Extension API Godot Engine v4.3.1.rc.custom_build.99d66b4b2 (2025-02-07 09:15:03 UTC) - https://godotengine.org
Built-in type config: float_64
Using git for applying patches.
Patching mediapipe
Applying 00-WORKSPACE.diff
Applying 01-glog.diff
Applying 01-halide.diff
Applying 01-opencv.diff
Applying 01-v0.10.13-windows.diff
Applying 02-api2_copy_from_any.diff
Applying 02-inference_calculator_emscripten_pthread.diff
Modifying file C:\Users\gerry\Desktop\gdmp_source_4\GDMP\mediapipe\WORKSPACE
Replacing path = "C:\opencv\build", with path = "C:\opencv\build",
Downloading Bazelisk for windows(amd64)
Downloading: 100%
Donwloading Buildifier for windows(amd64)
Downloading: 100%
++++++
Please activate the venv before building GDMP by running source venv/Scripts/activate
++++++
\GDMP>venv\Scripts\activate (venv) C:\Users\gerry\Desktop\gdmp_source_4\GDMP>python ./build.py desktop --type release --output build/
bazel-bin/external/GDMP/GDMP/desktop/GDMP.dll INFO: Elapsed time: 2103.365s, Critical Path: 1436.12s INFO: 5292 processes: 1059 internal, 4233 local. INFO: Build completed successfully, 5292 total actions
Godot Engine v4.3.1.rc.custom_build.99d66b4b2 (2025-02-07 09:15:03 UTC) - https://godotengine.org ERROR: Condition "f.is_null()" is true. at: ShaderRD::_save_to_cache (servers\rendering\renderer_rd\shader_rd.cpp:474) ERROR: Condition "f.is_null()" is true. at: ShaderRD::_save_to_cache (servers\rendering\renderer_rd\shader_rd.cpp:474) ERROR: Condition "f.is_null()" is true. at: ShaderRD::_save_to_cache (servers\rendering\renderer_rd\shader_rd.cpp:474)
ERROR: Can't open dynamic library: C:/Users/gerry/Desktop/godot-4.2.2-stable/godot-4.2.2-stable/bin/godot_projects/new_gdmp_project/addons/GDMP/libs/x86_64/GDMP.windows.dll. Error: Error 126: The specified module could not be found.. at: (platform\windows\os_windows.cpp:449) ERROR: Can't open GDExtension dynamic library: C:/Users/gerry/Desktop/godot-4.2.2-stable/godot-4.2.2-stable/bin/godot_projects/new_gdmp_project/addons/GDMP/libs/x86_64/GDMP.windows.dll at: (core\extension\gdextension.cpp:793) ERROR: Failed loading resource: res://addons/GDMP/GDMP.gdextension. Make sure resources have been imported by opening the project in the editor at least once. at: (core\io\resource_loader.cpp:325) ERROR: Can't open dynamic library: C:/Users/gerry/Desktop/godot-4.2.2-stable/godot-4.2.2-stable/bin/godot_projects/new_gdmp_project/addons/GDMP/libs/x86_64/GDMP.windows.dll. Error: Error 126: The specified module could not be found.. at: (platform\windows\os_windows.cpp:449) ERROR: Can't open GDExtension dynamic library: C:/Users/gerry/Desktop/godot-4.2.2-stable/godot-4.2.2-stable/bin/godot_projects/new_gdmp_project/addons/GDMP/libs/x86_64/GDMP.windows.dll at: (core\extension\gdextension.cpp:793) ERROR: Failed loading resource: res://addons/GDMP/GDMP.gdextension. Make sure resources have been imported by opening the project in the editor at least once. at: (core\io\resource_loader.cpp:325)
is this what you mean? the extension_api.json references godot 4.3.0 while i'm using 4.3.1 but i don't think that's the cause of this issue
"header": {
"version_major": 4,
"version_minor": 3,
"version_patch": 0,
"version_status": "stable",
"version_build": "official",
"version_full_name": "Godot Engine v4.3.stable.official"
},
should i create link this into a new issue: Can't open dynamic library from GDMP?
\GDMP>python setup.py --custom-opencv-dir C:/opencv/build --extension-api-json C:/Users/gerry/Desktop/gdmp_source_4/GDMP/godot-cpp/gdextension/extension_api.json --godot-binary C:/Users/gerry/Desktop/godot_v4_3/godot/bin/godot.windows.editor.x86_64.exe Dumping Extension API Godot Engine v4.3.1.rc.custom_build.99d66b4b2 (2025-02-07 09:15:03 UTC) - https://godotengine.org
Built-in type config: float_64 Using git for applying patches. Patching mediapipe Applying 00-WORKSPACE.diff Applying 01-glog.diff Applying 01-halide.diff Applying 01-opencv.diff Applying 01-v0.10.13-windows.diff Applying 02-api2_copy_from_any.diff Applying 02-inference_calculator_emscripten_pthread.diff Modifying file C:\Users\gerry\Desktop\gdmp_source_4\GDMP\mediapipe\WORKSPACE Replacing path = "C:\opencv\build", with path = "C:\opencv\build", Downloading Bazelisk for windows(amd64) Downloading: 100% Donwloading Buildifier for windows(amd64) Downloading: 100% ++++++ Please activate the venv before building GDMP by running
source venv/Scripts/activate++++++\GDMP>venv\Scripts\activate (venv) C:\Users\gerry\Desktop\gdmp_source_4\GDMP>python ./build.py desktop --type release --output build/
bazel-bin/external/GDMP/GDMP/desktop/GDMP.dll INFO: Elapsed time: 2103.365s, Critical Path: 1436.12s INFO: 5292 processes: 1059 internal, 4233 local. INFO: Build completed successfully, 5292 total actions
Godot Engine v4.3.1.rc.custom_build.99d66b4b2 (2025-02-07 09:15:03 UTC) - https://godotengine.org ERROR: Condition "f.is_null()" is true. at: ShaderRD::_save_to_cache (servers\rendering\renderer_rd\shader_rd.cpp:474) ERROR: Condition "f.is_null()" is true. at: ShaderRD::_save_to_cache (servers\rendering\renderer_rd\shader_rd.cpp:474) ERROR: Condition "f.is_null()" is true. at: ShaderRD::_save_to_cache (servers\rendering\renderer_rd\shader_rd.cpp:474)
ERROR: Can't open dynamic library: C:/Users/gerry/Desktop/godot-4.2.2-stable/godot-4.2.2-stable/bin/godot_projects/new_gdmp_project/addons/GDMP/libs/x86_64/GDMP.windows.dll. Error: Error 126: The specified module could not be found.. at: (platform\windows\os_windows.cpp:449) ERROR: Can't open GDExtension dynamic library: C:/Users/gerry/Desktop/godot-4.2.2-stable/godot-4.2.2-stable/bin/godot_projects/new_gdmp_project/addons/GDMP/libs/x86_64/GDMP.windows.dll at: (core\extension\gdextension.cpp:793) ERROR: Failed loading resource: res://addons/GDMP/GDMP.gdextension. Make sure resources have been imported by opening the project in the editor at least once. at: (core\io\resource_loader.cpp:325) ERROR: Can't open dynamic library: C:/Users/gerry/Desktop/godot-4.2.2-stable/godot-4.2.2-stable/bin/godot_projects/new_gdmp_project/addons/GDMP/libs/x86_64/GDMP.windows.dll. Error: Error 126: The specified module could not be found.. at: (platform\windows\os_windows.cpp:449) ERROR: Can't open GDExtension dynamic library: C:/Users/gerry/Desktop/godot-4.2.2-stable/godot-4.2.2-stable/bin/godot_projects/new_gdmp_project/addons/GDMP/libs/x86_64/GDMP.windows.dll at: (core\extension\gdextension.cpp:793) ERROR: Failed loading resource: res://addons/GDMP/GDMP.gdextension. Make sure resources have been imported by opening the project in the editor at least once. at: (core\io\resource_loader.cpp:325)
is this what you mean? the extension_api.json references godot 4.3.0 while i'm using 4.3.1 but i don't think that's the cause of this issue
"header": { "version_major": 4, "version_minor": 3, "version_patch": 0, "version_status": "stable", "version_build": "official", "version_full_name": "Godot Engine v4.3.stable.official" },
That's strange, maybe we should focus on error 126 first, which indicates that certain dependencies are missing. I found a way to list a DLL's dependency list with objdump -p GDMP.windows.dll | grep "DLL Name:" from linux command line, here is the list of DLL names for v0.5 release:
DLL Name: opencv_world3410.dll
DLL Name: dbghelp.dll
DLL Name: MSVCP140.dll
DLL Name: KERNEL32.dll
DLL Name: VCRUNTIME140.dll
DLL Name: VCRUNTIME140_1.dll
DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
DLL Name: api-ms-win-crt-heap-l1-1-0.dll
DLL Name: api-ms-win-crt-math-l1-1-0.dll
DLL Name: api-ms-win-crt-utility-l1-1-0.dll
DLL Name: api-ms-win-crt-convert-l1-1-0.dll
DLL Name: api-ms-win-crt-stdio-l1-1-0.dll
DLL Name: api-ms-win-crt-string-l1-1-0.dll
DLL Name: api-ms-win-crt-filesystem-l1-1-0.dll
DLL Name: api-ms-win-crt-time-l1-1-0.dll
DLL Name: api-ms-win-crt-environment-l1-1-0.dll
DLL Name: api-ms-win-crt-locale-l1-1-0.dll
There should be some tools available on Windows for doing the same.
should i create link this into a new issue: Can't open dynamic library from GDMP?
Please open the issue if the error persists even when libraries dependencies are met.
Please open the issue if the error persists even when libraries dependencies are met.
https://github.com/j20001970/GDMP/issues/65#issue-2880238905
Closed by https://github.com/j20001970/GDMP/issues/66#issuecomment-3003565683