RICOH Official Mobile App Crashing with SC2 and Android 13

Samsung S20 FE 5G

Android 13

01.82

2.9.0

Crash happens when I click on the “Cam images” tab.

I have sent a crash dump to Ricoh, stack trace is -

03-10 15:06:58.790 10696 15442 16333 E AndroidRuntime: Process: com.theta360, PID: 15442
03-10 15:06:58.790 10696 15442 16333 E AndroidRuntime: org.threeten.bp.format.DateTimeParseException: Text '2023:03:10 12:06:16Z' could not be parsed, unparsed text found at index 19
03-10 15:06:58.790 10696 15442 16333 E AndroidRuntime: at org.threeten.bp.format.DateTimeFormatter.parseToBuilder(DateTimeFormatter.java:1591)
03-10 15:06:58.790 10696 15442 16333 E AndroidRuntime: at org.threeten.bp.format.DateTimeFormatter.parse(DateTimeFormatter.java:1491)
03-10 15:06:58.790 10696 15442 16333 E AndroidRuntime: at org.threeten.bp.LocalDateTime.parse(LocalDateTime.java:444)
03-10 15:06:58.790 10696 15442 16333 E AndroidRuntime: at com.theta360.thetalibrary.utils.DateTimeUtil.changeDateTime(DateTimeUtil.kt:71)
03-10 15:06:58.790 10696 15442 16333 E AndroidRuntime: at com.theta360.di.repository.PhotoRepository.createRecordsV2(PhotoRepository.kt:158)
03-10 15:06:58.790 10696 15442 16333 E AndroidRuntime: at com.theta360.ui.main.MainViewModel$getListFilesV2$1.invokeSuspend(MainViewModel.kt:188)
03-10 15:06:58.790 10696 15442 16333 E AndroidRuntime: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
03-10 15:06:58.790 10696 15442 16333 E AndroidRuntime: at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
03-10 15:06:58.790 10696 15442 16333 E AndroidRuntime: at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
03-10 15:06:58.790 10696 15442 16333 E AndroidRuntime: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749)
03-10 15:06:58.790 10696 15442 16333 E AndroidRuntime: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
03-10 15:06:58.790 10696 15442 16333 E AndroidRuntime: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
03-10 15:06:58.790 10696 15442 16333 E AndroidRuntime: Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@ac2d5db, Dispatchers.Default]

So it would appear to be a string to date parse bug ( likely unexpected ‘Z’ ).

All I’ve done here is to take some pictured and try to access them from the app.

I can download the images over USB (P2P mode).

Thanks.

Thanks for providing the information. We’ll try and replicate.

Many thanks. Let me know if there is any further info I can provide.

Oh - is the source for the Android app available do you know ? It would be useful to correlate the stack trace with the source.

The source for the Android app is not available.

@jcasman and I can submit our own bug report if we can replicate the problem.

There is an open source project with limited features that is being led by ricoh engineers here:

It’s still in the early days.

If it helps here is a short screen capture of the crash -

@Peter_Lord , I’m having trouble recreating the problem.

  • I’ve got a Pixel 4 running Android 13
  • RICOH THETA mobile app 2.9.0
  • SC2 firmware 1.82

I watched your video, I believe I’m following the same steps.

I’m in the live preview, connected to the SC2 over Wi-Fi.

Lower left corner, I click on the small THETA icon.

I’m looking at Cam images. Underneath that is Not Transferred, Transferred, and All. I can tap between all three. (I only have 3 images on the SC2.)

Thanks for looking.

Today the app crashed trying to parse 2023:03:19 10:16:48Z … so I downloaded all the photos to look at them -

sudo gphoto2 -P    
Saving file as R0010227.JPG                                                    
Saving file as R0010228.JPG
Saving file as R0010229.JPG
Saving file as R0010230.JPG
Saving file as R0010231.JPG
Saving file as R0010232.JPG
Saving file as R0010233.JPG
Saving file as R0010234.JPG
Saving file as R0010235.JPG
Saving file as R0010236.JPG

I noticed only one photo had such a timestamp -

exiftool R0010228.JPG | grep 10:16:48
File Modification Date/Time     : 2023:03:19 10:16:48+00:00
GPS Time Stamp                  : 10:16:48
GPS Date/Time                   : 2023:03:19 10:16:48Z

So I deleted all others -

sudo gphoto2 -d /store_00010001/DCIM/100RICOH/R0010227.JPG
...

app still crashed.

Deleteing R0010228.JPG in the same way and no crash.

I did try re-uploading the photo to the SC2 but looks like thats not supported.

Taking a picture without GPS sync ( ie SC2 not connected to my phone over bluetooth ) resulted in a photo with no GPS info ( obviously ) and the app handled that just fine.

I also tried takings some photos with bluetooth enabled ( to include GPS data ) then later connect over WiFi to download … oddly, I didn’t see a crash and photos were downloaded by the app just fine.

So I’m guessing that some sequence of events needs to happen to reproduce this issue. Grrr.

I also tried running the app in the Android Studio emulator, but I couldn’t pursuade the app to connect over wifi to the camera ( I did make a manual wifi connection to the camera, but that wasn’t enough to fool the emulator ).

Is there a trick to get the Android Studio emulator to work ?

Oh … this is curious.

So the broken photo R0010228.JPG contained -

exiftool -timezone R0010228.JPG

Time Zone                       : Z

A photo I took today contained -

exiftool -timezone R0010238.JPG

Time Zone                       : +01:00

The UK only just changed to summer time ( now on UTC + 1 ).

I set the clock on my phone back to winter time, took a new photo ( contained Time Zone Z ) and app crashed whilst trying to download.

So I think reproduction steps would be -

  1. Change phones date to 28th Feb 2023
  2. Change phones timezone to be UK
  3. Enable bluetooth mode in the app
  4. Take a picture by pressing the button on the phone
  5. Switch to wifi mode
  6. Download the photo … app crashed
  7. Download the photo via gphoto2, check exif data with exiftool -timezone R0010238.JPG

Fun huh.

Can you test the version of the Android app that came out on April 18, 2023 and see if it fixes the timezone problem? v2.9.1

ref

Thanks for the nudge.

I put the phone back to winter time and took a picture. As above, the phto included -

GPS Date/Time                   : 2023:01:30 18:19:13Z

Android app downloaded the picture with no issues :slight_smile: So I believe this is fixed.

( although only next winter we’ll know for sure ! )

2 Likes

Thanks for testing this and reporting back. :slight_smile: