If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

crash in webrtc::videocapturemodule::DeviceInfoWindows::CreateCapabilityMap @ _alldiv

RESOLVED FIXED in mozilla21



WebRTC: Audio/Video
5 years ago
5 years ago


(Reporter: Scoobidiver (away), Assigned: jesup)


(Depends on: 1 bug, {crash})

Windows 8
Bug Flags:
in-testsuite -

Firefox Tracking Flags

(Not tracked)


(Whiteboard: [getusermedia][blocking-gum-][qa-], crash signature)


(1 attachment, 1 obsolete attachment)



5 years ago
It has been hit by two users in 21.0a1/20130206.

Signature 	_alldiv More Reports Search
UUID	62de7937-8df6-469e-b3df-d45612130206
Date Processed	2013-02-06 19:37:55
Uptime	52
Install Age	52 seconds since version was first installed.
Install Time	2013-02-06 19:36:42
Product	Firefox
Version	21.0a1
Build ID	20130206031027
Release Channel	nightly
OS	Windows NT
OS Version	6.2.9200
Build Architecture	x86
Build Architecture Info	GenuineIntel family 6 model 37 stepping 5
Crash Address	0x6334c18b
App Notes 	
AdapterVendorID: 0x8086, AdapterDeviceID: 0x0042, AdapterSubsysID: 00000000, AdapterDriverVersion:
D2D? D2D+ DWrite? DWrite+ D3D10 Layers? D3D10 Layers+ 
Processor Notes 	sp-processor09.phx1.mozilla.com_4846:2008
EMCheckCompatibility	True
Adapter Vendor ID	0x8086
Adapter Device ID	0x0042
Total Virtual Memory	2147352576
Available Virtual Memory	1725984768
System Memory Use Percentage	39
Available Page File	2880323584
Available Physical Memory	2243469312

Frame 	Module 	Signature 	Source
0 	xul.dll 	_alldiv 	lldiv.asm:121
1 	xul.dll 	webrtc::videocapturemodule::DeviceInfoWindows::CreateCapabilityMap 	media/webrtc/trunk/src/modules/video_capture/main/source/windows/device_info_windows.cc:590
2 	xul.dll 	webrtc::videocapturemodule::DeviceInfoImpl::NumberOfCapabilities 	media/webrtc/trunk/src/modules/video_capture/main/source/device_info_impl.cc:76
3 	xul.dll 	webrtc::ViECaptureImpl::NumberOfCapabilities 	media/webrtc/trunk/src/video_engine/vie_capture_impl.cc:442
4 	xul.dll 	mozilla::MediaEngineWebRTCVideoSource::ChooseCapability 	content/media/webrtc/MediaEngineWebRTCVideo.cpp:132
5 	xul.dll 	mozilla::MediaEngineWebRTCVideoSource::Allocate 	content/media/webrtc/MediaEngineWebRTCVideo.cpp:203
6 	xul.dll 	mozilla::GetUserMediaRunnable::ProcessGetUserMedia 	dom/media/MediaManager.cpp:691
7 	xul.dll 	mozilla::GetUserMediaRunnable::Run 	dom/media/MediaManager.cpp:554
8 	xul.dll 	nsThread::ProcessNextEvent 	xpcom/threads/nsThread.cpp:627
9 	xul.dll 	nsThread::ThreadFunc 	xpcom/threads/nsThread.cpp:265
10 	nspr4.dll 	_PR_NativeRunThread 	nsprpub/pr/src/threads/combined/pruthr.c:395
11 	nspr4.dll 	pr_root 	nsprpub/pr/src/md/windows/w95thred.c:90
12 	msvcr100.dll 	_callthreadstartex 	f:\dd\vctools\crt_bld\self_x86\crt\src\threadex.c:314
13 	msvcr100.dll 	_threadstartex 	f:\dd\vctools\crt_bld\self_x86\crt\src\threadex.c:292
14 	kernel32.dll 	BaseThreadInitThunk 	
15 	ntdll.dll 	__RtlUserThreadStart 	
16 	ntdll.dll 	_RtlUserThreadStart 	

More reports at:

Comment 1

5 years ago
Created attachment 711860 [details] [diff] [review]
Protect against funky cameras that return 0 FPS

Comment 2

5 years ago
This is a bug in upstream; need to file a bug against webrtc.org
Assignee: nobody → rjesup
Depends on: 818631
Priority: -- → P2
Whiteboard: [getusermedia][blocking-gum-]

Comment 3

5 years ago
Comment on attachment 711860 [details] [diff] [review]
Protect against funky cameras that return 0 FPS

I'm filing a bug with patch against webrtc.org (note the file has moved in 3.20, I have this patch applied in that patch queue as well)
Attachment #711860 - Flags: review?(tterribe)

Comment 4

5 years ago
Comment on attachment 711860 [details] [diff] [review]
Protect against funky cameras that return 0 FPS

Review of attachment 711860 [details] [diff] [review]:

The fix is fine (this appears to be what the Chromium capture code does, too), but see nits.

::: media/webrtc/trunk/src/modules/video_capture/main/source/Windows/device_info_windows.cc
@@ +567,5 @@
>              if (hrVC == S_OK)
>              {
>                  LONGLONG *maxFps; // array                        
> +                LONGLONG maxFPS;

I know you're just moving an existing variable, but having two that differ solely by case, one of them that doesn't even conform to Google style, is just bonkers. If it were me, I'd rename maxFps to maxFpsList (which would avoid the need for the extra "array" comment with all the trailing whitespace).

@@ +582,5 @@
>                  hrVC = videoControlConfig->GetFrameRateList(outputCapturePin,
>                                                              tmp, size,
>                                                              &listSize,
>                                                              &maxFps);
> +                // On some odd cameras, you may get all 0's for maxFPS

This comment is not quite accurate. The "FPS" list here actually stores frame _durations_ in 100 ns units, not frames per second (yes, the naming is horrible). So GetMaxOfFrameArray() returns the _minimum_ duration, which means this will fail with only a single 0 in the list.
Attachment #711860 - Flags: review?(tterribe) → review+

Comment 6

5 years ago
Created attachment 714061 [details] [diff] [review]
Protect against funky cameras that return 0 FPS


5 years ago
Attachment #711860 - Attachment is obsolete: true

Comment 7

5 years ago
Comment on attachment 714061 [details] [diff] [review]
Protect against funky cameras that return 0 FPS

Carry forward r=derf
Attachment #714061 - Flags: review+

Comment 8

5 years ago
updated patch uploaded to webrtc.org tracker

Comment 9

5 years ago
Target Milestone: --- → mozilla21
Last Resolved: 5 years ago
Resolution: --- → FIXED


5 years ago
Whiteboard: [getusermedia][blocking-gum-] → [getusermedia][blocking-gum-][qa-]


5 years ago
Flags: in-testsuite-
You need to log in before you can comment on or make changes to this bug.