Crash: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR) in libopenal.so

Guys, also I have this bug on my list, and in this moment working on new update,

can you please tell me which daily build I need for this fix? which you work with?

and does it seem safe to push this change to released App?

Btw, I see many html5 changes, that make me afraid to grab a new version…

and last question, what targetSdkVersion is recommended?

please help me , will be long night for me  :(  

Many thanks
 

It looks like the latest version with any Android audio fixes is 3249. HTML5 builds shouldn’t have any affect on Android builds, it’s a separate output channel.  As always with daily builds, you should throughly test your app before you release with it.

Android audio changes are still in beta. They also need to be heavily tested in your app to make sure it’s behaving the way you want. Also I don’t know any one who has released with the new Android audio and while it will almost certainly address the OpenAL crashes, it doesn’t mean there won’t be other issues revealed until it gets on customer devices.

As far as targetSDKVersion we are still targeting 26 I think.

Rob

Does it mean we need to change all our app’s audio calls to something else in future with this audio2 API, or is it automatically used from build 3249 onwards? I have hundreds of audio calls in my game that will drive me nuts going through each to change it.

@jacques1, you absolutely should **NOT** change your audio.* calls to audio2.  This is a temporary test solution that impact’s Android only builds.  Please review this code:

if audio2 then audio=audio2; al = nil; print("=====\>\> Using audio2 \<\<=====") end

If that’s the first line of main.lua (or anytime before you call any audio.* API’s) and you are on a REAL Android device, audio2 will be true and we will map it to audio for you. We also erase any al.* assignments. These are undocumented and definitely not supported on Android. If you use any al.* calls you will need to wrap them.

When we publish this new audio system out of beta into general use, you won’t need to do this mapping, but it also won’t hurt to leave it.

If you build on an older build, audio2 won’t be defined and you will get the older OpenAL behavior on Android.  

Keep in mind, even if you use an Android skin in the simulator, the simulator is still not Android and audio2 won’t be defined, but that’s okay, you want to use OpenAL in the simulator.

Rob

I gave this a try, put it at the top of my main.lua and I noticed that some sounds are not playing as well. I’m using daily build 3265.

al = nil; if audio2 then audio=audio2; print("=====>>   Using audio2  <<=====") end

Caught a crash in a  Pre-launch report:

Looks like a Vungle and audio library conflict???

Vungle engineers probably need to look at this…

04-18 02:08:20.139: D/AudioService(3347): getStreamVolume 3 index 80

04-18 02:08:20.139: D/AudioService(3347): getStreamVolume 3 index 80

04-18 02:08:20.159: E/VungleDevice(16615): error getting available bytes

04-18 02:08:20.179: I/Corona(16615): CheckForAds

04-18 02:08:20.179: I/Corona(16615): CheckForAdsVungle false false

04-18 02:08:20.219: A/google-breakpad(17129): -----BEGIN BREAKPAD MICRODUMP-----

… clipped …

04-18 02:08:20.239: A/google-breakpad(17129): -----END BREAKPAD MICRODUMP-----

04-18 02:08:20.259: W/google-breakpad(16615): ### ### ### ### ### ### ### ### ### ### ### ### ###

04-18 02:08:20.259: W/google-breakpad(16615): Chrome build fingerprint:

04-18 02:08:20.259: W/google-breakpad(16615): 1.63

04-18 02:08:20.259: W/google-breakpad(16615): 250

04-18 02:08:20.259: W/google-breakpad(16615): a62ada37-657b-4454-8f33-6399db62ca12

04-18 02:08:20.259: W/google-breakpad(16615): ### ### ### ### ### ### ### ### ### ### ### ### ###

04-18 02:08:20.259: A/libc(16615): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x8 in tid 16934 (VungleAsyncMain)

04-18 02:08:20.279: D/AudioFlinger(3017): mixer(0xee280000) throttle end: throttle time(1)

04-18 02:08:20.289: V/AlarmManager(3347):  remove PendingIntent] PendingIntent{db6b8a7: PendingIntentRecord{651c41a com.google.android.gms broadcastIntent}}

04-18 02:08:20.319: D/PackageManager(3347): setEnabledSetting : userId = 0 packageName = com.google.android.gms cmp = com.google.android.gms.locationsharing.service.LocationSharingSettingInjectorService newState = 1 callingPackage = 10021

04-18 02:08:20.329: I/TestSupport(14418): AwaitCommitOperation: uncommitted: FlagOverride(com.google.android.gms.auth_account, , Flag(auth_sig_override_enabled, true, 2, 0), false)

etc.

Where do you want discussions / reports about audio2? I enabled it in one of my apps, and get an error message in the logs when I return from showing an advertisement from Kidoz.

Steps:

  1. Music is playing in the game

  2. Click on a Kidoz panel ad. Music stops

  3. Exit the panel ad. Music resumes but error message shown in logs.

05-22 11:20:57.421 24835 25928 W libOpenSLES: Leaving Object::GetInterface (SL_RESULT_FEATURE_UNSUPPORTED)

05-22 11:20:57.421 24835 25928 I chatty  : uid=10713(se.appfamily.puzzle.cats.free) GLThread 3436 identical 1 line

05-22 11:20:57.421 24835 25928 W libOpenSLES: Leaving Object::GetInterface (SL_RESULT_FEATURE_UNSUPPORTED)

05-22 11:20:57.421 24835 25928 W libOpenSLES: Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)

05-22 11:20:57.421 24835 25928 I Corona  : [OpenSL Error]: Buffer insufficient

05-22 11:20:57.421 24835 25928 I Corona  : line 1407

05-22 11:20:57.421 24835 25928 W libOpenSLES: Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)

05-22 11:20:57.421 24835 25928 I Corona  : [OpenSL Error]: Buffer insufficient

05-22 11:20:57.421 24835 25928 I Corona  : line 1407

Everything seems to function as usual although there is a tonne of logging as seen in adb logcat. Playing a single sound generates about 100 lines of logging by “AudioManager Player” (tag “Avrcp”).

I’m going to push this live to one app and see how it goes, will report anything I find.