<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Nur Text Zchn";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
span.NurTextZchn
        {mso-style-name:"Nur Text Zchn";
        mso-style-priority:99;
        mso-style-link:"Nur Text";
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:303658685;
        mso-list-type:hybrid;
        mso-list-template-ids:468094286 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l1
        {mso-list-id:1223517286;
        mso-list-type:hybrid;
        mso-list-template-ids:-1217652100 67567631 67567641 67567643 67567631 67567641 67567643 67567631 67567641 67567643;}
@list l1:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DE" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoPlainText"><span lang="EN-US">Hi Folks,<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">First of all, thank you, Lennart, for your explanation. If I understand it correctly, it is a timing issue that occurs because the initiating process has already terminated and is unable to provide the information
 needed by the logger. If this is the reason for the error, then delaying its termination should eliminate it. To test it, I have added a
</span><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">usleep (10'000'000)</span><span lang="EN-US">command as the last instruction in test 4, but without success - the test still loses a message.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">So I have followed the advice of Ulrich to deliver my test sources, so you can experiment for yourself. My current test is stripped down to the relevant source code and attached as file
</span><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">CompactJournalIntegrationTest.tar</span><span lang="EN-US">. The test contains file
</span><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">CMakeLists.txt</span><span lang="EN-US">, which can be used to build up the entire test via
</span><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">cmake</span><span lang="EN-US">. It is based on Google’s testing framework, which is fetched automatically from the Git repository.
<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Essentially there are 4 tests with increasing complexity:<o:p></o:p></span></p>
<ol style="margin-top:0cm" start="1" type="1">
<li class="MsoListParagraph" style="margin-left:0cm;mso-list:l1 level1 lfo1"><span lang="EN-US">The first one just sends 5 small messages (~20 bytes) with priority Debug, Info, Warning, Error and Critical (the customer only needs these priorities). After that,
 the logger’s storage is synchronized and analyzed if all messages have been arrived correctly (via APIs sd_journal_...).<o:p></o:p></span></li><li class="MsoListParagraph" style="margin-left:0cm;mso-list:l1 level1 lfo1"><span lang="EN-US">The second test sends 10,000 small messages (~20 bytes) to the logger with priority Debug. After that, the logger’s storage is synchronized and analyzed if all messages
 have been arrived correctly (via APIs sd_journal_...).<o:p></o:p></span></li><li class="MsoListParagraph" style="margin-left:0cm;mso-list:l1 level1 lfo1"><span lang="EN-US">The third one sends 10,000 big messages (~10,000 bytes) to the logger with priority Debug, which are good to compress. After that, the logger’s storage is synchronized
 and analyzed if all messages have been arrived correctly (via APIs sd_journal_...).<o:p></o:p></span></li><li class="MsoListParagraph" style="margin-left:0cm;mso-list:l1 level1 lfo1"><span lang="EN-US">The last one sends 10,000 big messages (~10,000 bytes) to the logger with priority Debug, which are hard to compress. After that, the logger’s storage is synchronized
 and analyzed if all messages have been arrived correctly (via APIs sd_journal_...).<o:p></o:p></span></li></ol>
<p class="MsoPlainText"><span lang="EN-US">The tests are named </span><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">JournalIntegrationTest.T1
</span><span lang="EN-US">… </span><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">JournalIntegrationTest.T4</span><span lang="EN-US"> and must be started with command
</span><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">sudo ./JournalIntegrationTest</span><span lang="EN-US">. Add
</span><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">–help</span><span lang="EN-US"> to get further information.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">The following observations can be made now:<o:p></o:p></span></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoListParagraph" style="margin-left:0cm;mso-list:l0 level1 lfo2"><span lang="EN-US">If all tests are started separately, all is fine.<o:p></o:p></span></li><li class="MsoListParagraph" style="margin-left:0cm;mso-list:l0 level1 lfo2"><span lang="EN-US">If test 3 + 4 are started together, all is fine.<o:p></o:p></span></li><li class="MsoListParagraph" style="margin-left:0cm;mso-list:l0 level1 lfo2"><span lang="EN-US">If test 2 + 3 + 4 are started together, all is fine.<o:p></o:p></span></li><li class="MsoListParagraph" style="margin-left:0cm;mso-list:l0 level1 lfo2"><span lang="EN-US">If test 1 + 2 + 3 + 4 are started together, test 4 has lost one message, which is always the last one.<o:p></o:p></span></li></ul>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">An incorrect test run looks like the following.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">developer@debianVM ..b/CompactJournaldIntegrationTest/build % sudo ./JournalIntegrationTest --gtest_filter="*.T4:*.T3:*.T2:*.T1"<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">Running main() from /home/developer/scb/CompactJournaldIntegrationTest/build/_deps/googletest-src/googletest/src/gtest_main.cc<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-size:9.0pt;font-family:"Courier New"">Note: Google Test filter = *.T4:*.T3:*.T2:*.T1<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[==========] Running 4 tests from 1 test suite.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[----------] Global test environment set-up.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[----------] 4 tests from JournalIntegrationTest<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[ RUN      ] JournalIntegrationTest.T1<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[       OK ] JournalIntegrationTest.T1 (87 ms)<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[ RUN      ] JournalIntegrationTest.T2<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[       OK ] JournalIntegrationTest.T2 (1850 ms)<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[ RUN      ] JournalIntegrationTest.T3<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[       OK ] JournalIntegrationTest.T3 (8090 ms)<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[ RUN      ] JournalIntegrationTest.T4<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">/home/developer/scb/CompactJournaldIntegrationTest/Test.cpp:104: Failure<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">Expected equality of these values:<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">  numberOfMessages<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">    Which is: 10000<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">  foundCounter<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">    Which is: 9999<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[  FAILED  ] JournalIntegrationTest.T4 (16758 ms)<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[----------] 4 tests from JournalIntegrationTest (26785 ms total)<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[----------] Global test environment tear-down<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[==========] 4 tests from 1 test suite ran. (26785 ms total)<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[  PASSED  ] 3 tests.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[  FAILED  ] 1 test, listed below:<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[  FAILED  ] JournalIntegrationTest.T4<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">1 FAILED TEST<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">Via parameter </span><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">–gtest_filter</span><span lang="EN-US"> it is possible to select the tests that should run. Running the suite without test 1
 will succeed.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">developer@debianVM ..b/CompactJournaldIntegrationTest/build % sudo ./JournalIntegrationTest --gtest_filter="*.T4:*.T3:*.T2"<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">Running main() from /home/developer/scb/CompactJournaldIntegrationTest/build/_deps/googletest-src/googletest/src/gtest_main.cc<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-size:9.0pt;font-family:"Courier New"">Note: Google Test filter = *.T4:*.T3:*.T2<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[==========] Running 3 tests from 1 test suite.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[----------] Global test environment set-up.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[----------] 3 tests from JournalIntegrationTest<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[ RUN      ] JournalIntegrationTest.T2<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[       OK ] JournalIntegrationTest.T2 (1371 ms)<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[ RUN      ] JournalIntegrationTest.T3<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[       OK ] JournalIntegrationTest.T3 (8171 ms)<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[ RUN      ] JournalIntegrationTest.T4<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[       OK ] JournalIntegrationTest.T4 (17595 ms)<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[----------] 3 tests from JournalIntegrationTest (27137 ms total)<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[----------] Global test environment tear-down<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[==========] 3 tests from 1 test suite ran. (27137 ms total)<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[  PASSED  ] 3 tests.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">Also a single run of T4 works.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">developer@debianVM ..b/CompactJournaldIntegrationTest/build % sudo ./JournalIntegrationTest --gtest_filter="*.T4" 
<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">Running main() from /home/developer/scb/CompactJournaldIntegrationTest/build/_deps/googletest-src/googletest/src/gtest_main.cc<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">Note: Google Test filter = *.T4<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[==========] Running 1 test from 1 test suite.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[----------] Global test environment set-up.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[----------] 1 test from JournalIntegrationTest<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[ RUN      ] JournalIntegrationTest.T4<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[       OK ] JournalIntegrationTest.T4 (17343 ms)<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[----------] 1 test from JournalIntegrationTest (17344 ms total)<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[----------] Global test environment tear-down<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[==========] 1 test from 1 test suite ran. (17344 ms total)<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New"">[  PASSED  ] 1 test.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">So, do you have an idea what’s going on here?<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">You will find the corresponding configuration attached below.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">Greetings from Berlin,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Andreas<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[Journal]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Storage=persistent<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Compress=yes<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Seal=yes<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">SplitMode=none<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#SyncIntervalSec=5m<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#RateLimitIntervalSec=30s<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#RateLimitBurst=10000<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">SystemMaxUse=500M<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#SystemKeepFree=<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">SystemMaxFileSize=50M<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">SystemMaxFiles=13<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#RuntimeMaxUse=<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#RuntimeKeepFree=<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#RuntimeMaxFileSize=<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#RuntimeMaxFiles=100<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">MaxRetentionSec=12month<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#MaxFileSec=1month<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#ForwardToSyslog=yes<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#ForwardToKMsg=no<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#ForwardToConsole=no<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#ForwardToWall=yes<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#TTYPath=/dev/console<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#MaxLevelStore=debug<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#MaxLevelSyslog=debug<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#MaxLevelKMsg=notice<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#MaxLevelConsole=info<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#MaxLevelWall=emerg<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#LineMax=48K<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#ReadKMsg=yes<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="font-size:9.0pt;font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span style="mso-fareast-language:DE">-----Ursprüngliche Nachricht-----<br>
Von: Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de> <br>
Gesendet: Dienstag, 6. Juli 2021 14:16<br>
An: Andreas Krueger <Andreas.Krueger@fmc-ag.com>; Lennart Poettering <lennart@poettering.net><br>
Cc: Georg Brand <Georg.Brand@fmc-ag.com>; Thomas Zimmermann <thomas.zimmermann@fmc-ag.com>; systemd-devel@lists.freedesktop.org<br>
Betreff: Antw: [EXT] Re: [systemd-devel] Failing UnitTest for Journald</span></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">*** This message is from an EXTERNAL SENDER - be CAUTIOUS with links and when opening attachments ***<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">>>> Lennart Poettering <<a href="mailto:lennart@poettering.net"><span style="color:windowtext;text-decoration:none">lennart@poettering.net</span></a>> schrieb am 06.07.2021 um
<o:p></o:p></p>
<p class="MsoPlainText">>>> 11:15<o:p></o:p></p>
<p class="MsoPlainText">in<o:p></o:p></p>
<p class="MsoPlainText">Nachricht <YOQfRHFU4pNzn3qJ@gardel-login>:<o:p></o:p></p>
<p class="MsoPlainText">> On Mo, 05.07.21 18:46, Andreas Krueger (Andreas.Krueger@fmc<span style="font-family:"Cambria Math",serif">‑</span>ag.com) wrote:<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">>> Hi Folks,<o:p></o:p></p>
<p class="MsoPlainText">>><o:p> </o:p></p>
<p class="MsoPlainText">>> for a customer I have to verify the behavior of the logger in its
<o:p></o:p></p>
<p class="MsoPlainText">>> system (Linux debianVM 4.19.0<span style="font-family:"Cambria Math",serif">‑</span>6<span style="font-family:"Cambria Math",serif">‑</span>amd64 #1 SMP Debian<o:p></o:p></p>
<p class="MsoPlainText">>> 4.19.67<span style="font-family:"Cambria Math",serif">‑</span>2+deb10u1 (2019<span style="font-family:"Cambria Math",serif">‑</span>09<span style="font-family:"Cambria Math",serif">‑</span>20) x86_64 GNU/Linux), which is journald
<o:p></o:p></p>
<p class="MsoPlainText">>> (systemd 241 (241)).  For this, I have written some unit tests that
<o:p></o:p></p>
<p class="MsoPlainText">>> work all well, when executed separately. But running together they
<o:p></o:p></p>
<p class="MsoPlainText">>> lead to some erroneous behavior that I cannot explain <span style="font-family:"Cambria Math",serif">
‑</span> maybe you <o:p></o:p></p>
<p class="MsoPlainText">>> have an idea what's going wrong...<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> I am not sure I follow entirely what you are doing. But please be
<o:p></o:p></p>
<p class="MsoPlainText">> aware of the following race we cannot fix without kernel changes:<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> Whenever journald receieves a log message from a client it uses the
<o:p></o:p></p>
<p class="MsoPlainText">> SCM_CREDENTIALS metadata of the incoming packet to retrieve further
<o:p></o:p></p>
<p class="MsoPlainText">> medadata from /proc/$PID/ about the client. If the sender's process
<o:p></o:p></p>
<p class="MsoPlainText">> exited by the time the message is processed this data is not available
<o:p></o:p></p>
<p class="MsoPlainText">> anymore, and thus will not be stored along with the message, and can
<o:p></o:p></p>
<p class="MsoPlainText">> thus not be used to search/filter for the message.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I don't know how such a client would be named then, but have you considered naming it "stale-PID-<PID>"?<o:p></o:p></p>
<p class="MsoPlainText">At least then the users could notice that something might not work as expected.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">While trying to lear I found that in my manual page for SYSTEMD-JOURNALD.SERVICE a page sd_journal_print(4) is referred to, but it dpoes not exist in my system (systemd-228-157.27.1.x86_64 of SLES12)...<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> Thus: whenever you have a process that logs and immediately exits
<o:p></o:p></p>
<p class="MsoPlainText">> there's a chance that once journald processes that log message, it is
<o:p></o:p></p>
<p class="MsoPlainText">> seen and written to disk but without much of the metadata. If you then
<o:p></o:p></p>
<p class="MsoPlainText">> use "journalctl <span style="font-family:"Cambria Math",serif">
‑</span>u" or a similar command (e.g. the log output of <o:p></o:p></p>
<p class="MsoPlainText">> systemctl status) to look for the logs of the unit it will likely not
<o:p></o:p></p>
<p class="MsoPlainText">> be found since the unit name is one of the metadata fields not
<o:p></o:p></p>
<p class="MsoPlainText">> available in this case (since it is extracted from the <o:p>
</o:p></p>
<p class="MsoPlainText">> /proc/$PID/cgroup file by journald).<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> You should see the log message if you do not use filtering though,
<o:p></o:p></p>
<p class="MsoPlainText">> i.e. "journalctl <span style="font-family:"Cambria Math",serif">
‑</span>e" or so should show it.<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> We'd really like to fix this one day, but unfortunately kernel
<o:p></o:p></p>
<p class="MsoPlainText">> developers so far shot down any attempt to optionally attach more
<o:p></o:p></p>
<p class="MsoPlainText">> metadata to AF_UNIX datagrams (if we had just the cgroup this would
<o:p></o:p></p>
<p class="MsoPlainText">> already make things *so* much better for us).<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Regards,<o:p></o:p></p>
<p class="MsoPlainText">Ulrich<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> Lennart<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> <span style="font-family:"Cambria Math",serif">‑‑</span><o:p></o:p></p>
<p class="MsoPlainText">> Lennart Poettering, Berlin<o:p></o:p></p>
<p class="MsoPlainText">> _______________________________________________<o:p></o:p></p>
<p class="MsoPlainText">> systemd<span style="font-family:"Cambria Math",serif">‑</span>devel mailing list<o:p></o:p></p>
<p class="MsoPlainText">> systemd<span style="font-family:"Cambria Math",serif">‑</span>devel@lists.freedesktop.org<o:p></o:p></p>
<p class="MsoPlainText">> https://lists.freedesktop.org/mailman/listinfo/systemd<span style="font-family:"Cambria Math",serif">‑</span>devel<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
</div>
</body>
</html>