Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux: Manager crashes when switching between views #4784

Closed
RichardHaselgrove opened this issue Jun 14, 2022 · 43 comments
Closed

Linux: Manager crashes when switching between views #4784

RichardHaselgrove opened this issue Jun 14, 2022 · 43 comments

Comments

@RichardHaselgrove
Copy link
Contributor

Describe the bug
Launching the Manager in simple view, and switching to advanced view, works.
Launching in Advanced view, and making a double switch (from advanced to simple view, and again from simple to advanced view) crashes the Manager. No warning, no dialog, no messages - it just disappears.

Steps To Reproduce

  1. Open Manager
  2. Switch views once or twice, depending where you start from

Expected behavior
No crash.

System Information

  • OS: Linux Mint 20.3 Una
  • BOINC Version: v7.20.0 pre-release from @LocutusOfBorg PPA

image

Additional context
Found while testing for #4783. The wxWidgets debug alert doesn't appear in Linux, but this does happen.

@AenBleidd
Copy link
Member

@RichardHaselgrove, are you able to reproduce this on master with latest build artifacts?

@RichardHaselgrove
Copy link
Contributor Author

Um. It's not the same, but...

Tested with linux_manager-with-webview_1bbc873314e287cc924fdac5e11f0617132fe668.zip from #4778 from yesterday. The 'About' dialog shows

image

It doesn't crash, but simple view displays as

image

It should be

image

or thereabouts.

Note that @LocutusOfBorg's PPA is an automatically updated test tool, intended for exactly this sort of work: but it is based on certain Debian tweaks to the original BOINC code. In particular, certain menu options in the Manager are removed: there are no separate options for 'minimise window' and 'exit application': 'Close window' (ctrl-W) in advanced view becomes a synonym for 'exit application'.

@AenBleidd
Copy link
Member

This is exactly the reason why I hate wxWidgets.
@RichardHaselgrove, I'll try to check it out and send you some executables for testing because I have no linux system to test it by myself.

@Vulpine05
Copy link
Contributor

Looking at wxWidgets website, they updated to 3.1.7 just last week. One item in their changelog is: "And many, many bugs fixes, including for the regressions in 3.1.6."

Is it possible by using the most current version of wxWidgets this may fix itself?

As a side note (for my curiosity and lack of understanding), why is Linux's (LocutusOfBorg's PPA) using the stable version (3.0.x) of wxW and Windows uses the development (3.1.x) version?

@AenBleidd
Copy link
Member

As a side note (for my curiosity and lack of understanding), why is Linux's (LocutusOfBorg's PPA) using the stable version (3.0.x) of wxW and Windows uses the development (3.1.x) version?

Mainly because stable version is 2 years old and doesn't contain important fixes for HighDPI displays support on Windows OS

Is it possible by using the most current version of wxWidgets this may fix itself?

Need to be tested. I'll check this. Thanks for the hint

@Dave-catcher
Copy link

As a side note (for my curiosity and lack of understanding), why is Linux's (LocutusOfBorg's PPA) using the stable version (3.0.x) of wxW and Windows uses the development (3.1.x) version?

Mainly because stable version is 2 years old and doesn't contain important fixes for HighDPI displays support on Windows OS

Is it possible by using the most current version of wxWidgets this may fix itself?

Need to be tested. I'll check this. Thanks for the hint

On my Ubuntu22.04 box, I have built both 7.20.0 and 7.21.0, the latter in a VM against 3.0.5 version of wxWidgets and both seem to perform normally. Which seems strong evidence that that is where the problem lies.

@CharlieFenton
Copy link
Contributor

Is it possible by using the most current version of wxWidgets this may fix itself?

Need to be tested. I'll check this. Thanks for the hint

Since the Simple View has worked this way for years, I think the warning was incorrect. I will be curious whether the warning still occurs with wxWidgets 3.1.7. Please let me know.

@AenBleidd
Copy link
Member

@LocutusOfBorg, is there anything that prevents you from building 7.20.0 with wxWidgets 3.1.6?

@AenBleidd AenBleidd moved this from Backlog to In Progress in Client Release 7.20.1 Jun 24, 2022
@LocutusOfBorg
Copy link
Contributor

Hello, this is the reason
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919903

@Vulpine05
Copy link
Contributor

Vulpine05 commented Jun 28, 2022

It looks like we have a new stable release that is about to emerge: https://github.com/wxWidgets/wxWidgets/releases/tag/v3.2.0-rc1

@AenBleidd
Copy link
Member

@Vulpine05, I don't feel safe to upgrade to wxWidgets 3.2.0. BOINC Manager is tested with 3.1.* for Windows and OSX. Upgrading to 3.2.0 will require a new round of testing that I'd like to avoid and not delay 7.20.1 release of BOINC.
I plan to check why it's crashing on wxWidgets 3.0.4 and make a linux-only fix, and later make next major release of BOINC with new wxWidgets. Otherwise it might take another couple of months just to test new wxWidgets and fix possible issues (and there were a lot of fixes that we made for Windows after upgrading from 3.0.* to 3.1.6

@AenBleidd
Copy link
Member

@LocutusOfBorg,could you please tell me what version of wxwidgets was used to build BOINC release 7.18.1 for Linux?
@RichardHaselgrove, by any chance, are you able to reproduce this issue on older build of BOINC for Linux (any old one from the PPA)? If no - what is the version of wxwidgets shown there in About dialog?
Thank you both in advance.

@RichardHaselgrove
Copy link
Contributor Author

A bit difficult. I run the PPA on an automatic 'notify me of the most recent update when available' basis, and install them at interesting or convenient moments. I haven't tried to roll back to previous versions, and at this moment I wouldn't know where to start.

I'll do some thinking and reading in the morning, but it may not be quick.

@AenBleidd
Copy link
Member

@RichardHaselgrove, this is not urgent, so please take your time and feel free to do that when it's most convenient to you. Thank you very much.

@LocutusOfBorg
Copy link
Contributor

wxwidgets is 3.0.5

@AenBleidd
Copy link
Member

@LocutusOfBorg, but 7.20.0 is built with wxwidgets 3.0.4. Why did you downgrade?

@AenBleidd
Copy link
Member

@LocutusOfBorg, btw, was 7.18.1 build with WebView support or without it ?

@LocutusOfBorg
Copy link
Contributor

boinc is built with system wxwidgets3.0.

and its built with this version:
bionic 3.0.4+dfsg-3
focal 3.0.4+dfsg-15build1
impish 3.0.5.1+dfsg-2
jammy 3.0.5.1+dfsg-4
kinetic 3.0.5.1+dfsg-4

I always build with webview support.

@RichardHaselgrove
Copy link
Contributor Author

Well, I've had a bit of a poke around, and found where installation packages are cached:

image
But only the current working version is there - no older builds. This one from 27 June still says it uses wxWidgets 3.0.4, and doesn't yet have the skins folder in the package.

I've also had a look round the public view of https://launchpad.net/~costamagnagianfranco/+archive/ubuntu/boinc, but I can't see any past builds there, either (they might exist in a 'registered users only' area, but I don't have access). So it'll be hard to work out when this bug entered the system.

@talregev
Copy link
Contributor

talregev commented Jun 30, 2022

Ok, I just checked this on BOINC Manager 7.16.17 (on Ubuntu bionic) built with wxWidgets 3.0.4 and it has the same crash. So this is not a new issue thus should not be a release blocker. Currently I see two ways of fixing this:

  1. Wait for wxWidgets 3.2.0 release. If it will not be available on Ubuntu 20.04 and lower, then goto option 2
  2. Force build BOINC Manager for wxWidgets 3.0.* without WebView support.
    This will require additional testing, and thus could wait for BOINC 7.20.2 or BOINC 7.22.0 since there are a lot of other issues related to BOINC Manager SimpleGUI that are present in our releases since a while.

When they will upgrade to 3.2.* wxwidgets, most likely they will not go backward on ubuntu versions.
You cannot force anyone to use wxWidgets 3.0.* without WebView support.
Debian maintainers can have patch fix for your enforcement in the code, and still compile it with wxwidgets with webview as they like.

This is an old bug across boinc linux versions. We didn't pay attention for linux boinc as we should. The fact that we found about the bug just recently, mean that boinc linux users living with this bug, and some is unaware of it.
So we should accept this bug as known issue on old boinc linux.

@AenBleidd
Copy link
Member

Debian maintainers can have patch fix for your enforcement in the code, and still compile it with wxwidgets with webview as they like.

If this will fix the issue with the crash - but do they need to do that?

@talregev
Copy link
Contributor

talregev commented Jun 30, 2022

Debian maintainers can have patch fix for your enforcement in the code, and still compile it with wxwidgets with webview as they like.

If this will fix the issue with the crash - but do they need to do that?

And create other issues that we don't aware of them yet?
And fix an issue that is not critical? Even if it a crash, you need to do rare action many time. this is not usually how users use our manager.
That why my opinion is to change this issue to known issue for old linux boinc manager.

@AenBleidd
Copy link
Member

And create other issues that we don't aware of them yet?

Please read my message carefully. I said that such a change will require additional testing, so this will definitely not be just patched and dropped without proper testing and fixing new issues.

@talregev
Copy link
Contributor

And create other issues that we don't aware of them yet?

Please read my message carefully. I said that such a change will require additional testing, so this will definitely not be just patched and dropped without proper testing and fixing new issues.

I read it. I know it will be with additional checking and testing. I say we shouldn't need to spend our resources to check and test different ui and go backward just for this bug.

@AenBleidd
Copy link
Member

I say we shouldn't need to spend our resources to check and test different ui and go backward just for this bug.

We can discuss this later together with @LocutusOfBorg and decide how to proceed with this issue

@AenBleidd
Copy link
Member

This is still reproducible on @LocutusOfBorg build with wxWidgets 3.2.0

@Vulpine05
Copy link
Contributor

I just tested this on two computers, both with Ubuntu 18.04 using the new 7.20.5 from @LocutusOfBorg's PPA which is built with wxWidgets 3.2.0. I switched between simple and advanced views at least half a dozen times without any problems. @RichardHaselgrove, can you confirm on your end?

@talregev
Copy link
Contributor

talregev commented Dec 3, 2022

The ppa doesn't determine the version of wxWidgets, it depends on Ubuntu version you have. It still takes the wxWidgets from official Ubuntu ppa.
That why snap was invented.

@AenBleidd
Copy link
Member

That why snap was invented.

Before snap static linking was invented to prevent exactly this issue.

@talregev
Copy link
Contributor

talregev commented Dec 3, 2022

We talking about ppa. They work in share mode. If @LocutusOfBorg is compile it statically it against Ubuntu way.

@AenBleidd
Copy link
Member

Snap isn't distributed via PPA as well.
So it's completely different, and cannot be compared.

@talregev
Copy link
Contributor

talregev commented Dec 3, 2022

You miss my point.
I was talking about the wxWidgets version inside ppa.
Not sure why you argue about the facts and add some non relevant information.

@AenBleidd
Copy link
Member

Again: you could build application with static or dynamic linking and distribute it via PPA. Snap package is not distributed via PPA because it has completely different installation procedure.
So your comment about snap is not relevant.

@RichardHaselgrove
Copy link
Contributor Author

Sorry, I didn't notice that this was also one of mine this morning - @Vulpine05, ignore the question I asked you in #5022, it's answered here.

I have two Linux machines:

Linux Mint 20.3
This has the full v7.20.5 suite installed directly from the PPA. The crashing bug on switch from Simple to Advanced view appears not to be present. Other bugs are apparent: notices dialog is blank when launched from Simple view, but notices are present when seen in Advanced view. And the exit menu from Simple view doesn't have the Linux distro customisations.

Linux Mint 21
I can't install from the PPA on this machine, because of a security policy change which rejects the signing key when presented from the PPA. However, I've copied the v7.20.5 client and boinccmd binaries from the 20.3 machine, and they work fine in the v7.18.1 framework from the Mint repository.

The PPA Manager desn't work, because of a library mis-match:

	libwx_gtk3u_webview-3.2.so.0 => not found
	libwx_gtk3u_html-3.2.so.0 => not found
	libwx_gtk3u_core-3.2.so.0 => not found
	libwx_baseu_net-3.2.so.0 => not found
	libwx_baseu-3.2.so.0 => not found

However, I've copied the v7.20.5 manager from the CI artifact for commit 03ff14d (19 November 2022), and that also works without crashing when switching views.

@RichardHaselgrove
Copy link
Contributor Author

Correction/update on the 'blank notices' from Simple view bug: moving the mouse pointer over the notice box reveals signs of life: the pointer changes to a text insertion symbol. It's even possible to copy the text and read it externally, but you're fishing blind: white text on a white background, highlighted in white.

@AenBleidd
Copy link
Member

@RichardHaselgrove, since this is a wxWidgets issue, I'm not sure your testing with manual libraries update is correct: CI build is done with the latest version of wxWidgets that doesn't have this issue.
Also I have no idea how to proceed with this ticket. I don't think it's reasonable to invest time trying to make some workaround for older version of wxWidgets.

@RichardHaselgrove
Copy link
Contributor Author

I'm happy to accept that the crashing bug listed in the issue title is no longer present, and I'll close this issue.

But the 'white text on a white background' for notices in simple view was present in Manager v7.18.1 from the Mint 21 repo - I kept that as a backup in case I couldn't get any of the v7.20.5 managers to work. I'll open a new issue for that. Possibly after lunch - I remember it from somewhere, and I need to check it isn't a duplicate.

BOINC Client/Manager automation moved this from Backlog Prioritized to Done Dec 3, 2022
@RichardHaselgrove
Copy link
Contributor Author

Yes, it's a duplicate - previously reported as #4902

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

No branches or pull requests

7 participants