Bug 1226322 - [Build 93.5] openQA test fails in detect_yast2_failures - [agent-modules] ModulesConf.cc(~ModulesConf):103 Can't write configuration file in destructor.
Summary: [Build 93.5] openQA test fails in detect_yast2_failures - [agent-modules] Mod...
Status: RESOLVED INVALID
Alias: None
Product: PUBLIC SUSE Linux Enterprise Server 15 SP6
Classification: openSUSE
Component: YaST2 (show other bugs)
Version: unspecified
Hardware: x86-64 SLES 15
: P5 - None : Normal
Target Milestone: ---
Assignee: E-mail List
QA Contact:
URL: https://openqa.suse.de/tests/14611743...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-06-14 09:25 UTC by yutao wang
Modified: 2024-06-18 11:56 UTC (History)
0 users

See Also:
Found By: openQA
Services Priority:
Business Priority:
Blocker: Yes
Marketing QA Status: ---
IT Deployment: ---


Attachments
Problem detection logs (12.24 KB, application/x-xz)
2024-06-14 09:25 UTC, yutao wang
Details

Note You need to log in before you can comment on or make changes to this bug.
Description yutao wang 2024-06-14 09:25:58 UTC
Created attachment 875486 [details]
Problem detection logs

Hardware: x86_64
Software: sle-15-SP6-x86_64-93.5-textmode@64bit.qcow2
**********************************************************************
## Observation

openQA test in scenario sle-15-SP6-Online-x86_64-detect_yast2_failures@64bit fails in
[detect_yast2_failures](https://openqa.suse.de/tests/14611743/modules/detect_yast2_failures/steps/542)

## Test suite description
Specific test displaying as much dialogs as possible to increase test coverage, which would fail hard in case any yast2 failure is found in logs.


## Reproducible

Fails since (at least) Build [93.1](https://openqa.suse.de/tests/14611743)

## Further details

Always latest result in this scenario: [latest](https://openqa.suse.de/tests/latest?arch=x86_64&distri=sle&flavor=Online&machine=64bit&test=detect_yast2_failures&version=15-SP6)
***************************************************************************
Test steps:
1. Start sle15sp6 build93.5
2. investigate_yast2_failure
Got error message:
install(4266) [agent-modules] ModulesConf.cc(~ModulesConf):103 Can't write configuration file in destructor.
Comment 1 yutao wang 2024-06-14 09:51:19 UTC
Should we softfail this failure?
Comment 2 Stefan Hundhammer 2024-06-18 11:36:28 UTC
When I click on that OpenQA link, I see literally HUNDREDS of screenshots (264 AFAICS, 22 rows with 12 each), and not a single line of explanation what the entire test does, or what this step of the test does:

https://openqa.suse.de/tests/14611743/modules/detect_yast2_failures/steps/1/src

This is counterproductive to the point of absurdity. What is anybody supposed to do with that information (or rather, lack thereof)?


I can only guess that this is searching the y2logs for error lines; which is completely pointless since even regular messages are logged with error level <3> (error) on a regular basis, even the complete dracut run (!) (see also bug #
1183694). The YaST cheetah subsystem logs every line that a called process writes to stdout as <3> which completely contaminates the logs with meaningless error messages.

Please simply remove this test; it does not add any value, it just creates noise. Even more so if the messages we receive in bugs like this don't even include the filename of an alleged failure.
Comment 3 Stefan Hundhammer 2024-06-18 11:55:48 UTC
And the attached tarball doesn't even contain y2logs; that one would be the download from 

  https://openqa.suse.de/tests/14611743#downloads

(below the section with the ISO and the .qcow2 disk image)
Comment 4 Stefan Hundhammer 2024-06-18 11:56:23 UTC
y2start.log:

>>  Stage [call]: ================
>>  Stage [call]: Starting YaST...
>>  Stage [call]: ================
>>          |-- Allow big memory allocation: overcommit_memory=1
>>          |-- MODULE_NAME: installation
>>          |-- MODE_FLAGS:
>>          |-- MODULE_ARGS: --arg initial
>>          |-- MODE: qt
>>          |-- UI_ARGS: --noborder --auto-fonts --fullscreen
>>          |-- QT_IM_MODULE: xim
>>  Stage [call]: ===============
>>  Stage [call]: YaST terminated
>>  Stage [call]: ===============
>>          |-- Y2_EXIT_CODE: 0

Terminating after installer self-update; restarting for the real installation:


>>  Stage [call]: ================
>>  Stage [call]: Starting YaST...
>>  Stage [call]: ================
>>          |-- Allow big memory allocation: overcommit_memory=1
>>          |-- MODULE_NAME: installation
>>          |-- MODE_FLAGS:
>>          |-- MODULE_ARGS: --arg initial
>>          |-- MODE: qt
>>          |-- UI_ARGS: --noborder --auto-fonts --fullscreen
>>          |-- QT_IM_MODULE: xim


y2log:

>>  23:59:29  <1>  install(4266) [Ruby] bin/y2start(<main>):22 y2base called with ["installation", "--arg", "initial", ...
>>  ...
>>  ...
>>  19:59:49  <1>  [Interpreter] clients/installation.rb:113 Calling YaST client disintegrate_all_extensions
>>  19:59:49  <1>  [Ruby] yast/wfm.rb(run_client):341 Call client /mounts/mp_0001/usr/share/YaST2/clients/disintegrate_all_extensions.rb
>>  19:59:49  <2>  [Ruby] modules/InstExtensionImage.rb(DisintegrateAllExtensions):441 Function is empty, see BNC #376870
>>  19:59:49  <1>  [qt-ui] YQUI.cc(uiThreadDestructor):320 Destroying UI thread
>>  19:59:49  <1>  [qt-rest-api] YQHttpUI.cc(~YQHttpUI):70 Closing down YQHttpUI UI
>>  19:59:49  <1>  [qt-ui] YQUI.cc(~YQUI):302 Closing down Qt UI.
>>  19:59:49  <1>  [ui-macro] YCPMacroRecorder.cc(closeMacroFile):120 Macro recording done.
>>  19:59:49  <3>  [agent-modules] ModulesConf.cc(getTimeStamp):282 Failed to stat /etc/modprobe.d/50-yast.conf: No such file or directory
>>  19:59:49  <1>  [agent-modules] ModulesConf.cc(writeFile):560 Modules not modified, not writing
>>  19:59:49  <3>  [agent-modules] ModulesConf.cc(getTimeStamp):282 Failed to stat /etc/modprobe.d/50-yast.conf: No such file or directory
>>  19:59:49  <3>  [agent-modules] ModulesConf.cc(~ModulesConf):103 Can't write configuration file in destructor.


Of course it can't write /etc/modprobe/*.conf here since it's still running in the inst-sys with a read-only root filesystem; this is normal and expected.

You can't see this message in the restarted YaST instance because the logs are copied over to the target system before those final few lines of its destructor.