Copy Stderr.txt on sending resutls

Questions and Answers : Wish list : Copy Stderr.txt on sending resutls
Message board moderation

To post messages, you must log in.

AuthorMessage
Profile RayMN

Send message
Joined: 4 Jul 19
Posts: 2
Credit: 402,986
RAC: 2
United States
Message 2018517 - Posted: 11 Nov 2019, 16:06:20 UTC

I'm trying to find a way to capture/track my own "findings" as they are reported back. I have found where they are stored /var/boinc-client/slot/stderr.txt but can not find a way to capture a completed file before it is send and overwritten with the next. Maybe I'm just not looking in the right places?

-- Ray
ID: 2018517 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14653
Credit: 200,643,578
RAC: 874
United Kingdom
Message 2018523 - Posted: 11 Nov 2019, 17:21:32 UTC - in response to Message 2018517.  

stderr.txt is copied into client_state.xml, where it is merged with the other metadata for the task (time stats etc.) ready for reporting back to the project. Only the last 64 KB are reported to the project - this is ample for all normal tasks, but truncation can remove the initial data in some error cases, such as those which cause the task to pause, exit, and retry.

Once the task has been reported to, and acknowledged by, the project servers, it is deleted from client_state.xml, but can still be viewed on the project website for a short while.
ID: 2018523 · Report as offensive
Profile RayMN

Send message
Joined: 4 Jul 19
Posts: 2
Credit: 402,986
RAC: 2
United States
Message 2018569 - Posted: 11 Nov 2019, 21:37:35 UTC - in response to Message 2018523.  

Thanks for the input Richard. But when I go look at client_state and even client_state_prev there really isn't any "results" in them, there is a link to a file that is stored in /var/lib/boinc-client/slot/0 ... 3 that actually has results in them for the files currently being worked on. But there are no older files or archive of the files that I can see. The stderr.txt file is also in the same place and you have to have root access (and I do) to even read that folder. If I go out to the site an look up a completed task for my system I can see the strerr.txt content on the site and it looks like this:

<core_client_version>7.14.2</core_client_version>
<![CDATA[
<stderr_txt>
setiathome_v8 8.00 Revision: 3633 g++ (Raspbian 4.9.2-10) 4.9.2
libboinc: BOINC 7.7.0

Work Unit Info:
...............
WU true angle range is :  0.035026
features: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 
Optimal function choices:
--------------------------------------------------------
                            name   timing   error
--------------------------------------------------------
                v_BaseLineSmooth (no other)
           neon_GetPowerSpectrum 0.000523 0.00000 
                   vfp_ChirpData 0.018768 0.00000 
                 fftwf_transpose 0.011924 0.00000 
                opt NEON folding 0.002736 0.00000 
Autocorr: peak=18.01681, time=51.54, delay=2.3734, d_freq=6702620156.11, chirp=-25.298, fft_len=128k
Autocorr: peak=17.86576, time=51.54, delay=2.3734, d_freq=6702620155.26, chirp=-25.314, fft_len=128k
Autocorr: peak=17.9987, time=40.09, delay=1.1643, d_freq=6702620368.16, chirp=-27.236, fft_len=128k
Triplet: peak=11.63452, time=21.92, period=13.82, d_freq=6702620305.42, chirp=41.137, fft_len=128 
Pulse: peak=7.601059, time=32.48, period=14.02, d_freq=6702622194.02, score=1.015, chirp=-43.979, fft_len=2k
Triplet: peak=10.53193, time=26.89, period=7.505, d_freq=6702626663.28, chirp=-74.156, fft_len=256 

Best spike: peak=23.48914, time=74.45, d_freq=6702620341.87, chirp=-4.6113, fft_len=128k
Best autocorr: peak=18.01681, time=51.54, delay=2.3734, d_freq=6702620156.11, chirp=-25.298, fft_len=128k
Best gaussian: peak=0, mean=0, ChiSq=0, time=-2.124e+11, d_freq=0,
	score=-12, null_hyp=0, chirp=0, fft_len=0 
Best pulse: peak=7.601059, time=32.48, period=14.02, d_freq=6702622194.02, score=1.015, chirp=-43.979, fft_len=2k
Best triplet: peak=11.63452, time=21.92, period=13.82, d_freq=6702620305.42, chirp=41.137, fft_len=128 

Flopcounter: 29810391053347.691406

Spike count:    0
Autocorr count: 3
Pulse count:    1
Triplet count:  2
Gaussian count: 0
11:28:46 (5118): called boinc_finish(0)

</stderr_txt>
]]>

I'm guessing that is the report that you say stays up there "for a short while" ... that is the part I want but I don't want to screen scrape the site since the data is already on my system. I just want to capture it before it's removed. :)

Right now the best idea I have (and I don't like it) is two capture the file ever 30 or 60 seconds until it's smaller than the last one ... meaning it's been restarted ... and use the last version for my analysis and start watching the new one grow.

For a single file that would not be a real issue, however; I have this running on 15 raspberry Pi cores across 4 machines. So I'm watching 15 files every 30-60 seconds (the programmer in me finds that sort -f a kluge. I can write in Java, JavaScript, Node-RED, bash, a little Python and Perl, some really dusty ansii C and 1/2 dozen other dusty languages but NO C++ at all. I'm open to ideas from the community, or if someone knows of a solution already out there I would love to hear about that as well.

-- Ray
ID: 2018569 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14653
Credit: 200,643,578
RAC: 874
United Kingdom
Message 2018590 - Posted: 11 Nov 2019, 22:51:16 UTC

Well, they are there, I promise you! On my Ubuntu-based Linux Mint system, file client_state.xml is in /var/lib/boinc-client. There's a project section for each project you're attached to: for each project there are <file>, then <workunit>, and finally <result>.

stderr.txt will only exist for tasks that you have recently completed, but not yet reported. Here's a sample:

<result>
    <name>blc22_2bit_guppi_58691_67081_HIP40903_0048.31734.0.21.44.218.vlar_0</name>
    <final_cpu_time>71.342260</final_cpu_time>
    <final_elapsed_time>73.443765</final_elapsed_time>
    <exit_status>0</exit_status>
    <state>5</state>
    <platform>x86_64-pc-linux-gnu</platform>
    <version_num>803</version_num>
    <plan_class>cuda101</plan_class>
    <final_peak_working_set_size>693215232</final_peak_working_set_size>
    <final_peak_swap_size>11791200256</final_peak_swap_size>
    <final_peak_disk_usage>23305</final_peak_disk_usage>
<stderr_out>
<![CDATA[
<stderr_txt>
setiathome_CUDA: Found 2 CUDA device(s):
  Device 1: GeForce GTX 1660 Ti, 5911 MiB, regsPerBlock 65536
     computeCap 7.5, multiProcs 24 
     pciBusID = 1, pciSlotID = 0
  Device 2: GeForce GTX 1660 Ti, 5914 MiB, regsPerBlock 65536
     computeCap 7.5, multiProcs 24 
     pciBusID = 3, pciSlotID = 0
In cudaAcc_initializeDevice(): Boinc passed DevPref 2
setiathome_CUDA: CUDA Device 2 specified, checking...
   Device 2: GeForce GTX 1660 Ti is okay
SETI@home using CUDA accelerated device GeForce GTX 1660 Ti
Using unroll = 5 from command line args

setiathome v8 enhanced x41p_V0.98b1, Cuda 10.1 special
Modifications done by petri33, compiled by TBar

Detected setiathome_enhanced_v8 task. Autocorrelations enabled, size 128k elements.
Work Unit Info:
...............
WU true angle range is :  0.063682
Sigma 13
Thread call stack limit is: 1k
Spike: peak=24.26609, time=17.18, d_freq=5653856548.46, chirp=21.623, fft_len=128k
Pulse: peak=4.343885, time=70.6, period=5.07, d_freq=5653866771.95, score=1.026, chirp=22.088, fft_len=2k
Pulse: peak=4.72019, time=70.53, period=4.37, d_freq=5653864970.23, score=1.069, chirp=-30.135, fft_len=512 
Pulse: peak=1.793319, time=21.11, period=1.264, d_freq=5653863335.69, score=1.045, chirp=-38.354, fft_len=64 
Pulse: peak=9.653327, time=63.44, period=11.63, d_freq=5653867031.74, score=1.028, chirp=53.25, fft_len=2k
Spike: peak=24.01879, time=35.79, d_freq=5653859920.31, chirp=54.386, fft_len=32k
Pulse: peak=10.50597, time=42.23, period=13.63, d_freq=5653860029.43, score=1.008, chirp=-59.357, fft_len=128 
Pulse: peak=9.603305, time=63.44, period=11.99, d_freq=5653867228.28, score=1.022, chirp=67.975, fft_len=2k
Pulse: peak=10.07572, time=70.6, period=11.99, d_freq=5653867714.87, score=1.072, chirp=67.975, fft_len=2k
Pulse: peak=11.47293, time=42.23, period=12.79, d_freq=5653862605.64, score=1.103, chirp=69.402, fft_len=128 
Pulse: peak=10.26892, time=42.2, period=12.8, d_freq=5653862603.7, score=1.011, chirp=69.402, fft_len=256 
Pulse: peak=7.451271, time=42.32, period=10.08, d_freq=5653865707.5, score=1.007, chirp=79.161, fft_len=2k
Pulse: peak=5.403755, time=42.32, period=5.503, d_freq=5653865603.86, score=1.025, chirp=92.688, fft_len=2k
Pulse: peak=3.375236, time=42.2, period=2.922, d_freq=5653862437.95, score=1.019, chirp=97.253, fft_len=256 

Best spike: peak=24.26609, time=17.18, d_freq=5653856548.46, chirp=21.623, fft_len=128k
Best autocorr: peak=17.53621, time=17.18, delay=2.8789, d_freq=5653862225.47, chirp=13.152, fft_len=128k
Best gaussian: peak=0, mean=0, ChiSq=0, time=-2.124e+11, d_freq=0,
	score=-12, null_hyp=0, chirp=0, fft_len=0 
Best pulse: peak=11.47293, time=42.23, period=12.79, d_freq=5653862605.64, score=1.103, chirp=69.402, fft_len=128 
Best triplet: peak=0, time=-2.124e+11, period=0, d_freq=0, chirp=0, fft_len=0 

Spike count:    2
Autocorr count: 0
Pulse count:    12
Triplet count:  0
Gaussian count: 0

22:38:03 (11087): called boinc_finish(0)

</stderr_txt>
]]>
</stderr_out>
    <ready_to_report/>
    <completed_time>1573511890.314996</completed_time>
    <wu_name>blc22_2bit_guppi_58691_67081_HIP40903_0048.31734.0.21.44.218.vlar</wu_name>
    <report_deadline>1578252061.000000</report_deadline>
    <received_time>1573467675.268738</received_time>
    <file_ref>
        <file_name>blc22_2bit_guppi_58691_67081_HIP40903_0048.31734.0.21.44.218.vlar_0_r1325025192_0</file_name>
        <open_name>result.sah</open_name>
    </file_ref>
</result>
You can compare with task 8223788679 - it reported while I was typing.
ID: 2018590 · Report as offensive

Questions and Answers : Wish list : Copy Stderr.txt on sending resutls


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.