Segmentation fault on "Export UI Files" without Project Settings export path

If I create a new project and I do “Export UI Files” without having set “Project Export Root” and “Ui Files Export Path” on “Project Settings”, Squareline crash with segmentation fault error.

After setting “Project Export Root” and “Ui Files Export Path” the “Export UI Files” works without problems.

  • SquareLine Studio version: 1.4.2 and 1.5.0
  • Operating system: Linux
  • Target hardware: ESP32

Hi, Make sure that all the executable file permissions have been set to “executable” for all the *.so files in your SquareLine_Studio_Linux folder and the in the Plugins folder.
It will crash if it cannot run the executables because the executable permission has not been set.

First you would need to create a Project template (to define the path) to be able to export the project. The reason behind is that the board selected in the launcher needs to retrieve information from this path.

I have the same issue!
I believe when the “Project Export Root” and the “UI Files Export Path” settings are not set, SquareLine Studio tries to open a system file/direction selection dialog, and crashes. Since I have the same crash when trying to save the project under a new name for example.

More details:
SquareLine Studio version: 1.5.0
Operating system: Arch Linux with Sway window manager

I straced the process and noticed this stack trace:
[pid 814189] 17:39:09.186609 write(7, “Obtained 33 stack frames.\n”, 26) = 26 <0.000015>
[pid 814189] 17:39:09.186639 write(7, “#0 0x0077cde2a8010b in PlayerMain(int, char**)\n”, 48) = 48 <0.000008>
[pid 814189] 17:39:09.186660 write(7, “#1 0x0077cde2a78077 in (Unknown)\n”, 34) = 34 <0.000008>
[pid 814189] 17:39:09.186681 write(7, “#2 0x0077cdc0b67887 in SIGSEGVHandler(int, siginfo_t*, void*)\n”, 63) = 63 <0.000008>
[pid 814189] 17:39:09.186702 write(7, “#3 0x0077cde195d1d0 in __sigaction\n”, 36) = 36 <0.000008>
[pid 814189] 17:39:09.186773 write(7, “#4 0x0077cdcf4e6356 in XDefaultRootWindow\n”, 43) = 43 <0.000012>
[pid 814189] 17:39:09.186799 write(7, “#5 0x0077cdc2201b98 in getWindowFromPid\n”, 41) = 41 <0.000009>
[pid 814189] 17:39:09.186820 write(7, “#6 0x0077cdc2201c7b in getUnityWindow\n”, 39) = 39 <0.000008>
[pid 814189] 17:39:09.186841 write(7, “#7 0x0077cdc22021c6 in GTKSavePanel\n”, 37) = 37 <0.000008>
[pid 814189] 17:39:09.186861 write(7, “#8 0x0077cdc2201ded in DialogSaveFilePanel\n”, 44) = 44 <0.000008>
[pid 814189] 17:39:09.186881 write(7, “#9 0x0077cdc54973e7 in GlobalizationNative_GetTimeZoneDisplayName\n”, 67) = 67 <0.000008>
[pid 814189] 17:39:09.186902 write(7, “#10 0x0077cdc5496b04 in GlobalizationNative_GetTimeZoneDisplayName\n”, 67) = 67 <0.000007>
[pid 814189] 17:39:09.186922 write(7, “#11 0x0077cdc54793c8 in GlobalizationNative_GetTimeZoneDisplayName\n”, 67) = 67 <0.000008>
[pid 814189] 17:39:09.186942 write(7, “#12 0x0077cdc54fb7fd in GlobalizationNative_GetTimeZoneDisplayName\n”, 67) = 67 <0.000007>
[pid 814189] 17:39:09.186962 write(7, “#13 0x0077cdc5ef6d4b in GlobalizationNative_GetTimeZoneDisplayName\n”, 67) = 67 <0.000008>
[pid 814189] 17:39:09.186982 write(7, “#14 0x0077cdc6d04922 in GlobalizationNative_GetTimeZoneDisplayName\n”, 67) = 67 <0.000007>
[pid 814189] 17:39:09.187001 write(7, “#15 0x0077cdc5ef5b0c in GlobalizationNative_GetTimeZoneDisplayName\n”, 67) = 67 <0.000007>
[pid 814189] 17:39:09.187021 write(7, “#16 0x0077cdc59bda0a in GlobalizationNative_GetTimeZoneDisplayName\n”, 67) = 67 <0.000009>
[pid 814189] 17:39:09.187044 write(7, “#17 0x0077cdc6f431ad in GlobalizationNative_GetTimeZoneDisplayName\n”, 67) = 67 <0.000008>
[pid 814189] 17:39:09.187065 write(7, “#18 0x0077cdc6f44668 in GlobalizationNative_GetTimeZoneDisplayName\n”, 67) = 67 <0.000009>
[pid 814189] 17:39:09.187089 write(7, “#19 0x0077cdc6f440aa in GlobalizationNative_GetTimeZoneDisplayName\n”, 67) = 67 <0.000008>
[pid 814189] 17:39:09.187109 write(7, “#20 0x0077cdc53c79b3 in mono_get_string_class\n”, 46) = 46 <0.000008>
[pid 814189] 17:39:09.187128 write(7, “#21 0x0077cdc53c790b in mono_get_string_class\n”, 46) = 46 <0.000007>
[pid 814189] 17:39:09.187148 write(7, “#22 0x0077cde29eae0b in (Unknown)\n”, 34) = 34 <0.000007>
[pid 814189] 17:39:09.187168 write(7, “#23 0x0077cde29f1432 in (Unknown)\n”, 34) = 34 <0.000008>
[pid 814189] 17:39:09.187188 write(7, “#24 0x0077cde2a0f78f in (Unknown)\n”, 34) = 34 <0.000007>
[pid 814189] 17:39:09.187207 write(7, “#25 0x0077cde26d3ae6 in (Unknown)\n”, 34) = 34 <0.000008>
[pid 814189] 17:39:09.187229 write(7, “#26 0x0077cde28453e7 in (Unknown)\n”, 34) = 34 <0.000008>
[pid 814189] 17:39:09.187249 write(7, “#27 0x0077cde28453a2 in (Unknown)\n”, 34) = 34 <0.000007>
[pid 814189] 17:39:09.187269 write(7, “#28 0x0077cde284568c in (Unknown)\n”, 34) = 34 <0.000008>
[pid 814189] 17:39:09.187289 write(7, “#29 0x0077cde2a7995c in PlayerMain(int, char**)\n”, 48) = 48 <0.000007>
[pid 814189] 17:39:09.187309 write(7, “#30 0x0077cde1945e08 in __libc_init_first\n”, 42) = 42 <0.000007>
[pid 814189] 17:39:09.187328 write(7, “#31 0x0077cde1945ecc in __libc_start_main\n”, 42) = 42 <0.000016>
[pid 814189] 17:39:09.187357 write(7, “#32 0x00000000201029 in (Unknown)\n”, 34) = 34 <0.000008>

The function name XDefaultRootWindow looks suspicious; what X root window? Swaywm is a Wayland compositor and there is no root window.

Update: there is no crash when starting the program like this:

GDK_BACKEND=x11 ./SquareLine_Studio.x86_64

(the save dialog is open under Xwayland though)