Google Assistant on Raspberry pi Segmentation fault - google-assistant-sdk

Installing Google assistant on my pi with this guide: https://developers.google.com/assistant/sdk/guides/library/python/embed/run-sample
(env) pi#raspberrypi:~ $ source env/bin/activate
(env) pi#raspberrypi:~ $ googlesamples-assistant-hotword --project_id 'celius-54926' --device_model_id 'celius-54926-celius-qyn1r6'
device_model_id: celius-54926-celius-qyn1r6
device_id: A1CE24415E5C880BCA74644CD6315DC2
Segmentation fault

I had the same issue.
I carried on reading the page : https://developers.google.com/assistant/sdk/guides/library/python/embed/run-sample under the heading "Find the device instance ID" it seems my device was not registered.
So I manually registered the device from the pi with the help page here:
https://developers.google.com/assistant/sdk/reference/device-registration/device-tool#register-device.
(env) pi#raspberrypi:~ $ googlesamples-assistant-devicetool --project-id YOUR_DEVICE_ID register-device --device 4D609xxxxxxxxxxxxxxxxxxx --model YOUR_MODEL_ID --client-type SERVICE
Creating new device
Error: Failed to register device: 403
Google Assistant API has not been used in project 5739xxxxxxxx before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/embeddedassistant.googleapis.com/overview?project=5739xxxxxxxx then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
So I followed the link and enabled the API under my google account, and retried.
(env) pi#raspberrypi:~ $ googlesamples-assistant-devicetool --project-id YOUR-PROJECT-ID register-device --device 4D60xxxxxxxxxxxxxxx --model YOUR_MODEL_ID --client-type SERVICE
Creating new device
Device instance 4D60xxxxxxxxx successfully registered
Now it works ok.

I was facing the same issue. After a lot of research, I found that there was a new version of google-assistant-library
Once I upgraded the same to v1.0.1 from 1.0.0, the issue was resolved.
Open your env and run
python -m pip install --upgrade google-assistant-library==1.0.1
Let me know if any issues.

I face same problem for Ubuntu assistant setup, I found my google assistant api was not enabled. I enable it from api console and it started working.

I was facing the same issue in RPi4.
Finally the problem was fixed by newer version of the google-assistant library, 1.1.0 instead of 1.0.1 version:
python -m pip install --upgrade google-assistant-library==1.1.0

Related

flipper: Desktop failed to provide certificates. Error from flipper desktop

Getting a flipper error log while i am trying to run ios app from xcode.
flipper: Desktop failed to provide certificates. Error from flipper desktop:
rsocket::StreamInterruptedException: connection error
App is working smoothly, no issues found. But this log is coming in every 1 second.
Is there any way to fix this issue?
I had the same issue and I finally found a way to resolve this.
I assume you're getting this error when you try to debug your app with a real iOS device.
These are the steps I took.
You need to run Flipper Desktop on your background. It has an integrated React-devtools plugin. Download it from fbflipper.com. Follow the instructions on their docs it's simple and quite straightforward.
At this point you won't have the same error message. (It will say that the certificate is ok.) However, if you encounter any issues with idb binary location (which I did on my M1 machine), this new message will pop every second and Flipper interface will tell you that the device is not found. Just make sure to find the right idb binary location and configure it, restart Flipper, and this will be resolved one and for all. Mine was in "/opt/homebrew/bin/idb".
TL: DR;
idb_companion was built for newer Swift enviroments, but I was still using Big Sur. After upgrading my MacOS, Flipper managed to connect to my iOS device fine.
Of course I explain below that I build idb from the source to match the version 1.1.8 for both idb_companion and idb.
Below I also explain how I found the error that was crashing idb_companion preventing Flipper from maintaining a stable connection and restarting several times yielding the message: [conn] ... restarted 4 times in 20 seconds.
What I learned:
idb_companion runs on my Mac in the background as a server that knows how to control or get logs from iOS physical devices;
idb is a command line interface that Flipper can use for communicating with idb_companion.
I was able to install idb_companion#1.1.8 using Homebrew. But I was not able to install the same version 1.1.8 for the cli (aka idb (aka fb-idb)).
So I decided to build the idb from the github repo. The command line for building it was
pip3.9 install .
First I struggled with an error related to grpclib version. Apparently idb required the version 0.4.1 but I had 0.4.3 installed. To downgrade grpclib I used the following command:
pip3.9 install grpclib==0.4.1
I also tried to make sure there was no other grpclib installed in other python version, so I ran a bunch of
pip3 install grpclib==0.4.1
pip3.7 install grpclib==0.4.1
pip3.9 install grpclib==0.4.1
To see which version of python I had, I ran a bunch of
which pip
which pip3
which pip3.6
which pip3.7
which pip3.8
which pip3.9
which pip3.10
Anyways...
As I was randomly trying to build idb with those different python versions, with and without sudo, I also faced the following error, which was fixed just by adding sudo again to the build command.
ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/Users/alexandrelage/Library/Python/3.9/lib'
Check the permissions.
Anyways...
Basically after fixing the grpclib requirement, pip3.9 install . inside the source folder was enough for building idb (client, on version 1.1.8).
Of course I had to go to Flipper >> Settings and update the idb path. All seemed good.
Unfortunately that was not enough, Flipper kept on trying to connect to my iPhone device with no success. Then I copied the idb command Flipper was trying to run:
/Library/Frameworks/Python.framework/Versions/3.7/bin/idb file pull --log DEBUG --udid 00008020-000A7D2C36DUMMYDUMMY --bundle-id org.reactjs.native.example.MyExample 'Library/Application Support/sonar/app.csr' '/var/folders/r6/xrp3nw8j4wj45mvdpnlzlv740000gn/T/tmp-10199-CW6olKXUvwek/app.csr'
I was lucky to run the command above while I was also running idb_companion on another tab. The command I used to manually start idb_companion was:
idb_companion --uidid 00008020-000A7D2C36DUMMYDUMMY
I was lucky because I noticed the idb_companion tab stopped running when I tried to run the idb (client) command above I copied from Flipper. I restarted idb_companion again and tried to run the idb (client) command again. Then I realized idb_companion was crashing with an error message:
...
2022-10-21 18:14:11.853-0300 Starting swift server on tcp port 10882
2022-10-21 18:14:11.854-0300 Swift server started on [IPv6]::/:::10882
{"grpc_swift_port":10882,"grpc_port":10882}
2022-10-21 18:14:11.854-0300 Companion will stay alive if target goes offline
2022-10-21 18:14:30.997-0300 Start of connect
dyld: lazy symbol binding failed:
can't resolve symbol _$sScCMa in
/usr/local/Cellar/idb-companion/1.1.8/bin/../Frameworks/IDBGRPCSwift.framework/Versions/A/IDBGRPCSwift
because dependent dylib #rpath/libswift_Concurrency.dylib could not be loaded
dyld: can't resolve symbol _$sScCMa in
/usr/local/Cellar/idb-companion/1.1.8/bin/../Frameworks/IDBGRPCSwift.framework/Versions/A/IDBGRPCSwift
because dependent dylib #rpath/libswift_Concurrency.dylib could not be loaded
That indicated there was something else going on. It seemed idb_companion was built for a Swift environment different to mine. I looked for this error on Google and realized my XCode was outdated. In fact I was still using Big Sur.
Now I upgraded my MacOS to Montrey, Flipper manages to connect to my iOS device fine. And I haven't even upgraded my XCode yet.
Open Flipper > Settings > Enable physical iOS devices
Just grouping everything together, because I had a hard time with this issue...
Open Flipper. In the lower-left corner, click on the gear icon and then on Settings.
Be sure to enable the "Enable physical iOS devices" option.
On "IDB binary location", you'll probably see an alert sign (⚠️). If that is the case, it means you do not have an idb client or it is not right located.
Follow ALL these steps to install the idb companion and idb client.
If you do not have python install: brew install python3. Then try to repeat step 4.
If everything went right, your idb and idb-companion should be located at "/opt/homebrew/bin". So now you can go back to Flipper > Gear Icon > Settings, paste the path "/opt/homebrew/bin/idb" and the alert sign (⚠️) on the right will disappear.
If you still have the alert sign it means your idb file is not in the right location. There are several alternatives in this git post that solve this issue, so check them out.

This app is blocked message when using gActions CLI

I downloaded gActions CLI on windows x64 bit machine. after issuing the login command and pasting the the browser link i get the below error:
This app is blocked
This app tried to access sensitive info in your Google Account. To keep your account safe, Google blocked this access.
Was having the same issue when I downloaded the gactions script manually from this page.
I was able to resolve the issue when I instead downloaded the utility from npm:
npm i -g #assistant/gactions
Solution for Mac/Linux system, not verified on Windows.
You have to provide proper permissions while running the command.
Example : - sudo gactions login
This worked for me too, but only after I deleted the gactions.exe file I had earlier downloaded (and had set a path environment variable for).
This worked for me
gactions login --actions-builder-only
I installed on an M1 Mac using brew install gactions

GDAL: library not loasded libhdf5.100.dylib

I would like to run a GMT file wrote in tcsh environment. When I'm running it, I have the following error message :
dyld: Library not loaded: /opt/local/lib/libhdf5.100.dylib
Referenced from: /opt/local/lib/gmt4/bin/gmtset
Reason: image not found
I went to /opt/local/lib path, and indeed, libhdf5.103.dylib is installing, and not libhdf5.100.dylib. I did not find a way to reinstall libhdf5.100.dylib using port or brew.
The later doesn't work :
sudo port install libhdf5-100
sudo port install libhdf5.100
sudo port install libhdf5.100.dylib
I already try:
brew reinstall osgeo-gdal --build-from-source
But, this doesn't work. I have the following issue:
Warning: You are using macOS 10.11.
We (and Apple) do not provide support for this old version.
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Discourse, Twitter or IRC. You are responsible for resolving any issues you
experience while you are running this old version.
qt: macOS Sierra or newer is required.
Error: An unsatisfied requirement failed this build.
Do you have any ideas?
Thank you.
Looks like gdal needs to be rebuilt with the current hdf5. You can try:
sudo port uninstall gdal && sudo port install -s gdal
This will build gdal from source and link against the installed HDF5 library.

Beaglebone u-boot: cross compiler failed to install

I am following this link to enable automatic boot from SD card. After trying to install Linaro, I check for the GCC version:
${CC}gcc --version
It gives me this error:
bash: /home/debian/Desktop/gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc: No such file or directory
I search around, and this link suggests using:
sudo apt-get install gcc-arm-linux-gnueabihf
That then gives me this error:
unable to locate package gcc-arm-linux-gnueabihf
This link suggests using this instead:
sudo apt-get install gcc-arm-none-eabi
I have not finished that process yet. However, there are so many things I do not understand so far. Beaglebone Black is a 32-bit system, why does the official u-boot guide point to a 64-bit version of Linaro? The image I got is Debian Jessie 8.9 off the official site. Is there a guide for u-boot at such starting point? Thanks.
OK, I figured this out. The first part of the guide (before HDMI) is done on a computer with which you will flash your SD card. After that, you boot into the BBB and do the rest. This ambiguity kills me.

ios-webkit-debug-proxy blank devtools

I'm using ios-webkit-debug-proxy on Linux to try and debug an iOS Safari host using chrome.
The debug proxy runs and gives
Listing devices on :9221
Connected :9222 to Will's iPhone (8a48ac86edd4f299xxxxxxxxxxxxxxx)
The page localhost:9222
Opening the devtools though gives a whole lot of blank. Clicking on lots of things yields little.
Can someone with experience with these things give me a nudge? Cheers
What Chrome version are you using? This might happen as this feature is broken since chrome 38. Try downloading Chromium 37 to solve the issue.
Checkout this Bug Report for details:
https://github.com/google/ios-webkit-debug-proxy/issues/78
Old binaries can be obtained from here:
http://sourceforge.net/projects/osxportableapps/files/Chromium/
I followed this procedure from Ryan Ewen:
Comprehensive instructions for Windows:
Get files from https://github.com/fishbone1/remotedebug-ios-webkit-adapter
Install iTunes (https://www.microsoft.com/en-us/p/itunes/9pb2mz1zmb1s)
Install scoop (https://scoop.sh)
scoop install nodejs nvm
scoop bucket add extras
scoop install ios-webkit-debug-proxy
nvm install 11.15.0 (version 12 doesn't work for the final couple of steps)
nvm use 11.15.0 (might have to reopen PowerShell after this, it'll tell you)
npm install -g vs-libimobile cd to your download of remotedebug-ios-webkit-adapter
npm install
npm start
Continue onto Step 3 from the readme
make sure you installed latest ios_webkit_debug_proxy:
brew install ios-webkit-debug-proxy
and then launch ios_webkit_debug_proxyusing command:
ios_webkit_debug_proxy -f chrome-devtools://devtools/bundled/inspector.html
BTW you must use developer's certificate to build the app!
Install the adapter with :
npm install remotedebug-ios-webkit-adapter -g
Then, run remotedebug_ios_webkit_adapter --port=9000

Resources