Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

web-ext commands fail on dynamic linking (OS X) (node-dtrace-provider, bunyan) #1405

Closed
hellerve opened this issue Dec 14, 2018 · 6 comments
Closed

Comments

@hellerve
Copy link

hellerve commented Dec 14, 2018

Is this a feature request or a bug?

This is a bug, probably caused by a third-party plugin.

What is the current behavior?

I installed web-ext via npm (Node version: v11.4.0) on OS X 10.14.1 today, using npm install -g web-ext. Every invocation I’ve used as of yet aborts with the following message:

dyld: lazy symbol binding failed: Symbol not found: _usdt_create_provider
  Referenced from: /usr/local/lib/node_modules/web-ext/node_modules/dtrace-provider/src/build/Release/DTraceProviderBindings.node
  Expected in: flat namespace

dyld: Symbol not found: _usdt_create_provider
  Referenced from: /usr/local/lib/node_modules/web-ext/node_modules/dtrace-provider/src/build/Release/DTraceProviderBindings.node
  Expected in: flat namespace

zsh: abort      web-ext

This is apparently caused by a problem in the node-dtrace-provider package (see chrisa/node-dtrace-provider#118), which has been open since May and received no activity from the author (who also hasn’t commited to master since then). It thus does not seem as if this issue will get fixed anytime soon, which means that a fallback/workaround might be necessary?

What is the expected or desired behavior?

I expect the commands to run without dynamic linking errors.

Version information (for bug reports)

  • Firefox version: 63.0.3
  • Your OS and version: OS X 10.14.1
  • Paste the output of these commands:
$ node --version && npm --version && web-ext --version

v11.4.0
6.5.0
dyld: lazy symbol binding failed: Symbol not found: _usdt_create_provider
  Referenced from: /usr/local/lib/node_modules/web-ext/node_modules/dtrace-provider/src/build/Release/DTraceProviderBindings.node
  Expected in: flat namespace

dyld: Symbol not found: _usdt_create_provider
  Referenced from: /usr/local/lib/node_modules/web-ext/node_modules/dtrace-provider/src/build/Release/DTraceProviderBindings.node
  Expected in: flat namespace

zsh: abort      web-ext --version
@kumar303
Copy link
Contributor

Thanks for the bug report and sorry you had trouble installing web-ext. This looks bad. Various dtrace errors have plagued us in the past but they've always been non-fatal warnings, unlike now. The dtrace bindings are for an obscure feature of our bunyan logger and web-ext does not use the dtrace features.

We should consider ditching bunyan for pino which will not have this problem, as far as I know. The two are compatible so this should be a straight forward change to make.

Here's an example of migrating from bunyan to pino https://github.com/mozilla/addons-frontend/pull/5826/files

@kumar303 kumar303 changed the title web-ext commands fail on dynamic linking (OS X) (node-dtrace-provider) web-ext commands fail on dynamic linking (OS X) (node-dtrace-provider, bunyan) Dec 14, 2018
@andrewgould
Copy link

@hellerve Do you have binutils installed via Homebrew? I was encountering the same problem as you (https://stackoverflow.com/questions/54014971/macos-dyld-symbol-not-found-usdt-create-provider) and managed to fix it by removing this package.

@hellerve
Copy link
Author

hellerve commented Jan 11, 2019

I haven’t revisited this problem since filing this report, but uninstalling binutils really does seem to help. It also seems like uninstalling and reinstalling works, but I’m not sure whether the order matters here and that setup is probably pretty brittle.

Thanks for finding this workaround, @andrewgould!

@mattlyons0
Copy link

mattlyons0 commented Mar 2, 2020

I just encountered this with binutils version 2.34 installed with homebrew. brew remove binutils then rebuilding native packages fixed the problem for me as well.

I'm running OSX Mojave

@abitrolly
Copy link
Contributor

Is this issue still actual?

@willdurand
Copy link
Member

I am not sure, it's old and Node 11 isn't supported anymore. We'll want to get rid of bunyan in #3150 anyway.

@willdurand willdurand closed this as not planned Won't fix, can't repro, duplicate, stale Jun 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants