Open jmfergeau opened 9 months ago
Some additional notes:
I noticed the zoom in and out are somehow working since it can be done using the mousewheel. But nothing displays. I suspect the checkboxes are doing the same.
The fields around the graphic interface are all working and saving the changes works. But it's very difficult to do anything when you can't see what you're doing.
Here's a slightly similar issue I made in July last year: #1549
Things got even worse lately.
Now not only the Start page just displays a blank window (fortunately you can still open files and folders using the menu) the TEXTUREx editor freezes entirely SLADE now...
I'm having the same issue on Linux, where the program instantly crashes, without even so much as a "This program crashed!" dialog box. Luckily, I was able to get it running on my terminal, and when I reproduced the bug, this is what it gave me:
01:46:01: Debug: window wxControl@0x564cfb4dec90 ("stbutton") lost focus even though it didn't have it
01:46:01: Debug: window wxControl@0x564cfb4dec90 ("stbutton") lost focus even though it didn't have it
01:46:01: Debug: window wxControl@0x564cfb4dec90 ("stbutton") lost focus even though it didn't have it
01:46:01: Debug: window wxControl@0x564cfb4dec90 ("stbutton") lost focus even though it didn't have it
01:46:01: Debug: window wxControl@0x564cfb4dec90 ("stbutton") lost focus even though it didn't have it
01:46:01: Debug: window wxControl@0x564cfb4dec90 ("stbutton") lost focus even though it didn't have it
01:46:01: Debug: window wxControl@0x564cfb4dec90 ("stbutton") lost focus even though it didn't have it
01:46:01: Debug: window wxControl@0x564cfb4dec90 ("stbutton") lost focus even though it didn't have it
01:46:01: Debug: window wxControl@0x564cfb4dec90 ("stbutton") lost focus even though it didn't have it
01:46:01: Debug: window wxControl@0x564cfb4dec90 ("stbutton") lost focus even though it didn't have it
01:46:01: Debug: window wxControl@0x564cfb4dec90 ("stbutton") lost focus even though it didn't have it
01:46:01: Debug: window wxControl@0x564cfb4dec90 ("stbutton") lost focus even though it didn't have it
(slade:50390): Gdk-WARNING **: 01:46:01.931: The program 'slade' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadWindow (invalid Window parameter)'.
(Details: serial 28145 error_code 3 request_code 148 (unknown) minor_code 3)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the GDK_SYNCHRONIZE environment
variable to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
I was not able to get anything else from the terminal whilst I was running the program.
Same issues here. Everything else works just fine, but whenever i open a TEXTURES lump i get one of two things: texture preview window is black or a crash. luckely i get a application crash notification:
Version: 3.2.5 No current action
Operating System: Linux 5.15.0-105-generic x86_64 Graphics Vendor: OpenGL not initialised Graphics Hardware: OpenGL not initialised OpenGL Version: OpenGL not initialised
Stack Trace:
Last Log Messages: Loading game configurations SLADE Initialisation OK Can't convert "-" to an integer (invalid) Can't convert "\" to an integer (invalid) Can't convert "[" to an integer (invalid) Can't convert "[" to an integer (invalid) Opening archive /home/odysseus/modBench/Doom/export/mods/qcWeapons/004/qcWeapons4 Opening took 86 ms Setting up the OpenGL context Failed to setup the OpenGL context
On my end the crash only happens when i close the program and then try to open the TEXTURES lump for the second time. Whenever i create one, add textures to it and open it up for the first time, the program doesn't crash but then again no preview, just the UI Elements and a black preview window.
I'm using the flatpak version, platforms etc... are all up to date.
Some info about my OS:
System: Kernel: 5.15.0-105-generic x86_64 bits: 64 compiler: gcc v: 11.4.0 Desktop: Openbox 3.6.1 dm: LightDM Distro: Linux Mint 21 Vanessa base: Ubuntu 22.04 jammy
Graphics: Device-1: NVIDIA GM200 [GeForce GTX 980 Ti] vendor: Micro-Star MSI driver: nvidia v: 535.171.04 pcie: speed: 2.5 GT/s lanes: 2 ports: active: none off: HDMI-A-1 empty: DP-1, DP-2, DP-3, DVI-I-1 bus-ID: 01:00.0 chip-ID: 10de:17c8 Display: x11 server: X.Org v: 1.21.1.4 compositor: Compton v: 1 driver: X: loaded: nvidia unloaded: fbdev,modesetting,nouveau,vesa gpu: nvidia display-ID: :0 screens: 1 Screen-1: 0 s-res: 1920x1080 s-dpi: 92 Monitor-1: HDMI-0 res: 1920x1080 dpi: 92 diag: 609mm (24") OpenGL: renderer: NVIDIA GeForce GTX 980 Ti/PCIe/SSE2 v: 4.6.0 NVIDIA 535.171.04 direct render: Yes
Updated to 3.2.6 and there's some new. Now, when opening a TEXTURE file, the following crash log is reported, similar to #1685 :
Version: 3.2.6
No current action
Operating System: Linux 6.9.2-zen1-1-zen x86_64
Graphics Vendor: OpenGL not initialised
Graphics Hardware: OpenGL not initialised
OpenGL Version: OpenGL not initialised
Stack Trace:
0: [unknown location] [unknown:127534448105524]
1: [unknown location] [unknown:127534350915172]
2: [unknown location] [unknown:127534421576416]
3: [unknown location] [unknown:96352725713355]
4: [unknown location] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
5: [unknown location] wxEvtHandler::SearchDynamicEventTable(wxEvent&)
6: [unknown location] wxEvtHandler::TryHereOnly(wxEvent&)
7: [unknown location] wxEvtHandler::ProcessEventLocally(wxEvent&)
8: [unknown location] wxEvtHandler::ProcessEvent(wxEvent&)
9: [unknown location] wxEvtHandler::SafelyProcessEvent(wxEvent&)
10: [unknown location] wxWindow::GTKSendPaintEvents(_cairo*)
11: [unknown location] [unknown:127534468043246]
12: [unknown location] [unknown:127534436419541]
13: [unknown location] [unknown:127534439301320]
14: [unknown location] g_closure_invoke
15: [unknown location] [unknown:127534428474597]
16: [unknown location] [unknown:127534428409408]
17: [unknown location] g_signal_emit_valist
18: [unknown location] g_signal_emit
19: [unknown location] [unknown:127534439367106]
20: [unknown location] [unknown:127534439425475]
21: [unknown location] gtk_main_do_event
22: [unknown location] [unknown:127534435120071]
23: [unknown location] [unknown:127534435196354]
24: [unknown location] [unknown:127534435196215]
25: [unknown location] [unknown:127534435196215]
26: [unknown location] [unknown:127534435196215]
27: [unknown location] [unknown:127534435196215]
28: [unknown location] [unknown:127534435196215]
29: [unknown location] [unknown:127534435196215]
30: [unknown location] [unknown:127534435214815]
31: [unknown location] [unknown:127534435215354]
32: [unknown location] wxWindow::Update()
33: [unknown location] [unknown:127534468464323]
34: [unknown location] wxBoxSizer::RepositionChildren(wxSize const&)
35: [unknown location] wxSizer::Layout()
36: [unknown location] wxSizerItem::SetDimension(wxPoint const&, wxSize const&)
37: [unknown location] wxBoxSizer::RepositionChildren(wxSize const&)
38: [unknown location] wxSizer::Layout()
39: [unknown location] wxSizerItem::SetDimension(wxPoint const&, wxSize const&)
40: [unknown location] wxBoxSizer::RepositionChildren(wxSize const&)
41: [unknown location] wxSizer::Layout()
42: [unknown location] wxSizerItem::SetDimension(wxPoint const&, wxSize const&)
43: [unknown location] wxBoxSizer::RepositionChildren(wxSize const&)
44: [unknown location] wxSizer::Layout()
45: [unknown location] wxSizerItem::SetDimension(wxPoint const&, wxSize const&)
46: [unknown location] wxBoxSizer::RepositionChildren(wxSize const&)
47: [unknown location] wxSizer::Layout()
48: [unknown location] wxSizerItem::SetDimension(wxPoint const&, wxSize const&)
49: [unknown location] wxBoxSizer::RepositionChildren(wxSize const&)
50: [unknown location] wxSizer::Layout()
51: [unknown location] wxWindowBase::Layout()
52: [unknown location] wxAuiManager::DoFrameLayout()
53: [unknown location] wxAuiManager::OnSize(wxSizeEvent&)
54: [unknown location] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
55: [unknown location] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
56: [unknown location] wxEvtHandler::TryHereOnly(wxEvent&)
57: [unknown location] wxEvtHandler::ProcessEventLocally(wxEvent&)
58: [unknown location] wxEvtHandler::ProcessEvent(wxEvent&)
59: [unknown location] wxEvtHandler::SafelyProcessEvent(wxEvent&)
60: [unknown location] wxWindow::DoSetSize(int, int, int, int, int)
61: [unknown location] wxBoxSizer::RepositionChildren(wxSize const&)
62: [unknown location] wxSizer::Layout()
63: [unknown location] wxSizerItem::SetDimension(wxPoint const&, wxSize const&)
64: [unknown location] wxBoxSizer::RepositionChildren(wxSize const&)
65: [unknown location] wxSizer::Layout()
66: [unknown location] wxSizerItem::SetDimension(wxPoint const&, wxSize const&)
67: [unknown location] wxBoxSizer::RepositionChildren(wxSize const&)
68: [unknown location] wxSizer::Layout()
69: [unknown location] wxSizerItem::SetDimension(wxPoint const&, wxSize const&)
70: [unknown location] wxBoxSizer::RepositionChildren(wxSize const&)
71: [unknown location] wxSizer::Layout()
72: [unknown location] wxSizerItem::SetDimension(wxPoint const&, wxSize const&)
73: [unknown location] wxBoxSizer::RepositionChildren(wxSize const&)
74: [unknown location] wxSizer::Layout()
75: [unknown location] wxSizerItem::SetDimension(wxPoint const&, wxSize const&)
76: [unknown location] wxBoxSizer::RepositionChildren(wxSize const&)
77: [unknown location] wxSizer::Layout()
78: [unknown location] wxWindowBase::Layout()
79: [unknown location] wxAuiManager::DoFrameLayout()
80: [unknown location] wxAuiManager::OnSize(wxSizeEvent&)
81: [unknown location] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
82: [unknown location] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
83: [unknown location] wxEvtHandler::TryHereOnly(wxEvent&)
84: [unknown location] wxEvtHandler::ProcessEventLocally(wxEvent&)
85: [unknown location] wxEvtHandler::ProcessEvent(wxEvent&)
86: [unknown location] wxEvtHandler::SafelyProcessEvent(wxEvent&)
87: [unknown location] wxWindowBase::SendSizeEvent(int)
88: [unknown location] [unknown:127534456292807]
89: [unknown location] g_closure_invoke
90: [unknown location] [unknown:127534428475471]
91: [unknown location] [unknown:127534428411356]
92: [unknown location] g_signal_emit_valist
93: [unknown location] g_signal_emit
94: [unknown location] [unknown:127534435176157]
95: [unknown location] [unknown:127534435093104]
96: [unknown location] [unknown:127534428978906]
97: [unknown location] [unknown:127534428973705]
98: [unknown location] [unknown:127534429374903]
99: [unknown location] g_main_loop_run
100: [unknown location] gtk_main
101: [unknown location] wxGUIEventLoop::DoRun()
102: [unknown location] wxEventLoopBase::Run()
103: [unknown location] wxAppConsoleBase::MainLoop()
104: [unknown location] wxEntry(int&, wchar_t**)
105: [unknown location] main
106: [unknown location] [unknown:127534421482632]
107: [unknown location] __libc_start_main
108: [unknown location] [unknown:96352721100549]
Last Log Messages:
Loading game configurations
SLADE Initialisation OK
Can't convert "-" to an integer (invalid)
Can't convert "\" to an integer (invalid)
Can't convert "[" to an integer (invalid)
Can't convert "[" to an integer (invalid)
Opening directory /home/max/Documents/yumedoom as archive
Opening took 9833 ms
Setting up the OpenGL context
Failed to setup the OpenGL context
It seems to not find openGL. Though it's installed. (i use mesa drivers)
(Also the problem with the Start page not loading is still there)
What version of wxWidgets is it built with? Should say in the console log. I think there might be some issue with the version of wx that the flatpak SLADE is built with
I don't use flatpak. I build slade using AUR. Here in this case I compiled slade manually since AUR is not up-to-date yet.
I use wxwidgets v3.2.5
I'm going to try the flatpak version though, just to check.
EDIT: well, same problem, both with the start page (becoming pitch black though, instead of just empty) and same error with TEXTURE lump.
I switched to debian for multiple reasons but still same problem in there. I use the flatpak version. (and the crash handler also crashes :| )
I switched from flatpak to the debian package available in the drd repos. And all the problems i mentionned got fixed. Start page works again and no issues at all when editing TEXTUREx.
So, tempoprary fix: use Debian and install Slade using the debian drd repo. :man_shrugging:
Note though: The debian package version needs the libwebkit2gtk-4.0-37
dependency thought it won't be install with slade. libwebkit2gtk-4.1
is released but not detected and used by slade. (for reasons?)
Compatibility with all currently supported versions of Debian and Ubuntu. That said the latest package should have binaries for both (it would be possible to make a single universal binary but I don't really feel like going that deep into dependency building). Which is used is determined by /usr/bin/slade by running:
ldconfig -N -p | awk '$1 == "libwebkit2gtk-4.1.so.0"'
Does this return nothing for you?
ldconfig -N -p | awk '$1 == "libwebkit2gtk-4.1.so.0"'
Does this return nothing for you?
It returns me this:
libwebkit2gtk-4.1.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libwebkit2gtk-4.1.so.0
That's the expected output, so it should be running the 4.1 binary.
And yet, if i launch slade without libwebkit2gtk-4.0, i get this and it doesn't run:
/usr/bin/slade: 4: ldconfig: not found
/usr/share/slade/slade.legacy: error while loading shared libraries: libwebkit2gtk-4.0.so.37: cannot open shared object file: No such file or directory
You edited out your note about ldconfig needing to specifically be /sbin/ldconfig. Did you have new information or what that still valid?
I can change the script to specifically call /sbin/ldconfig in the next build, but Ubuntu definitely puts /sbin in the PATH by default. A bit surprised Debian would differ there. You can modify /usr/bin/slade accordingly in the mean time, apt should unconditionally overwrite the file on package upgrade.
Ubuntu might do that but pure Debian definitely doesn't add sbin
in $PATH
for non-root users by default since version 10. Because they expect all the programs in there to be able to run as root only. (Except it's not true. For instance you can do mkfs.msdos
to make a floppy image file without the need to be root) But well, Debian is Debian. :man_shrugging:
So yeah maybe it would be relevant to add /sbin/
in next build, just in case other pure Debian or pure Debian-based users uses Slade (I can't be the only one on the whole planet, eh? :p )
uname -a
Linux SkullGamer205-PC 6.9.4-arch1-1 #1 SMP PREEMPT_DYNAMIC Wed, 12 Jun 2024 20:17:17 +0000 x86_64 GNU/Linux
wxWidgets ver: 3.2.5-1
Slade ver: 3.2.6-2
On X11 (AwesomeWM): Slade crashes after open TEXTUREx editor On Wayland (Weston): Works, but with black screen. See below
uname -a
Linux SkullGamer205-PC 6.9.4-arch1-1 #1 SMP PREEMPT_DYNAMIC Wed, 12 Jun 2024 20:17:17 +0000 x86_64 GNU/Linux
wxWidgets ver: 3.2.5-1
Slade ver: 3.2.6-2
On X11 (AwesomeWM): Slade crashes after open TEXTUREx editor On Wayland (Weston): Works, but with black screen. See below
Black screen also show on X11 with nvidia (i.e prime slade
), but after several seconds Slade crashed.
Heads up to say I had to ditch debian cuz issues and had to return to arch. And i'm still facing the problem :(
Although I'm still having the issue on the native Linux excecutable, I don't experience this problem when I'm running the Windows .exe on Wine. I'd love to get the stack trace, but the program crashes before the window even shows up, and trying to run the program with a terminal only gives a "button lost focus even though it didn't have it" debug message.
If it helps, I use the linux-zen kernel on Arch Linux, with AMD architecture.
Although I'm still having the issue on the native Linux excecutable, I don't experience this problem when I'm running the Windows .exe on Wine. I'd love to get the stack trace, but the program crashes before the window even shows up, and trying to run the program with a terminal only gives a "button lost focus even though it didn't have it" debug message.
If it helps, I use the linux-zen kernel on Arch Linux, with AMD architecture.
That's the thing. I, like all the others who got the problem, use nvidia.
Although I'm still having the issue on the native Linux excecutable, I don't experience this problem when I'm running the Windows .exe on Wine. I'd love to get the stack trace, but the program crashes before the window even shows up, and trying to run the program with a terminal only gives a "button lost focus even though it didn't have it" debug message. If it helps, I use the linux-zen kernel on Arch Linux, with AMD architecture.
That's the thing. I, like all the others who got the problem, use nvidia.
I don't think it is GPU(driver) related because I'm having the same issues on Gentoo Linux running an Intel UHD630 GT2 iGPU. I Successfully build the latest git master using the cmake flag to pull and build it's own wxWidgets. Still the same crash. No idea why @sirjuddington won't try fix that. Maybe he cannot reproduce it?!
Well jmfergeau noted that it doesn't happen on Debian with my packages. I can't say I'm doing anything particularly special with my packages besides building wxWidgets and SFML myself for static linking. My binaries are built with GCC 11.
wxWidgets build:
cmake .. -DwxBUILD_TOOLKIT=gtk3 -DCMAKE_BUILD_TYPE=Release -DwxBUILD_SHARED=OFF -DwxUSE_LIBTIFF=builtin -DwxUSE_LIBLZMA=sys -DwxUSE_LIBPNG=builtin -DCMAKE_INSTALL_PREFIX=$UsrPrefix -DwxUSE_LIBJPEG=builtin -DwxUSE_WEBVIEW=ON -DwxUSE_REGEX=builtin -DwxUSE_GLCANVAS_EGL=OFF
Slade build:
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DWITH_WXPATH=$UsrPrefix -DSFML_CONFIG=$UsrPrefix/lib/cmake/SFML/SFMLConfig.cmake -DSFML_STATIC_LIBRARIES=TRUE -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON -DSFML_LIBRARY="sfml-system;sfml-audio;sfml-network;sfml-window" -DFLUIDSYNTH_LIBRARIES=fluidsynth
Nothing special about the SFML build.
Well jmfergeau noted that it doesn't happen on Debian with my packages. I can't say I'm doing anything particularly special with my packages besides building wxWidgets and SFML myself for static linking. My binaries are built with GCC
Might be a case of wxWidgets having different versions and/or code on different distros then?
Completely at a loss for ideas if not, but if so, maybe Slade should bundle the version of wxWidgets known to fully work instead on relying on the distro for the dependency?
cmake .. -DwxBUILD_TOOLKIT=gtk3 -DCMAKE_BUILD_TYPE=Release -DwxBUILD_SHARED=OFF -DwxUSE_LIBTIFF=builtin -DwxUSE_LIBLZMA=sys -DwxUSE_LIBPNG=builtin -DCMAKE_INSTALL_PREFIX=$UsrPrefix -DwxUSE_LIBJPEG=builtin -DwxUSE_WEBVIEW=ON -DwxUSE_REGEX=builtin -DwxUSE_GLCANVAS_EGL=OFF=OFF
Thanks for the hint. Using -DwxUSE_GLCANVAS_EGL=OFF
building WxWidgets and rebuilding slade did the trick for me.
Might be a case of wxWidgets having different versions and/or code on different distros then?
No. Since Slade so often finds bugs in wxWidgets it's not viable for my packages to use a system provided copy of wxWidgets while still retaining 5 years of back support for Ubuntu/Debian versions. The latest version is compiled from the official sources and statically linked.
However like most projects, the build system for wxWidgets auto detects what's available on the system and configures itself so builds can differ. Or I guess in this case I intentionally disable a feature since it has been noted to be problematic with the current version of wxWidgets.
Thanks for the hint. Using
-DwxUSE_GLCANVAS_EGL=OFF
building WxWidgets and rebuilding slade did the trick for me.
Oh that's a little surprising. I was under the impression that others in this thread would have already tried that. It has been noted that wxWidgets without EGL fixes a TEXTURE editor crash here: https://github.com/sirjuddington/SLADE/issues/1390#issuecomment-1518539182
SLADE Version
3.2.5, 3.2.6
OS
Windows, Linux
Editor
Resource editor
Steps to Reproduce and Observed Behavior
Expected Behavior
the Texturex editor should display the window editor correctly and be fully interactive
NOTE: For the crash on linux, I found a workaround. Very weird, but it works:
Sorry if it has already been posted. I checked everywhere but haven't found anything similar.
Screenshots