Closed Bug 1326463 Opened 7 years ago Closed 7 years ago

Build failure in webrtc with sndio after bug 1250356

Categories

(Core :: WebRTC: Audio/Video, defect, P3)

Unspecified
OpenBSD
defect

Tracking

()

RESOLVED FIXED
mozilla53
Tracking Status
firefox50 --- unaffected
firefox51 --- unaffected
firefox52 --- unaffected
firefox53 --- fixed

People

(Reporter: gaston, Assigned: jesup)

References

Details

(Keywords: regression)

Attachments

(2 files, 1 obsolete file)

similar to bug #1326011, i think something was lost when updating webrtc code in #1250356, the build now fails on OpenBSD (which uses sndio) with:

13:52.19 /home/dusk/home/buildslave-amd64/mozilla-central-amd64/build/media/webrtc/trunk/webrtc/modules/audio_device/sndio/audio_device_utility_sndio.h:14:10: fatal error: 'webrtc/modules/audio_device/audio_device_utility.h' file not found
13:52.21 #include "webrtc/modules/audio_device/audio_device_utility.h"

It seems webrtc/modules/audio_device/audio_device_utility.h was removed. I dont remember what its use was, but should the #include be also removed ? Or replaced by something else ?
Rank: 15
Priority: -- → P1
Assignee: nobody → rjesup
Status: NEW → ASSIGNED
Note; I haven't tried the patch; no BSD system
Rank: 15 → 35
Priority: P1 → P3
It needs a bit more work in think,  media/webrtc/trunk/webrtc/modules/audio_device/sndio/audio_device_sndio.cc still includes webrtc/modules/audio_device/audio_device_utility.h for no reason.

If i remove the include, i get two times this pair of errors:


 1:34.30 /home/othersrc/mozilla-central/media/webrtc/trunk/webrtc/modules/audio_device/sndio/audio_device_sndio.cc:701:19: error: no viable overloaded '='
 1:34.31     _ptrThreadRec = new rtc::PlatformThread(RecThreadFunc,                                                            
 1:34.32     ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                            
 1:34.34 /home/othersrc/mozilla-central/media/webrtc/trunk/webrtc/base/scoped_ptr.h:381:15: note: candidate function not viable: no known conversion from 'rtc::PlatformThread *' to 'std::nullptr_t' (aka 'nullptr_t') for 1st argument                
 1:34.35   scoped_ptr& operator=(std::nullptr_t) {                                                                                                                                                       
 1:34.36               ^                                                                                                                                      
 1:34.39 /home/othersrc/mozilla-central/media/webrtc/trunk/webrtc/base/scoped_ptr.h:388:15: note: candidate function not viable: no known conversion from 'rtc::PlatformThread *' to 'const rtc::scoped_ptr<rtc::PlatformThre
ad, rtc::DefaultDeleter<rtc::PlatformThread> >' for 1st argument                                                                                                                                                              1:34.40   scoped_ptr& operator=(const scoped_ptr& other) = delete;
 1:34.40               ^                                                                                                
 1:34.44 /home/othersrc/mozilla-central/media/webrtc/trunk/webrtc/base/scoped_ptr.h:373:15: note: candidate template ignored: could not match 'scoped_ptr<type-parameter-0-0, type-parameter-0-1>' against 'rtc::PlatformThread *'                                                                  
 1:34.45   scoped_ptr& operator=(scoped_ptr<U, V>&& rhs) {                                                         
 1:34.45               ^                                                                                                                                                                                                      1:34.46 In file included from /home/obj/m-c/media/webrtc/trunk/webrtc/modules/modules_audio_device/Unified_cpp_webrtc_modules0.cpp:65:
 1:34.48 /home/othersrc/mozilla-central/media/webrtc/trunk/webrtc/modules/audio_device/sndio/audio_device_sndio.cc:726:9: error: invalid argument type 'void' to unary expression
 1:34.49     if (!_ptrThreadRec->Start())                                                                                                                                                                                     1:34.49         ^~~~~~~~~~~~~~~~~~~~~~~                                                                                      
 1:34.49 /home/othersrc/mozilla-central/media/webrtc/trunk/webrtc/modules/audio_device/sndio/audio_device_sndio.cc:798:20: error: no viable overloaded '='
 1:34.51     _ptrThreadPlay = new rtc::PlatformThread(PlayThreadFunc,                                                   
 1:34.52     ~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                
 1:34.53 /home/othersrc/mozilla-central/media/webrtc/trunk/webrtc/base/scoped_ptr.h:381:15: note: candidate function not viable: no known conversion from 'rtc::PlatformThread *' to 'std::nullptr_t' (aka 'nullptr_t') for 1
st argument                                                                                                     
 1:34.54   scoped_ptr& operator=(std::nullptr_t) {                                                             
 1:34.54               ^                                                                                                
 1:34.57 /home/othersrc/mozilla-central/media/webrtc/trunk/webrtc/base/scoped_ptr.h:388:15: note: candidate function not viable: no known conversion from 'rtc::PlatformThread *' to 'const rtc::scoped_ptr<rtc::PlatformThre
ad, rtc::DefaultDeleter<rtc::PlatformThread> >' for 1st argument                                                                                                                                                              1:34.58   scoped_ptr& operator=(const scoped_ptr& other) = delete;                                             
 1:34.58               ^                                                                                                                                                           
 1:34.62 /home/othersrc/mozilla-central/media/webrtc/trunk/webrtc/base/scoped_ptr.h:373:15: note: candidate template ignored: could not match 'scoped_ptr<type-parameter-0-0, type-parameter-0-1>' against 'rtc::PlatformThread *'                                                                                                        
 1:34.64   scoped_ptr& operator=(scoped_ptr<U, V>&& rhs) {                                                                                                            
 1:34.65               ^                                                                                                                                                  
 1:34.66 In file included from /home/obj/m-c/media/webrtc/trunk/webrtc/modules/modules_audio_device/Unified_cpp_webrtc_modules0.cpp:65:                                                                                       1:34.72 /home/othersrc/mozilla-central/media/webrtc/trunk/webrtc/modules/audio_device/sndio/audio_device_sndio.cc:820:9: error: invalid argument type 'void' to unary expression
 1:34.73     if (!_ptrThreadPlay->Start())                                                                                                                                                                                    1:34.73         ^~~~~~~~~~~~~~~~~~~~~~~~
Attached patch bug-1326463-more (obsolete) — Splinter Review
I get it to build further with this diff on top of yours, but that's probably ugly. How is one supposed to check for Start() failures now ?
(In reply to Landry Breuil (:gaston) from comment #4)
> Created attachment 8824189 [details] [diff] [review]
> bug-1326463-more
> 
> I get it to build further with this diff on top of yours, but that's
> probably ugly. How is one supposed to check for Start() failures now ?

There's no error return.  You can call thread->IsRunning() after creation.  Not sure why they did it that way (and I don't think any of their code checks...)
The only place they use IsRunning is in vie_channel, and that's just so they can know if they should call Start()
Alex, any idea about the code flow here ? Can you check this would still be valid wrt sndio ?
Attached patch bug-1326463-moreSplinter Review
With this, it should still build, whether it works is something else. I never got around to debug this at runtime and gave up....
Attachment #8824189 - Attachment is obsolete: true
Attachment #8824516 - Flags: review?(rjesup)
Attachment #8824125 - Flags: review?(landry) → review+
Attachment #8824516 - Flags: review?(rjesup) → review+
remote: However, Mercurial access is currently disabled on your account.
remote: This commonly occurs due to account inactivity (you need to SSH
remote: into hg.mozilla.org every few months to keep your account active).


Sigh. c-n it is then.
Keywords: checkin-needed
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/ab4c887ffe5b
Fix OpenBSD build broken by webrtc.org 49 update. r=gaston, r=jesup
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/ab4c887ffe5b
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: