Logic 2 crashed when capturing large SPI data

When I try to capture a large set of SPI data with my Logic Pro 8, the Logic 2 (2.4.6) application crashed
Not sure is it something to do with setting?
Here is a screenshot during the recording and memory used:
image

And the device setting that I used:

@DennisB Apologies for my delay in reply! A few of us have been out of office during this week. We’re catching up on things right now, and we’re terribly sorry to hear about the application crashing.

I have some questions for you:

  • What OS are you using?
  • Can you share your machine ID with us?
  • How often does the crash occur when using the same capture settings? Is it consistently reproducible 100% of the time at around the same point?
  • When it crashes, do you have the SPI analyzer enabled while the capture is ongoing? What happens when you remove the SPI analyzer before capturing your data, and only add the SPI analyzer once the capture is complete? Does that help? If so, that might give us some clues to work with.

Hi @timreyes

  1. I am using Ubuntu 18.04.1
  2. Screenshot of my Machine ID as below:
    0cfe9e22-acf3-4e21-8536-ef2ae61b0aec
    image
  3. 100% reproducible when the SPI analyzer is enabled and while capturing large set of data
  4. You are right. The crashed happened if the SPI analyzer is enabled. When turn off the analyzer, the application is ok but it crashed again once added the SPI analyzer (after the capture is complete)
  5. Also noticed the SPI analyzer decoder is way too long to display the data
  6. Some message from terminal console:

(venv38) swautolinux1@swautolinux1-Precision-5820-Tower ~/Downloads $ ./Logic-2.4.6-master.AppImage
/tmp/.mount_Logic-H9q1YV ~/Downloads
~/Downloads
Environment
Executable path: /tmp/.mount_Logic-H9q1YV/Logic
Executable directory: /tmp/.mount_Logic-H9q1YV
Original working directory: /home/swautolinux1/Downloads
Current working directory: /tmp/.mount_Logic-H9q1YV
Process ID: 31742
[31821:0217/090219.886615:WARNING:sandbox_linux.cc(376)] InitializeSandbox() called with multiple threads in process gpu-process.
[31742:0217/090219.972432:WARNING:bluez_dbus_manager.cc(248)] Floss manager not present, cannot set Floss enable/disable.
[31742:0217/090221.030430:INFO:CONSOLE(71)] “the shortcut %s has multiple commands (%O) registered that do not allow shortcut overlap CmdOrCtrl+a markers:all-selected,advancedMeasurements:select-all-ranges”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/bundle.js (71)
[31742:0217/090222.725279:INFO:CONSOLE(22)] “console.group”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/2b59a0620e1af751d912.worker.js (22)
[31742:0217/090222.725377:INFO:CONSOLE(22)] “response came back, but no matching callback or pipe subscriber was found. Id: 0”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/2b59a0620e1af751d912.worker.js (22)
[31742:0217/090222.725474:INFO:CONSOLE(22)] “type: response”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/2b59a0620e1af751d912.worker.js (22)
[31742:0217/090222.725538:INFO:CONSOLE(22)] “[object Object]”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/2b59a0620e1af751d912.worker.js (22)
[31742:0217/090222.725624:INFO:CONSOLE(22)] “console.groupEnd”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/2b59a0620e1af751d912.worker.js (22)
[31742:0217/090222.892651:INFO:CONSOLE(118)] “Error: Network Error undefined”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/bundle.js (118)
[31742:0217/090222.895352:INFO:CONSOLE(22)] “console.group”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/2b59a0620e1af751d912.worker.js (22)
[31742:0217/090222.895426:INFO:CONSOLE(22)] “response came back, but no matching callback or pipe subscriber was found. Id: 0”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/2b59a0620e1af751d912.worker.js (22)
[31742:0217/090222.895515:INFO:CONSOLE(22)] “type: response”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/2b59a0620e1af751d912.worker.js (22)
[31742:0217/090222.895579:INFO:CONSOLE(22)] “[object Object]”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/2b59a0620e1af751d912.worker.js (22)
[31742:0217/090222.895662:INFO:CONSOLE(22)] “console.groupEnd”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/2b59a0620e1af751d912.worker.js (22)
[31742:0217/090223.112470:INFO:CONSOLE(118)] “Error: Network Error undefined”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/bundle.js (118)
[31742:0217/090225.228787:INFO:CONSOLE(22)] “console.group”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/2b59a0620e1af751d912.worker.js (22)
[31742:0217/090225.228893:INFO:CONSOLE(22)] “response came back, but no matching callback or pipe subscriber was found. Id: 0”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/2b59a0620e1af751d912.worker.js (22)
[31742:0217/090225.229007:INFO:CONSOLE(22)] “type: response”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/2b59a0620e1af751d912.worker.js (22)
[31742:0217/090225.229073:INFO:CONSOLE(22)] “[object Object]”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/2b59a0620e1af751d912.worker.js (22)
[31742:0217/090225.229164:INFO:CONSOLE(22)] “console.groupEnd”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/2b59a0620e1af751d912.worker.js (22)
[31742:0217/090235.951055:INFO:CONSOLE(22)] “[object Object]”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/2b59a0620e1af751d912.worker.js (22)
[31742:0217/090237.669531:INFO:CONSOLE(118)] “invoking a computedFn from outside an reactive context won’t be memoized, unless keepAlive is set”, source: file:///tmp/.mount_Logic-H9q1YV/resources/app.asar/dist/logic/bundle.js (118)
Renderer process crashed - see Application Debugging | Electron for potential debugging information.
@saleae/electron/main: renderer process died { reason: ‘crashed’, exitCode: 133 }
sendToFrame() failed: Error: Render frame was disposed before WebFrameMain could be accessed
Attempting to call a function in a renderer window that has been closed or released.
Function provided here: bundle.js:869:5498
Remote event names: close

@DennisB Ah, the below point is quite an interesting observation, and one we would like to explore further.

Would you mind sharing your capture file (in .sal file format) with me, with the SPI analyzer removed? I would like to run a test with it in Ubuntu on our end by adding the SPI analyzer, and to see if we can reproduce the crash this way. If so, then we have a much better chance to locating the bug.

@DennisB Additionally, I think we may have recently found a bug which affects only Linux, and only affects 2.3.41 and newer versions of the software. I’m wondering if the crashes you are seeing are related.

Could you test Logic 2.3.40 below, to see if that allows you to avoid the crashes?
https://ideas.saleae.com/f/changelog/2340/

Hopefully your Logic hardware revision isn’t newer than that release. We had to release a number of hardware and software updates in 2022 in order to get around supply chain shortages. Unfortunately, this means that our older software releases are often not compatible with newer hardware.

@timreyes
I am getting a failure to load some extension when using 2.3.40.
image
I had followed the instruction Extension Installation - Saleae Support to install the problematic extension but not able to get it solve.
I will share the capture file with you through email.
FYI, I just bought the Logic Pro 8 in 2023. Think is the latest hardware variant?

@DennisB,

First, I suspect the root cause of the crash is a a memory cap imposed by electron on our Linux software. I’m not sure how we didn’t pick this up much sooner, I think we missed it because most of our users are on Windows, where we don’t seem to have this problem.

Specifically, Chromium is shimming our allocator, and crashes when we reach 4 GB of memory usage on Linux. I’m surprised that your screenshot is reporting more memory usage than that - our testing shows a consistent hard crash at 5 GB.

details here:

(The issue we’re seeing was introduced in electron 14, which is mentioned in that article. Logic 2.3.40 was the last release of our application before we updated to electron 14+)

We’re working on the issue, but don’t have any results yet, unfortunately.

A few other notes:

  1. You can check your hardware revision using the newest software, following the steps here: https://support.saleae.com/datasheets-and-specifications/logic-hardware-revisions
  2. Logic 2.3.40 only supported Logic Pro 8 up to hardware version 1.2.0, so it’s very likely it will not support your device, unfortunately.
  3. We don’t have the memory cap problem on Windows. If you have access to a Windows install, I suggest using the device there until we can get the memory cap problem fixed.
  4. The capture file you emailed us is a good example of the problem. When loaded, the application only uses between 1 and 2 GB of RAM. However, once the SPI analyzer has been added and finishes processing, the application uses about 16 GB of RAM, with over 50 million SPI words decoded in total. We would expect the Linux software to crash due to the memory cap shortly after adding the SPI analyzer.

Again, I’m very sorry for the trouble with this! We’ll try to get this fixed as quickly as we can.

In the meantime, since you have a very new device, your main two options are:

  1. keep the memory usage below 4 GB by taking significantly shorter captures, and saving often.
  2. use the device on Windows.

All,
Can we confirm the move to Electron21 with V8 Memory Cage, has been implemented? By chance has anyone used Ubuntu 22.04.3 and seen this issue?

Kind Regards
BH

@b.hughes1 According to our changelog below, our latest software udpate (v2.4.9 as of today) was updated to Electron 19.
https://ideas.saleae.com/f/changelog/

Unfortunately, this memory cap still exists in our current software. I’ll forward your message to our software team.

@timreyes Thanks much for the response. All good re issue still around, these things take time,

Just to add, this is still a top priority for us, we’re just swamped at the moment.

@markgarrison All good. All bugs are worked off based on a priority deal, so understandable. From reading these posts, appears the “team” isn’t very deep.