BOINC / boinc

Open-source software for volunteer computing and grid computing.
https://boinc.berkeley.edu
GNU Lesser General Public License v3.0
1.99k stars 443 forks source link

Network activity radio button not following status in BOINC 7.8.0 #2106

Open KeithMyers opened 7 years ago

KeithMyers commented 7 years ago

Wish I could some attention to this problem. I'm being ignored.

KeithMyers commented 7 years ago

BOINC 7.8.0 Boinc Manager compiled by TBar is not properly showing the Network Activity state via it radio button after a change in status. screenshot from 2017-09-10 12-34-22

RichardHaselgrove commented 7 years ago

TBar's build was made from a zip dated 23 July*, from the release branch. Much water has flowed under the bridge since then. I think we should replicate this on a current build made by an experienced builder - say a repository maintainer - before proceeding further.

Such as Gianfranco's build for Debian: https://setiathome.berkeley.edu/forum_thread.php?id=81868&postid=1889124#1889124

KeithMyers commented 7 years ago

More than willing to test a 7.8.2 build if someone will provide it for me.

RichardHaselgrove commented 7 years ago

I gave you a Debian source. If not Debian, you would need to say which distro you are running.

KeithMyers commented 7 years ago

I'm running Ubuntu 16.04.3 LTS. I am not a developer. I cannot compile any source. I have to wait for a finished product compile by someone else.

ChristianBeer commented 7 years ago

You can download the .deb files for manual installation from here: https://packages.ubuntu.com/artful/amd64/boinc-manager/download Attention, this is the experimental section of Ubuntu and dependencies might not be compatible with 16.04.3

KeithMyers commented 7 years ago

Thanks Christian. I googled how to install a .deb file and the safest I infer from all the posts is to use gdebi. Do you concur?

KeithMyers commented 7 years ago

I thought of something before I jumped into the pool headfirst. Does this Manager install BOINC in the normal repository location? Or does it install into the Home directory? My current BOINC 7.8.0 is installed into Home directory to get around the permissions issue and split install location that the normal repository version forces on you.

ChristianBeer commented 7 years ago

Yes, the repository files always install to the repository paths. But you only need boinc-manager and can keep the client running in your home directory. The problem with dependencies in this case is that you also need to install boinc-client from the repository.

I'm aware that you can't select install location with the repository installations but I'm not aware of a permission issue that is fixed by installing to the home directory? In order to access the files in /var/lib/boinc-client/ you just need to add your own user to the boinc group created by the packaged version.

If you just want to test the Manager with minimal impact on your running custom client I can provide you with an executable you can use to test. I'm using an Ubuntu VM that should be compatible with your version.

KeithMyers commented 7 years ago

With TBar's BOINC 7.8.0 version from Crunchers Anonymous, all I had to do was unpack the archive to my Desktop and click on the Manager. Boom, instant running BOINC and no having to deal with permissions or add users to groups. Couldn't have been simpler. No having to search around for where the project directories are. They are right there in the BOINC folder on my Desktop.

Yes, I am interested in test trialing the 7.8.2 BOINC Manager to see if it has the Network Activity bug.

ChristianBeer commented 7 years ago

Well, the packaged versions also provide an instant running BOINC installation. They create users and groups and even install the init script so BOINC is started before a user logs into the system. The project directories are in /var/lib/boinc-client/ on all Debian based distributions. The problem is we don't know which version of the code was used to build what you currently have installed in your home directory.

Here is an executable build from the 7.8.2 release tag on Ubuntu 16.04: https://wolke7.aei.mpg.de/index.php/s/TUYlBxac366aopN (the link expires end of September). This will not work on other systems. Unpack this archive where your current manager is and it should work out of the box. The name of the executable doesn't matter, you don't need to overwrite your existing Manager.

KeithMyers commented 7 years ago

Hi Christian. The 7.8.2 version for Ubuntu 16.04 didn't work. I tried renaming it to boincmgr like my original and that didn't work. I then thought maybe it had to be in the BOINC directory so I moved it there and it still didn't work. So moved both the renamed file and the archive to the Trash and gave up.

Then later I thought about something that TBar showed me to do with seeing if there were dependency issues. This is the output from ldd. keith@Darksider:~$ ldd '/home/keith/.local/share/Trash/files/boincmgr' linux-vdso.so.1 => (0x00007ffdc4df5000) libnotify.so.4 => /usr/lib/x86_64-linux-gnu/libnotify.so.4 (0x00007f5cc11eb000) libwx_gtk2u_webview-3.0.so.0 => not found libwx_gtk2u_adv-3.0.so.0 => not found libwx_gtk2u_core-3.0.so.0 => not found libwx_baseu_net-3.0.so.0 => not found libwx_baseu-3.0.so.0 => not found libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f5cc0f13000)

So yes there were dependency failures and that is why it didn't work likely.

KeithMyers commented 7 years ago

Installed the following packages: libwxbase3.0-0v5 (3.0.2+dfsg-1.3ubuntu0.1) libwxgtk-media3.0-0v5 (3.0.2+dfsg-1.3ubuntu0.1) libwxgtk-webview3.0-0v5 (3.0.2+dfsg-1.3ubuntu0.1) libwxgtk3.0-0v5 (3.0.2+dfsg-1.3ubuntu0.1)

The BOINC Manager 7.8.2 runs now but has the same issue as the 7.8.0 version. Network Activity radio buttons don't show the current state until you open and close the Activity window 3 times.

ChristianBeer commented 7 years ago

What is your exact way to reproduce this? I just tested on Debian with the 7.8.2 version above and I click "Activity"-> "Suspend Network activity" and "Activity" again and I see the change immediately. The same happens if I switch the other settings in the "Activity" menu. I'm using KDE on Debian but I would think that this is irrelevant.

KeithMyers commented 7 years ago

You don't have to do anything special. It just is what it is. Open the dropdown Network Activity window and click or double click on your selected change while the Event Log is open. The change is immediately recorded on the Event Log. However the radio button next to your selected change still is not selected, it is still at the previous position. Close the window. Open the window, the radio button is still at the previous position. Click your selected option again. The radio button still does not move. Close the window. Open the window. Now the radio button has finally moved to the selected position. TBar has confirmed the bug on his 16.04 system with BOINC 7.8.2. He does not see the problem with either 12.04 or 14.04. I have 16.04 and I see the bug with both BOINC 7.8.0 and BOINC 7.8.2

KeithMyers commented 7 years ago

TBar posted an interesting bit of news. His experimenting seems to point the finger specifically at Ubuntu 16.04.3. The problem occurred even with older BOINC versions like 7.2.47 and 7.6.33.

KeithMyers commented 7 years ago

Jeff Buck has also seen the problem. The status of Network Activity is not being properly read from client_state.xml upon Manager startup. Richard Haselgrove is aware of the issue now.

RichardHaselgrove commented 7 years ago

Jeff's analysis (with my help) suggests that this is a Manager startup problem, which is rather different from previous descriptions (analysis at SETI). That should make it easier to find and fix.

KeithMyers commented 7 years ago

Except the original issue I described for this thread is NOT a startup issue. BOINC is already long running and I can't get the radio buttons to track actual state until I have selected the desired state twice and the third subsequent opening of the Activity window FINALLY shows the true state of any selection choice in the window.

RichardHaselgrove commented 7 years ago

Let's complete the full diagnosis in just one conversation, please, then present final findings to the developers for rectification. Following two running commentaries is getting tiring.

KeithMyers commented 6 years ago

Update: New function delivered with BOINC 7.8.2 {Skins} in Simple View built with wxWidgets 3.03 exhibits the same behavior of not responding to an initial mouse click to change button status. Same as Network Activity radio button. BOINC 7.8.2 built with wxWidgets 3.02 provided by Christian Beer does not run in Simple View at all.

KeithMyers commented 6 years ago

I'm just going to copy part of one of TBar's post at SETI to summarize the issue of the original thread topic.

The Skin & Activity Menu Indicator button is one mouse click behind the actual status. That means to display the actual setting, you have to make the Same selection twice. I've tested about 30% of the releases from 7.2.47 to 7.4.53, 7.5.0, 7.6.33, and 7.8.x, they all work the same even with different versions of wxWidgets. The problem doesn't exist with Ubuntu 14.04 and 12.04. The commit https://github.com/BOINC/boinc/commit/6479868b7c4c2efa87ff69d9e0910d43d2c33df7 which appeared in the 7.4.43 release is definitely the cause of the problems with the Tasks Page repeatedly scrolling to the bottom. I haven't had any trouble since removing that commit in 7.8.2 and 7.4.44. The releases had just recovered from 7.4.0, and the Manager was working well in 7.4.42, only to be hit with 7.4.43.

For me, the current 7.8.2 build is working well with the exception of the Skin & Activity Menus, and the Event Log Time Tags. I can live with both of those. I built BOINC 7.9.0 yesterday, it has the same troublesome commit, the Menu problem, and the Time Tag problem. Otherwise, it appears to work the same as 7.8.2 on my machine running Ubuntu 17.04.

Whenever Christian can get around to it, I'd like an update on what the avenues of resolution might be. Whether some part of the master BOINC code needs to be updated to prevent the Indicator button bug or whether the BOINC developers need to work with the Linux developers about the issue with Linux 16.04 and 17.04 that display the problem.

RichardHaselgrove commented 6 years ago

Um. I've been out since we had a debate about this on the SETI boards earlier this evening, but it raises a question. How does BOINC monitor the viability of the client code in master, for the wide variety of Linux distributions out there in the wild?

Linux distro package managers will be looking out for file locations, library compatibility, startup procedures etc. etc., but the actual working code... ? Who tests, who reports, who accepts responsibility?

KeithMyers commented 6 years ago

I certainly wouldn't know Richard. That would be a question for the BOINC steering committee which I believe you are part of. I don't know what the level of expertise that Christian has with the Linux BOINC code since I haven't seen any of his efforts or products other than that executable build from the 7.8.2 release tag on Ubuntu 16.04 that he made for me to try. It didn't work at all until I fixed a lot of missing dependencies by installing the packages it needed. It didn't fix the issue this bug report is about.

I would suggest that we somehow get TBar to be the official Linux bughunter and coderunner since he has made such good progress already and fixed an issue that has been present for over 3 years. I don't know how your BOINC steering committee works. Is it a closed membership or can someone from outside be enlisted?

KeithMyers commented 6 years ago

Has this issue been forgotten? I've received no response to my last post. Is anybody working on the problem?