OpenSmalltalk
/
opensmalltalk-vm
|
Cog
|
19 mins and 16 secs
|
Nicolas Cellier
|
Minor fix in iOS sound plugin
Two things: 1) according to https://developer.apple.com/documentation/audiotoolbox/kaudioqueueproperty_isrunning the property is a UInt32, not a sqInt (a sqInt can be 64 bits long, thus might be not entirely set) 2) nothing tells that the value is a valid boolean value, only that is running if != 0 if I compile with -fsanitize=undefined, i get this:
>Process 5149 stopped >* thread #9, name = 'com.apple.coreaudio.AQClient', stop reason = Invalid bool load > frame #0: 0x000000010090b230 libclang_rt.ubsan_osx_dynamic.dylib`__ubsan_on_report > libclang_rt.ubsan_osx_dynamic.dylib`__ubsan_on_report: > -> 0x10090b230 <+0>: pushq %rbp > 0x10090b231 <+1>: movq %rsp, %rbp > 0x10090b234 <+4>: popq %rbp > 0x10090b235 <+5>: retq >Target 0: (Squeak) stopped. >(lldb) bt >* thread #9, name = 'com.apple.coreaudio.AQClient', stop reason = Invalid bool load > * frame #0: 0x000000010090b230 libclang_rt.ubsan_osx_dynamic.dylib`__ubsan_on_report > frame #1: 0x0000000100905f6c libclang_rt.ubsan_osx_dynamic.dylib`__ubsan::Diag::~Diag() + 140 > frame #2: 0x0000000100909ab9 libclang_rt.ubsan_osx_dynamic.dylib`handleLoadInvalidValue(__ubsan::InvalidValueData*, unsigned long, __ubsan::ReportOptions) + 505 > frame #3: 0x00000001009098b4 libclang_rt.ubsan_osx_dynamic.dylib`__ubsan_handle_load_invalid_value + 68 > frame #4: 0x00000001004f36ef Squeak`-[sqSqueakSoundCoreAudio setOutputIsRunning:](self=0x00000001021183a0, _cmd="setOutputIsRunning:", outputIsRunning=110) at sqSqueakSoundCoreAudio.h:0 > frame #5: 0x00000001004ecc6e Squeak`MyAudioQueuePropertyListener(inUserData=0x00000001021183a0, inAQ=0x000000000141d000, inID=1634824814) at sqSqueakSoundCoreAudio.m:90 > frame #6: 0x00007fff412ff0b2 AudioToolbox`ClientAudioQueue::PropertyChanged(unsigned int) + 518 > frame #7: 0x00007fff412fed65 AudioToolbox`AQClientCallbackMessageReader::DispatchCallbacks(void const*, unsigned long) + 195 > frame #8: 0x00007fff412e6ac5 AudioToolbox`ClientAudioQueue::FetchAndDeliverPendingCallbacks(unsigned int) + 291 > frame #9: 0x00007fff412e6921 AudioToolbox`AQCallbackReceiver_CallbackNotificationsAvailable + 121 > frame #10: 0x00007fff412e66a5 AudioToolbox`_XCallbackNotificationsAvailable + 33 > frame #11: 0x00007fff412e64b2 AudioToolbox`mshMIGPerform + 230 > frame #12: 0x00007fff42967f39 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 41 > frame #13: 0x00007fff42967e85 CoreFoundation`__CFRunLoopDoSource1 + 533 > frame #14: 0x00007fff4295fa40 CoreFoundation`__CFRunLoopRun + 2848 > frame #15: 0x00007fff4295ec93 CoreFoundation`CFRunLoopRunSpecific + 483 > frame #16: 0x00007fff412c340a AudioToolbox`GenericRunLoopThread::Entry(void*) + 158
I think it's benign, but let's not depend on UB...
|
|
|
Would you like to stay up-to-date with the upcoming Travis CI build environment updates? We set up a mailing list for you!
SIGN UP HERE
|
|
|
|
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"action": {
"@type": "ViewAction",
"url": "https://travis-ci.org/OpenSmalltalk/opensmalltalk-vm/builds/587909262?utm_medium=notification&utm_source=email",
"name": "View Build"
},
"description": "View Build #1811 on Travis CI"
}
</script>