RemoteDebug/remotedebug-ios-webkit-adapter

UnhandledPromiseRejectionWarning on latest version and iOS 13.1 on iPhone X

konmavrakis opened this issue ยท 16 comments

Device is been recognised correctly in the chrome://inspect/#devices pags. When I click inspect on any page I get the following error and the inspect page is completely blank.

New websocket connection to /ios_17a6ca61a706494c5279f59b8682b5a46cd88844/ws://127.0.0.1:9101/devtools/page/2
Connection established to ws://127.0.0.1:9101/devtools/page/2
(node:50417) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): [object Object]
(node:50417) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:50417) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): [object Object]
(node:50417) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 3): [object Object]
(node:50417) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 4): [object Object]
iosAdapter.getTargets
(node:50417) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 5): [object Object]
iosAdapter.getTargets
iosAdapter.getTargets

Will try to update to iOS 13.2. And report back to see if this can fix anything.

Edit: same error log with iOS 13.32

iosAdapter.getTargets
New websocket connection to /ios_17a6ca61a706494c5279f59b8682b5a46cd88844/ws://127.0.0.1:9101/devtools/page/1
Connection established to ws://127.0.0.1:9101/devtools/page/1
iosAdapter.getTargets
(node:81953) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): [object Object]
(node:81953) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:81953) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): [object Object]
(node:81953) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 3): [object Object]
(node:81953) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 4): [object Object]
(node:81953) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 5): [object Object]
iosAdapter.getTargets

Up vote! I also got this error too OSX Catalina, iOS 13.2 on iPhone 8

Same error, OSX Catalina, iOS 13.1.3 on iPhone 7.

spfan commented

Same error

I am getting the same error. Running iOS 13.2.3 on iPhone X. Running macOS Mojave 10.14.6. Everything seems to work - I can see the Safari tabs in chrome://inspect window. But once I hit inspect of the tab of interest Chrome Dev Tools opens a blank page and the UnhandledPromiseRejectionWarning errors starts kicking out. I also toggled JavaScript on and off in Settings -> Safari -> Advanced

I have same issue: iPhone XR with iOS 12.3.1 and Windows 10 build 1809

Here's the full debug

iOS: 13.2.3
OSX: 10.14.6

remotedebug-ios#MASTER#31a106ce4efa08255decdd1ff40cfd5d8d9f16c8

Dependencies are all installed from HEAD
/usr/local/Cellar/libusbmuxd/HEAD-e97cebe/lib/pkgconfig/libusbmuxd.pc
/usr/local/Cellar/libimobiledevice/HEAD-9f79242_6/include/libimobiledevice/
/usr/local/Cellar/ios-webkit-debug-proxy/HEAD-49e9b49_2/bin/ios_webkit_debug_proxy

remotedebug sendToTools.{"error":{"code":-32601,"message":"'Network' domain was not found","data":[{"code":-32601,"message":"'Network' domain was not found"}]},"id":1} +0ms
  remotedebug sendToTools.{"error":{"code":-32601,"message":"'Page' domain was not found","data":[{"code":-32601,"message":"'Page' domain was not found"}]},"id":2} +1ms
  remotedebug sendToTools.{"error":{"code":-32601,"message":"'Page' domain was not found","data":[{"code":-32601,"message":"'Page' domain was not found"}]},"id":3} +1ms
  remotedebug sendToTools.{"error":{"code":-32601,"message":"'Profiler' domain was not found","data":[{"code":-32601,"message":"'Profiler' domain was not found"}]},"id":4} +0ms
  remotedebug sendToTools.{"error":{"code":-32601,"message":"'Runtime' domain was not found","data":[{"code":-32601,"message":"'Runtime' domain was not found"}]},"id":5} +0ms
  remotedebug sendToTools.{"error":{"code":-32601,"message":"'Debugger' domain was not found","data":[{"code":-32601,"message":"'Debugger' domain was not found"}]},"id":7} +0ms
  remotedebug sendToTools.{"error":{"code":-32601,"message":"'CSS' domain was not found","data":[{"code":-32601,"message":"'CSS' domain was not found"}]},"id":10} +0ms
  remotedebug sendToTools.{"error":{"code":-32601,"message":"'Log' domain was not found","data":[{"code":-32601,"message":"'Log' domain was not found"}]},"id":12} +0ms
  remotedebug sendToTools.{"error":{"code":-32601,"message":"'ServiceWorker' domain was not found","data":[{"code":-32601,"message":"'ServiceWorker' domain was not found"}]},"id":13} +0ms
  remotedebug sendToTools.{"error":{"code":-32601,"message":"'Target.setAutoAttach' was not found","data":[{"code":-32601,"message":"'Target.setAutoAttach' was not found"}]},"id":14} +0ms
  remotedebug sendToTools.{"error":{"code":-32601,"message":"'Target.setRemoteLocations' was not found","data":[{"code":-32601,"message":"'Target.setRemoteLocations' was not found"}]},"id":15} +1ms
  remotedebug sendToTools.{"error":{"code":-32601,"message":"'Debugger' domain was not found","data":[{"code":-32601,"message":"'Debugger' domain was not found"}]},"id":6} +0ms
(node:76628) UnhandledPromiseRejectionWarning: #<Object>
(node:76628) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:76628) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
  remotedebug sendToTools.{"error":{"code":-32601,"message":"'Console' domain was not found","data":[{"code":-32601,"message":"'Console' domain was not found"}]},"id":11} +1ms
  remotedebug sendToTools.{"error":{"code":-32601,"message":"'Target.setDiscoverTargets' was not found","data":[{"code":-32601,"message":"'Target.setDiscoverTargets' was not found"}]},"id":16} +0ms
  remotedebug sendToTools.{"error":{"code":-32601,"message":"'Page' domain was not found","data":[{"code":-32601,"message":"'Page' domain was not found"}]},"id":17} +0ms
  remotedebug sendToTools.{"error":{"code":-32601,"message":"'Rendering' domain was not found","data":[{"code":-32601,"message":"'Rendering' domain was not found"}]},"id":19} +0ms
  remotedebug sendToTools.{"error":{"code":-32601,"message":"'Inspector' domain was not found","data":[{"code":-32601,"message":"'Inspector' domain was not found"}]},"id":20} +1ms
  remotedebug sendToTools.{"error":{"code":-32601,"message":"'Page' domain was not found","data":[{"code":-32601,"message":"'Page' domain was not found"}]},"id":18} +0ms
(node:76628) UnhandledPromiseRejectionWarning: #<Object>
(node:76628) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
jl-cs commented

Same problem, tested on the following devices, all show the same behaviour. iOS 13 devices are not even registered anymore:
iPad Air 2
iOS 12.4.1
Debugging on Windows 10

iPhone 6
iOS 12.4.3
Debugging on Windows 10

error.iosAdapter.getTargets.getDeviceVersion.failed.fallback, device=[object Object]

(node:17696) UnhandledPromiseRejectionWarning: #<Object>

(node:17696) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)

(node:17696) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

(node:17696) UnhandledPromiseRejectionWarning: #<Object>

(node:17696) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)

(node:17696) UnhandledPromiseRejectionWarning: #<Object>

(node:17696) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 3)

+1 have the exact same issue on macOS Catalina 10.15.1 and iOS 13.3
Inspector just shows empty/blank

iosAdapter.getTargets New websocket connection to /ios_c5b2506d46c7f262932d01822f8b6469e1d64dc9/ws://127.0.0.1:9101/devtools/page/1 Connection established to ws://127.0.0.1:9101/devtools/page/1 iosAdapter.getTargets (node:94484) UnhandledPromiseRejectionWarning: #<Object> (node:94484) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:94484) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. (node:94484) UnhandledPromiseRejectionWarning: #<Object> (node:94484) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2) (node:94484) UnhandledPromiseRejectionWarning: #<Object> (node:94484) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 3) (node:94484) UnhandledPromiseRejectionWarning: #<Object> (node:94484) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 4) (node:94484) UnhandledPromiseRejectionWarning: #<Object> (node:94484) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 5) iosAdapter.getTargets

Same situation here, running in iOS 13.3 and macOS Catalina 10.15.2

Same situation here, running in iOS 13.3 and macOS Catalina 10.15.2

Same situation, running in same version of iOS and macOS.

running with iOS 12.0.1 is working fine.

Same here with iOS 13.3 from iphone XS and arch linux

Must have something connected with recent changes in iwdp to bring ssl connection support for iOS 13

google/ios-webkit-debug-proxy@b4b877e

Seeing the same issue on Windows 10 and iOS 13.3.

Nobody handled the ticket in 3 months ? Is it abandonned or has someone forked it ?

Fixed in HEAD

Debug Safari on IOS 13.X Install instructions for Ubuntu 18.04

Install Dependecies

apt-get install haskell-debian-utils dh-autoreconf fakeroot checkinstall
sudo apt-get build-dep libplist libusbmuxd4 libimobiledevice6 usbmuxd

Dowload sources

wget http://archive.ubuntu.com/ubuntu/pool/main/libp/libplist/libplist_2.1.0-4.dsc
wget http://archive.ubuntu.com/ubuntu/pool/main/libp/libplist/libplist_2.1.0.orig.tar.bz2
wget http://archive.ubuntu.com/ubuntu/pool/main/libp/libplist/libplist_2.1.0-4.debian.tar.xz
wget http://archive.ubuntu.com/ubuntu/pool/main/u/usbmuxd/usbmuxd_1.1.1~git20191130.9af2b12-1.dsc
wget http://archive.ubuntu.com/ubuntu/pool/main/u/usbmuxd/usbmuxd_1.1.1~git20191130.9af2b12.orig.tar.gz
wget http://archive.ubuntu.com/ubuntu/pool/main/u/usbmuxd/usbmuxd_1.1.1~git20191130.9af2b12-1.debian.tar.xz
wget http://archive.ubuntu.com/ubuntu/pool/main/libu/libusbmuxd/libusbmuxd_2.0.1-2.dsc
wget http://archive.ubuntu.com/ubuntu/pool/main/libu/libusbmuxd/libusbmuxd_2.0.1.orig.tar.bz2
wget http://archive.ubuntu.com/ubuntu/pool/main/libu/libusbmuxd/libusbmuxd_2.0.1-2.debian.tar.xz

Unpack Sources

dpkg-source -x libplist_2.1.0-4.dsc
dpkg-source -x usbmuxd_1.1.1~git20191130.9af2b12-1.dsc
dpkg-source -x libusbmuxd_2.0.1-2.dsc

Build libplist

cd libplist-2.1.0/
fakeroot debian/rules binary 
cd ..
sudo dpkg -i libplist*.deb

Build usbmuxd

cd 
cd usbmuxd-1.1.1~git20191130.9af2b12/
fakeroot debian/rules binary 
cd ..
sudo dpkg -i usbmuxd*.deb

Build libusbmuxd

cd libusbmuxd-2.0.1
fakeroot debian/rules binary 
cd ..
sudo dpkg -i libusbmuxd*.deb

Build libimobiledevice

git clone https://github.com/libimobiledevice/libimobiledevice
cd libimobiledevice
./autogen.sh
make
checkinstall
#2 -  Name:    [ libimobiledevice6 ]
#3 -  Version: [ 1.2.1-git-20200107 ]
sudo dpkg -i libimobiledevice6_1.2.1-git-20200107-1_amd64.deb

Build ios-webkit-debug-proxy

git clone https://github.com/google/ios-webkit-debug-proxy.git
cd ios-webkit-debug-proxy
./autogen.sh
make
sudo make install

Install nodejs 12

sudo apt --fix-broken install
sudo apt update
sudo apt -y install curl dirmngr apt-transport-https lsb-release ca-certificates
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt -y install nodejs

Install git remotedebug-ios-webkit-adapter

npm uninstall remotedebug-ios-webkit-adapter
git clone https://github.com/RemoteDebug/remotedebug-ios-webkit-adapter.git
cd remotedebug-ios-webkit-adapter.git
sudo npm install ./ -g

Debug Safari on IOS 13.X Run instructions for Ubuntu 18.04

sudo usbmuxd -f
ios_webkit_debug_proxy
/usr/bin/remotedebug_ios_webkit_adapter --port=9000

Open chrome://inspect and add localhost:9000

Thank you @diegovazquez

on Arch Linux I need the following

Hope it helps

[1]
PKGBUILD.TXT

[2]
PKGBUILD.TXT

This project is now super-seeded by https://inspect.dev/ โ€“ a new developer tool for macOS and Windows to inspect and debug your web apps and websites in Safari and WebViews on iOS devices.

RemoteDebug iOS WebKit Adapter is not proactively maintained or extended.