UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Installer crash when clicking on "Choose file" button

    Scheduled Pinned Locked Moved Solved UBports Installer
    24 Posts 5 Posters 3.8k Views 3 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • P Offline
        PhAndersson @PhAndersson
        last edited by

        @phandersson
        OK -- found a way around it: do NOT plug the phone in when the installer requests it. Select model manually, select OS and channel, let the installer download the required files. Only then plug the phone in and click "Install".

        So, for a 2nd time, the first phase of flashing went well. I've rebooted the phone to the recovery system, and tried to proceed with the 2nd phase. This time, the phone is correctly detected and installation continues, but it soon fails with the following error:

        [...]
        info: Downloaded file 13 of 14
        info: Downloaded file 14 of 14
        error: Error: adb:preparesystemimage: Error: {"error":{"code":1,"cmd":"adb -P 5037 shell mkdir -p /cache/recovery"},"stderr":"mkdir: '/cache/recovery': Operation not permitted"}
        stack trace: Error: {"error":{"code":1,"cmd":"adb -P 5037 shell mkdir -p /cache/recovery"},"stderr":"mkdir: '/cache/recovery': Operation not permitted"}
            at /tmp/.mount_ubporthyGI7P/resources/app.asar.unpacked/node_modules/promise-android-tools/lib/module.cjs:117:20
            at ChildProcess.exithandler (child_process.js:319:5)
            at ChildProcess.emit (events.js:315:20)
            at maybeClose (internal/child_process.js:1021:16)
            at Socket.<anonymous> (internal/child_process.js:443:11)
            at Socket.emit (events.js:315:20)
            at Pipe.<anonymous> (net.js:674:12)
        

        In the dialog box titled "Yikes!", there is a "Try again" button. I pressed it but it resulted in the same error.

        Xiaomi Mi A2 (16.04 OTA-25/stable) initially with 2 SIMs
        Daily driver: Google Pixel 3a (20.04 OTA-8/stable) [was: Nokia N900 (Maemo) from 2009].

        A 1 Reply Last reply Reply Quote 0
        • A Offline
          Alter @PhAndersson
          last edited by Alter

          @phandersson : I don't own this device, nor have any knowledge of Open Suse. I'm on Ubuntu, but in my case studying the logfiles in .cache/ubports (on PC) proved useful. There were more errors.

          Regular user, UT since 2020, Now: Volla Phone (20.04 Stable)

          P 1 Reply Last reply Reply Quote 0
          • P Offline
            PhAndersson @Alter
            last edited by

            @alter
            Thanks for the tip.
            Here is the relevant section from the log file:

            [...]
            {"level":"info","message":"Downloaded file 14 of 14"}
            {"level":"verbose","message":"running core action write"}
            {"level":"verbose","message":"running adb action wait"}
            {"level":"command","message":"exec: {\"cmd\":[\"adb\",\"-P\",5037,\"wait-for-any-any\"]}"}
            {"level":"command","message":"exec: {\"cmd\":[\"adb\",\"-P\",5037,\"get-state\"],\"stdout\":\"recovery\"}"}
            {"level":"verbose","message":"running adb action preparesystemimage"}
            {"level":"command","message":"exec: {\"cmd\":[\"adb\",\"-P\",5037,\"shell\",\"mount -a\"],\"error\":{\"message\":\"Command failed: adb -P 5037 shell mount -a\\nmount: '/dev/block/platform/soc/c0c4000.sdhci/by-name/vendor_b'->'/vendor': No such file or directory\\nmount: '/devices/soc/c084000.sdhci/mmc_host*'->'/storage/sdcard1': No such file or directory\\nmount: '/dev/block/bootdevice/by-name/modem_b'->'/vendor/firmware_mnt': No such file or directory\\nmount: '/dev/block/bootdevice/by-name/bluetooth_b'->'/vendor/bt_firmware': No such file or directory\\nmount: '/dev/block/bootdevice/by-name/dsp_b'->'/vendor/dsp': No such file or directory\\nmount: '/dev/block/bootdevice/by-name/persist'->'/mnt/vendor/persist': No such file or directory\\nmount: '/devices/soc/a800000.ssusb/a800000.dwc3/xhci-hcd.0.auto*'->'/storage/usbotg': No such file or directory\\nmount: '/dev/block/bootdevice/by-name/boot_b'->'/boot': No such file or directory\",\"code\":1},\"stderr\":\"mount: '/dev/block/platform/soc/c0c4000.sdhci/by-name/vendor_b'->'/vendor': No such file or directory\\nmount: '/devices/soc/c084000.sdhci/mmc_host*'->'/storage/sdcard1': No such file or directory\\nmount: '/dev/block/bootdevice/by-name/modem_b'->'/vendor/firmware_mnt': No such file or directory\\nmount: '/dev/block/bootdevice/by-name/bluetooth_b'->'/vendor/bt_firmware': No such file or directory\\nmount: '/dev/block/bootdevice/by-name/dsp_b'->'/vendor/dsp': No such file or directory\\nmount: '/dev/block/bootdevice/by-name/persist'->'/mnt/vendor/persist': No such file or directory\\nmount: '/devices/soc/a800000.ssusb/a800000.dwc3/xhci-hcd.0.auto*'->'/storage/usbotg': No such file or directory\\nmount: '/dev/block/bootdevice/by-name/boot_b'->'/boot': No such file or directory\"}"}
            {"level":"command","message":"exec: {\"cmd\":[\"adb\",\"-P\",5037,\"shell\",\"cat /etc/recovery.fstab\"],\"stdout\":\"# Android fstab file.\\n# The filesystem that contains the filesystem checker binary (typically /system) cannot\\n# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK\\n\\n#TODO: Add 'check' as fs_mgr_flags with data partition.\\n# Currently we dont have e2fsck compiled. So fs check would failed.\\n\\n# A/B fstab.qcom variant\\n#<src>                                                      <mnt_point>             <type>  <mnt_flags and options>                                                                         <fs_mgr_flags>\\n/dev/block/bootdevice/by-name/system                        /                       ext4    ro,barrier=1,discard                                                                            wait,slotselect\\n/dev/block/bootdevice/by-name/userdata                      /data                   ext4    nodev,noatime,nosuid,barrier=1,noauto_da_alloc,discard,lazytime                                 wait,check\\n/devices/soc/c084000.sdhci/mmc_host*                        /storage/sdcard1        vfat    nodev,nosuid                                                                                    wait,voldmanaged=sdcard1:auto,encryptable=footer\\n/dev/block/bootdevice/by-name/misc                          /misc                   emmc    defaults                                                                                        defaults\\n/dev/block/bootdevice/by-name/modem                         /vendor/firmware_mnt    vfat    ro,shortname=lower,uid=0,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0       wait,slotselect\\n/dev/block/bootdevice/by-name/bluetooth                     /vendor/bt_firmware     vfat    ro,shortname=lower,uid=1002,gid=3002,dmask=227,fmask=337,context=u:object_r:bt_firmware_file:s0 wait,slotselect\\n/dev/block/bootdevice/by-name/dsp                           /vendor/dsp             ext4    ro,nodev,nosuid,barrier=1                                                                       wait,slotselect\\n/dev/block/bootdevice/by-name/persist                       /mnt/vendor/persist     ext4    nodev,noatime,nosuid,barrier=1                                                                  wait\\n\\n/devices/soc/a800000.ssusb/a800000.dwc3/xhci-hcd.0.auto*    /storage/usbotg         vfat    nodev,nosuid                                                                                    wait,voldmanaged=usbotg:auto\\n\\n/dev/block/bootdevice/by-name/boot                          /boot                   ext4    ro,barrier=1,discard                                                                            wait,slotselect\"}"}
            {"level":"command","message":"exec: {\"cmd\":[\"adb\",\"-P\",5037,\"shell\",\"rm -rf /cache/*\"]}"}
            {"level":"command","message":"exec: {\"cmd\":[\"adb\",\"-P\",5037,\"shell\",\"mkdir -p /cache/recovery\"],\"error\":{\"message\":\"Command failed: adb -P 5037 shell mkdir -p /cache/recovery\\nmkdir: '/cache/recovery': Operation not permitted\",\"code\":1},\"stderr\":\"mkdir: '/cache/recovery': Operation not permitted\"}"}
            {"level":"debug","message":"attempting to handle Error: {\"error\":{\"code\":1,\"cmd\":\"adb -P 5037 shell mkdir -p /cache/recovery\"},\"stderr\":\"mkdir: '/cache/recovery': Operation not permitted\"}"}
            {"level":"error","message":"Error: adb:preparesystemimage: Error: {\"error\":{\"code\":1,\"cmd\":\"adb -P 5037 shell mkdir -p /cache/recovery\"},\"stderr\":\"mkdir: '/cache/recovery': Operation not permitted\"}\nstack trace: Error: {\"error\":{\"code\":1,\"cmd\":\"adb -P 5037 shell mkdir -p /cache/recovery\"},\"stderr\":\"mkdir: '/cache/recovery': Operation not permitted\"}\n    at /tmp/.mount_ubporthyGI7P/resources/app.asar.unpacked/node_modules/promise-android-tools/lib/module.cjs:117:20\n    at ChildProcess.exithandler (child_process.js:319:5)\n    at ChildProcess.emit (events.js:315:20)\n    at maybeClose (internal/child_process.js:1021:16)\n    at Socket.<anonymous> (internal/child_process.js:443:11)\n    at Socket.emit (events.js:315:20)\n    at Pipe.<anonymous> (net.js:674:12)"}
            {"level":"warn","message":"restart after error"}
            [...]
            

            The last entry shown in the extract ("restart after error") corresponds to the moment I pressed on the "Try again" button.

            Two lines before the 'mkdir' command resulting in an "operation not permitted", we can also see that a "mount -a" ends in error, although that one is not considered fatal, apparently.

            Xiaomi Mi A2 (16.04 OTA-25/stable) initially with 2 SIMs
            Daily driver: Google Pixel 3a (20.04 OTA-8/stable) [was: Nokia N900 (Maemo) from 2009].

            A 1 Reply Last reply Reply Quote 0
            • A Offline
              Alter @PhAndersson
              last edited by

              @phandersson : I don't know exactly how to read the file. The first error at command mount -a says “no such file or directory”. That already doesn't sound right. I hope someone here knows a solution for it!

              Regular user, UT since 2020, Now: Volla Phone (20.04 Stable)

              P 1 Reply Last reply Reply Quote 0
              • P Offline
                PhAndersson @Alter
                last edited by

                @alter Thinking back about the whole sequence, I'm a bit concerned that my first failed attempt at flashing UT (before adapting the udev rules) may have left the phone in an "unexpected" state, which in turn caused the 2nd flashing attempt to fail with these ominous error messages.

                It is perhaps best at this point that use TWRP again to put Android9 back on the phone (in both slots), make sure the phone is bootable again, and retry the whole 'ubports-installer' process again.

                Xiaomi Mi A2 (16.04 OTA-25/stable) initially with 2 SIMs
                Daily driver: Google Pixel 3a (20.04 OTA-8/stable) [was: Nokia N900 (Maemo) from 2009].

                A 1 Reply Last reply Reply Quote 1
                • A Offline
                  Alter @PhAndersson
                  last edited by

                  @phandersson : I think I would also start over by doing just that. It seems errors keep popping up. Maybe also try the 0.9.0 version of installer then.

                  Regular user, UT since 2020, Now: Volla Phone (20.04 Stable)

                  P 1 Reply Last reply Reply Quote 0
                  • P Offline
                    PhAndersson @Alter
                    last edited by

                    @alter Looking at its Changelog, release 0.9.0 seems to be the one that introduced the redesigned "File open" dialogue:

                    "Implement XDG desktop portals to enable file picker dialogs for manual file downloads in the snap build"

                    Also, if I understand their respective Changelogs correctly, neither 0.9.0 or 0.9.1 changed anything to the actual phone installation procedure. But please correct me if I'm wrong (or if the Changelog doesn't cover everything).

                    Xiaomi Mi A2 (16.04 OTA-25/stable) initially with 2 SIMs
                    Daily driver: Google Pixel 3a (20.04 OTA-8/stable) [was: Nokia N900 (Maemo) from 2009].

                    A LakotaubpL 2 Replies Last reply Reply Quote 0
                    • A Offline
                      Alter @PhAndersson
                      last edited by

                      @phandersson : I'm not a developer, but from what I've heard the version with problems is 0.9.1.

                      Regular user, UT since 2020, Now: Volla Phone (20.04 Stable)

                      P 1 Reply Last reply Reply Quote 0
                      • P Offline
                        PhAndersson @Alter
                        last edited by

                        @alter I can certainly check v0.9.0 as well, since with 0.9.1 I could reproduce the crash without even connecting the phone 🙂

                        Thanks for the suggestion.

                        Xiaomi Mi A2 (16.04 OTA-25/stable) initially with 2 SIMs
                        Daily driver: Google Pixel 3a (20.04 OTA-8/stable) [was: Nokia N900 (Maemo) from 2009].

                        A 1 Reply Last reply Reply Quote 0
                        • A Offline
                          Alter @PhAndersson
                          last edited by

                          @phandersson : You're welcome! I hope the UT install will go well for you this time!

                          Regular user, UT since 2020, Now: Volla Phone (20.04 Stable)

                          1 Reply Last reply Reply Quote 0
                          • LakotaubpL Offline
                            Lakotaubp @PhAndersson
                            last edited by Lakotaubp

                            @phandersson If you feel the need to run through the installer again try with 0.8.8 or 0.8.9. That seems to be solving most of the installer issues at present. https://github.com/ubports/ubports-installer/releases

                            stanwoodS P 2 Replies Last reply Reply Quote 0
                            • stanwoodS Offline
                              stanwood @Lakotaubp
                              last edited by

                              @lakotaubp So just a simple question: As current installer version (0.9.1) seems definitely problematic, should one revert to 0.8.9 in Ubuntu repositories - including Ubuntu Software, Gnome Software, etc...? (Pending a future more stable release).

                              Redmi Note 9S Stable
                              If God has a computer, it must be a GNU/Linux

                              LakotaubpL 1 Reply Last reply Reply Quote 0
                              • LakotaubpL Offline
                                Lakotaubp @stanwood
                                last edited by

                                @stanwood At present from what I've seen either 0.8.8 or .9 those seem to work consistently well, yes. A fix has been sorted and should be released soon. How soon not sure.

                                1 Reply Last reply Reply Quote 1
                                • P Offline
                                  PhAndersson @Lakotaubp
                                  last edited by

                                  @lakotaubp said in Installer crash when clicking on "Choose file" button:

                                  @phandersson If you feel the need to run through the installer again try with 0.8.8 or 0.8.9. That seems to be solving most of the installer issues at present. https://github.com/ubports/ubports-installer/releases

                                  I re-flashed stock Android9 on the phone and then retried the UBport install yesterday night (with v0.8.8, as there seems to be a consensus around that one). It once again failed at the same point with the same error message (permission denied on "mkdir -p ...").

                                  To me, this doesn't look like an installer problem any more, so I'll open a new thread on that topic in the device-specific forum (Xiaomi Mi A2).

                                  Xiaomi Mi A2 (16.04 OTA-25/stable) initially with 2 SIMs
                                  Daily driver: Google Pixel 3a (20.04 OTA-8/stable) [was: Nokia N900 (Maemo) from 2009].

                                  P 1 Reply Last reply Reply Quote 0
                                  • P Offline
                                    PhAndersson @PhAndersson
                                    last edited by

                                    As indicated above, I opened a new post in the Xiaomi Mi A2 forum last Friday:
                                    https://forums.ubports.com/topic/6840/ubports-install-fails-with-permission-error-on-the-device
                                    with a lot of extra troubleshooting information.

                                    Any hint as to how I should proceed would be most welcome, as I'm essentially stuck at the moment.

                                    Xiaomi Mi A2 (16.04 OTA-25/stable) initially with 2 SIMs
                                    Daily driver: Google Pixel 3a (20.04 OTA-8/stable) [was: Nokia N900 (Maemo) from 2009].

                                    P 1 Reply Last reply Reply Quote 0
                                    • P Offline
                                      PhAndersson @PhAndersson
                                      last edited by

                                      Problem has been resolved -- phone is now running UT OTA-19 stable.

                                      Details about the fix in the device-specific post (see URL in previous post). I'll now mark this one as resolved as well.

                                      Many thanks to all those who helped.

                                      Xiaomi Mi A2 (16.04 OTA-25/stable) initially with 2 SIMs
                                      Daily driver: Google Pixel 3a (20.04 OTA-8/stable) [was: Nokia N900 (Maemo) from 2009].

                                      1 Reply Last reply Reply Quote 1
                                      • First post
                                        Last post