Index | Thread | Search

From:
Joseph Herning <jherning@nvcc.edu>
Subject:
wxMaxima port unstable
To:
ports@openbsd.org
Date:
Fri, 29 Nov 2024 10:15:54 -0500

Download raw body.

Thread
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