mersenneforum.org  

Go Back   mersenneforum.org > Prime Search Projects > Conjectures 'R Us

Reply
 
Thread Tools
Old 2008-12-31, 17:50   #56
mdettweiler
A Sunny Moo
 
mdettweiler's Avatar
 
Aug 2007
USA (GMT-5)

624910 Posts
Default

Quote:
Originally Posted by mdettweiler View Post
Thanks! I'll get the fix compiled and loaded into the server shortly. And then...back to 3 hours deadline to finally clean out some of those pesky Sierp. base 6 numbers that we've got hanging around!
I've applied the fix to the server, and set the deadline to 3 hours again. The next time my client connected I verified that the numbers it were given were, indeed, numbers that had not had residuals returned yet and had been previously abandoned. So, looks like all is good now!
mdettweiler is offline   Reply With Quote
Old 2009-01-02, 01:35   #57
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

3·7·281 Posts
Default PRPNet 1.0.2

I've attached PRPNet 1.0.2. Here is a list of changes in the client:
  • Send abandoned tests to the server so that the server knows when the client is not going to perform the test and can thus send a test to someone else.
  • Fix an memory leak when maxworkunits is decreased to a value lower than the number of saved tests in the work*.save file.
  • Allow setting of maxworkunits of 0 to complete any current incomplete test, send it to the server, then terminate the client.
  • The next version of phrot can do a primality test for Proth numbers, so ensure that it is captured correctly and reported to the server.

Here is a list of changes in the server:
  • Fix an issue in Candidate.cpp where the number of successful tests performed was not incremented.
  • When a successful test is returned, log the test in a file called completed_tests.log.
  • The client can now indicated if a test has been abandoned. If it has, then don't update the timestamp, but delete the test so that someone else can perform it.

If you run into any issues or have additional enhancement requests, please let me know.
Attached Files
File Type: zip prpnet.zip (43.3 KB, 79 views)
rogue is offline   Reply With Quote
Old 2009-01-02, 02:49   #58
mdettweiler
A Sunny Moo
 
mdettweiler's Avatar
 
Aug 2007
USA (GMT-5)

3·2,083 Posts
Default

Quote:
Originally Posted by rogue View Post
I've attached PRPNet 1.0.2. Here is a list of changes in the client:
  • Send abandoned tests to the server so that the server knows when the client is not going to perform the test and can thus send a test to someone else.
  • Fix an memory leak when maxworkunits is decreased to a value lower than the number of saved tests in the work*.save file.
  • Allow setting of maxworkunits of 0 to complete any current incomplete test, send it to the server, then terminate the client.
  • The next version of phrot can do a primality test for Proth numbers, so ensure that it is captured correctly and reported to the server.

Here is a list of changes in the server:
  • Fix an issue in Candidate.cpp where the number of successful tests performed was not incremented.
  • When a successful test is returned, log the test in a file called completed_tests.log.
  • The client can now indicated if a test has been abandoned. If it has, then don't update the timestamp, but delete the test so that someone else can perform it.

If you run into any issues or have additional enhancement requests, please let me know.
All seems to be working well with the new version, except for one thing: When I try setting maxworkunits to 0, and attempt to start the client, it immediately quits with a segfault. Maybe this is a problem unique to Linux builds of PRPnet?

Edit: One more little request for the server. The completed_tests.log feature is great, but can the name of the client ID that returned the result be added to the output for that file as well? We'll be using that field to pass the user's mersenneforum username on future NPLB servers so that it can integrate with our existing LLRnet stats system, so that will be important.

Last fiddled with by mdettweiler on 2009-01-02 at 02:52
mdettweiler is offline   Reply With Quote
Old 2009-01-02, 03:17   #59
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

134158 Posts
Default

Quote:
Originally Posted by mdettweiler View Post
All seems to be working well with the new version, except for one thing: When I try setting maxworkunits to 0, and attempt to start the client, it immediately quits with a segfault. Maybe this is a problem unique to Linux builds of PRPnet?

Edit: One more little request for the server. The completed_tests.log feature is great, but can the name of the client ID that returned the result be added to the output for that file as well? We'll be using that field to pass the user's mersenneforum username on future NPLB servers so that it can integrate with our existing LLRnet stats system, so that will be important.
In Candidate.cpp, modify the ReceiveWorkDone() procedure to have the following line:

testLog->LogMessage("%s: User: %s Program: %s Client: %s Residue: %s DoubleCheck? %s",
s_Name, fromEmailID, program, fromClientID, residue, (i_TestsPerformed ? "Yes" : "No"));

That will add the clientID to the log.

As for the issue in the client, I can't reproduce it. Can you use gdb to show there the segfault is occuring?
rogue is offline   Reply With Quote
Old 2009-01-02, 03:20   #60
mdettweiler
A Sunny Moo
 
mdettweiler's Avatar
 
Aug 2007
USA (GMT-5)

11000011010012 Posts
Default

Quote:
Originally Posted by rogue View Post
In Candidate.cpp, modify the ReceiveWorkDone() procedure to have the following line:

testLog->LogMessage("%s: User: %s Program: %s Client: %s Residue: %s DoubleCheck? %s",
s_Name, fromEmailID, program, fromClientID, residue, (i_TestsPerformed ? "Yes" : "No"));

That will add the clientID to the log.

As for the issue in the client, I can't reproduce it. Can you use gdb to show there the segfault is occuring?
As for the log file: ah, thanks, I'll try that out as soon as I get the chance.

As for reproducing the segfault: what's gdb? (Other than our project admin here? )
mdettweiler is offline   Reply With Quote
Old 2009-01-02, 03:42   #61
IronBits
I ♥ BOINC!
 
IronBits's Avatar
 
Oct 2002
Glendale, AZ. (USA)

45916 Posts
Default

My guess, gcc debug perhaps?
IronBits is offline   Reply With Quote
Old 2009-01-02, 13:37   #62
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

3×7×281 Posts
Default

Quote:
Originally Posted by mdettweiler View Post
As for the log file: ah, thanks, I'll try that out as soon as I get the chance.

As for reproducing the segfault: what's gdb? (Other than our project admin here? )
gdb is the GNU debugger. If you built the software with gcc on a unix/linux box, then it is highly likely that you also have gdb. If not, d/l'ing and installing shouldn't be too difficult.

Once installed do the following from the command line where the prpclient is located:

gdb ./prpclient

It will start the debugger, but won't run the client yet. Type

run

and when you get the segfault, type

where

It will give you a stack trace of the function where the problem is. It should also give you some information as to what variable has the bad pointer.
rogue is offline   Reply With Quote
Old 2009-01-02, 13:47   #63
nuggetprime
 
nuggetprime's Avatar
 
Mar 2007
Austria

30210 Posts
Default

Quote:
Originally Posted by rogue
The next version of phrot can do proth tests.
Isn't llr faster at proth tests?
nuggetprime is offline   Reply With Quote
Old 2009-01-02, 13:56   #64
Mini-Geek
Account Deleted
 
Mini-Geek's Avatar
 
"Tim Sorbera"
Aug 2006
San Antonio, TX USA

17×251 Posts
Default

I'm still unable to compile a Windows build, and nobody has made one for me yet. When I try to run nmake (a Windows equivalent of make), it fails on creating the socket.
Code:
C:\Files\Prime\prpnet\source>nmake

Microsoft (R) Program Maintenance Utility   Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

        g++ -c -g -Wall Socket.cpp
Socket.cpp: In member function `int Socket::OpenSocketForListening()':
Socket.cpp:97: error: cannot convert `uint64_t*' to `u_long*' for argument `3' t
o `int ioctlsocket(SOCKET, long int, u_long*)'
Socket.cpp: In member function `int Socket::OpenSMTPSocket()':
Socket.cpp:140: warning: comparison between signed and unsigned integer expressi
ons
Socket.cpp: In member function `int32_t Socket::OpenWorkSocket()':
Socket.cpp:189: warning: comparison between signed and unsigned integer expressi
ons
Socket.cpp:222: error: cannot convert `uint64_t*' to `u_long*' for argument `3'
to `int ioctlsocket(SOCKET, long int, u_long*)'
Socket.cpp: In member function `char* Socket::ListenForMessage()':
Socket.cpp:311: warning: comparison between signed and unsigned integer expressi
ons
NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code '0x1'
Stop.
If I use the /I option to force it to continue, it doesn't work because the compiled socket doesn't exist.
Code:
C:\Files\Prime\prpnet\source>nmake /I

Microsoft (R) Program Maintenance Utility   Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

        g++ -c -g -Wall Socket.cpp
Socket.cpp: In member function `int Socket::OpenSocketForListening()':
Socket.cpp:97: error: cannot convert `uint64_t*' to `u_long*' for argument `3' t
o `int ioctlsocket(SOCKET, long int, u_long*)'
Socket.cpp: In member function `int Socket::OpenSMTPSocket()':
Socket.cpp:140: warning: comparison between signed and unsigned integer expressi
ons
Socket.cpp: In member function `int32_t Socket::OpenWorkSocket()':
Socket.cpp:189: warning: comparison between signed and unsigned integer expressi
ons
Socket.cpp:222: error: cannot convert `uint64_t*' to `u_long*' for argument `3'
to `int ioctlsocket(SOCKET, long int, u_long*)'
Socket.cpp: In member function `char* Socket::ListenForMessage()':
Socket.cpp:311: warning: comparison between signed and unsigned integer expressi
ons
        g++ -o prpclient prpclient.o Log.o Socket.o Work.o
g++: Socket.o: No such file or directory
        g++ -o prpserver prpserver.o Log.o Socket.o Candidate.o Mail.o
g++: Socket.o: No such file or directory
Anyone know how to get it to work? Or could someone build it for me?
Mini-Geek is offline   Reply With Quote
Old 2009-01-02, 17:17   #65
mdettweiler
A Sunny Moo
 
mdettweiler's Avatar
 
Aug 2007
USA (GMT-5)

3·2,083 Posts
Default

Quote:
Originally Posted by rogue View Post
gdb is the GNU debugger. If you built the software with gcc on a unix/linux box, then it is highly likely that you also have gdb. If not, d/l'ing and installing shouldn't be too difficult.

Once installed do the following from the command line where the prpclient is located:

gdb ./prpclient

It will start the debugger, but won't run the client yet. Type

run

and when you get the segfault, type

where

It will give you a stack trace of the function where the problem is. It should also give you some information as to what variable has the bad pointer.
Okay, I'll give it a try later today and keep you posted as to how it turns out.
mdettweiler is offline   Reply With Quote
Old 2009-01-02, 17:28   #66
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

3·7·281 Posts
Default

Quote:
Originally Posted by nuggetprime View Post
Isn't llr faster at proth tests?
About twice as fast, but it will provide a means for non-x86 users to do an actual primality test on their hardware. Prior to this they could only do a PRP test for Proth numbers.

Here is the native Windows client, untested. I'll post the server if you need it. After you unzip, you will need to change the "_" to a "." in the filename.
Attached Files
File Type: zip prpclient_exe.zip (184.5 KB, 70 views)

Last fiddled with by rogue on 2009-01-02 at 18:21
rogue is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
PRPNet 5.4.3 Released rogue Software 163 2020-07-11 14:51
PSP goes prpnet ltd Prime Sierpinski Project 86 2012-06-06 02:30
PRPNet 4.0.0 Released rogue Software 84 2011-11-16 21:20
PRPNet 4.0.1 Released Joe O Sierpinski/Riesel Base 5 1 2010-10-22 20:11
PRPNet 3.0.0 Released rogue Conjectures 'R Us 220 2010-10-12 20:48

All times are UTC. The time now is 01:09.

Tue Sep 22 01:09:59 UTC 2020 up 11 days, 22:20, 0 users, load averages: 2.19, 1.95, 1.79

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.