Opened 3 years ago

Last modified 3 years ago

#16600 new bug

Very Short WAV files crash MediaPlayer (divide error)

Reported by: humdinger Owned by: stippi
Priority: normal Milestone: Unscheduled
Component: Applications/MediaPlayer Version: R1/Development
Keywords: Cc:
Blocked By: Blocking: #13352
Platform: All

Description

This is hrev54691, 32bit.

I cut down a WAV file again and again, making it shorter and shorter. When it got shorter than ~11 KiB, MediaPlayer crashed when trying to play it back:

thread 11073: playback manager 
state: Exception (Divide error)

Frame		IP			Function Name
-----------------------------------------------
0x716d7a70	0x97db47	__divdi3(void) + 0xaf 
	Disassembly:
		__divdi3(void):

[Cut disassembly, full debug report attached.]

	Frame memory:
		[0x716d7a10]  ..........9.....   00 00 00 00 00 00 00 00 16 9a 39 00 ff ff ff ff
		[0x716d7a20]  ..T...T...9.....   90 c9 54 18 98 aa 54 18 00 9a 39 00 00 00 00 00
		[0x716d7a30]  ......T......$..   00 00 00 00 98 c9 54 18 00 00 00 00 1d 24 a1 00
		[0x716d7a40]  .....zmq......<.   cc e6 f8 01 94 7a 6d 71 00 00 00 00 e8 a2 3c 00
		[0x716d7a50]  t.?.............   74 cc 3f 00 00 00 00 00 00 00 00 00 00 00 00 00
		[0x716d7a60]  .........zmq..<.   00 00 00 00 00 00 00 00 c8 7a 6d 71 d2 a2 3c 00
0x716d7ad0	0x3ca2cd	Controller::_TimePosition(Controller) + 0x9d 
0x716d7b10	0x3cad36	Controller::NotifyCurrentFrameChanged(Controller, int64) + 0x2e 
0x716d7b60	0x396f31	PlaybackManager::Init(float, bool, int32, int32, float, int32, int32) + 0x251 
0x716d7bb0	0x3944aa	NodeManager::Init(BRect, float, color_space, float, uint32, int32, bool, float, uint32, float) + 0x3e 
0x716d7c60	0x3c7796	Controller::SetTo() + 0x64e 
0x716d7c90	0x3c6e71	Controller::MessageReceived(BMessage*) + 0x65 
0x716d7cc0	0x1d4e02d	BLooper::DispatchMessage(BMessage*, BHandler*) + 0x59 
0x716d7d00	0x1d4fd97	BLooper::task_looper() + 0x203 
0x716d7d30	0x1d4f989	BLooper::_task0_(void*) + 0x3d 
0x716d7d58	0x98ad7b	thread_entry + 0x27 
00000000	0x618c9258	commpage_thread_exit + 0 

Attaching full debug report and a very short WAV (one of the Sounds contest entry).

Attachments (2)

MediaPlayer-11068-debug-06-11-2020-18-11-51.report (22.5 KB ) - added by humdinger 3 years ago.
MediaPlayer debug report
key-repeat.wav (4.8 KB ) - added by humdinger 3 years ago.
Short WAV

Download all attachments as: .zip

Change History (4)

by humdinger, 3 years ago

MediaPlayer debug report

by humdinger, 3 years ago

Attachment: key-repeat.wav added

Short WAV

comment:1 by diver, 3 years ago

Blocking: 13352 added

comment:2 by madmax, 3 years ago

For reference: Controller::_FrameDuration: "Here for example, it will return a duration of 0 if the audio clip happens to be shorter than one video frame at 25 fps", and that's used as divisor in some places, like _TimePosition in your crash.

Note: See TracTickets for help on using tickets.