React Native `npm start` with watchman error - facebook

I was first getting this issue: https://github.com/facebook/react-native/issues/10088
Then I followed this solution to resolve for that issue: https://github.com/facebook/react-native/issues/910#issuecomment-94181845
Now when I enter npm start I get [sane] Warning: Lost connection to watchman, reconnecting... Any suggestions?
Update: This started happening when I updated my MacOS to MacOS Sierra.
Update: So I tried running react-native run-ios which opens a new console window and invokes npm start. Its still gives the [sane] Warning: Lost connection to watchman, reconnecting.. warnings but its builds the bundle. So watchman connection is getting broken in between. Here is the console screenshot:

I solved this problem by following the solution provided by David but I had to do some extra steps because I already had installed watchman using brew. Here are the list of commands for the solution:
Deleting watchman (installed by brew):
$ brew install rmtree
$ brew rmtree watchman
$ sudo rm -rf /usr/local/var/run/watchman
Manually install Watchman v4.7.0 (credits to David):
$ git clone https://github.com/facebook/watchman.git
$ cd watchman
$ git checkout v4.7.0
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install
Chmod your user's watchman state directory:
$ chmod 0700 /usr/local/var/run/watchman/<user>-state

run this command inside project folder
watchman watch-del-all && npm start --reset-cache

I have a simular issue and looking at the logs for Watchman I get these errors happening each time you see the "Lost Connection to Watchman" message.
2016-11-05T03:35:48,401: [listener] Watchman 4.7.0 <no build info set> starting up on Davids-Mac.local
2016-11-05T03:35:48,401: [listener] path /Users/david/Projects/react-native-test is on filesystem type hfs
2016-11-05T03:35:48,402: [listener] root /Users/david/Projects/react-native-test using watcher mechanism fsevents (auto was requested)
2016-11-05T03:35:48,406: [listener] file limit is 2560 kern.maxfilesperproc=10240
2016-11-05T03:35:48,406: [listener] raised file limit to 10240
2016-11-05T03:35:48,407: [listener] Using socket from launchd as listening socket
2016-11-05T03:35:48,934: [io 0x7f8175600ff8 /Users/david/Projects/react-native-test] PERF: {"ru_nvcsw": 0, "ru_nsignals": 0, "ru_msgrcv": 6, "ru_msgsnd": 6, "ru_inblock": 0, "ru_majflt": 0, "ru_nswap": 0, "ru_minflt": 5230, "ru_ixrss": 0, "ru_maxrss": 21405696, "system_time": 0.32367200000000002, "user_time": 0.18271599999999999, "elapsed_time": 0.53129999999999999, "pid": 9867, "ru_idrss": 0, "meta": {"root": {"watcher": "fsevents", "ticks": 2, "number": 1, "case_sensitive": false, "recrawl_count": 0, "path": "/Users/david/Projects/react-native-test"}}, "version": "4.7.0", "ru_oublock": 0, "ru_nivcsw": 112, "start_time": 1478316948.403332, "description": "full-crawl"}
2016-11-05T03:35:48,935: [io 0x7f8175600ff8 /Users/david/Projects/react-native-test] crawl complete
2016-11-05T03:35:49,029: [client=0x7f8176a00038:stm=0x7f8176a00000] Unilateral payload for sub sane-sub {"settled": true}
Terminating due to signal 11 Segmentation fault generated by pid=0 uid=0. address not mapped to object (0x0)
0 watchman 0x0000000105973759 _ZL13crash_handleriP9__siginfoPv + 347
1 libsystem_platform.dylib 0x00007fffa2292bba _sigtramp + 26
2 ??? 0x00007f81756000c0 0x0 + 140193996734656
3 watchman 0x000000010596f9b2 _ZN6detail22estimateSpaceToReserveIPKcJA3_cA28_c8w_stringA2_cPcS6_EEEmmRKT_DpRKT0_ + 109
4 watchman 0x000000010596f815 _ZN8w_string5buildIJPcRA4_KcPS2_RA3_S2_RA28_S2_RS_RA2_S2_RS1_SC_EEES_DpOT_ + 121
5 watchman 0x000000010599b4cb _ZN8watchman3Log3logIJRA28_KcR8w_stringRA2_S2_RPcS8_EEEvNS_8LogLevelEDpOT_ + 183
6 watchman 0x000000010599a6e0 _ZNSt3__114__thread_proxyINS_5tupleIJZL15make_new_clientP15watchman_streamE3$_0EEEEEPvS6_ + 952
7 libsystem_pthread.dylib 0x00007fffa229cabb _pthread_body + 180
8 libsystem_pthread.dylib 0x00007fffa229ca07 _pthread_body + 0
9 libsystem_pthread.dylib 0x00007fffa229c231 thread_start + 13
UPDATE:
Ok, found a solution which so far seems to work. I uninstall watchman completely, then build it from source using the following which seems to work fine (any attempt at installing via brew causes the problems above but this works):
$ git clone https://github.com/facebook/watchman.git
$ cd watchman
$ git checkout v4.7.0 # the latest stable release
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

Related

How do I fix "dyld: Library not loaded" when using "wget" on a command line for the Mac?

I'm using Mac OS Big Sur (v 11.4). Wehn I try and use "wget" on the command line I get this
$ wget http://localhost:8000/user/testuser
dyld: Library not loaded: /usr/local/opt/nettle/lib/libnettle.6.dylib
Referenced from: /usr/local/bin/wget
Reason: image not found
Abort trap: 6
Even after running "brew install wget" and restarting my machine, I get the above error. How do I get "wget" to run normally? This is the path where wget is installed ...
$ which wget
/usr/local/bin/wget
Edit: In response to the answer given, here is the output ...
$ brew install homebrew/core/wget
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 6 taps (phinze/cask, homebrew/core, homebrew/cask, homebrew/services, pivotal/tap and ethereum/ethereum).
==> New Formulae
airspyhf cargo-llvm-lines cilium-cli f2 h2c
basis_universal cargo-outdated datree fst vite
bubblewrap chrpath esbuild go#1.16 vue-cli
==> Updated Formulae
Updated 883 formulae.
==> Deleted Formulae
procyon-decompiler
==> New Casks
infra infra mimestream mimestream sigmaos sigmaos
==> Updated Casks
Updated 292 casks.
==> Deleted Casks
agfeo-dashboard macintosh-explorer
agfeo-dashboard macintosh-explorer
axe-electrum modulair
axe-electrum modulair
boonzi noraswitch
boonzi noraswitch
colormunki-photo obyte
colormunki-photo obyte
dnagedcom playnow
dnagedcom playnow
dragthing plecs-standalone
dragthing plecs-standalone
eaccess privatus
eaccess privatus
elpki pro-fit
elpki pro-fit
finisher-fluxx qtum
finisher-fluxx qtum
finisher-micro qyooo
finisher-micro qyooo
finisher-neo s3stat-setup
finisher-neo s3stat-setup
flow-e scrooo
flow-e scrooo
fluxcenter simplelink-msp432e4-sdk
fluxcenter simplelink-msp432e4-sdk
fm3-edit stageplotpro
fm3-edit stageplotpro
imarisviewer tbs-studio
imarisviewer tbs-studio
instant-articles-builder thetube
instant-articles-builder thetube
instasizer unity-appletv-support-for-editor
instasizer unity-appletv-support-for-editor
jabt-flow unity-linux-il2cpp-support-for-editor
jabt-flow unity-linux-il2cpp-support-for-editor
jidusm unity-macos-il2cpp-support-for-editor
jidusm unity-macos-il2cpp-support-for-editor
lightwright wanna
lightwright wanna
locklizard-safeguard-viewer zbuc-imgur
locklizard-safeguard-viewer zbuc-imgur
==> Downloading https://ghcr.io/v2/homebrew/core/openssl/1.1/manifests/1.1.1l
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/openssl/1.1/blobs/sha256:ff8b2a965c680b4d9baccd60e799d0989e7dc
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:ff8b2a965c680b4d9baccd60e7
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/wget/manifests/1.21.1_1
Already downloaded: /Users/davea/Library/Caches/Homebrew/downloads/44061bb7a2f7bbbbbddd0901da6885f571bb53671d2ef9f3b29faa13cdc50ac7--wget-1.21.1_1.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/wget/blobs/sha256:307217b813330eda365570d7540aa2da69c678b6c4b7
Already downloaded: /Users/davea/Library/Caches/Homebrew/downloads/2229e2908e6815b9ceac4ac5af316c49215750a1c6d0bdc10b3946b273ee648d--wget--1.21.1_1.big_sur.bottle.tar.gz
==> Installing dependencies for wget: openssl#1.1
==> Installing wget dependency: openssl#1.1
==> Pouring openssl#1.1--1.1.1l.big_sur.bottle.tar.gz
Error: Directory not empty # dir_s_rmdir - /usr/local/opt/openssl
That's interesting. wget from homebrew-core, the default package repo for Homebrew, doesn't depend on nettle at all.
Where did your get wget installed from? Uninstall wget and reinstall it back from the default pkg repo.
brew uninstall -f wget
# tell brew to get wget from homebrew-core explicitly
brew install homebrew/core/wget
Don't know if you managed to fix this, but I had a similar issue, found fix here: https://github.com/Homebrew/discussions/discussions/3920
brew reinstall z3

Unable to configure a new agent : Failed to create CoreCLR, HRESULT: 0x80004005

We had some 12 agents (vsts-agent-linux-x64-2.188.4) running on one Az VM (Ubuntu 20.04.2 LTS) as processes (./config.sh && screen ./run.sh). All was well..
I had to run some command related to /tmp folder but it kept showing busy and we suspected that our Agents might be using /tmp. Unfortunately instead of any other clean way of stopping the agents, we killed all processes on this VM manually, including the agents'.
After the /tmp related command ran successfully, I tried running screen ./run.sh from one of the agent directories. And I got an error:
Failed to create CoreCLR, HRESULT: 0x80004005
I also had tried :
.agent2/run.sh and I got the error :
ldd: ./bin/libcoreclr.so: No such file or directory
ldd: ./bin/System.Security.Cryptography.Native.OpenSsl.so: No such file or directory
ldd: ./bin/System.IO.Compression.Native.so: No such file or directory
ldd: ./bin/System.Net.Http.Native.so: No such file or directory
Failed to create CoreCLR, HRESULT: 0x80004005
I even downloaded a new .tar for the agent and ran a fresh ./config . But I get the same error on ./config as well
Is there a solution to this? Please help
export COMPlus_EnableDiagnostics = 0, and then running ./config from the agent directory. worked!
I had this issue when running as the non-privileged user specified in the systemd file but running as root user worked fine.
Finally used:
strace -f -o trace.log /<executable path>/<executable name>
Which led me to:
9183 mknod("/tmp/clr-debug-pipe-9183-8112345738-in", S_IFIFO|0700) = -1 EACCES (Permission denied)
This caused me to compare the /tmp directory between working and non-working boxes.
[<not-working-hostname>]$ ll /
drwxrwxr-x 7 root root 93 Jan 5 21:37 tmp
[<working-hostname>]$ ll /
drwxrwxrwt 7 root root 93 Jan 5 21:59 tmp
(Note the r-x vs rwt)
Fix:
[<hostname>]# chmod 1777 /tmp

Install GLIBCXX_3.4.15 on Centos 6.9

I have a problem when I try to start my server Garry's Mod. Here is the error I get
Failed to open dedicated_srv.so (/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by bin/dedicated_srv.so))
Add "-debug" to the ./srcds_run command line to generate a debug.log to help with solving this problem
Sun May 13 01:17:52 CEST 2018: Server restart in 10 seconds
strings /usr/lib/libstdc++.so.6 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBC_2.0
GLIBC_2.3
GLIBC_2.4
GLIBC_2.1
GLIBC_2.1.3
GLIBC_2.3.2
GLIBC_2.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH.
There you have a way to have glibcxx_ 3.4.15 on CentOS 6.9, Because I really need CentOS 6 to run other applications ?.
Thanks for your help.
Just try to install file libstdc++-4.8.5-28.el7.i686.rpm
yum install http://centos.biz.net.id/7/os/x86_64/Packages/libstdc++-4.8.5-28.el7.i686.rpm
.
[root#linux ~]# cat /etc/redhat-release
CentOS release 6.7 (Final)
[root#linux ~]# strings /usr/lib/libstdc++.so.6 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBC_2.3
GLIBC_2.0
GLIBC_2.4
GLIBC_2.1
GLIBC_2.1.3
GLIBC_2.3.2
GLIBC_2.2
GLIBCXX_DEBUG_MESSAGE_LENGTH
[root#linux ~]#

Why gcloud command is slow to start?

Just typing gcloud for help take 5 secs.
$ gcloud
...
gcloud 0.30s user 0.13s system 7% cpu 5.508 total
$ gcloud version
Google Cloud SDK 128.0.0
alpha 2016.01.12
bq 2.0.24
bq-nix 2.0.24
core 2016.09.23
core-nix 2016.09.20
gcloud
gsutil 4.21
gsutil-nix 4.21
kubectl
kubectl-darwin-x86_64 1.3.7
$ uname -a
Darwin hiroshi-MacBook.local 16.0.0 Darwin Kernel Version 16.0.0: Mon Aug 29 17:56:20 PDT 2016; root:xnu-3789.1.32~3/RELEASE_X86_64 x86_64
EDIT 2017-03-31: Zachary said that gcloud 148.0.0 addressed this issue. So try gcloud components update. see https://stackoverflow.com/users/4922212/zachary-newman
tl;dr
It turns out that socket.gethostbyaddr(socket.gethostname()) is slow for .local hostname in macOS.
$ python -i
>>> socket.gethostname()
'hiroshi-MacBook.local'
>>> socket.gethostbyaddr(socket.gethostname()) # it takes about 5 seconds
('localhost', ['1.0.0.127.in-addr.arpa'], ['127.0.0.1'])
So, for a workaround, just added the hostname to the localhost line of /etc/hosts.
127.0.0.1 localhost hiroshi-Macbook.local
After that is return value is different, but it returns in an instant.
>>> socket.gethostbyaddr(socket.gethostname())
('localhost', ['1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa'], ['::1'])
How do I get there
Where gcloud command is:
$ which gcloud
/Users/hiroshi/google-cloud-sdk/bin/gcloud
Edit the endline of the shell script...
...
+ echo "$CLOUDSDK_PYTHON" $CLOUDSDK_PYTHON_ARGS "${CLOUDSDK_ROOT_DIR}/lib/gcloud.py" "$#"
"$CLOUDSDK_PYTHON" $CLOUDSDK_PYTHON_ARGS "${CLOUDSDK_ROOT_DIR}/lib/gcloud.py" "$#"
to echo where the gcloud.py is:
$ gcloud
python2.7 -S /Users/hiroshi/google-cloud-sdk/lib/gcloud.py
OK. Who take the 5 secs?
$ python2.7 -S -m cProfile -s time /Users/hiroshi/google-cloud-sdk/lib/gcloud.py
173315 function calls (168167 primitive calls) in 5.451 seconds
Ordered by: internal time
ncalls tottime percall cumtime percall filename:lineno(function)
1 5.062 5.062 5.062 5.062 {_socket.gethostbyaddr}
...
_socket.gethostbyaddr is.
What is the argument of the function call and backtrace look like?
I added some lines before main() of gcloud.py
import traceback
def mygethostbyaddr(addr):
print addr
traceback.print_stack()
return addr
import socket
socket.gethostbyaddr = mygethostbyaddr
Execute gcloud again.
I got it is my .local name of my machine.
$ gcloud
hiroshi-MacBook.local
File "/Users/hiroshi/google-cloud-sdk/lib/gcloud.py", line 74, in <module>
main()
File "/Users/hiroshi/google-cloud-sdk/lib/gcloud.py", line 70, in main
sys.exit(googlecloudsdk.gcloud_main.main())
File "/Users/hiroshi/google-cloud-sdk/lib/googlecloudsdk/gcloud_main.py", line 121, in main
metrics.Started(START_TIME)
File "/Users/hiroshi/google-cloud-sdk/lib/googlecloudsdk/core/metrics.py", line 411, in Wrapper
return func(*args, **kwds)
File "/Users/hiroshi/google-cloud-sdk/lib/googlecloudsdk/core/metrics.py", line 554, in Started
collector = _MetricsCollector.GetCollector()
File "/Users/hiroshi/google-cloud-sdk/lib/googlecloudsdk/core/metrics.py", line 139, in GetCollector
_MetricsCollector._instance = _MetricsCollector()
File "/Users/hiroshi/google-cloud-sdk/lib/googlecloudsdk/core/metrics.py", line 197, in __init__
hostname = socket.getfqdn()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 141, in getfqdn
hostname, aliases, ipaddrs = gethostbyaddr(name)
File "/Users/hiroshi/google-cloud-sdk/lib/gcloud.py", line 32, in mygethostbyaddr
traceback.print_stack()
#hiroshi's answer solved the issue for me i.e. to run gcloud components update. However, since I had installed gcloud through their Cloud SDK using a package manager, I was stuck with the following error*:
ERROR: (gcloud.components.update) You cannot perform this action
because the Google Cloud CLI component manager is disabled for this
installation.
Hence, I had to explicitly mention the apt-get libraries to perform the update. The following command helped me to get it done in one go:
sudo apt-get update && sudo apt-get --only-upgrade install google-cloud-sdk-app-engine-go google-cloud-sdk-datastore-emulator google-cloud-sdk-datalab google-cloud-sdk-firestore-emulator google-cloud-sdk-kubectl-oidc google-cloud-sdk google-cloud-sdk-app-engine-python-extras google-cloud-sdk-cloud-build-local kubectl google-cloud-sdk-cbt google-cloud-sdk-minikube google-cloud-sdk-skaffold google-cloud-sdk-cloud-run-proxy google-cloud-sdk-pubsub-emulator google-cloud-sdk-config-connector google-cloud-sdk-gke-gcloud-auth-plugin google-cloud-sdk-kpt google-cloud-sdk-local-extract google-cloud-sdk-nomos google-cloud-sdk-app-engine-grpc google-cloud-sdk-bigtable-emulator google-cloud-sdk-app-engine-python google-cloud-sdk-terraform-validator google-cloud-sdk-anthos-auth google-cloud-sdk-spanner-emulator google-cloud-sdk-app-engine-java
*More details as to why the aforementioned error occurs and how to permanently solve it can be found here.

How to set node path for nodejs (Ubuntu)

I'm trying to setup nodejs to access a postgres database. What I've done so far is the following (https://gist.github.com/579814):
echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install # ok, fine, this step probably takes more than 30 seconds...
curl http://npmjs.org/install.sh | sh
then
git clone git://github.com/isaacs/npm.git
make
make install
so far, so good. However, when I try to install the postgres driver
npm install pg
I get the following:
node-waf configure build || true
Checking for program g++ or c++ : /usr/bin/g++
Checking for program cpp : /usr/bin/cpp
Checking for program ar : /usr/bin/ar
Checking for program ranlib : /usr/bin/ranlib
Checking for g++ : ok
Checking for node path : not found
Checking for node prefix : ok /usr/local
Checking for program pg_config : /usr/bin/pg_config
'configure' finished successfully (0.066s)
Waf: Entering directory `/home/christian/node_modules/pg/build'
[1/2] cxx: src/binding.cc -> build/default/src/binding_1.o
../src/binding.cc:3:25: fatal error: node_events.h: No such file or directory
compilation terminated.
Waf: Leaving directory `/home/christian/node_modules/pg/build'
Build failed: -> task failed (err #1):
{task: cxx binding.cc -> binding_1.o}
I've been looking around for setting the node path, although haven't found anything of help so far - probably also because I'm totally new to nodejs, so I'd be happy about any hint.
Now, you have NodeJS installed in your Ubuntu. You should set /etc/environment and load nodeJS path that can be executed by another users. For example:
NODE="/home/ubuntu/local/node"
NODE_PATH="/usr/local/lib/node_modules"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:$NODE/bin:$NODE/lib/node_modules"
#PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
Do this in bash:
echo 'export NODE_PATH=~/local/:~/local/node_modules' >> ~/.bashrc
before things are fixed you must use node 0.5.1 (you can use gitk to revert the tree to this version)
Auteur: Ryan Dahl <ry#tinyclouds.org> 2011-07-19 10:46:38
Auteur du commit: Ryan Dahl <ry#tinyclouds.org> 2011-07-19 10:46:38
Parent: 0a3fc1d9c8becc32c63ae736ca2b3719a3d03c5b (Remove StatWatcher's dep on C++ EventEmitter)
Enfant: 061ce7b0ac370c8a5ae93d95ab7da171cbd488f0 (net_uv: Fix simple/test-http-expect-continue.js)
Branche: master, remotes/origin/master
Suit: v0.5.1
Précède: v0.5.2
Finally remove node::EventEmitter
I had the same problem.
The issue was that I was specifying a old version of PG in my package.js
After I removed the old version dependancy I was able to install PG without issue.