BOINC / boinc

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

Android: Username in Android client may not be the same as used on the forums #3765

Closed Ageless93 closed 3 years ago

Ageless93 commented 4 years ago

This is with 7.4.53, but may be of importance for those who rewrite the client software for BOINC on Android.

Over the past week and a half I was trying to get one of my devices attached to Einstein. I would fill in the email address I used, and the username as I use it on their forums and website (Jord), password... and all I would get back was "Communication failed". No explanation, nothing.

In the past I changed my username from Ageless to Jord on most projects, and for all other projects this works fine. Just not for Einstein. Because apparently it holds an internal unique username (maybe because they run Drupal?). So I could add Einstein using my email address, username Ageless and my password.

I then reported this on their forums. They've of course asked me why I need to give up my username, something I have been wondering about myself for a long time. Maybe someone here can answer that.

Oliver went and changed my internal username from Ageless to Jord. I detached from Einstein and tried reattaching using my email address, username Jord and password. This failed with "Communication failed". I then tried to attach using Ageless as username. That also failed with the same message.

... but when you look on the Einstein site, your username is in all CAPS. So as a last resort I tried email address, username JORD and password and that worked.

Which makes it interesting for the rewrite. Do you add a check for all CAPS for this project, or do you automate that the username for Einstein is all CAPS? Or do you do away with the requirement for using the username on existing accounts (because they're not used in the WebRPC anyway)?

brevilo commented 4 years ago

Let me add a few findings. While Jord certainly just describes what he experienced, I can only say that there must be something else at play here. As far as I can see the following is true:

What are we missing?

If anything, the error/code message returned by the server should be available to the user somewhere. If not in the direct error message, then at least in the log.

Ageless93 commented 4 years ago

These are all the messages it wrote. Android logs are notoriously inadequate. I removed four lines about Rosetta tasks that were 6 days past the deadline.

Mon May 25 17:55:26 GMT+02:00 2020|Einstein@Home|New computer location: home Mon May 25 17:55:26 GMT+02:00 2020|Einstein@Home|Scheduler request completed: got 1 new tasks Mon May 25 17:55:24 GMT+02:00 2020|Einstein@Home|Requesting new tasks for CPU Mon May 25 17:55:24 GMT+02:00 2020|Einstein@Home|Sending scheduler request: Project initialization. Mon May 25 17:55:19 GMT+02:00 2020|Einstein@Home|Master file download succeeded Mon May 25 17:54:21 GMT+02:00 2020||Fetching configuration file from http://einstein.phys.uwm.edu/get_project_config.php Mon May 25 17:48:01 GMT+02:00 2020||Fetching configuration file from http://einstein.phys.uwm.edu/get_project_config.php Mon May 25 17:47:39 GMT+02:00 2020||Fetching configuration file from http://einstein.phys.uwm.edu/get_project_config.php Mon May 25 17:46:28 GMT+02:00 2020||Fetching configuration file from http://einstein.phys.uwm.edu/get_project_config.php Mon May 25 17:45:35 GMT+02:00 2020||Fetching configuration file from http://einstein.phys.uwm.edu/get_project_config.php Mon May 25 17:44:23 GMT+02:00 2020||Fetching configuration file from http://einstein.phys.uwm.edu/get_project_config.php Mon May 25 17:43:46 GMT+02:00 2020||Suspending network activity - user request Mon May 25 17:43:46 GMT+02:00 2020||Suspending computation - user request Mon May 25 17:43:24 GMT+02:00 2020|Einstein@Home|Detaching from project Mon May 25 17:43:24 GMT+02:00 2020|Einstein@Home|Resetting project Mon May 25 17:32:15 GMT+02:00 2020|Universe@Home|Scheduler request completed Mon May 25 17:31:59 GMT+02:00 2020|Universe@Home|Not requesting tasks: don't need (job cache full) Mon May 25 17:31:59 GMT+02:00 2020|Universe@Home|Sending scheduler request: Requested by project. Mon May 25 17:31:59 GMT+02:00 2020||Resuming network activity Mon May 25 17:31:57 GMT+02:00 2020||Suspending network activity - not connected to WiFi network Mon May 25 17:31:57 GMT+02:00 2020||Suspending computation - on batteries Mon May 25 17:31:57 GMT+02:00 2020||Not using a proxy Mon May 25 17:31:57 GMT+02:00 2020||(to change preferences, visit a project web site or select Preferences in the Manager) Mon May 25 17:31:57 GMT+02:00 2020||suspend work if non-BOINC CPU load exceeds 100% Mon May 25 17:31:57 GMT+02:00 2020||don't use GPU while active Mon May 25 17:31:57 GMT+02:00 2020||don't compute while active Mon May 25 17:31:57 GMT+02:00 2020||max CPUs used: 4 Mon May 25 17:31:57 GMT+02:00 2020||max disk usage: 47.09GB Mon May 25 17:31:57 GMT+02:00 2020||max memory usage when idle: 3541.09MB Mon May 25 17:31:57 GMT+02:00 2020||max memory usage when active: 1770.54MB Mon May 25 17:31:57 GMT+02:00 2020||Preferences: Mon May 25 17:31:57 GMT+02:00 2020||Reading preferences override file Mon May 25 17:31:57 GMT+02:00 2020|Universe@Home|URL https://universeathome.pl/universe/; Computer ID 562127; resource share 800 Mon May 25 17:31:57 GMT+02:00 2020|Einstein@Home|URL http://einstein.phys.uwm.edu/; Computer ID 12834693; resource share 100 Mon May 25 17:31:57 GMT+02:00 2020|Asteroids@home|URL http://asteroidsathome.net/boinc/; Computer ID 680924; resource share 100 Mon May 25 17:31:57 GMT+02:00 2020|Rosetta@home|URL https://boinc.bakerlab.org/rosetta/; Computer ID 4410135; resource share 100 Mon May 25 17:31:57 GMT+02:00 2020|WUProp@Home|URL https://wuprop.boinc-af.org/; Computer ID 163887; resource share 100 Mon May 25 17:31:57 GMT+02:00 2020||Config: report completed tasks immediately Mon May 25 17:31:57 GMT+02:00 2020||Local time is UTC +2 hours Mon May 25 17:31:57 GMT+02:00 2020||Disk: 52.32 GB total, 47.05 GB free Mon May 25 17:31:57 GMT+02:00 2020||Memory: 3.46 GB physical, 2.00 GB virtual Mon May 25 17:31:57 GMT+02:00 2020||OS: Android: 3.18.120-18304969 Mon May 25 17:31:57 GMT+02:00 2020||Processor features: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32 Mon May 25 17:31:57 GMT+02:00 2020||Using 4 CPUs Mon May 25 17:31:57 GMT+02:00 2020||Processor: 8 ARM Mon May 25 17:31:57 GMT+02:00 2020||Host name: android_5a6ad5fc Mon May 25 17:31:57 GMT+02:00 2020||No usable GPUs found

brevilo commented 4 years ago

Thanks for the log, but that's the "normal" BOINC client log, not the one by the Android app itself, which should indeed be a thing, looking at the codebase (even for 7.4). Could it be hidden somewhere or is does it need to be enabled in some "advanced settings" (log level "warning")? If not, then one might need an app for that , but I hope that's not needed...

Ageless93 commented 4 years ago
* Drupal is totally unrelated here as it just passes the RPC calls to BOINC's web API

That was more of a comment about the internal user name than anything else. Einstein is the outlier as you use a non-default BOINC backend to communicate with. All the other projects I added I only used the email address, username Jord and password. All those projects use the default BOINC backend (although maybe adjusted to their needs).

The only other log option I have is for GUI messages and that one, set to level 2, is empty. Can't use Matlog without rooting my device and that's something of an almost impossibility as it's a Samsung Tab-A. I looked into that already. So now it can't access any logs other than its own.

brevilo commented 4 years ago

If increasing that log level doesn't help I'm out of ideas then. Sorry.

brevilo commented 4 years ago

FWIW, there isn't even an isolated string "Communication failed" in BOINC 7.4, incl. Transifex that is. No idea where that should come from...

Ageless93 commented 4 years ago

I saw it in Dutch "Verbinding mislukt", which probably better translates as "Connection failed".

RichardHaselgrove commented 4 years ago

There are two strings where that translation is used:

<string name="attachproject_conflict_undefined">Verbinding mislukt</string>
<string name="attachproject_error_no_internet">Verbinding mislukt</string>
brevilo commented 4 years ago

Thanks guys, that should help somewhat. Also, @Ageless93, the GUI messages are the Android related ones. If you increase their log level to 5 it's way more verbose. You may also increase the client logging by selecting various debug options (e.g. for HTTP or RPC traffic) in the settings.

However, there's now a major problem to debug this problem further, at least at E@H: the current stable BOINC Android app can't communicate with our project anymore. Our dedicated TLS certificate chain to support clients with ancient certificate authorities finally expired. Thus clients older than 7.10 (and using BOINC's own CA bundle) won't connect anymore. The CA bundle in 7.4 is more than six years old and our intermediate CA is eight (!) months younger than that bundle.

Ageless93 commented 4 years ago

The flags I can select out of on Android are android_debug, http_debug, task_debug, gui_rpc_debug, cpu_sched_debug and work_fetch_debug But the log in this BOINC is really short, 51 lines max, so any debug option will lose valuable information. I wonder, also with the above message of this BOINC not being able to communicate with Einstein anymore, if it isn't better to drop trying to fix this and wait for a newer version.

Yes, it now just says "could not connect".

brevilo commented 4 years ago

if it isn't better to drop trying to fix this and wait for a newer version

Yes, of course. Most of the pending Android issues are on hold until a new version is available. The problem is that this new release got shifted further and further into the future, presumably due to feature/scope creep. I'd be curious about a rough ETA.

AenBleidd commented 3 years ago

Verified with my profile. My name on Einstein is 'Vitalii Koshura'. I used different name when connecting to the project ('Test Test'). Connection was successful, after connection name was changed to 'Vitalii Koshura'. Connection issues are not connected to used name. Closing this ticket as invalid. @Ageless93, in case of similar connection issues, please open new ticket and mention this one in the description.