<table><tr><td style="">asemke added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D24006">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D24006#533156" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D24006#533156</a>, <a href="https://phabricator.kde.org/p/sirgienko/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@sirgienko</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><p>I don't fully understand, why the math render tests start to fail, but this occurs only with this patch, so the reason is the patch, i think.<br />
 So, we need additional work on this patch.</p></div>
</blockquote>

<p>Multiple tests are executed in parallel here which I don't completely understand yet. The crash is in KColorScheme in MathRenderer</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">#0  0x00007fffef9f84ba in QObject::property(char const*) const () at /usr/lib64/libQt5Core.so.5
#1  0x00007ffff2f20d57 in  () at /usr/lib64/libKF5ConfigWidgets.so.5
#2  0x00007ffff2f232a0 in KColorScheme::KColorScheme(QPalette::ColorGroup, KColorScheme::ColorSet, QExplicitlySharedDataPointer<KSharedConfig>) ()
    at /usr/lib64/libKF5ConfigWidgets.so.5
#3  0x00000000004953a6 in MathRenderTask::run() ()
#4  0x00007fffef7e8202 in  () at /usr/lib64/libQt5Core.so.5
#5  0x00007fffef7e48e2 in  () at /usr/lib64/libQt5Core.so.5
#6  0x00007fffee883569 in start_thread () at /lib64/libpthread.so.0
#7  0x00007fffeeb92a2f in clone () at /lib64/libc.so.6</pre></div>

<p>which can be avoided by the change I did in the second version of the patch in MathRendererTask. After the problem with the crash is solved, two tests are still failing</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">FAIL!  : WorksheetTest::testMathRender() Compared values are not the same
   Actual   (rendered): 0
   Expected (true)    : 1
   Loc: [/home/alex/Projekte/cantor/src/test/worksheet_test.cpp(6888)]</pre></div>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">FAIL!  : WorksheetTest::testMathRender2() Compared values are not the same
   Actual   (rendered): 0
   Expected (true)    : 1
   Loc: [/home/alex/Projekte/cantor/src/test/worksheet_test.cpp(6921)]
PASS   : WorksheetTest::cleanupTestCase()</pre></div>

<p>This is fixed, at least on my computer, by setting the waiting time in these tests to 5 seconds.</p>

<p>Without the new change in MathRenderTask and without increasing the waiting time to 5 seconds, these two tests are not failing (no crash, no wrong results) if they are executed alone. The problems occur only if all tests in testworksheet are executed and when there is this parallelization of the test execution. I don't think all these problems are directly caused by my patch. This code just leads to somewhat different timings in the execution maybe which trigger then the problems we observe.</p>

<p>After addding After adding</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">qDebug()<<"MathRenderTask::run " << m_jobId;</pre></div>

<p>in MathRenderTask::run() I get the following output for these two tests:</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">QDEBUG : WorksheetTest::testMathRender() PythonSession(0xe70940) Cantor::VariableManagementExtension(0xd22300, name = "VariableManagementExtension")
QDEBUG : WorksheetTest::testMathRender() PythonHighlighter constructor
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  9
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  10
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  11
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  12
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  13
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  3
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  4
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  3
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  4
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  5
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  6
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  7
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  8
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  9
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  10
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  11
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  12
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  3
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  4
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  5
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  6
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  7
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  8
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  9
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  10
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  11
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  12
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  13
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  14
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  15
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  16
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  17
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  3
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  3
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  4
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  5
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  6
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  7
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  8
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  9
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  10
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  3
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  4
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  5
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  6
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  8
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  7
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  9
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  3
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  4
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  5
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  3
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  4
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  5
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  6
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  7
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  8
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  9
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  10
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  11
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  12
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  13
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  14
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  15
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  16
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  3
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  4
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  5
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  6
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  7
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  8
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  9
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  10
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  3
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  3
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  4
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  3
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  4
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  5
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  3
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  4
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  3
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  4
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  5
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  6
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  7
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  3
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  4
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  5
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  6
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  7
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  3
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  4
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  5
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  2
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  3
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  4
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  5
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  6
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  7
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  8
QDEBUG : WorksheetTest::testMathRender() MathRenderTask::run  1
QDEBUG : WorksheetTest::testMathRender() result  1    true
PASS   : WorksheetTest::testMathRender()
QDEBUG : WorksheetTest::testMathRender2() PythonSession(0xebfe60) Cantor::VariableManagementExtension(0xd22300, name = "VariableManagementExtension")
QDEBUG : WorksheetTest::testMathRender2() PythonHighlighter constructor
QDEBUG : WorksheetTest::testMathRender2() MathRenderTask::run  1
PASS   : WorksheetTest::testMathRender2()
PASS   : WorksheetTest::cleanupTestCase()
Totals: 17 passed, 0 failed, 0 skipped, 0 blacklisted, 18691ms
********* Finished testing of WorksheetTest *********</pre></div>

<p>Even though we have only one single entry to render in testMathRender(), there are multiple rendered jobs triggered here. We need to understand this. But again, this all seems to be an issue somewhere in MathRender, MathRenderTask and/or WorksheetTest.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R55 Cantor</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D24006">https://phabricator.kde.org/D24006</a></div></div><br /><div><strong>To: </strong>asemke, sirgienko, filipesaraiva<br /><strong>Cc: </strong>kde-edu, narvaez, apol<br /></div>