Stack Exchange Network
Stack Exchange network consists of 183 Q&A communities including
Stack Overflow
, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
Visit Stack Exchange
Salesforce Stack Exchange is a question and answer site for Salesforce administrators, implementation experts, developers and anybody in-between. It only takes a minute to sign up.
Sign up to join this community
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Learn more about Teams
I bumped version from SFMCSdk Android (8.0.5) to SFMCSdk Android (8.0.8) and started seeing this error message in my emulators on firebase cloud. I also see the same error locally on my emulators.
Reverting the version back to 8.0.5, the error disappears.
void com.salesforce.marketingcloud.config.a.b(org.json.JSONObject) failed to verify: void com.salesforce.marketingcloud.config.a.b(org.json.JSONObject): [0x88] expected to be within a catch-all for an instruction where a monitor is held (declaration of 'com.salesforce.marketingcloud.config.a' appears in /data/app/SOMEPACKAGE_NAME-tAXMR4iM7iDFj9srjDwCJw==/base.apk!classes36.dex)
at com.salesforce.marketingcloud.MarketingCloudSdk.a(Unknown Source:336) at com.salesforce.marketingcloud.MarketingCloudSdk.a(Unknown Source:80)
–
–
There is a bug in the ART compiler that is affecting some versions of Gradle/Android Studio/et al. when integrating our SDK (ref. https://issuetracker.google.com/issues/37012699#comment13)
We do, in fact, have some methods which have a try-catch block around a synchronized block of code.
Problem Code (Public Service Announcement)
try {
synchronized(lock) {
// some code
} catch (e: Exception) {
// handle error
This has been "fixed" and will be released with Android SDK version 8.0.9. The tentative date for this release is tomorrow, May 9, 2023, but please know that release schedules can slip.
The new code is ...
synchronized(lock) {
try {
// some code
} catch (e: Exception) {
// handle error
Yes. The issue is that ridiculous. We had 3 customers report this problem, but we have dozens (maybe even North of 100) of customers that are working fine with the 8.0.8 release. sigh