Closed MSoegtropIMC closed 3 months ago
P.S.: I try to do my daily work using 2023.08, so that I can report on issues in this version.
One more note on the help system in 2023.05.1: "Show help in console" seems to be the default, which does not make a lot of sense on Mac since one doesn't start it from a console, so there is none (and I don't think it makes a lot of sense on other platforms either)
@gunterkoenigsmann : should I try to bisect the start up time issue or do you have an idea what this can be? The help menu stuff should be easy enough to fix.
I used the 2023.08.0 version the last days and besides the issues I mentioned above I couldn't find anything (but did only usual work so far - no dedicated tests).
If you were willing to do that, that would be great! On Windows and Linux I thought that start-up time has increased by a fraction of a second when we stopped to compress the built-in svg images. But that was a) not logical and b) a fraction of a second on a very slow processor.
The help system issue lies in maxima, but I didn't manage to tell the maxima team what is amiss and I believe I can find a workaround.
Currently I am trying to resolve hundreds of warnings from static analysis tools: That was what made the config dialogue issues go away. Let's hope that it fixes more bugs than it creates...
Static analysis sounds good - in my experience it can lead to a few hickups initially but is very worthwhile in the long run.
I will do a bisection of the startup time issue on Mac.
Thanks a lot
What gave me a fright was the time EditorCell.cpp needed a >400 line fix in order to get rid of a few warnings. And that coverity-scan at first complained about every fix I did for the msvc analysis tool. But it seems if they are both happy at the same time that is a good sign.
Also the static analysis helped me get rid of many parts of the code that I never understood and therefore never have been able to improve. Surprisingly ChatGPT has probably been very helpful in explaining these places to me.
Ok... ...the static analysis tools are happy now:
Let's hope that this is a good sign.
I plan to do the bisection early afternoon today. I will first try latest, and if this does not work bisect.
Perhaps the "debug messages" sidebar gives some insight. Not that the problem is something like an endless loop if links in a directory wxMaxima searches on startup or something similar ...
@gunterkoenigsmann : I found some time to do the bisection. Here are my notes around the point where it happens. So the startup issues started with commit 7d7026393bfbc277ed0299478d156101dd46f254 (A wild guess on what makes the cursor disappear for some users)
commit 819453bf39400a34716d540f820af200c6c95d5c
bisect-271: build OK, slow startup
Author: Gunter Königsmann <gunter@peterpall.de>
Date: Tue Jul 4 01:44:53 2023 +0200
Code simplification
commit 3cc8a94c7da3cbb09d4b293b88e734666da596e2
bisect-272: build OK, slow startup
Author: Wolfgang Dautermann <dauti@users.sourceforge.net>
Date: Sun Jul 2 11:18:08 2023 +0200
Manual: document, that wxplot_size works for many embedded plotting functions.
commit 7d7026393bfbc277ed0299478d156101dd46f254
bisect-273: build OK, slow startup
Author: Gunter Königsmann <gunter@peterpall.de>
Date: Thu Jun 29 23:06:27 2023 +0200
A wild guess on what makes the cursor disappear for some users
commit 5604eee1fcfa2aa06a5af94f9b5625c4cb35551f
bisect-274: builds OK, startup OK, issues loading plots from wxmx file
Author: Gunter Königsmann <gunter@peterpall.de>
Date: Sun Jun 25 08:56:52 2023 +0200
Tried to reinstate the EditorCell optimizations
commit 2e2ba8cf34f8ed90b19873e3774211be6462bc2f
bisect-275:
Error: Failed to build wxMaxima: command execution failed
Error: See /opt/local/var/macports/logs/_Users_msoegtrop_MacPorts_macports-local_math_wxMaxima/wxMaxima/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port wxMaxima failed
Author: Gunter Königsmann <gunter@peterpall.de>
Date: Sun Jun 25 08:29:05 2023 +0200
Removed a lock that didn't help
commit 5d8592af967810013cae2c769854605a2c4e7847
bisect-276
Error: Failed to build wxMaxima: command execution failed
Error: See /opt/local/var/macports/logs/_Users_msoegtrop_MacPorts_macports-local_math_wxMaxima/wxMaxima/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port wxMaxima failed
Author: Gunter Königsmann <gunter@peterpall.de>
Date: Sun Jun 25 08:25:54 2023 +0200
That lock didn't work as it should have
P.S.: main does not destroot (means it builds, but does not produce an installable app):
commit af1a0a9bb50fe53fae70a9a7c3c91472f3c5664e (HEAD -> main, origin/main)
bisect-1: Error in destroot
Error: Failed to destroot wxMaxima: error copying "/opt/local/var/macports/build/_Users_msoegtrop_MacPorts_macports-local_math_wxMaxima/wxMaxima/work/build/src/wxmaxima.app": no such file or directory
Error: See /opt/local/var/macports/logs/_Users_msoegtrop_MacPorts_macports-local_math_wxMaxima/wxMaxima/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port wxMaxima failed
Author: Gunter Königsmann <gunter@peterpall.de>
Date: Sun Sep 17 08:15:38 2023 +0200
cppcheck and coverity-scan warnings
P.P.S.: as mentioned 23.08 does build and destroot.
If it doesn't build to destroot that should mean that earlier in the build process there was some error when creating "/opt/local/var/macports/build/_Users_msoegtrop_MacPorts_macports-local_math_wxMaxima/wxMaxima/work/build/src/wxmaxima.app". Could you send me the full build log? My hope is that that error produces an error message, somewhere.
If CMD+C copy is broken my guess is that in wxMaximaFrame.cpp the line
APPEND_MENU_ITEM(m_EditMenu, wxID_COPY, _("&Copy\tCtrl+C"),
_("Copy selection"), wxS("gtk-copy"));
is broken. The only way for it to break is that in the language wxMaxima uses on your system the translation of &Copy\tCtrl+C
is broken, somehow...
In the log from compiling wxMaxima on github actions (https://github.com/wxMaxima-developers/wxmaxima/actions/runs/6209454448/job/16856674735) I see the line
[113/113] Linking CXX executable src/wxmaxima.app/Contents/MacOS/wxmaxima
That should be the file that is missing in your case. Afterwards it looks like that file is somehow modified by the
sudo make install
that follows.
@gunterkoenigsmann : I tried latest master (05389e057c8bc7f9cc1fd706469030c5dee6b7e1):
I will test this version for a few days and then you should tag and I do a release.
@gunterkoenigsmann : what still doesn't work (well) is opening a wxmx file which contains plots - I get an error message:
can't open file 'maxout_18876_1.gnuplot' (error 2: No sch file or directory)
for each plot in the file.
The plots are shown anyway, btw.
Could you send me such a file?
IAM extremely busy for the next two weeks, but I will do what I can.
Tested it again. Somehow I find no way to trigger this bug on my computer. But I have just resolved a bug with respect to saving .wxmx files. There is a (very) remote chance that it is the one you encountered.
@gunterkoenigsmann : OK, I will test it.
In the commit I mentioned before, after some testing, these things don't work:
The Ctrl+C Ctrl+V stuff I think has nothing to do with keys not working - I now believe it either works with shortcuts and menues or neither, but it is highly modal. All Copy options are frequently grayed out in the menu.
That is a good hint on where to look! Thanks a lot! In the meantime I have found out how to make Github test if the program can be compiled on MacPorts for every commit to the core repository as to prevent bit rot.
Just corrected a potential issue with enabling the menu items. If the Ctrl+C still doesn't work that would mean, that wxMaxima knows how to determine when copying should work, but that function isn't triggered when it needs to. I would be surprised, though, if the problem resised there.
The scrolling Issue I will hunt down and find. But for the loading Issue I am at a complete loss where it could reside and I seem not to be able to reproduce it on my linux box => either I am doing the wrong thing for testing or the mac does something different to what my linux box does.
If you could provide me with a file with the loading error I hope that makes hunting down that bug easier.
For the worksheet height issue I am afraind I need some help reproducing that, too:
(%i1) e;
(%i2) makelist(i,i,1,10000);
doesn't allow me to reproduce the bug.
I see that i can prepare test files for the loading and the scrolling issue - it might take until Thursday.
I am currently trying to replace the code that loads the images from the wxmx file: currently I tell the images' URLs to wxFileSystem, which causes problems when the path to the file contains spaces and/or non-ascii stuff that the URL-encoder/decoder gets wrong. But there nowadays is a second method that works with file names. Perhaps it makes sense to test once I have applied that change
@gunterkoenigsmann : one observation from daily use: the scoll area issues seems to happen if a command produces a lot of print output (> 1 screen page or so) and then a lot of output (in my case usually wxDraw2D graphics).
Ok... ...the image loading issue might have changed with completely changing the way images are loaded from wxmx in aa97209d461354b4699e08b85f6338d42b381068
Will tomorrow look if the size of images is calculated correctly only after the worksheet size has been recalculated. Perhaps that is the other issue...
Ok... ...found a way to reproduce the scrolling issue:
for i:1 thru 300 do disp(j);
wxdraw2d(explicit(sin(x),x,1,100));
The problem doesn't appear if the wxdraw2d is missing.
Ok... ...with a bit of Luck the scrolling issue is resolved now.
Many thanks! I am OOO today and will try the latest commit tomorrow.
Should the Ctrl+C/Ctrl+V issue also be solved (I lost track a bit - maybe I should create separate issues ...).
I have rewritten the logic that decides if to enable the copy menu entry. If it still doesn't work that would mean we don't call that logic when we should, but that would really surprise me as we call it every time wxMaxima's event queue is empty.
@gunterkoenigsmann : I built the latest version (that is 2790fdb476cb15656f56f0ca8f17a7b2644b8dab) and all looks fine. Ctrl-C, Ctrl-V works, scrolling issues gone, loading of wxmx files with plots OK and the connect slowness is already fixed before. So this commit looks good to go. Let me test it until mid of next week and then I would ask for a tag (for exactly this commit).
@gunterkoenigsmann : I went again through my check list and what still does not work is help. Regardless of what I set the display help setting in the help menu to, I get the help in a panel (which is so small that this is hardly useful). Sure I could make it larger but I really don't like this. I find it much easier to work with help in a browser. For Ubuntu the panel reader might be useful, though, since the Ubuntu team managed to mess up Firefox in such a way that it can't open local files any more (snap sandbox).
Wow... ...then loads of thanks for all the testing, debugging and persistence that has made this possible. And the web browser is really messed up, on Ubuntu. The way around this would be:
I am curious to see what we will say about such constructs ten years from now. But today I am still unsure if that is a good idea...
The browser panel I added because I first thought that it would be easy to do so - and then started to like it, especially on Ubuntu, as you already guessed, and, because it doesn't open every help chapter in its own browser tab. What I still am unsure about is: Currently the help viewer can be configured using a maxima variable. Do we want wxMaxima to configure this variable for us on starting maxima remembering the last setting the user chose - and what would be sane defaults?
If I understand you right on the mac perhaps the standalone browser would make sense. On Ubuntu a wxMaxima browser tab - and on Windows I would prefer a browser tab, as well, as I know many users who liked that tab.
My pleasure :-) I say thank you for the quick support!
Regarding help: I still think the browser should be default or the tab should have a reasonable default size. As is, it is almost so small, that one doesn't realise that the help opened in it, so people might believe that the help menu is not functioning correctly.
The main issue I have is that on Mac is different, though. it is that the setting (console, panel, browser) doesn't do anything at all. Whatever I choose, I get the help in the panel. This must be fixed. What is the default is then a secondary question.
Regarding snap: I don't like it very much either - the security overhead is very high and if this makes a lot of sense in a system where one can install .deb packages as well is a good question. But it is used, and in this sense it is useful.
I actually understand that you want to sandbox applications. But if your browser can read your files, has access to the web and can place files in your autostart folder the sandbox hinders you from working whilst not preventing many attack scenarios...
Yes, the firefox sandboxing on Ubuntu is questionable.
Anyway: how about Mac: as I said the real issue is that the selection of help display does not work. Regardless what I set there, the output always ends up in the panel.
Ok ... The browser tab has now a default size > 0, it is more obvious now that wxMaxima had its own configuration item for the help browser and Maxima's help browser setting now is persistent. And as one of the bug fixes you requested caused the intermittent issues with the self test on GitHub actions to be persistent I managed to fix that bug, too.
Ahh now I understand - the setting was where maxima itself displays help - not wxMaxima. The new setting works fine. There is a certain chance that people read to fast and think that this is about where the Maxima and the wxMaxima help is displayed, not where Maxima and wxMaxima display help, but on second read I got it right.
I will test fc23d905049d600265cfd61073d08487a12d7398 for a week or so, but I would appreciate if you would tag it already.
For me that commit reverts the zoom factor on right-click -> more bug fixing to do; when I suspected that you interpreted the menu item wrong I added additional menu entries for clarification: my guess is if you are misled many others will be, too.
I believe 7346ab87230e30c01335a90c877e110090344021 should be a good commit to make a tag.
Sure, I can test this commit - it is only one after the one I tested so far.
The difference is: If you try to handle pinch zoom events on windows and Linux current wxWidgets versions interpret right -clicks as zoom events => disabled the pinch zoom handler.
Ok. Made a tag. Difference between the tag and that commit:
@ryandesign and me are currently trying to create a new MacPorts version. I tried the latest 3 tags and all have very severe issues:
2023.05.1:
the help system does not seem to work except for displaying help in the sidebar
the cursor navigation is broken. Most of the time when cursor left or cursor right is pressed, the cursor does move internally, but the displayed cursor does not move. This effect is a bit modal and sometimes it does work, but mostly it doesn't (e.g. after evaluating a cell with Shift+Enter)
setting the cursor with the mouse also has some odd effects, e.g. when I click at the end of the document to set the cursor there, it goes to after the first cell.
CMD+C copy of Maxima code does not work (menu edit copy does work, CMD+V does work)
2023.07, 2023.08
It is very hard to say something about these two versions because in these versions it takes 30..40 seconds to start up a maxima session. This happens for each new document and each open. As far as I can tell the cursor issues are gone, but cause of the delay I didn't test it much.
Summary
Can we have a patch of 2023.08 where whatever has changed from 2023.05.1 in maxima session management is undone or fixed?
Btw.: the long term issues with the preferences dialog seem to be fixed in 2023.05.1
Open Tasks