mersenneforum.org  

Go Back   mersenneforum.org > Great Internet Mersenne Prime Search > PrimeNet

Reply
 
Thread Tools
Old 2015-03-30, 18:01   #881
petrw1
1976 Toyota Corona years forever!
 
petrw1's Avatar
 
"Wayne"
Nov 2006
Saskatchewan, Canada

3×5×172 Posts
Default

Quote:
Originally Posted by chalsall View Post
Mostly to George, James and Madpoo...

Over the night the user "LUKASZ" manually reserved 31,543 P-1 assignments! WTF???

Not sure if this was intentionally malicious, or simply a mistake. But perhaps Primenet should have a safety feature to prevent a single user from reserving far more work than they can reasonably do.
It's only "31,543 P-1 assignments" more than he/she has done to date.
And only "31,543 assignments" more than he/she has done to date.

Yes, obviously a NEW user....so I want to believe it was more likely an honest mistake.

I guess we can hope he turns out to have access to hundreds of big iron
petrw1 is offline   Reply With Quote
Old 2015-03-30, 18:23   #882
NBtarheel_33
 
NBtarheel_33's Avatar
 
"Nathan"
Jul 2008
Maryland, USA

100010110112 Posts
Default

Quote:
Originally Posted by chalsall View Post
Mostly to George, James and Madpoo...

Over the night the user "LUKASZ" manually reserved 31,543 P-1 assignments! WTF???

Not sure if this was intentionally malicious, or simply a mistake. But perhaps Primenet should have a safety feature to prevent a single user from reserving far more work than they can reasonably do.
Doesn't the manual assignment request form limit requests to a maximum number of exponents on each of a maximum number (12 IIRC) of cores? So, assuming this user made use of the manual assignment system, it seems as though she would have had to reload the manual assignment page hundreds (or more likely, thousands) of times. This would take hours, and wouldn't seem to accomplish much other than to draw our attention, which would be achieved after reserving only a few hundred P-1 assignments at once, rather than 31,543. Even if the user had instead constructed a malicious worktodo file containing 31,543 P-1 assignment lines, it seems like the PrimeNet communication process would (a) take a year and a day to register all of the assignments, (b) time out and throw an error, or (c) balk at reserving exponents with completion dates as far as a century in the future! (Consider that at one assignment completion per day, 31,543 assignments would require 31,543 days = ~86.5 years.)

On the other hand, what kind of PrimeNet error would facilitate the assignment of 31,543 exponents to any user?

There is too much effort extant for pure malicious intent. It also seems improbable that PrimeNet would have made these assignments on its own. Perhaps this really is a new big player with hundreds or thousands of computers...the Curtis Cooper of P-1!
NBtarheel_33 is offline   Reply With Quote
Old 2015-03-30, 19:12   #883
chalsall
If I May
 
chalsall's Avatar
 
"Chris Halsall"
Sep 2002
Barbados

2×13×353 Posts
Default

Quote:
Originally Posted by NBtarheel_33 View Post
So, assuming this user made use of the manual assignment system, it seems as though she would have had to reload the manual assignment page hundreds (or more likely, thousands) of times.
This is what appears to have happened. According to my "Observing Spider", Primenet ran out of P-1 assignments at 74 or above, and "pulled its ripcord" several times over the night until GPU72 also ran out of candidates at 74 or above.

Quote:
Originally Posted by NBtarheel_33 View Post
There is too much effort extant for pure malicious intent. It also seems improbable that PrimeNet would have made these assignments on its own. Perhaps this really is a new big player with hundreds or thousands of computers...the Curtis Cooper of P-1!
If that's true, great! However, this seems malicious to me (or, at the very least, a badly programmed spider).
chalsall is offline   Reply With Quote
Old 2015-03-31, 00:04   #884
chalsall
If I May
 
chalsall's Avatar
 
"Chris Halsall"
Sep 2002
Barbados

2×13×353 Posts
Default

George et al.

Have you heard the expression "The silence is deafening."?

What's going on?
chalsall is offline   Reply With Quote
Old 2015-03-31, 00:18   #885
Prime95
P90 years forever!
 
Prime95's Avatar
 
Aug 2002
Yeehaw, FL

156018 Posts
Default

Tough crowd.

Obviously, I'm waiting for madpoo to look into it and madpoo is waiting for me to look into it...
Prime95 is offline   Reply With Quote
Old 2015-03-31, 00:46   #886
Prime95
P90 years forever!
 
Prime95's Avatar
 
Aug 2002
Yeehaw, FL

3×2,347 Posts
Default

I freed all the assignments. They were manually reserved. My guess is some weird browser phenomenon that repeatedly fetched a page reserving more assignments. I don't know enough about browser options get/post html to know if we can prevent this in the future.
Prime95 is offline   Reply With Quote
Old 2015-03-31, 01:01   #887
James Heinrich
 
James Heinrich's Avatar
 
"James Heinrich"
May 2004
ex-Northern Ontario

2·32·163 Posts
Default

It shouldn't so much be a browser issue to check for or fix, but when a manual reservation request comes in, the server should check how much work is currently assigned to that user and prevent the reservation if the new request doesn't seem sane.
James Heinrich is offline   Reply With Quote
Old 2015-03-31, 01:03   #888
Mark Rose
 
Mark Rose's Avatar
 
"/X\(‘-‘)/X\"
Jan 2013
Ͳօɾօղէօ

2·1,409 Posts
Default

Quote:
Originally Posted by Prime95 View Post
I freed all the assignments. They were manually reserved. My guess is some weird browser phenomenon that repeatedly fetched a page reserving more assignments. I don't know enough about browser options get/post html to know if we can prevent this in the future.
If the server was slow, the user may have just clicked on the button repeatedly out of frustration. I know better than to do that here, but not everyone does, I assume. The solution is to disable the form after it has been submitted. See how to do that with jquery: http://stackoverflow.com/a/4473801
Mark Rose is offline   Reply With Quote
Old 2015-04-01, 04:26   #889
Madpoo
Serpentine Vermin Jar
 
Madpoo's Avatar
 
Jul 2014

CCA16 Posts
Default

Quote:
Originally Posted by Prime95 View Post
Tough crowd.

Obviously, I'm waiting for madpoo to look into it and madpoo is waiting for me to look into it...
Sorry folks, I guess I missed all of this at the time.

I'll have to check the logs and see what happened, I suppose. That page sets some URL parameters when you submit and reloads the page with them. If someone were to directly call the URL with those parameters set, the server would happily spit out a new assignment on each reload of the page.

Why that would happen on accident is unknown. From the server side of things it seems a bit unlikely so I'd have to see what the logs say about it. It seems more likely that someone's browser decided to reload the page on it's own, or someone fat-fingered a script of some kind (or did it on purpose).

Whatever the case though, it does seem like there's room to improve it.
Madpoo is offline   Reply With Quote
Old 2015-04-01, 04:57   #890
Madpoo
Serpentine Vermin Jar
 
Madpoo's Avatar
 
Jul 2014

2·1,637 Posts
Default

Quote:
Originally Posted by Madpoo View Post
Sorry folks, I guess I missed all of this at the time.

I'll have to check the logs and see what happened, I suppose. That page sets some URL parameters when you submit and reloads the page with them. If someone were to directly call the URL with those parameters set, the server would happily spit out a new assignment on each reload of the page.

Why that would happen on accident is unknown. From the server side of things it seems a bit unlikely so I'd have to see what the logs say about it. It seems more likely that someone's browser decided to reload the page on it's own, or someone fat-fingered a script of some kind (or did it on purpose).

Whatever the case though, it does seem like there's room to improve it.
So... blah blah blah, user comes in to the home page from Google, looks at a few pages, creates a user account, then goes to the manual assignment page.

First time was fine... 12 cores and 1 assignment each, with a max exponent of 37,963,189.

I'm guessing next it's a case of the user not really understanding the options on that page. It was selected for 12 cores and 95 assignments per core (1140 in each fetch). That happened once, then the user visited the download page (but didn't download anything yet).

Came back to the manual assignment page and went for 12 cores / 95 each again (8 minutes after the first large batch), 10 times in a row there in a period of about a minute, fetching another 11,400 on top of the 1141 already grabbed. the "referrer" field of each subsequent one was itself, so that could indicate just hitting refresh on the page that shows your assignments.

Maybe it was a case of the server taking a while to generate 1140 assignments, and the user gets impatient and hits refresh every 6 or 7 seconds, maybe as long as 20 seconds. Doesn't matter... the request was made and the thread to generate the assignments was called. User might have never seen anything on the page unless they were really patient.

Then the user goes and downloads the Linux and Mac clients, comes back to the manual assignment page. Tries again with just 1 core / 1 assignment. Then gets greedy again and goes for 12 cores / 91 assignments this time. 15 of those.

Then 2 in a row of 12 core / 1 assignment. Followed by 12 cores, 66 assignment, and then a really long succession of getting 12 core/95 assignment with a variety of other odd choices in there (12 core, 66 assignments, 1 core/1 assignment, etc).

I guess if I added it all up it would come to whatever grand total was mentioned.

Note: The server *did* apparently finish making all the assignments, so hey, we've got that going for it. Had the user checked their assignment page for their account, it would have displayed them, although I kind of wonder how responsive that page is when showing that many? It's a table after all...

Anyway, it seems like the solutions involve:
  • Limiting the # of assignments you can get in one request
  • Modifying it after submission so the user knows to WAIT if it's a LOT of assignments
  • Prevent a mere refresh of the page from requesting a whole new set

Any/all of those.

I don't see anything malicious in it... just a new user not understanding that selecting that many cores plus that many assignments per core is obviously a lot of work and the server will dutifully try to fulfill the request, but please be patient. If it were made clearer, like "hey buddy, you're asking for 1,140 assignments...are you sure?" maybe it would help.
Madpoo is offline   Reply With Quote
Old 2015-04-01, 05:06   #891
retina
Undefined
 
retina's Avatar
 
"The unspeakable one"
Jun 2006
My evil lair

2·32·313 Posts
Default

Quote:
Originally Posted by Madpoo View Post
Prevent a mere refresh of the page from requesting a whole new set
The browser can help you here. I think we discussed this previously, but GET requests should be idempotent because the browser gives no warning or notification. POST requests are what you should be using because the browser (if set correctly) will warn about repeated POSTs).
retina is online now   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Official "Faits erronés dans de belles-lettres" thread ewmayer Lounge 39 2015-05-19 01:08
Official "all-Greek-to-me Fiction Literature and Cinema" Thread ewmayer Science & Technology 41 2014-04-16 11:54
Official "Lasciate ogne speranza" whinge-thread cheesehead Soap Box 56 2013-06-29 01:42
Official "Ernst is a deceiving bully and George is a meanie" thread cheesehead Soap Box 61 2013-06-11 04:30
Official "String copy Statement Considered Harmful" thread Dubslow Programming 19 2012-05-31 17:49

All times are UTC. The time now is 12:32.

Fri Aug 14 12:32:06 UTC 2020 up 1 day, 9:07, 1 user, load averages: 1.63, 1.40, 1.48

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.