wxMaxima-developers / wxmaxima

A gui for the computer algebra system Maxima built with wxWidgets
https://wxMaxima-developers.github.io/wxmaxima/
Other
471 stars 98 forks source link

The new nightly build crash with demo(tensor); #1765

Closed richardgobeli closed 1 year ago

richardgobeli commented 1 year ago

image demo does work in xmaxima.bat but not in wxmaxima. also the wxbuild_info() does not work. I does not format the items in lines anymore image

This is the version. After entering, the command is displayed, and then the program crashes. How do you change bash directory so I can type gdb wxmaxima to run it in gdb?

I get this: image

gunterkoenigsmann commented 1 year ago

The cd command (short for changedir) and I've tried to run into trouble with the tensors demo on my own PC and the GitHub CI. Both computers seem not to crash before I run out of ideas.

On the plus side now every commit now is automatically tested with most tensor demos - which should limit the amount of bitrot we can get with tensors without noticing.

The build_info() change was intentional: First I added Al valid info to build_info(). Then my plan was to make the wxMaxima fiction punt to the Maxima one which means less code to maintain for me. It is no more formatted nicely for the eye, but uses a Maxima struct now which is easier to interpret by the machine.

richardgobeli commented 1 year ago

Isn't the old wxbuild_info() just a function that formates the lhs of an equation to the rhs and they are both strings for each element of the list? I'll see if I can get a backtrace of wxmaxima later.

richardgobeli commented 1 year ago

from Todays build. Using windows 10 latest version. image

Complete crash dump for crash during demo(tensor); is attached. Is this again an issue with WxWidgets string function?

Crash dump.txt

Bug report does not print the build_info between the two dotted lines. image

gunterkoenigsmann commented 1 year ago

That I wouldn't have found without a crash dump. Thanks a lot for providing one.

...and your are right: wxbuild_info() wouldn't have been too much code to maintain. But still if I can integrate functionality directly into maxima I don't want wxMaxima needing to provide the same functionality, as well.

richardgobeli commented 1 year ago

Thanks for the quick fix. I'll look to see if it runs on tonight's build. Maxima does a nice format for build_info(); Xmaxima is here: image Maxima itself is basically the same. But why does WxMaxima print as one big list with no formatting? Is it because the output list is inside the build_info( data list )?

gunterkoenigsmann commented 1 year ago

build_info() returns an ordinary struct - but that struct seems to be equipped with an property that tells Maxima:s 2d printer to call a specific function that knows how to properly format it. With enough lisp knowledge one could write such a function for wxMaxima, as well.

richardgobeli commented 1 year ago

I see the nightly build still crashes using demo(tensor); Crash dump.txt image the items are a structure where each item can be retrieved with the following name field example. build_info()@version with will return the version. build_info.pdf The version = string is only a display format. Each item needs to be retrieved with a field name and not a variable, which means the double single quote on x as build_info()@''x