Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Godot crashes if big and/or long duration ogg file imported #53664

Open
Tracked by #76797
Scarm2 opened this issue Oct 11, 2021 · 4 comments
Open
Tracked by #76797

Godot crashes if big and/or long duration ogg file imported #53664

Scarm2 opened this issue Oct 11, 2021 · 4 comments

Comments

@Scarm2
Copy link

Scarm2 commented Oct 11, 2021

Godot version

3.3.4.stable

System information

Windows 10 Pro Build 19042, NVIDIA GeForce RTX 2060 SUPER

Issue description

Godot crashes if a big .ogg file is imported. This happens in 3.3.x up to 4.0

Steps to reproduce

  1. Get a >=5mb ogg file
  2. Place the ogg file in the project directory
  3. Reimport will close godot.

Minimal reproduction project

Can be done without a specific project

@Scarm2 Scarm2 changed the title Godot crashes if a >= ogg file imported Godot crashes if big and/or long duration ogg file imported Oct 11, 2021
@akien-mga
Copy link
Member

I can't seem to reproduce a crash on Linux with a 50 MB file (3602.93s, Mike Oldfield's Amarok).
Do you really get a crash with any >= 5MB OGG file, or only a specific one?

However, I do have the editor freezing for a couple minutes when I try to view the imported .ogg in the Inspector, as generated the preview for such a big file takes ages. It could probably be optimized, or outright disabled for too big tracks.

I checked with gdb while the preview was generating, it was spending a ton of time here:

0x0000000003430ac6 in AudioStreamPreview::get_max (this=0x15523630, p_time=821.394104, p_time_next=830.728149) at editor/audio_stream_preview.cpp:57
57                      if (i == 0 || v > vmax) {
(gdb) bt
#0  0x0000000003430ac6 in AudioStreamPreview::get_max (this=0x15523630, p_time=821.394104, p_time_next=830.728149) at editor/audio_stream_preview.cpp:57
#1  0x0000000002fc9c5d in AudioStreamEditor::_draw_preview (this=0xdae6710) at editor/plugins/audio_stream_editor_plugin.cpp:80
#2  0x000000000185e5af in MethodBind0::call (this=0xdaefbe0, p_object=0xdae6710, p_args=0x7fff54c17a50, p_arg_count=0, r_error=...) at ./core/method_bind.gen.inc:59
#3  0x000000000454418a in Object::call (this=0xdae6710, p_method=..., p_args=0x7fff54c17a50, p_argcount=0, r_error=...) at core/object.cpp:918
#4  0x0000000004545eea in Object::emit_signal (this=0xdae8b30, p_name=..., p_args=0x7fff54c17a50, p_argcount=0) at core/object.cpp:1224
#5  0x00000000045465ab in Object::emit_signal (this=0xdae8b30, p_name=..., p_arg1=..., p_arg2=..., p_arg3=..., p_arg4=..., p_arg5=...) at core/object.cpp:1279
#6  0x0000000003b09212 in CanvasItem::_update_callback (this=0xdae8b30) at scene/2d/canvas_item.cpp:446
#7  0x000000000185e5af in MethodBind0::call (this=0x93fe7b0, p_object=0xdae8b30, p_args=0x0, p_arg_count=0, r_error=...) at ./core/method_bind.gen.inc:59
#8  0x000000000454418a in Object::call (this=0xdae8b30, p_method=..., p_args=0x0, p_argcount=0, r_error=...) at core/object.cpp:918
#9  0x000000000453aa5e in MessageQueue::_call_function (this=0x8560800, p_target=0xdae8b30, p_func=..., p_args=0x7f0b964a0800, p_argcount=0, p_show_error=false) at core/message_queue.cpp:241
#10 0x000000000453ad41 in MessageQueue::flush (this=0x8560800) at core/message_queue.cpp:284
#11 0x000000000362d2ab in SceneTree::iteration (this=0x986b620, p_time=0.0166666675) at scene/main/scene_tree.cpp:486
#12 0x00000000017e592f in Main::iteration () at main/main.cpp:2159
#13 0x00000000017aaad7 in OS_X11::run (this=0x7fff54c182d0) at platform/x11/os_x11.cpp:3641
#14 0x000000000179881f in main (argc=2, argv=0x7fff54c18c18) at platform/x11/godot_x11.cpp:55

@Miziziziz
Copy link

I'm getting this as well on windows. Anytime I import any ogg files it's an insta crash with no error message. The file is there and usable on restart though.

@Calinou
Copy link
Member

Calinou commented Dec 8, 2021

I'm getting this as well on windows. Anytime I import any ogg files it's an insta crash with no error message. The file is there and usable on restart though.

This is likely unrelated. It's more likely to be due to a poorly written Ogg file, which you can usually fix by reencoding it or stripping the cover data: #32145

@Miziziziz
Copy link

@Calinou also happens with larger .wav files, not sure if related issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants