Failed to start without network

CleanShot 2022-07-01 at 19.45.53

I was sitting in the car debugging, no network to connect, Logic1 didn’t have this problem.

@lovechen Sorry about that error! It could be caused by a known issue with certain graphics cards, or it may be OS specific. Could you run through the troubleshooting steps in the support article below and let me know the results?

Dear @timreyes

I personally think that this has nothing to do with the GPU. It is easy to reproduce the problem. As long as you simply disconnect the network, you can reproduce the problem.

You must find a way to connect a available network to use logic2 software normally

According to your needs:

Use parameters --no-sandbox results as follows:

hide_message@MacBook-Pro MacOS % ./Logic --no-sandbox
Environment
  Executable path: /Applications/Logic2.app/Contents/MacOS/Logic
  Executable directory: /Applications/Logic2.app/Contents/MacOS
  Original working directory: /Applications/Logic2.app/Contents/MacOS
  Current working directory: /Applications/Logic2.app/Contents/MacOS
Python Home: /Applications/Logic2.app/Contents/Resources/osx/pythonlibs
[2022-07-02 15:06:46.237790] [C] [tid 935245] [main] [saleae_log.cpp:250] Global logging level is set to: info
[2022-07-02 15:06:46.237803] [I] [tid 935245] [main] [saleae_log.cpp:252] Logfile path set to: /Users/hide_message/Library/Logs/Logic/graphio-2022-07-02--15-06-46.log
(node:81020) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `Logic2 Helper (Renderer) --trace-deprecation ...` to show where the warning was created)
error submitting otlp telemetry request: FetchError: request to https://o11y.saleae.com/v1/logs failed, reason: getaddrinfo ENOTFOUND o11y.saleae.com
    at ClientRequest.<anonymous> (/Applications/Logic2.app/Contents/Resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
    at ClientRequest.emit (node:events:394:28)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:394:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  type: 'system',
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND'
}
error submitting otlp telemetry request: FetchError: request to https://o11y.saleae.com/v1/traces failed, reason: getaddrinfo ENOTFOUND o11y.saleae.com
    at ClientRequest.<anonymous> (/Applications/Logic2.app/Contents/Resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
    at ClientRequest.emit (node:events:394:28)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:394:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  type: 'system',
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND'
}
error submitting otlp telemetry request: FetchError: request to https://o11y.saleae.com/v1/logs failed, reason: getaddrinfo ENOTFOUND o11y.saleae.com
    at ClientRequest.<anonymous> (/Applications/Logic2.app/Contents/Resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
    at ClientRequest.emit (node:events:394:28)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:394:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  type: 'system',
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND'
}
error submitting otlp telemetry request: FetchError: request to https://o11y.saleae.com/v1/traces failed, reason: getaddrinfo ENOTFOUND o11y.saleae.com
    at ClientRequest.<anonymous> (/Applications/Logic2.app/Contents/Resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
    at ClientRequest.emit (node:events:394:28)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:394:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  type: 'system',
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND'
}
error submitting otlp telemetry request: FetchError: request to https://o11y.saleae.com/v1/traces failed, reason: getaddrinfo ENOTFOUND o11y.saleae.com
    at ClientRequest.<anonymous> (/Applications/Logic2.app/Contents/Resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
    at ClientRequest.emit (node:events:394:28)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:394:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  type: 'system',
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND'
}
error submitting otlp telemetry request: FetchError: request to https://o11y.saleae.com/v1/traces failed, reason: getaddrinfo ENOTFOUND o11y.saleae.com
    at ClientRequest.<anonymous> (/Applications/Logic2.app/Contents/Resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
    at ClientRequest.emit (node:events:394:28)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:394:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  type: 'system',
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND'
}

Use parameters --disable-gpu results as follows:

hide_message@MacBook-Pro MacOS % ./Logic --disable-gpu
Environment
  Executable path: /Applications/Logic2.app/Contents/MacOS/Logic
  Executable directory: /Applications/Logic2.app/Contents/MacOS
  Original working directory: /Applications/Logic2.app/Contents/MacOS
  Current working directory: /Applications/Logic2.app/Contents/MacOS
Python Home: /Applications/Logic2.app/Contents/Resources/osx/pythonlibs
[2022-07-02 15:11:14.052019] [C] [tid 939803] [main] [saleae_log.cpp:250] Global logging level is set to: info
[2022-07-02 15:11:14.052033] [I] [tid 939803] [main] [saleae_log.cpp:252] Logfile path set to: /Users/hide_message/Library/Logs/Logic/graphio-2022-07-02--15-11-14.log
(node:81104) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `Logic2 Helper (Renderer) --trace-deprecation ...` to show where the warning was created)
error submitting otlp telemetry request: FetchError: request to https://o11y.saleae.com/v1/logs failed, reason: getaddrinfo ENOTFOUND o11y.saleae.com
    at ClientRequest.<anonymous> (/Applications/Logic2.app/Contents/Resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
    at ClientRequest.emit (node:events:394:28)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:394:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  type: 'system',
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND'
}
error submitting otlp telemetry request: FetchError: request to https://o11y.saleae.com/v1/traces failed, reason: getaddrinfo ENOTFOUND o11y.saleae.com
    at ClientRequest.<anonymous> (/Applications/Logic2.app/Contents/Resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
    at ClientRequest.emit (node:events:394:28)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:394:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  type: 'system',
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND'
}
error submitting otlp telemetry request: FetchError: request to https://o11y.saleae.com/v1/logs failed, reason: getaddrinfo ENOTFOUND o11y.saleae.com
    at ClientRequest.<anonymous> (/Applications/Logic2.app/Contents/Resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
    at ClientRequest.emit (node:events:394:28)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:394:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  type: 'system',
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND'
}
error submitting otlp telemetry request: FetchError: request to https://o11y.saleae.com/v1/traces failed, reason: getaddrinfo ENOTFOUND o11y.saleae.com
    at ClientRequest.<anonymous> (/Applications/Logic2.app/Contents/Resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
    at ClientRequest.emit (node:events:394:28)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:394:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  type: 'system',
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND'
}
error submitting otlp telemetry request: FetchError: request to https://o11y.saleae.com/v1/traces failed, reason: getaddrinfo ENOTFOUND o11y.saleae.com
    at ClientRequest.<anonymous> (/Applications/Logic2.app/Contents/Resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
    at ClientRequest.emit (node:events:394:28)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:394:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  type: 'system',
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND'
}
error submitting otlp telemetry request: FetchError: request to https://o11y.saleae.com/v1/traces failed, reason: getaddrinfo ENOTFOUND o11y.saleae.com
    at ClientRequest.<anonymous> (/Applications/Logic2.app/Contents/Resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
    at ClientRequest.emit (node:events:394:28)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:394:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  type: 'system',
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND'
}

@lovechen Thanks for sharing those details with me. The clue below is quite telling:

As long as you simply disconnect the network, you can reproduce the problem.

You’re right, this doesn’t look like a GPU issue at all. I’ll send your logs over to our software team for review. We’ll keep you updated on our findings.

Sorry for the trouble! We’re trying to reproduce this now, however on my Intel Mac, the app launches normally offline. (Although I do see the expected error notification that the marketplace could not load)

The errors in the console are actually ignored, the telemetry system is enabled when error reporting is enabled. I see the same console output here.

A few questions to help us troubleshoot:

  1. Are you on an Apple silicon Mac? On Apple silicon, our software uses a websocket (the socket mentioned in the error) to connect the backend to the frontend. This socket is only bound to localhost, so simply disconnecting your machine from the internet by turning off wifi or unplugging ethernet should not break it. On Intel Macs and Linux/Windows, we no longer use a websocket for this. The app picks a free port at launch and binds it at localhost (it does not accept connections from other adapters).
  2. Are you simply offline because Wifi is not available, or are you using another method to disable networking? It seems possible that there is a connection between the socket not working and however the internet is not working.

We also just tested the production app on a M1 Mac with the internet disconnected without an issue.

I’d like to collect some more logs as well. Please launch the software again, this time with an environment variable:

ENABLE_DEVTOOLS=1 ./Logic
This should case the app to launch with the chrome dev tools open. Please open the Console tab and send me a copy of the output while offline. There are a lot of expected errors (The error reporting system won’t connect, the marketplace won’t load, checking for updates will fail, etc). I’ve attached what I see below, we can compare that with what you get to try and identify the actual issue.

Dear Mark & Tim

My MBP environment is:

hide_message@MacBook-Pro ~ % system_profiler SPHardwareDataType
Hardware:

Hardware Overview:

Model Name: MacBook Pro
Model Identifier: MacBookPro18,2
Chip: Apple M1 Max
Total Number of Cores: 10 (8 performance and 2 efficiency)
Memory: 64 GB
System Firmware Version: 7459.121.3
OS Loader Version: 7459.121.3

Terminal Log is:

hide_message@MacBook-Pro MacOS % ENABLE_DEVTOOLS=1 ./Logic
Environment
Executable path: /Applications/Logic2.app/Contents/MacOS/Logic
Executable directory: /Applications/Logic2.app/Contents/MacOS
Original working directory: /Applications/Logic2.app/Contents/MacOS
Current working directory: /Applications/Logic2.app/Contents/MacOS
Python Home: /Applications/Logic2.app/Contents/Resources/osx/pythonlibs
[2022-07-06 10:21:29.042984] [C] [tid 6792553] [main] [saleae_log.cpp:250] Global logging level is set to: info
[2022-07-06 10:21:29.042997] [I] [tid 6792553] [main] [saleae_log.cpp:252] Logfile path set to: /Users/hide_message/Library/Logs/Logic/graphio-2022-07-06–10-21-29.log
(node:70074) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use Logic2 Helper (Renderer) --trace-deprecation ... to show where the warning was created)
error submitting otlp telemetry request: FetchError: request to https://o11y.saleae.com/v1/logs failed, reason: getaddrinfo ENOTFOUND o11y.saleae.com
at ClientRequest. (/Applications/Logic2.app/Contents/Resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
at ClientRequest.emit (node:events:394:28)
at TLSSocket.socketErrorListener (node:_http_client:447:9)
at TLSSocket.emit (node:events:394:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
type: ‘system’,
errno: ‘ENOTFOUND’,
code: ‘ENOTFOUND’
}
error submitting otlp telemetry request: FetchError: request to https://o11y.saleae.com/v1/traces failed, reason: getaddrinfo ENOTFOUND o11y.saleae.com
at ClientRequest. (/Applications/Logic2.app/Contents/Resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
at ClientRequest.emit (node:events:394:28)
at TLSSocket.socketErrorListener (node:_http_client:447:9)
at TLSSocket.emit (node:events:394:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
type: ‘system’,
errno: ‘ENOTFOUND’,
code: ‘ENOTFOUND’
}
error submitting otlp telemetry request: FetchError: request to https://o11y.saleae.com/v1/logs failed, reason: getaddrinfo ENOTFOUND o11y.saleae.com
at ClientRequest. (/Applications/Logic2.app/Contents/Resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
at ClientRequest.emit (node:events:394:28)
at TLSSocket.socketErrorListener (node:_http_client:447:9)
at TLSSocket.emit (node:events:394:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
type: ‘system’,
errno: ‘ENOTFOUND’,
code: ‘ENOTFOUND’
}
error submitting otlp telemetry request: FetchError: request to https://o11y.saleae.com/v1/traces failed, reason: getaddrinfo ENOTFOUND o11y.saleae.com
at ClientRequest. (/Applications/Logic2.app/Contents/Resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
at ClientRequest.emit (node:events:394:28)
at TLSSocket.socketErrorListener (node:_http_client:447:9)
at TLSSocket.emit (node:events:394:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
type: ‘system’,
errno: ‘ENOTFOUND’,
code: ‘ENOTFOUND’
}

Console reply is:

I just simply closed my WiFi through my system tray,
because I did not have a linked WiFi in the car.
At the same time, I tested logic1 and could be used normally.
Then I had no way. Finally, I thought of the hotspot of the mobile phone,
and then I asked the notebook to connect the hotspot.
Finally, I successfully started logic2, the software version is 2.3.55.

Thank you for the additional information. It looks like localhost doesn’t resolve on your machine when disconnected from the internet. Would you mind taking a look at your /etc/hosts file and seeing if it contains the following line:

127.0.0.1	localhost

If it’s missing, adding that line back in may fix the problem.

Thanks John

Problem resolved.

1 Like

Hello @timreyes I’m having same issue but with different underlying background. I’ve launched developer console with the guidance above and spot:

error while loading shared libraries: libnsl.so.1: cannot open shared object file

Installing the lib from operating system solves issue but shouldn’t AppImage contain all dependencies including libnsl ? Also I’m quite disappointed that you are attempting to send anything over network on the initial run despite privacy consents (sending anonymouse data or crash reports) are collected after that. Per EU GDPR you need to collect user consent before sending anything

I’m no expert on EU laws, but I think the main thing done at init is retrieving the device-specific calibration file:

… without this, your Logic won’t work very well.

Hi @nusch88,

This is Mark, I run software development at Saleae. Thanks for bringing this up:

Also I’m quite disappointed that you are attempting to send anything over network on the initial run despite privacy consents (sending anonymouse data or crash reports) are collected after that. Per EU GDPR you need to collect user consent before sending anything

There are a few types of network traffic out application generates without user consent, but I believe everything covered by the GDPR should not be allowed until the user has explicitly allowed it. We have a non-dismissible dialog that shows up on first install which will prompt the user for their preferences on crash uploading and analytics collection.

I’m going to do an audit soon to carefully make sure we are not doing unnecessary network activity before we have user authorization to do so.

The following network traffic is always enabled, or has settings which are not part of the onboarding flow and are enabled by default:

  • Device calibration file download. This happens on device connection, and it’s required for the device to record accurate analog data.
  • Loading the marketplace listings, which provides a list of available plugins to install.
  • Latest version check. By default, this also automatically downloads the update if one is available. The automatic download side of this can be disabled, but it is enabled by default.
  • Loading of assets for our in-app feedback tool.

Enabling crash reporting will turn on 3 things:

  • Dump files for hard crashes
  • Stack traces for unhandled Javascript exceptions
  • Debug logs for USB communication issues and performance issues. (this is no longer used, and will be removed in the next update)

Enabling usage analytics will turn on specific event tracking.

During first use, we nothing in the error reporting category and no usage analytics should be uploaded until after the user has clicked “Finish” on this screen with the appropriate checkboxes checked.

Ok, it looks like we do have a problem - thanks again for bringing this to our attention, and I’m sorry about that!

We’ll aim to have this fixed in the next release. Our application does initiate communication with our error tracking service and our analytics service before the application has user consent.

We’re using the enable analytics and enable crash reporting flags to gate actually sending analytics or crash data, but we’re not preventing these systems from initializing, and they are creating some traffic on initialization.

Thanks again for pointing this out!