Message boards : Questions and problems : Can not get Rosetta Python (Vbox) tasks
Message board moderation
Previous · 1 · 2 · 3 · Next
Author | Message |
---|---|
Send message Joined: 29 Aug 05 Posts: 15569 |
Today, Rosetta ran out of 4.20 tasks, but still had 2 million+ VB tasks.There's nowwhere that I can see what kind of tasks they talk about, can you? The Rosetta front page speaks of Total queued jobs being 2,287,182, without specifying what they are, plus this number was there at 14 Nov 2021, 20:00:49 UTC. The Rosetta Server Status Page only says there are 5000 Tasks ready to send, but also doesn't specify which they are. This number was set 14 Nov 2021, 22:34:23 UTC. And here's the crux: The BOINC server has a ready to send buffer which gets filled every N minutes, I think by default it's 10 minutes, but it's possible projects set this to another number. The value of 5000 tasks RTS is based on the time it says at the bottom of the Server Status page. Any minute after that, the buffer can be empty and the moment your computer asks for work it'll get as answer that there is no work to be sent. Because the buffer is empty and you have to wait for it to be filled again. The other problem is that we on the outside have no idea what the buffer is being filled with. Could be standard work, could be Python, could be a mix. But as soon as your BOINC asks for work and there's none to be had, it won't get work from the project. If there's only standard work in the buffer, you get only that. If there's only Python, you could get that. But only if your BOINC asks while the buffer is still full (enough). This is why we advise to run multiple projects, because if you only run one project you just have to run whatever is in the buffer, or even have the risk of running dry and not filling up because your BOINC asked work at the wrong moment. |
Send message Joined: 29 Aug 06 Posts: 82 |
There's a section at the bottom of the "Server Status" aka "Project Status" page where it says: "Tasks by application" "Rosetta" refers to 4.20 non-VB tasks, of which we're expecting lots in the near future. "rosetta python projects" are the VirtualBox tasks. I picked up a few 4.20 tasks a few hours ago, but we're back to only having VB tasks available, which that machine won't pick up. I've uninstalled VirtualBox from it and reinstalled the version that comes with the latest BOINC, but that hasn't helped. VirtualBox send quite happy though - no complaints about CPU virtualization or anything like that when I load it. For reference, this is the PC that won't pick up VB tasks: https://boinc.bakerlab.org/rosetta/results.php?hostid=3831501 |
Send message Joined: 29 Aug 05 Posts: 15569 |
There's a section at the bottom of the "Server Status" aka "Project Status" page where it says:And it only says there were 5,001 Python tasks Unsent at 14 Nov 2021, 23:36:25 UTC and 23,002 in progress. Rosetta tasks at that time were 0 Unsent and 28,538 in progress. This means that if your computer had asked for work at 23:36:25 or a little thereafter, that it would have had a good chance of getting Python work. But that heavily depends on how many computers ask for work at that time and what they all get out of the buffer. And when the buffer is empty, there's no work to be had until the buffer is filled again. I now see that the server status page is refreshed about every hour and 3 minutes, as it now says Unsent 4,999 for Python and the page time is 15 Nov 2021, 0:39:09 UTC. So, any time hereafter the buffer can be empty. And you'll have to wait for it to be filled again. Which probably takes an hour. |
Send message Joined: 31 Dec 18 Posts: 298 |
I'm having the same issues. One machine is running a few Rosetta Python tasks and the other's queue is completely empty. Neither have any other projects enabled - only Rosetta. There is a big difference between a project disabling a feature and a project not enabling a feature. Rosetta have put out work units, they have not stated that there are two different types of work unit. They have not actively disabled the feature - it is a passive failure to activate, a big difference. Criticise them if you want but criticise then for what they have done. |
Send message Joined: 25 Nov 05 Posts: 1654 |
What does the Event Log say around the time of BOINC asking for work? |
Send message Joined: 29 Aug 06 Posts: 82 |
Ah ok, so you're saying that the task queue shown isn't live (makes sense), but also isn't re-filled very frequently? |
Send message Joined: 29 Aug 06 Posts: 82 |
14/11/2021 22:33:37 | | cc_config.xml not found - using defaults 14/11/2021 22:33:37 | | Starting BOINC client version 7.16.20 for windows_x86_64 14/11/2021 22:33:37 | | log flags: file_xfer, sched_ops, task 14/11/2021 22:33:37 | | Libraries: libcurl/7.47.1 OpenSSL/1.0.2s zlib/1.2.8 14/11/2021 22:33:37 | | Data directory: D:\ProgramData\BOINC 14/11/2021 22:33:37 | | Running under account danny 14/11/2021 22:33:38 | | CAL: ATI GPU 0: ATI Radeon HD 5400/R5 210 series (Cedar) (CAL version 1.4.1848, 512MB, 479MB available, 208 GFLOPS peak) 14/11/2021 22:33:38 | | CAL: ATI GPU 1: ATI Radeon HD 5400/R5 210 series (Cedar) (CAL version 1.4.1848, 512MB, 479MB available, 208 GFLOPS peak) 14/11/2021 22:33:38 | | OpenCL: AMD/ATI GPU 0: ATI Radeon HD 5400/R5 210 series (Cedar) (driver version 1800.11 (VM), device version OpenCL 1.2 AMD-APP (1800.11), 512MB, 479MB available, 208 GFLOPS peak) 14/11/2021 22:33:38 | | OpenCL: AMD/ATI GPU 1: ATI Radeon HD 5400/R5 210 series (Cedar) (driver version 1800.11 (VM), device version OpenCL 1.2 AMD-APP (1800.11), 512MB, 479MB available, 208 GFLOPS peak) 14/11/2021 22:33:38 | | Windows processor group 0: 16 processors 14/11/2021 22:33:38 | | Host name: DB-2700X 14/11/2021 22:33:38 | | Processor: 16 AuthenticAMD AMD Ryzen 7 2700X Eight-Core Processor [Family 23 Model 8 Stepping 2] 14/11/2021 22:33:38 | | Processor features: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 htt pni ssse3 fma cx16 sse4_1 sse4_2 movebe popcnt aes f16c rdrandsyscall nx lm avx avx2 svm sse4a osvw skinit wdt tce topx page1gb rdtscp fsgsbase bmi1 smep bmi2 14/11/2021 22:33:38 | | OS: Microsoft Windows 10: Professional x64 Edition, (10.00.19043.00) 14/11/2021 22:33:38 | | Memory: 23.93 GB physical, 27.43 GB virtual 14/11/2021 22:33:38 | | Disk: 111.79 GB total, 98.44 GB free 14/11/2021 22:33:38 | | Local time is UTC +0 hours 14/11/2021 22:33:38 | | No WSL found. 14/11/2021 22:33:38 | | VirtualBox version: 6.1.12 14/11/2021 22:33:38 | Rosetta@home | General prefs: from Rosetta@home (last modified 02-Apr-2020 17:58:58) 14/11/2021 22:33:38 | Rosetta@home | Computer location: home 14/11/2021 22:33:38 | | General prefs: using separate prefs for home 14/11/2021 22:33:38 | | Reading preferences override file 14/11/2021 22:33:38 | | Preferences: 14/11/2021 22:33:38 | | max memory usage when active: 12253.76 MB 14/11/2021 22:33:38 | | max memory usage when idle: 23282.15 MB 14/11/2021 22:33:38 | | max disk usage: 55.90 GB 14/11/2021 22:33:38 | | don't use GPU while active 14/11/2021 22:33:38 | | (to change preferences, visit a project web site or select Preferences in the Manager) 14/11/2021 22:33:38 | | Setting up project and slot directories 14/11/2021 22:33:38 | | Checking active tasks 14/11/2021 22:33:38 | Rosetta@home | URL https://boinc.bakerlab.org/rosetta/; Computer ID 3831501; resource share 100 14/11/2021 22:33:38 | | Setting up GUI RPC socket 14/11/2021 22:33:38 | | Checking presence of 8 project files 14/11/2021 22:33:38 | | Suspending GPU computation - computer is in use 14/11/2021 22:33:38 | Rosetta@home | Sending scheduler request: To fetch work. 14/11/2021 22:33:38 | Rosetta@home | Requesting new tasks for CPU 14/11/2021 22:33:40 | Rosetta@home | Scheduler request completed: got 0 new tasks 14/11/2021 22:33:40 | Rosetta@home | No tasks sent 14/11/2021 22:33:40 | Rosetta@home | Project requested delay of 31 seconds 14/11/2021 22:35:45 | Rosetta@home | update requested by user 14/11/2021 22:35:46 | Rosetta@home | Sending scheduler request: Requested by user. 14/11/2021 22:35:46 | Rosetta@home | Requesting new tasks for CPU 14/11/2021 22:35:48 | Rosetta@home | Scheduler request completed: got 0 new tasks 14/11/2021 22:35:48 | Rosetta@home | No tasks sent 14/11/2021 22:35:48 | Rosetta@home | Project requested delay of 31 seconds 14/11/2021 22:35:52 | Rosetta@home | update requested by user 14/11/2021 22:35:54 | Rosetta@home | Sending scheduler request: Requested by user. 14/11/2021 22:35:54 | Rosetta@home | Requesting new tasks for CPU 14/11/2021 22:35:55 | Rosetta@home | Scheduler request completed: got 0 new tasks 14/11/2021 22:35:55 | Rosetta@home | Not sending work - last request too recent: 7 sec 14/11/2021 22:35:55 | Rosetta@home | Project requested delay of 31 seconds 14/11/2021 22:36:30 | Rosetta@home | Sending scheduler request: To fetch work. 14/11/2021 22:36:30 | Rosetta@home | Requesting new tasks for CPU 14/11/2021 22:36:32 | Rosetta@home | Scheduler request completed: got 0 new tasks 14/11/2021 22:36:32 | Rosetta@home | No tasks sent 14/11/2021 22:36:32 | Rosetta@home | Project requested delay of 31 seconds 14/11/2021 22:38:59 | | Resuming GPU computation 14/11/2021 22:44:09 | Rosetta@home | Sending scheduler request: To fetch work. 14/11/2021 22:44:09 | Rosetta@home | Requesting new tasks for CPU 14/11/2021 22:44:11 | Rosetta@home | Scheduler request completed: got 2 new tasks 14/11/2021 22:44:11 | Rosetta@home | Project requested delay of 31 seconds 14/11/2021 22:44:11 | | Remote desktop in use; disabling GPU tasks 14/11/2021 22:44:13 | Rosetta@home | Started download of epha2_site1_3mx0_3h_graft2_bcov_flags 14/11/2021 22:44:13 | Rosetta@home | Started download of epha2_site1_3mx0_3h_1_SAVE_ALL_OUT_IGNORE_THE_REST_7ep4tl3w.zip 14/11/2021 22:44:15 | Rosetta@home | Finished download of epha2_site1_3mx0_3h_graft2_bcov_flags 14/11/2021 22:44:15 | Rosetta@home | Started download of epha2_site1_3mx0_3h_1_SAVE_ALL_OUT_IGNORE_THE_REST_7ep4tl3w.flags 14/11/2021 22:44:16 | Rosetta@home | Finished download of epha2_site1_3mx0_3h_1_SAVE_ALL_OUT_IGNORE_THE_REST_7ep4tl3w.zip 14/11/2021 22:44:16 | Rosetta@home | Started download of nkg2d_site2_4s0u_3h_graft2_bcov_flags 14/11/2021 22:44:17 | Rosetta@home | Finished download of epha2_site1_3mx0_3h_1_SAVE_ALL_OUT_IGNORE_THE_REST_7ep4tl3w.flags 14/11/2021 22:44:17 | Rosetta@home | Finished download of nkg2d_site2_4s0u_3h_graft2_bcov_flags 14/11/2021 22:44:17 | Rosetta@home | Started download of nkg2d_site2_4s0u_3h_1_SAVE_ALL_OUT_IGNORE_THE_REST_0vi0vs5n.zip 14/11/2021 22:44:17 | Rosetta@home | Started download of nkg2d_site2_4s0u_3h_1_SAVE_ALL_OUT_IGNORE_THE_REST_0vi0vs5n.flags 14/11/2021 22:44:19 | Rosetta@home | Starting task epha2_site1_3mx0_3h_1_SAVE_ALL_OUT_IGNORE_THE_REST_7ep4tl3w_2727364_2_1 14/11/2021 22:44:20 | Rosetta@home | Finished download of nkg2d_site2_4s0u_3h_1_SAVE_ALL_OUT_IGNORE_THE_REST_0vi0vs5n.flags 14/11/2021 22:44:22 | Rosetta@home | Finished download of nkg2d_site2_4s0u_3h_1_SAVE_ALL_OUT_IGNORE_THE_REST_0vi0vs5n.zip 14/11/2021 22:44:23 | Rosetta@home | Starting task nkg2d_site2_4s0u_3h_1_SAVE_ALL_OUT_IGNORE_THE_REST_0vi0vs5n_2727638_2_1 14/11/2021 22:44:43 | Rosetta@home | Sending scheduler request: To fetch work. 14/11/2021 22:44:43 | Rosetta@home | Requesting new tasks for CPU 14/11/2021 22:44:45 | Rosetta@home | Scheduler request completed: got 0 new tasks 14/11/2021 22:44:45 | Rosetta@home | No tasks sent 14/11/2021 22:44:45 | Rosetta@home | Project requested delay of 31 seconds 14/11/2021 22:54:23 | Rosetta@home | Sending scheduler request: To fetch work. 14/11/2021 22:54:23 | Rosetta@home | Requesting new tasks for CPU 14/11/2021 22:54:25 | Rosetta@home | Scheduler request completed: got 0 new tasks 14/11/2021 22:54:25 | Rosetta@home | No tasks sent 14/11/2021 22:54:25 | Rosetta@home | Project requested delay of 31 seconds 14/11/2021 23:09:05 | Rosetta@home | Sending scheduler request: To fetch work. 14/11/2021 23:09:05 | Rosetta@home | Requesting new tasks for CPU 14/11/2021 23:09:07 | Rosetta@home | Scheduler request completed: got 0 new tasks 14/11/2021 23:09:07 | Rosetta@home | No tasks sent 14/11/2021 23:09:07 | Rosetta@home | Project requested delay of 31 seconds 14/11/2021 23:47:13 | Rosetta@home | Computation for task nkg2d_site2_4s0u_3h_1_SAVE_ALL_OUT_IGNORE_THE_REST_0vi0vs5n_2727638_2_1 finished 14/11/2021 23:47:15 | Rosetta@home | Started upload of nkg2d_site2_4s0u_3h_1_SAVE_ALL_OUT_IGNORE_THE_REST_0vi0vs5n_2727638_2_1_r1673915977_0 14/11/2021 23:47:19 | Rosetta@home | Finished upload of nkg2d_site2_4s0u_3h_1_SAVE_ALL_OUT_IGNORE_THE_REST_0vi0vs5n_2727638_2_1_r1673915977_0 14/11/2021 23:47:20 | Rosetta@home | Sending scheduler request: To fetch work. 14/11/2021 23:47:20 | Rosetta@home | Reporting 1 completed tasks 14/11/2021 23:47:20 | Rosetta@home | Requesting new tasks for CPU 14/11/2021 23:47:22 | Rosetta@home | Scheduler request completed: got 0 new tasks 14/11/2021 23:47:22 | Rosetta@home | No tasks sent 14/11/2021 23:47:22 | Rosetta@home | Project requested delay of 31 seconds 15/11/2021 00:02:00 | Rosetta@home | Sending scheduler request: To fetch work. 15/11/2021 00:02:00 | Rosetta@home | Requesting new tasks for CPU 15/11/2021 00:02:02 | Rosetta@home | Scheduler request completed: got 0 new tasks 15/11/2021 00:02:02 | Rosetta@home | No tasks sent 15/11/2021 00:02:02 | Rosetta@home | Project requested delay of 31 seconds 15/11/2021 00:24:42 | Rosetta@home | Sending scheduler request: To fetch work. 15/11/2021 00:24:42 | Rosetta@home | Requesting new tasks for CPU 15/11/2021 00:24:44 | Rosetta@home | Scheduler request completed: got 0 new tasks 15/11/2021 00:24:44 | Rosetta@home | No tasks sent 15/11/2021 00:24:44 | Rosetta@home | Project requested delay of 31 seconds 15/11/2021 00:36:36 | Rosetta@home | Computation for task epha2_site1_3mx0_3h_1_SAVE_ALL_OUT_IGNORE_THE_REST_7ep4tl3w_2727364_2_1 finished 15/11/2021 00:36:38 | Rosetta@home | Started upload of epha2_site1_3mx0_3h_1_SAVE_ALL_OUT_IGNORE_THE_REST_7ep4tl3w_2727364_2_1_r871168374_0 15/11/2021 00:36:42 | Rosetta@home | Finished upload of epha2_site1_3mx0_3h_1_SAVE_ALL_OUT_IGNORE_THE_REST_7ep4tl3w_2727364_2_1_r871168374_0 15/11/2021 00:36:42 | Rosetta@home | Sending scheduler request: To fetch work. 15/11/2021 00:36:42 | Rosetta@home | Reporting 1 completed tasks 15/11/2021 00:36:42 | Rosetta@home | Requesting new tasks for CPU 15/11/2021 00:36:44 | Rosetta@home | Scheduler request completed: got 0 new tasks 15/11/2021 00:36:44 | Rosetta@home | No tasks sent 15/11/2021 00:36:44 | Rosetta@home | Project requested delay of 31 seconds 15/11/2021 00:48:22 | Rosetta@home | Sending scheduler request: To fetch work. 15/11/2021 00:48:22 | Rosetta@home | Requesting new tasks for CPU 15/11/2021 00:48:24 | Rosetta@home | Scheduler request completed: got 0 new tasks 15/11/2021 00:48:24 | Rosetta@home | No tasks sent 15/11/2021 00:48:24 | Rosetta@home | Project requested delay of 31 seconds 15/11/2021 01:03:02 | Rosetta@home | Sending scheduler request: To fetch work. 15/11/2021 01:03:02 | Rosetta@home | Requesting new tasks for CPU 15/11/2021 01:03:03 | Rosetta@home | Scheduler request completed: got 0 new tasks 15/11/2021 01:03:03 | Rosetta@home | No tasks sent 15/11/2021 01:03:03 | Rosetta@home | Project requested delay of 31 seconds 15/11/2021 01:28:44 | Rosetta@home | Sending scheduler request: To fetch work. 15/11/2021 01:28:44 | Rosetta@home | Requesting new tasks for CPU 15/11/2021 01:28:46 | Rosetta@home | Scheduler request completed: got 0 new tasks 15/11/2021 01:28:46 | Rosetta@home | No tasks sent 15/11/2021 01:28:46 | Rosetta@home | Project requested delay of 31 seconds 15/11/2021 03:12:46 | Rosetta@home | Sending scheduler request: To fetch work. 15/11/2021 03:12:46 | Rosetta@home | Requesting new tasks for CPU 15/11/2021 03:12:48 | Rosetta@home | Scheduler request completed: got 0 new tasks 15/11/2021 03:12:48 | Rosetta@home | No tasks sent 15/11/2021 03:12:48 | Rosetta@home | Project requested delay of 31 seconds 15/11/2021 06:41:13 | Rosetta@home | Sending scheduler request: To fetch work. 15/11/2021 06:41:13 | Rosetta@home | Requesting new tasks for CPU 15/11/2021 06:41:15 | Rosetta@home | Scheduler request completed: got 0 new tasks 15/11/2021 06:41:15 | Rosetta@home | No tasks sent 15/11/2021 06:41:15 | Rosetta@home | Project requested delay of 31 seconds 15/11/2021 08:43:53 | | Suspending GPU computation - computer is in use |
Send message Joined: 25 May 09 Posts: 1301 |
Individual projects can set the refill time, it can be as short as a few seconds, but is normally in the range 2-20 minutes. |
Send message Joined: 29 Aug 06 Posts: 82 |
Understood. Does this process place much load on the server? It might be worth R@H increasing the frequency of that if it's not heavy. I presume it would be sensible for them to also increase the size of the VB task pool from 5 - are there any down sides to doing that? |
Send message Joined: 29 Aug 05 Posts: 15569 |
Does this process place much load on the server?Keeping the database up to date is what takes the most load. Have many tasks out there and the database can be huge, with a very heavy sustained load. Something the project may not want, thus they keep the tasks out there manageable, and thus the database size down. It might be worth R@H increasing the frequency of that if it's not heavy.It's up to their scientists to decide what the frequency is of releasing work and getting it back. |
Send message Joined: 27 Jun 08 Posts: 641 |
Just like the difference between a glass half empty and same one half full. You don't have all the resources you could have. |
Send message Joined: 31 Dec 18 Posts: 298 |
Not so, the first is an active change that takes effort on the part of the project, the second is a continuation of the status quo that requires neither effort nor thought. Maybe they have taken a conscious decision not to split the tasks, possibly based on the amount of work involved, or maybe they didn’t even consider the implications of introducing a second type of task but the one thing they have not done is actively disabled the feature. |
Send message Joined: 29 Aug 05 Posts: 15569 |
It's not even a feature but a project specific hack that some projects added themselves. The original code at https://github.com/BOINC/boinc/blob/master/html/inc/prefs_project.inc doesn't have it. So a project cannot enable or disable something that isn't there to begin with. |
Send message Joined: 25 Nov 05 Posts: 1654 |
And there is this on their front page: Thank you! |
Send message Joined: 29 Aug 06 Posts: 82 |
Yeah, that post is a year old and has been true, but I don't recall ever seeing a large queue and tasks ready to send, whilst also not receiving any work. Whilst all of this conversation is interesting, and might be the answer, I'm not convinced that it explains why some of my PCs receive the rosetta python tasks (i.e. VirtualBox tasks) whilst others don't. Having quickly checked, I have three machines that are running python tasks, and the one that hasn't downloaded any for a while, still isn't getting any, and it's queue was empty until recently when it downloaded some 4.20 tasks. To summarise the points made so far (please correct me/comment if you think I'm wrong or missing info): 1. The Rosetta server has a buffer that is small enough that it might get emptied quicker than the server refills it as that is an intermittent process. So whilst the Project status page shows tasks being in the buffer, that data might be out of date. 2. There is no easy way to see if BOINC (or the project?) is happy with VirtualBox 3. There might be a reason that one of my PCs isn't downloading VB tasks that isn't #1, but I can't tell because of #2. Is that a decent summary? |
Send message Joined: 25 Nov 05 Posts: 1654 |
That does seem to cover it. The problem with VBs, is that it's getting into an area that not all BOINC users are familiar with, or want to be. |
Send message Joined: 29 Aug 06 Posts: 82 |
So I guess the next question is what can be done about it? I like to think I know my way around a computer reasonably well, and I can't get it to work reliably, but there's no indication that there's anything wrong from BOINC Manager. I know BOINC lost funding some time ago, so I've just been through the "BOINC Project Governance" doc and found that the second of the six specified goals is: Ensure that the BOINC software is modified as needed to work correctly with new versions of operating systems and virtualization software, new GPUs and other coprocessors, and new versions of server software such as Linux, PHP, Apache, and MySQL. Making VirtualBox easier for users to install and manage fits that goal, but even if there's a feature requests thread somewhere that I haven't seen (other than the one on github), I wouldn't know what I'm requesting other than a vague "make VB easier to manage and make issues obvious via BOINC Manager". Here's some suggestions as a starting point: * Have BOINC able to say whether it can access VirtualBox. It can obviously do that already because it's displayed in the log at startup, but it's far from obvious. * Have an optional test VirtualBox project installed by default if you choose the BOINC + VB installer, which tries to run a simple task and reports back how far it gets via BOINC Manager. * Include some Virtualisation tests like the Leomoon app does: https://leomoon.com/downloads/desktop-apps/leomoon-cpu-v/ Any thoughts on these? Or is this already covered elsewhere? |
Send message Joined: 29 Aug 06 Posts: 82 |
Oooh, I've just realised, the machine that doesn't get any VB/python tasks has the BOINC data folder as D:\BOINCData instead of C:\BOINCData. Might that be an issue for VirtualBox tasks? |
Send message Joined: 25 Jul 18 Posts: 68 |
That is not a problem. I use D:\ProgramData for Boinc and I have no problem getting LHC@Home tasks for VBox. I don't do Rosetta. I saw that you use Remote Desktop to connect to your computer. I read somewhere it may interfere the operation of VirtualBox. Do you use the same method to connect also to the host that is able to get VB work? |
Send message Joined: 29 Aug 06 Posts: 82 |
That is not a problem. I use D:\ProgramData for Boinc and I have no problem getting LHC@Home tasks for VBox. I don't do Rosetta. Interesting. Yeah I do sometimes, but RD isn't running most of the time. I'll try a reboot without remoting in and see where that gets me. |
Copyright © 2024 University of California.
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.