About the Logic 1.x (Legacy) Software category

This is the place to discuss the 1.x Software, in general. You can also contribute ideas and vote here: https://ideas.saleae.com

segmentation fault on launching Saleae with 1.2.xx(tried 18 and 29)
Platform details:
Linux : Debian 11.3.0, Debian 11.2.0
Dell :5090 mini pc.

Attached the crash dump
Errors.zip (4.7 KB)

Sorry for the trouble! You will need the latest 1.x release, 1.2.40, which you can get here:

The error causing the crash is this one:
Error: Invalid board revision found

For context, in the last year, due to the supply chain shortages, we needed to switch ADCs in the product. This required a board redesign, and modifications to the FPGA image and software.

This means these devices only work with more recent software releases.

Since we still have customers using the 1.x software to use the automation API, we created a release of the old 1.x software with support for these devices, which is 1.2.40.

Unfortunately, we’ll have to do this again soon, as for the same reason we have to switch FPGAs from Xilinx to Lattice.

Needless to say, we’ve been pretty busy trying to keep up with supply chain issues, which has really cut into our ability to work on improvements to the software, unfortunately.

Thanks for the quick support. Appreciate it.

Sure thing!

on the same note. Can i get the .zip link for 1.2.40?

we have a predefined settings.xml which we copy under /usr/bin/Logic/Settings. With .AppImage our automation is failing.

I assume you mean a non-Appimage Linux zip release?

You can extract the appimage with ./Logic-1.2.40-Linux.AppImage --appimage-extract, which will dump the contents to a new directory called squashfs. You can then run the Logic binary directly from there.
If you have any trouble with it, please send me the details and I can switch over to Linux and help from there.

where can I find the Settings.xml to preload the settings before the measurements?

I’m on windows at the moment, but I believe on Linux it’s “~/.config/Logic”. Let me know if you can’t find it there.

on 1.2.29 or older releases with zip package it is under Logic\ 1.2.29\ (64-bit)/Settings/Settings.xml
After extracting the AppImage I do not see the Settings folder anywhere. If you could let me know how the settings are stored in case of AppImage.

Sure thing. Because the AppImage mounts a small, read-only file system, we could no longer store any files inside of the app file structure. This includes settings, calibration files, and error reports.

Instead, We updated the software to create these files and folders at the location ~/.config/Logic on first run.

More specifically, we’re using QT to get two different user directories:
QStandardPaths::AppDataLocation and QStandardPaths::AppConfigLocation
You can find the definitions for these in the QT documentation here:
https://doc.qt.io/qt-6/qstandardpaths.html
We store the settings.xml file at the location returned from AppConfigLocation, and we store calibration, errors, and protocol database files at the location returned from AppDataLocation.
Our app creates these files and folders at launch if they don’t exist. If you provide the settings.xml file at the expected location ahead of time, it should be loaded, rather than being created from defaults.

Is there any API changes in 1.2.40 compared to 1.2.29?

@harin.nair I assume you’re talking about our Logic 1.x Automation API?

If so, there are no changes to the API from 1.2.29 to 1.2.40.

Thanks.

I am getting this error while running from docker. But if i just run it outside the docker no issues.

jenkins@vayu:/usr/bin/Logic$ ./logic
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-jenkins’
QCommandLineParser: option not defined: “websource”
QCommandLineParser: option not defined: “port”
Root Path: /tmp/.mount_logiczycqmJ/usr/bin [ /home/build/Software/Logic/Source/LogicBase/src/Environment.cpp; Environment; 184 ]
Release Mode; analyzer path is /tmp/.mount_logiczycqmJ/usr/bin/Analyzers [ /home/build/Software/Logic/Source/LogicBase/src/Environment.cpp; Environment; 198 ]
Logic Assert Information
Version: 1.2.40
System: Linux; 5.10.0-13-amd64; #1 SMP Debian 5.10.106-1 (2022-03-17); x86_64
Crash Id:
File: /home/build/Software/Logic/Source/LogicBase/src/Environment.cpp
Function: Environment, Line: 249
Error: failed to create data directory
Most recent messages:

Root Path: /tmp/.mount_logiczycqmJ/usr/bin [ /home/build/Software/Logic/Source/LogicBase/src/Environment.cpp; Environment; 184 ]

Release Mode; analyzer path is /tmp/.mount_logiczycqmJ/usr/bin/Analyzers [ /home/build/Software/Logic/Source/LogicBase/src/Environment.cpp; Environment; 198 ]

Segmentation fault (core dumped)

The crash here is from this line:

Error: failed to create data directory

The software is crashing because it failed to create the app data directory.
Unfortunately, it won’t print out the path it tried to create.
It’s probably trying to create one of the following directories, but you might be able to use strace to check.
“~/.local/share/Logic”, “/usr/local/share/Logic”, “/usr/share/Logic”
Is this something you could fix with docker?

Segmentation fault on launching Saleae with 1.2.40
Platform details:
Linux : Debian 11
Saleae Hardware Revision: 1.0.0, model: Logic pro 16

No error message is thrown at the console. Tried deleting settings.xml file ,able to launch saleae but after sometime the error appears randomly .

Sudo dmesg -T:
[Tue Jun 18 11:17:00 2024] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[Tue Jun 18 11:17:00 2024] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[Tue Jun 18 11:29:03 2024] Main[1076205]: segfault at 0 ip 00007f3128271ebb sp 00007ffdc4f013d0 error 6 in libanalyzer.so[7f312824b000+71000]
[Tue Jun 18 11:29:03 2024] Code: 85 c0 0f 84 47 01 00 00 4c 89 ee 48 89 ef e8 ec c9 fd ff 48 89 ef e8 74 da fd ff 48 8b 7c 24 70 4c 39 f7 74 05 e8 85 ce fd ff 04 25 00 00 00 00 00 00 00 00 0f 0b 0f 1f 84 00 00 00 00 00 b9

Terminal errror
jenkins@krishna:/usr/bin/Logic$ ./logic
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-jenkins’
QCommandLineParser: option not defined: “websource”
QCommandLineParser: option not defined: “port”
Root Path: /usr/bin/Logic/usr/bin [ /home/build/Software/Logic/Source/LogicBase/src/Environment.cpp; Environment; 184 ]
Release Mode; analyzer path is /usr/bin/Logic/usr/bin/Analyzers [ /home/build/Software/Logic/Source/LogicBase/src/Environment.cpp; Environment; 198 ]
Settings path is /home/jenkins/.config/Logic [ /home/build/Software/Logic/Source/LogicBase/src/Environment.cpp; Environment; 456 ]
Errors path is /home/jenkins/.local/share/Logic/Errors [ /home/build/Software/Logic/Source/LogicBase/src/Environment.cpp; Environment; 457 ]
Analyzers path is /usr/bin/Logic/usr/bin/Analyzers [ /home/build/Software/Logic/Source/LogicBase/src/Environment.cpp; Environment; 458 ]
Databases path is /home/jenkins/.local/share/Logic/Databases [ /home/build/Software/Logic/Source/LogicBase/src/Environment.cpp; Environment; 459 ]
Calibration path is /home/jenkins/.local/share/Logic/Calibration [ /home/build/Software/Logic/Source/LogicBase/src/Environment.cpp; Environment; 460 ]
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
Build date used by AutoSunset: Mar 10 2022 [ /home/build/Software/Logic/Source/Logic/src/AutoSunset.cpp; AutoSunset; 13 ]
libpng warning: iCCP: known incorrect sRGB profile
Hardware Information took 0 milliseconds to generate [ /home/build/Software/Logic/Source/Logic/src/HardwareInformation.cpp; HardwareInformation; 272 ]
Hardware Information took 0 milliseconds to generate [ /home/build/Software/Logic/Source/Logic/src/HardwareInformation.cpp; HardwareInformation; 272 ]
Segmentation fault (core dumped)

@kavya.s Sorry to hear about that issue. I wanted to let you know that we unfortunately no longer provide official support for our older Logic 1.x software, and legacy Socket API automation utility for Logic 1.x.

We highly recommend updating to our newer Logic 2 software and porting your automation script to use our Automation API supported in Logic 2.

We would love to help with the transition as well. I saw that you wrote an email to our support team directly about this, and I’ll be happy to continue chatting about this there!