The wxMaxima port is unstable for me. I am using 7.6 on amd64 with all
patches and ports updates. wxMaxima reports version 24.02.1 with Maxima
version 5.46.0 (x86_64-unknown-openbsd7.6). Command-line maxima seems to
work fine, but it is easy to trigger a crash in wxmaxima. One way is to
call the wxmaxima internal plotting functions.
To initiate a crash:
- Start wxmaxima (in X11).
- From the main menu select Plot->Plot2d...
- Change the expression from "%" to "x".
- Set format to "inline".
- Press enter (Okay).
Equivalently:
- Start wxmaxima (in X11).
- Type "wxplot2d([x], [x,-5,5])$"
- Press shift+enter.
Generating the plot with gnuplot using "plot2d([x], [x,-5,5])$" works
normally. This also works fine using maxima itself in the terminal;
probably pointing to the issue being outside of maxima / gnuplot.
A SIMPLER WAY to trigger a crash is simply to start the configuration
menu via Edit->Configure, then attempt to close it via Cancel or OK.
Here is the backtrace from egdb from after selecting OK:
Reading symbols from /usr/local/bin/wxmaxima...
(No debugging symbols found in /usr/local/bin/wxmaxima)
[New process 352768]
[New process 428570]
[New process 226537]
[New process 404194]
[New process 258517]
Core was generated by `wxmaxima'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00000a0c9241f8f9 in BTextCtrl::~BTextCtrl() ()
[Current thread is 1 (process 352768)]
(gdb) bt
#0 0x00000a0c9241f8f9 in BTextCtrl::~BTextCtrl() ()
#1 0x00000a0ef4748ed1 in wxWindowBase::Destroy (this=0xa0f2e64e000) at
./src/common/wincmn.cpp:572
#2 wxWindowBase::DestroyChildren (this=0xa0f55fe7300) at
./src/common/wincmn.cpp:604
#3 0x00000a0ef457cecb in wxWindow::~wxWindow (this=0xa0f55fe7300) at
./src/gtk/window.cpp:2920
#4 0x00000a0ef45f89e3 in
wxNavigationEnabled<wxControl>::~wxNavigationEnabled (this=0xa0f21916500)
at ./include/wx/containr.h:189
#5 wxStaticBox::~wxStaticBox (this=0xa0f21916500) at
./include/wx/gtk/statbox.h:16
#6 0x00000a0ef4748ed1 in wxWindowBase::Destroy (this=0xa0f55fe7300) at
./src/common/wincmn.cpp:572
#7 wxWindowBase::DestroyChildren (this=0xa0f55fe7000) at
./src/common/wincmn.cpp:604
#8 0x00000a0ef457cecb in wxWindow::~wxWindow (this=0xa0f55fe7000) at
./src/gtk/window.cpp:2920
#9 0x00000a0ef4705823 in
wxNavigationEnabled<wxWindow>::~wxNavigationEnabled (this=0xa0f21916500)
at ./include/wx/containr.h:189
#10 wxPanel::~wxPanel (this=0xa0f21916500) at
./include/wx/generic/panelg.h:16
#11 0x00000a0ef4748ed1 in wxWindowBase::Destroy (this=0xa0f55fe7000) at
./src/common/wincmn.cpp:572
#12 wxWindowBase::DestroyChildren (this=0xa0f88fff7e0) at
./src/common/wincmn.cpp:604
#13 0x00000a0ef457cecb in wxWindow::~wxWindow (this=0xa0f88fff7e0) at
./src/gtk/window.cpp:2920
#14 0x00000a0c927f43a3 in ConfigDialogue::~ConfigDialogue() ()
#15 0x00000a0f2d826ac7 in wxAppConsoleBase::DeletePendingObjects
(this=<optimized out>)
at ./src/common/appbase.cpp:641
#16 wxAppConsoleBase::ProcessIdle (this=<optimized out>) at
./src/common/appbase.cpp:444
#17 0x00000a0ef462a677 in wxAppBase::ProcessIdle (this=0xa0f21916500) at
./src/common/appcmn.cpp:396
#18 0x00000a0ef4544dc5 in wxApp::DoIdle (this=0xa0f2d6bea00) at
./src/gtk/app.cpp:150
#19 0x00000a0ef4546935 in wxapp_idle_callback () at ./src/gtk/app.cpp:101
#20 0x00000a0ead72711f in g_main_context_dispatch_unlocked ()
from /usr/local/lib/libglib-2.0.so.4201.12
#21 0x00000a0ead72750d in g_main_context_iterate_unlocked ()
from /usr/local/lib/libglib-2.0.so.4201.12
#22 0x00000a0ead72791a in g_main_loop_run () from
/usr/local/lib/libglib-2.0.so.4201.12
#23 0x00000a0f55d4154b in gtk_main () from /usr/local/lib/libgtk-3.so.2201.0
#24 0x00000a0ef455f4c5 in wxGUIEventLoop::DoRun (this=0xa0f20d83a80) at
./src/gtk/evtloop.cpp:61
#25 0x00000a0f2d86242e in wxEventLoopBase::Run (this=0xa0f20d83a80) at
./src/common/evtloopcmn.cpp:87
#26 0x00000a0f2d8266c9 in wxAppConsoleBase::MainLoop (this=0xa0f2d6bea00)
at ./src/common/appbase.cpp:381
#27 0x00000a0c9251661d in MyApp::OnRun() ()
#28 0x00000a0c9250ff11 in CommonMain() ()
#29 0x00000a0c925105c2 in main ()
Maybe this is a wxwidgets issue?
Many thanks for any help,
Joe