I recently updated my HD-12 firmware from 4.0.900 (which it shipped with) to 4.0.925. The process resulted in errors being displayed on the device (the display showed a dialog that began with "Unfortunately..." for a moment before the automatic reboot). The log was concordant. Ergo, I am not at all confident that the system cleanly upgraded, especially the UI. The device has rebooted and believes that it is at the latest revision, but I have my doubts about its state.
With other devices I would attempt to reflash the firmware but with the RainMachine I am somewhat at a loss. I see in the REST API there seems to be an ability to upload a sysupgrade file, but obtaining the actual upgrade file is not a straightforward process.
FWIW, here is an excerpt of the logcat (most salient aspect in bold):
I/rainmachine.sh( 77): 2018-06-03 16:55:30,318 - INFO - rmUpgradeGenericLinux:70 - Upgrading package: rainmachine-app from 4.0.900 to 4.0.925.
I/rainmachine.sh( 77): 2018-06-03 16:55:34,222 - INFO - rmUpgradeGenericLinux:70 - Upgrading package: rainmachine-ui from 1.2.14 to 1.2.16.
I/ActivityManager( 343): Force stopping package com.rainmachine.local appid=10027 user=0
I/ActivityManager( 343): Killing proc 465:com.rainmachine.local/u0a10027: force stop com.rainmachine.local
W/ActivityManager( 343): Force removing ActivityRecord{41dfc4a8 u0 com.rainmachine.local/com.rainmachine.presentation.screens.updates.UpdatesActivity}: app died, no saved state
W/ResourceType( 343): No known package when getting value for resource number 0x7f080058
I/ActivityManager( 343): Force finishing activity ActivityRecord{41e65840 u0 com.rainmachine.local/com.rainmachine.presentation.screens.main.MainActivity}
W/ActivityManager( 343): Unable to retrieve gids
W/ActivityManager( 343): android.content.pm.PackageManager$NameNotFoundException: com.rainmachine.local
W/ActivityManager( 343): at android.app.ApplicationPackageManager.getPackageGids(ApplicationPackageManager.java:142)
W/ActivityManager( 343): at com.android.server.am.ActivityManagerService.startProcessLocked(ActivityManagerService.java:2148)
W/ActivityManager( 343): at com.android.server.am.ActivityManagerService.startProcessLocked(ActivityManagerService.java:2112)
W/ActivityManager( 343): at com.android.server.am.ActivityStack.startSpecificActivityLocked(ActivityStack.java:834)
W/ActivityManager( 343): at com.android.server.am.ActivityStack.resumeTopActivityLocked(ActivityStack.java:1808)
W/ActivityManager( 343): at com.android.server.am.ActivityStack.resumeTopActivityLocked(ActivityStack.java:1432)
W/ActivityManager( 343): at com.android.server.am.ActivityStack.finishCurrentActivityLocked(ActivityStack.java:3917)
W/ActivityManager( 343): at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:3841)
W/ActivityManager( 343): at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:3766)
W/ActivityManager( 343): at com.android.server.am.ActivityManagerService.forceStopPackageLocked(ActivityManagerService.java:3988)
W/ActivityManager( 343): at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:11979)
W/ActivityManager( 343): at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:12286)
W/ActivityManager( 343): at com.android.server.pm.PackageManagerService.sendPackageBroadcast(PackageManagerService.java:5858)
W/ActivityManager( 343): at com.android.server.pm.PackageManagerService$AppDirObserver.onEvent(PackageManagerService.java:6027)
W/ActivityManager( 343): at android.os.FileObserver$ObserverThread.onEvent(FileObserver.java:125)
W/ActivityManager( 343): at android.os.FileObserver$ObserverThread.observe(Native Method)
W/ActivityManager( 343): at android.os.FileObserver$ObserverThread.run(FileObserver.java:88)
I/ActivityManager( 343): Start proc com.rainmachine.local for activity com.rainmachine.local/com.rainmachine.presentation.screens.advancedsettings.AdvancedSettingsActivity: pid=828 uid=10027 gids={50027}
I/ActivityManager( 343): Force finishing activity ActivityRecord{41e972e8 u0 com.rainmachine.local/com.rainmachine.presentation.screens.settings.SettingsActivity}
I/ActivityManager( 343): Force finishing activity ActivityRecord{41e63388 u0 com.rainmachine.local/com.rainmachine.presentation.screens.advancedsettings.AdvancedSettingsActivity}
W/WindowManager( 343): view not successfully added to wm, removing view
I/InputReader( 343): Reconfiguring input devices. changes=0x00000010
W/zipro ( 828): Unable to open zip '/system/app/RainMachine-UI.apk': Permission denied
D/asset ( 828): failed to open Zip archive '/system/app/RainMachine-UI.apk'
D/AndroidRuntime( 828): Shutting down VM
W/dalvikvm( 828): threadid=1: thread exiting with uncaught exception (group=0x4193a700)
E/AndroidRuntime( 828): FATAL EXCEPTION: main
E/AndroidRuntime( 828): java.lang.RuntimeException: Unable to instantiate application com.rainmachine.infrastructure.util.RainApplication: java.lang.IllegalStateException: Unable to get package info for com.rainmachine.local; is package not installed?
E/AndroidRuntime( 828): at android.app.LoadedApk.makeApplication(LoadedApk.java:509)
E/AndroidRuntime( 828): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4417)
E/AndroidRuntime( 828): at android.app.ActivityThread.access$1300(ActivityThread.java:141)
E/AndroidRuntime( 828): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
E/AndroidRuntime( 828): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 828): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 828): at android.app.ActivityThread.main(ActivityThread.java:5103)
E/AndroidRuntime( 828): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 828): at java.lang.reflect.Method.invoke(Method.java:525)
E/AndroidRuntime( 828): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
E/AndroidRuntime( 828): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
E/AndroidRuntime( 828): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 828): Caused by: java.lang.IllegalStateException: Unable to get package info for com.rainmachine.local; is package not installed?
E/AndroidRuntime( 828): at android.app.LoadedApk.initializeJavaContextClassLoader(LoadedApk.java:369)
E/AndroidRuntime( 828): at android.app.LoadedApk.getClassLoader(LoadedApk.java:322)
E/AndroidRuntime( 828): at android.app.LoadedApk.makeApplication(LoadedApk.java:501)
E/AndroidRuntime( 828): ... 11 more
D/dalvikvm( 343): GC_EXPLICIT freed 325K, 8% free 5612K/6088K, paused 8ms+28ms, total 352ms
W/zipro ( 343): Unable to open zip '/system/app/RainMachine-UI.apk': Permission denied
D/asset ( 343): failed to open Zip archive '/system/app/RainMachine-UI.apk'
W/ResourceType( 343): No known package when getting value for resource number 0x7f080058
W/PackageManager( 343): Failure retrieving text 0x7f080058 in package com.rainmachine.local
W/PackageManager( 343): android.content.res.Resources$NotFoundException: String resource ID #0x7f080058
W/PackageManager( 343): at android.content.res.Resources.getText(Resources.java:239)
W/PackageManager( 343): at android.app.ApplicationPackageManager.getText(ApplicationPackageManager.java:983)
W/PackageManager( 343): at android.content.pm.PackageItemInfo.loadLabel(PackageItemInfo.java:115)
W/PackageManager( 343): at android.app.ApplicationPackageManager.getApplicationLabel(ApplicationPackageManager.java:1027)
W/PackageManager( 343): at com.android.server.am.AppErrorDialog.<init>(AppErrorDialog.java:50)
W/PackageManager( 343): at com.android.server.am.ActivityManagerService$2.handleMessage(ActivityManagerService.java:976)
W/PackageManager( 343): at android.os.Handler.dispatchMessage(Handler.java:99)
W/PackageManager( 343): at android.os.Looper.loop(Looper.java:137)
W/PackageManager( 343): at com.android.server.am.ActivityManagerService$AThread.run(ActivityManagerService.java:1542)
D/BackupManagerService( 343): Received broadcast Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:com.rainmachine.local flg=0x8000010 (has extras) }
V/BackupManagerService( 343): removePackageParticipantsLocked: uid=10027 #1
E/cutils ( 845): Failed to mkdir(/mnt/shell/emulated/0): Read-only file system
E/dalvikvm( 845): cannot mountExternalStorage(): Read-only file system
I/ActivityManager( 343): Start proc com.android.keychain for broadcast com.android.keychain/.KeyChainBroadcastReceiver: pid=845 uid=1000 gids={41000, 1015, 1028, 3002, 3001, 3003}
I/PackageManager( 343): /system/app/RainMachine-UI.apk changed; collecting certs
W/ResourceType( 343): Failure getting entry for 0x7f060000 (t=5 e=0) in package 0 (error -75)
D/VoicemailCleanupService( 486): Cleaning up data for package: com.rainmachine.local
D/dalvikvm( 343): GC_CONCURRENT freed 196K, 5% free 5933K/6200K, paused 47ms+20ms, total 165ms
D/dalvikvm( 343): WAIT_FOR_CONCURRENT_GC blocked 89ms
D/dalvikvm( 343): GC_CONCURRENT freed 307K, 7% free 6126K/6532K, paused 31ms+53ms, total 194ms
D/dalvikvm( 343): WAIT_FOR_CONCURRENT_GC blocked 208ms
D/dalvikvm( 343): GC_FOR_ALLOC freed 126K, 8% free 6254K/6788K, paused 157ms, total 157ms
D/dalvikvm( 343): GC_FOR_ALLOC freed 370K, 10% free 6276K/6916K, paused 140ms, total 140ms
D/dalvikvm( 343): GC_FOR_ALLOC freed 127K, 8% free 6404K/6916K, paused 122ms, total 122ms
D/dalvikvm( 343): GC_FOR_ALLOC freed 369K, 9% free 6426K/7044K, paused 142ms, total 142ms
W/InputDispatcher( 343): channel '41e6fbf8 com.rainmachine.local/com.rainmachine.presentation.screens.main.MainActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9
E/InputDispatcher( 343): channel '41e6fbf8 com.rainmachine.local/com.rainmachine.presentation.screens.main.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
W/InputDispatcher( 343): Attempted to unregister already unregistered input channel '41e6fbf8 com.rainmachine.local/com.rainmachine.presentation.screens.main.MainActivity (server)'
I/WindowState( 343): WIN DEATH: Window{41e6fbf8 u0 com.rainmachine.local/com.rainmachine.presentation.screens.main.MainActivity}
D/NsdService( 343): stopMDnsDaemon
E/NsdService( 343): Failed to start daemoncom.android.server.NativeDaemonConnector$NativeDaemonFailureException: command '3 mdnssd stop-service' failed with '403 3 Service still in use'
D/NsdService( 343): Client connection lost with reason: 4
I/WindowState( 343): WIN DEATH: Window{41e8b8f0 u0 com.rainmachine.local/com.rainmachine.presentation.screens.advancedsettings.AdvancedSettingsActivity}
I/WindowState( 343): WIN DEATH: Window{41d4f8d8 u0 com.rainmachine.local/com.rainmachine.presentation.screens.settings.SettingsActivity}
I/WindowState( 343): WIN DEATH: Window{41e90cc8 u0 com.rainmachine.local/com.rainmachine.presentation.screens.updates.UpdatesActivity}
D/dalvikvm( 343): GC_CONCURRENT freed 456K, 8% free 6694K/7220K, paused 81ms+6ms, total 276ms
D/dalvikvm( 343): WAIT_FOR_CONCURRENT_GC blocked 81ms
I/rainmachine.sh( 77): 2018-06-03 16:55:46,331 - INFO - rmUpgradeGenericLinux:70 - Upgrading package: rainmachine-system from 0.0.72 to 0.0.75.
D/dalvikvm( 343): GC_CONCURRENT freed 169K, 4% free 7317K/7556K, paused 13ms+17ms, total 102ms
D/dalvikvm( 343): WAIT_FOR_CONCURRENT_GC blocked 54ms
D/dalvikvm( 343): WAIT_FOR_CONCURRENT_GC blocked 9ms
D/dalvikvm( 343): GC_CONCURRENT freed 493K, 7% free 7769K/8332K, paused 24ms+6ms, total 125ms
D/dalvikvm( 343): WAIT_FOR_CONCURRENT_GC blocked 59ms
I/dalvikvm( 343): DexOpt: source file CRC mismatch (634294af vs 5190f88b)
I/PackageManager( 343): Running dexopt on: com.rainmachine.local
D/dalvikvm( 343): WAIT_FOR_CONCURRENT_GC blocked 108ms
D/dalvikvm( 486): GC_CONCURRENT freed 229K, 7% free 3971K/4264K, paused 166ms+3ms, total 417ms
W/dalvikvm( 868): method Landroid/support/v7/widget/ListViewCompat;.lookForSelectablePosition incorrectly overrides package-private method with same name in Landroid/widget/ListView;
D/dalvikvm( 868): DexOpt: couldn't find field Landroid/app/Notification;.headsUpContentView
I/rainmachine.sh( 77): 2018-06-03 16:55:53,766 - INFO - rmMainManager:237 - API Upgrade finished will reboot!
I/rainmachine.sh( 77): 2018-06-03 16:55:54,936 - INFO - rmParserThread:212 - ParserThread postRun() complete!
I/rainmachine.sh( 77): 2018-06-03 16:55:54,939 - INFO - rmHTTPServerThread:67 - RMHTTPServerThread.stop
I/rainmachine.sh( 77): 2018-06-03 16:55:54,976 - INFO - rmProgramSchedulerCommands:67 - Shutting down watering thread...
I/rainmachine.sh( 77): 2018-06-03 16:55:55,274 - INFO - rmProgramSchedulerWatering:71 - Watering thread is shutting down...
I/rainmachine.sh( 77): 2018-06-03 16:55:55,276 - INFO - rmProgramSchedulerWatering:77 - Watering thread is stopping remaining programs and zones...
I/rainmachine.sh( 77): 2018-06-03 16:55:55,281 - INFO - rmProgramSchedulerWatering:83 - Watering thread has stopped!
I/rainmachine.sh( 77): 2018-06-03 16:55:55,290 - INFO - rmProgramSchedulerCommands:69 - Shutting down watering thread... DONE!
I/rainmachine.sh( 77): 2018-06-03 16:55:55,293 - INFO - rmProgramSchedulerCommands:72 - Program Scheduler shutdown completely!
I/rainmachine.sh( 77): 2018-06-03 16:55:55,323 - INFO - rmHTTPServerThread:74 - RMHTTPServerThread.stop finished!
I/rainmachine.sh( 77): 2018-06-03 16:55:55,719 - INFO - rmLocalNetworkAdvertise:130 - RMLocalNetworkAdvertise shutdown completed
I/rainmachine.sh( 77): 2018-06-03 16:55:55,840 - INFO - rmMemoryUsageStats:40 - Memory Usage Stats
I/rainmachine.sh( 77): 2018-06-03 16:55:55,842 - INFO - rmMemoryUsageStats:41 - ------------------------------------------------------
I/rainmachine.sh( 77): 2018-06-03 16:55:55,844 - INFO - rmMemoryUsageStats:42 - As reported by pyresource 11280
I/rainmachine.sh( 77): 2018-06-03 16:55:55,846 - INFO - rmMemoryUsageStats:44 - As reported by /proc peak: 19500 rss: 11284
I/rainmachine.sh( 77): 2018-06-03 16:55:55,850 - INFO - main:235 - Platform 3 Reboot: True
I/rainmachine.sh( 77): 2018-06-03 16:55:55,853 - INFO - rmUtils:114 - REBOOTING MACHINE...
I/rainmachine.sh( 77): 2018-06-03 16:55:55,856 - INFO - rmUtils:127 - reboot
D/dalvikvm( 868): DexOpt: load 909ms, verify+opt 6889ms, 6594484 bytes
Comments
2 comments