<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Virtual Programming Lab (plugin)</title>
    <link>https://moodle.org/mod/forum/view.php?f=1288</link>
    <description>
Plugins directory: Virtual Programming LabForum moderator: Juan Carlos Rodríguez-del-Pino


Before starting a new discussion topic, please try a forum search.
</description>
    <generator>Moodle</generator>
    <language>en</language>
    <copyright>(c) 2026 Moodle - Open-source learning platform | Moodle.org</copyright>
    <image>
      <url>https://moodle.org/theme/image.php/moodleorg/core/1777401252/i/rsssitelogo</url>
      <title>moodle</title>
      <link>https://moodle.org</link>
      <width>140</width>
      <height>35</height>
    </image>
    <item>
      <title>Terminal size in Moodle Test VPL question type too small</title>
      <link>https://moodle.org/mod/forum/discuss.php?d=473992</link>
      <pubDate>Thu, 23 Apr 2026 12:50:32 GMT</pubDate>
      <description>by Martin Goik. &amp;nbsp;&lt;p&gt;&lt;p&gt;I'm using VPL as part of a Moodle test i.e. question type VPL. Works so far. I'd like to see a larger  execution / run terminal window providing larger unit test output &lt;a href=&quot;https://moodle.org/mod/glossary/showentry.php?eid=9984&amp;amp;displayformat=dictionary&quot; title=&quot;Glossary of common terms: context&quot; class=&quot;glossary autolink concept glossaryid5&quot; data-entryid=&quot;9984&quot;&gt;context&lt;/a&gt; without requiring participants scrolling too much:&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;img-fluid&quot; src=&quot;https://moodle.org/pluginfile.php/4398557/mod_forum/post/1898824/terminal.png&quot; alt=&quot;terminal.png&quot; /&gt;&lt;/p&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/mod/forum/discuss.php?d=473992</guid>
    </item>
    <item>
      <title>VPL Moodle: &quot;Grade :=&amp;gt;&amp;gt; [value]&quot; command in vpl_evaluate.sh not setting grade, just printing</title>
      <link>https://moodle.org/mod/forum/discuss.php?d=468516</link>
      <pubDate>Wed, 18 Jun 2025 04:17:50 GMT</pubDate>
      <description>by Erin Artago. &amp;nbsp;&lt;p&gt;&lt;div class=&quot;mb-4 last:mb-0 whitespace-pre-wrap u-break-words&quot;&gt;Hello,&lt;/div&gt;
&lt;div class=&quot;mb-4 last:mb-0 whitespace-pre-wrap u-break-words&quot;&gt;I'm trying to set the final grade for a VPL activity using the 'vpl_evaluate.sh' script. According to the documentation, the correct way to assign a grade is by echoing a string in the format 'Grade :=&amp;gt;&amp;gt; [value]'.&lt;/div&gt;
&lt;div class=&quot;mb-4 last:mb-0 whitespace-pre-wrap u-break-words&quot;&gt;For example, I'm using: &lt;code&gt;echo &quot;Grade :=&amp;gt;&amp;gt; 8.33&quot;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;mb-4 last:mb-0 whitespace-pre-wrap u-break-words&quot;&gt;However, when the evaluation runs, the string &quot;Grade :=&amp;gt;&amp;gt; 8.33&quot; appears in the output of the evaluation report, but the actual grade for the submission is not being set by VPL. It seems like VPL is not interpreting this line as a grade assignment.&lt;/div&gt;
&lt;div class=&quot;mb-4 last:mb-0 whitespace-pre-wrap u-break-words&quot;&gt;Here's an example of the output I'm seeing:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;
Grade
8.33
&lt;br /&gt;Grade :=&amp;gt;&amp;gt; 8.33
&lt;/code&gt;&lt;/div&gt;
&lt;pre&gt; &lt;/pre&gt;
&lt;div class=&quot;mb-4 last:mb-0 whitespace-pre-wrap u-break-words&quot;&gt;(Note: The &quot;Grade 8.33&quot; line before &quot;Grade :=&amp;gt;&amp;gt; 8.33&quot; is part of my script's output, not the VPL grade assignment itself.)&lt;/div&gt;
&lt;div class=&quot;mb-4 last:mb-0 whitespace-pre-wrap u-break-words&quot;&gt;Could anyone please advise on what might be causing this issue? Is there a specific placement for this command in 'vpl_evaluate.sh' (e.g., must it be the very last line of output)? Or are there any other configurations in VPL or Moodle that I need to check to ensure this command is correctly parsed as the final grade?&lt;/div&gt;
&lt;div class=&quot;mb-4 last:mb-0 whitespace-pre-wrap u-break-words&quot;&gt;Any help would be greatly appreciated. Thank you!&lt;/div&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/mod/forum/discuss.php?d=468516</guid>
    </item>
    <item>
      <title>[VPL Question] How to hide the VPL activity behind the question when preparing an exam?</title>
      <link>https://moodle.org/mod/forum/discuss.php?d=473821</link>
      <pubDate>Mon, 06 Apr 2026 07:37:32 GMT</pubDate>
      <description>by Visvanath Ratnaweera. &amp;nbsp;&lt;p&gt;&lt;p&gt;Hi all&lt;/p&gt;
&lt;p&gt;When we prepare an exam containing VPL Questions, we followed the advice to set visibility of the VPL &lt;a href=&quot;https://moodle.org/mod/glossary/showentry.php?eid=54&amp;amp;displayformat=dictionary&quot; title=&quot;Glossary of common terms: activities&quot; class=&quot;glossary autolink concept glossaryid5&quot; data-entryid=&quot;54&quot;&gt;Activities&lt;/a&gt; behind them low by placing them in a hidden section and set to &quot;Make available but don't show on course page&quot;. When we prepare the exam, we test it as dummy students.&lt;/p&gt;
&lt;p&gt;The problem is, the students see the VPL activities in their grade view!&lt;/p&gt;
&lt;p&gt;Hiding the grade book altogether works, but not friendly. I gather, I could remove the corr. grade in the grade book. Prone to errors, since an exam has many questions, as a result many &quot;hidden&quot; VPL activities.&lt;/p&gt;
&lt;p&gt;How do you handle this situation?&lt;/p&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/mod/forum/discuss.php?d=473821</guid>
    </item>
    <item>
      <title>​Is it possible to use the Blockly editor inside a VPL Question (qtype_vpl)?</title>
      <link>https://moodle.org/mod/forum/discuss.php?d=473822</link>
      <pubDate>Mon, 06 Apr 2026 12:45:18 GMT</pubDate>
      <description>by CORNELIU BOCANET. &amp;nbsp;&lt;p&gt;&lt;p dir=&quot;ltr&quot;&gt;​Hi everyone,&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;​I have successfully configured a standard &lt;strong&gt;VPL Activity&lt;/strong&gt; to work with the &lt;strong&gt;Blockly editor&lt;/strong&gt; (using the .py.blockly extension), and it works perfectly.&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;​However, I am now trying to achieve the same result within a &lt;strong&gt;VPL Question type (qtype_vpl)&lt;/strong&gt; for a Moodle Quiz. I want the students to see the Blockly visual interface instead of the text editor.&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;​I've tried placing the {{ANSWER}} tag inside an &lt;a href=&quot;https://moodle.org/mod/glossary/showentry.php?eid=9348&amp;amp;displayformat=dictionary&quot; title=&quot;Glossary of common terms: XML&quot; class=&quot;glossary autolink concept glossaryid5&quot; data-entryid=&quot;9348&quot;&gt;XML&lt;/a&gt; structure in the &lt;strong&gt;Answer Template&lt;/strong&gt;, but I cannot get the graphical editor to initialize.&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;​&lt;strong&gt;My simple question is:&lt;/strong&gt; Is it actually possible to trigger the Blockly UI inside the VPL Question type, or is this feature only available for the standard VPL Activity?&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;​Thank you!&lt;/p&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/mod/forum/discuss.php?d=473822</guid>
    </item>
    <item>
      <title>Blockly editor loads but does not generate Python code in main.py - VPL latest version</title>
      <link>https://moodle.org/mod/forum/discuss.php?d=473807</link>
      <pubDate>Fri, 03 Apr 2026 22:06:36 GMT</pubDate>
      <description>by CORNELIU BOCANET. &amp;nbsp;&lt;p&gt;&lt;p&gt;&lt;strong&gt;Hello VPL Community / Juan Carlos,&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I am experiencing an issue where the Blockly editor is fully functional (blocks are visible and colored), but it fails to synchronize or generate any code in the corresponding &lt;code&gt;.py&lt;/code&gt; file.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Environment:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Moodle Version:&lt;/strong&gt; [Pune versiunea ta, ex: 4.3]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;VPL Plugin Version:&lt;/strong&gt; [Ultima versiune]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://moodle.org/mod/glossary/showentry.php?eid=30&amp;amp;displayformat=dictionary&quot; title=&quot;Glossary of common terms: server&quot; class=&quot;glossary autolink concept glossaryid5&quot; data-entryid=&quot;30&quot;&gt;Server&lt;/a&gt; OS:&lt;/strong&gt; Fedora (SELinux set to Permissive for testing)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Browser:&lt;/strong&gt; Chrome/&lt;a href=&quot;https://moodle.org/mod/glossary/showentry.php?eid=183&amp;amp;displayformat=dictionary&quot; title=&quot;Glossary of common terms: Firefox&quot; class=&quot;glossary autolink concept glossaryid5&quot; data-entryid=&quot;183&quot;&gt;Firefox&lt;/a&gt; (tested both)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;The Issue:&lt;/strong&gt; When I create a &lt;code&gt;main.blockly&lt;/code&gt; file, the editor opens correctly. However, even after placing blocks and clicking &lt;strong&gt;Save&lt;/strong&gt;, the &lt;code&gt;main.py&lt;/code&gt; file remains empty. No Python code is generated.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Console Errors (F12):&lt;/strong&gt; I see the following errors in the browser console when the editor loads:&lt;/p&gt;
&lt;ol start=&quot;1&quot;&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;The specified value &quot;&quot; does not conform to the required format. The format is &quot;#rrggbb&quot;&lt;/code&gt; (related to color hex codes in &lt;code&gt;edit.php&lt;/code&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The request to &lt;code&gt;edit.json.php?action=retrieve&lt;/code&gt; returns &lt;code&gt;200 OK&lt;/code&gt;, but the Python tab is not updated.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;What I have tried:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Set permissions to &lt;code&gt;777&lt;/code&gt; for testing on &lt;code&gt;moodledata&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ensured &lt;code&gt;main.py&lt;/code&gt; and &lt;code&gt;main.blockly&lt;/code&gt; have the same name.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Changed Moodle theme to &quot;Boost&quot; to rule out &lt;a href=&quot;https://moodle.org/mod/glossary/showentry.php?eid=13&amp;amp;displayformat=dictionary&quot; title=&quot;Glossary of common terms: CSS&quot; class=&quot;glossary autolink concept glossaryid5&quot; data-entryid=&quot;13&quot;&gt;CSS&lt;/a&gt; conflicts.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Verified that &lt;code&gt;python_compressed.js&lt;/code&gt; is loading correctly in the Network tab.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Is there a specific setting or a known bug in the latest version regarding the Blockly-to-Python generator mapping?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Thank you for your help!&lt;/strong&gt;&lt;/p&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/mod/forum/discuss.php?d=473807</guid>
    </item>
    <item>
      <title>generate html</title>
      <link>https://moodle.org/mod/forum/discuss.php?d=473809</link>
      <pubDate>Sat, 04 Apr 2026 09:38:48 GMT</pubDate>
      <description>by jonathan cordoba. &amp;nbsp;&lt;p&gt;&lt;p&gt;How can I generate something like the image shown in my VPL?&lt;/p&gt;
&lt;p&gt;When the HTML file is executed, the HTML code can be rendered correctly.&lt;/p&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/mod/forum/discuss.php?d=473809</guid>
    </item>
    <item>
      <title>Is there something called a language-independent VPL question? [BUMP]</title>
      <link>https://moodle.org/mod/forum/discuss.php?d=473419</link>
      <pubDate>Wed, 25 Feb 2026 17:50:41 GMT</pubDate>
      <description>by Visvanath Ratnaweera. &amp;nbsp;&lt;p&gt;&lt;p&gt;Hi Astor&lt;/p&gt;
&lt;p&gt;A ny news on the &lt;a href=&quot;https://moodle.org/mod/forum/discuss.php?d=462840&quot;&gt;Is there something called a language-independent VPL question?&lt;/a&gt; front?&lt;/p&gt;
&lt;p&gt;In a wider academic community entry level programming is taught in all kinds of variations. We are putting an effort to make the Moodle Quiz the (self)-teaching instrument in a problem-based approach. We can achieve that with the VPL activity. But the initial design is getting &quot;boring&quot; due to the large number of VPL activities. We can solve the problem elegantly with the the VPL Question Type in Quizzes. But the next problem is, there is no clear winner between C and Python. That means we have to duplicate the questions and quizzes. If the VPL Question Type too is language-independent, that would be super elegant.&lt;/p&gt;
&lt;p&gt;Any chance that happening in the short term, 3-4 Months?&lt;/p&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/mod/forum/discuss.php?d=473419</guid>
    </item>
    <item>
      <title>err after upgrading to 5.0.0 from 4.0.4</title>
      <link>https://moodle.org/mod/forum/discuss.php?d=473368</link>
      <pubDate>Fri, 20 Feb 2026 20:13:02 GMT</pubDate>
      <description>by Garth Brady. &amp;nbsp;&lt;p&gt;&lt;p&gt;Hi all,&lt;/p&gt;
&lt;p&gt;During the process of upgrading to 5.0.0 from 4.0.4 on ubuntu 24.04.4, I got this in terminal:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt; ./install-vpl-sh update&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Running with parameters: update&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Using APT package manager&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Upgrading installed software&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Using systemd service manager&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Installation log &lt;/span&gt;&lt;span&gt;file&lt;/span&gt;&lt;span&gt; =&amp;gt; /var/log/vpl_installation.log&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Preparing daemon compilation&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Compiling daemon (vpl-jail-server)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;In file included from jsonrpc.h:11,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; from jail.h:29,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; from vpl-jail-server.h:20,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; from main.cpp:8:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;json.h: In static member function ‘static std::string &lt;a href=&quot;https://moodle.org/mod/glossary/showentry.php?eid=11554&amp;amp;displayformat=dictionary&quot; title=&quot;Glossary of common terms: JSON&quot; class=&quot;glossary autolink concept glossaryid5&quot; data-entryid=&quot;11554&quot;&gt;JSON&lt;/a&gt;::encodeJSONString(const std::string&amp;amp;)’:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;json.h:223:31: warning: comparison is always false due to limited range of data type [-Wtype-limits]&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; 223 | if (c &amp;lt; 0) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; | ~~^~~&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;In file included from jsonrpc.h:11,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; from jail.h:29,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; from vpl-jail-server.h:20,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; from vpl-jail-server.cpp:7:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;json.h: In static member function ‘static std::string JSON::encodeJSONString(const std::string&amp;amp;)’:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;json.h:223:31: warning: comparison is always false due to limited range of data type [-Wtype-limits]&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; 223 | if (c &amp;lt; 0) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; | ~~^~~&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;In file included from jsonrpc.h:11,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; from jail.h:29,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; from jail.cpp:22:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;json.h: In static member function ‘static std::string JSON::encodeJSONString(const std::string&amp;amp;)’:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;json.h:223:31: warning: comparison is always false due to limited range of data type [-Wtype-limits]&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; 223 | if (c &amp;lt; 0) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; | ~~^~~&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;In file included from jsonrpc.h:11,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; from jail.h:29,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; from vpl-jail-server.h:20,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; from processMonitor.cpp:16:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;json.h: In static member function ‘static std::string JSON::encodeJSONString(const std::string&amp;amp;)’:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;json.h:223:31: warning: comparison is always false due to limited range of data type [-Wtype-limits]&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; 223 | if (c &amp;lt; 0) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; | ~~^~~&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;In file included from json.cpp:7:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;json.h: In static member function ‘static std::string JSON::encodeJSONString(const std::string&amp;amp;)’:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;json.h:223:31: warning: comparison is always false due to limited range of data type [-Wtype-limits]&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; 223 | if (c &amp;lt; 0) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt; | ~~^~~&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Installing&lt;/span&gt;&lt;span&gt; =&amp;gt; /etc/vpl&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;New daemon (vpl-jail-server) installed&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Default configuration file installed&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Installing launch scripts&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;------------------------------------------------------&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Note: Use the following command to manage the service.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;systemctl [start|stop|status] vpl-jail-system&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;user@jail4:~/vpl-jail-system-4.0.4$ sudo systemctl start vpl-jail-system&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Failed to start vpl-jail-system.service: Unit vpl-jail-system.service not found.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/mod/forum/discuss.php?d=473368</guid>
    </item>
    <item>
      <title>Understanding the needs of the VPL jail server</title>
      <link>https://moodle.org/mod/forum/discuss.php?d=473297</link>
      <pubDate>Sun, 15 Feb 2026 13:03:28 GMT</pubDate>
      <description>by Visvanath Ratnaweera. &amp;nbsp;&lt;p&gt;&lt;p&gt;Dear all&lt;/p&gt;
&lt;p&gt;I'm aware of &lt;a href=&quot;https://vpl.dis.ulpgc.es/documentation/vpl-jail-system-3.0.1/configuration.html#parameters-for-limiting-the-resources-used-by-the-requested-tasks&quot;&gt;4.6. Parameters for limiting the resources used by the requested tasks&lt;/a&gt; and &lt;a href=&quot;https://moodle.org/mod/forum/discuss.php?d=452356&quot;&gt;Re: possible to have more than 1GB in MAXMEMORY (vpl-jail-system.conf)&lt;/a&gt;. Still, after the observations made in &lt;a href=&quot;https://moodle.org/mod/forum/discuss.php?d=469302#p1896095&quot;&gt;Collecting the VPL usage and displaying in a running graph&lt;/a&gt; I would like to understand the parameters better to get the last bit out of our jail server. &lt;/p&gt;
&lt;h5&gt;Let us say, the jail server config has:&lt;/h5&gt;
&lt;p&gt;#MAXTIME set the maximum time for a request in seconds&lt;br /&gt;MAXTIME=1800&lt;/p&gt;
&lt;p&gt;# Maximum memory size in bytes&lt;br /&gt;MAXMEMORY=2000 Mb&lt;/p&gt;
&lt;p&gt;# Maximum number of process&lt;br /&gt;MAXPROCESSES=500&lt;/p&gt;
&lt;p&gt;#SHMSIZE The size of the &quot;/dev/shm&quot; directory he default value is 30% of the system memory&lt;br /&gt;#This option is applicable if using tmpfs file system for the &quot;/dev/shm&quot; directory&lt;br /&gt;SHMSIZE=30%&lt;/p&gt;
&lt;h5&gt;and the VPL Moodle plug-in set to:&lt;/h5&gt;
&lt;p&gt;Maximum execution time mod_vpl | maxexetime = 16 minutes&lt;/p&gt;
&lt;p&gt;Maximum memory used mod_vpl | maxexememory = 1 GB&lt;/p&gt;
&lt;p&gt;Maximum number of processes mod_vpl | maxexeprocesses = 600&lt;/p&gt;
&lt;p&gt;Maximum default execution time mod_vpl | defaultexetime = 4 minutes&lt;/p&gt;
&lt;p&gt;Maximum default memory used mod_vpl | defaultexememory = 128 MB&lt;/p&gt;
&lt;p&gt;Maximum default number of processes mod_vpl | defaultexeprocesses = 200&lt;/p&gt;
&lt;h5&gt;and the individual VPL activity is set to:&lt;/h5&gt;
&lt;p&gt;Maximum execution time = Default (4 minutes)&lt;/p&gt;
&lt;p&gt;Maximum memory used = Default (128 MB)&lt;/p&gt;
&lt;p&gt;Maximum number of processes = empty, Default (200)&lt;/p&gt;
&lt;h5&gt;Scenario 1. An idling VPL server with plenty of CPU and 20 GB free RAM is hit with burst of 100 jobs in the very same second, each of the size of 100 MB. &lt;/h5&gt;
&lt;p&gt;Result: Given that the CPUs manage it, the server will open 100 processes, each consuming 100 MB, giving a total of 10 GB.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When the server can process them in less than 4 minutes, all end well.&lt;/li&gt;
&lt;li&gt;What happens, when they need 10 minutes? Since maxexetime is 16 minutes, will they finish without an incident?&lt;/li&gt;
&lt;li&gt;What happens, when they need 20 miniutes, or more? Our maxexetime is 16 minutes. They'll be killed?&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;Scenario 2. An idling VPL server with plenty of CPU and 20 GB free RAM is hit with burst of 400 jobs in the very same second, each of the size of 100 MB. &lt;/h5&gt;
&lt;p&gt;Result: Given that the CPUs manage it, the server will try to open 400 processes, each consuming 100 MB, would mean a total of 40 MB. Since there's only 20 GB available, only half the processes will be started. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Those 200 started will run to end if finished before 16 minutes&lt;/li&gt;
&lt;li&gt;If needed longer, all get killed?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Having started the topic, I see that it is getting &quot;theoretical&quot;. If so, then you don't have to torture yourselves. As mentioned in the beginning, the idea is to tune these parameters to get more from the server. We've hit a ceiling as it is. Planning to touch them, but need some understanding on how they react. How was surprised by how little RAM the (our) VPL processes need but the peak CPU bursts they create.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;img-fluid&quot; src=&quot;https://moodle.org/pluginfile.php/4398557/mod_forum/post/1896216/Screenshot_2026-02-15_14-23-37.png&quot; alt=&quot;&quot; width=&quot;820&quot; height=&quot;536&quot; /&gt;&lt;/p&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/mod/forum/discuss.php?d=473297</guid>
    </item>
    <item>
      <title>Collecting the VPL usage and displaying in a running graph</title>
      <link>https://moodle.org/mod/forum/discuss.php?d=469302</link>
      <pubDate>Thu, 07 Aug 2025 19:36:07 GMT</pubDate>
      <description>by Visvanath Ratnaweera. &amp;nbsp;&lt;p&gt;&lt;p&gt;Has anybody worked on a monitoring tool for VPL?&lt;/p&gt;
&lt;p&gt;To illustrate what I mean, let's take Munin as an example:&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;img-fluid&quot; src=&quot;https://moodle.org/pluginfile.php/4398557/mod_forum/post/1884041/apache_accesses-day.png&quot; alt=&quot;&quot; width=&quot;497&quot; height=&quot;275&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The &quot;accesses&quot; could be the number of programs compiled. Or, to be more sophisticated, one could breakdown the number in to C, Python, &lt;a href=&quot;https://moodle.org/mod/glossary/showentry.php?eid=24&amp;amp;displayformat=dictionary&quot; title=&quot;Glossary of common terms: Java&quot; class=&quot;glossary autolink concept glossaryid5&quot; data-entryid=&quot;24&quot;&gt;Java&lt;/a&gt;, Pascal, etc.&lt;/p&gt;
&lt;p&gt;Note: Don't let the &quot;per second&quot; mislead you. The number is collected every 5 minutes! It helps to keep the overhead of the tool low.&lt;/p&gt;
&lt;p&gt;Any suggestions, solutions?&lt;/p&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">https://moodle.org/mod/forum/discuss.php?d=469302</guid>
    </item>
  </channel>
</rss>