Bug 1214814 - [libstorage-ng] YaST Bootloader complains about 'lsscsi' version
Summary: [libstorage-ng] YaST Bootloader complains about 'lsscsi' version
Status: RESOLVED FIXED
Alias: None
Product: openSUSE Distribution
Classification: openSUSE
Component: YaST2 (show other bugs)
Version: Leap 15.5
Hardware: Other Other
: P3 - Medium : Normal (vote)
Target Milestone: ---
Assignee: Arvin Schnell
QA Contact: Jiri Srain
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-08-31 09:31 UTC by Stefan Hundhammer
Modified: 2023-10-27 13:40 UTC (History)
1 user (show)

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


Attachments
Screenshot: Error popup at the start of yast2 bootloader (68.71 KB, image/png)
2023-08-31 09:39 UTC, Stefan Hundhammer
Details
Full y2logs tarball with Y2DEBUG (4.97 MB, application/x-compressed-tar)
2023-08-31 09:40 UTC, Stefan Hundhammer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Hundhammer 2023-08-31 09:31:27 UTC
Every time I start "yast2 bootloader" on my Leap 15.5, I get an error popup

  Message: Probing disk /dev/sdb failed

with details

  failed to parse lsscsi version 'version: 0.28  2014/09/30 [svn: r120]'.


The problem appears to be the regexp that libstorage-ng uses to check the version of the 'lsscsi' command: It expects a string 'release', but receives 'version'.


y2log snippet (will attach full y2logs tarball):

> [libstorage] SystemCmd.cc(SystemCmd):80 constructor SystemCmd("/usr/bin/lsscsi --version")
> [libstorage] SystemCmd.cc(execute):203 SystemCmd Executing:"/usr/bin/lsscsi --version"
> [libstorage] SystemCmd.cc(addLine):569 Adding Line 1 "version: 0.28  2014/09/30 [svn: r120]"
> [libstorage] SystemCmd.cc(getUntilEOF):535 pid:5306 added lines:1 stderr:true
> [libstorage] SystemCmd.cc(doExecute):360 system() Returns:0
> [libstorage] CmdLsscsi.cc(parse_version):155 THROW:	 failed to parse lsscsi version 'version: 0.28  2014/09/30 [svn: r120]'
> [libstorage] CallbacksImpl.cc(error_callback):214 CAUGHT:	 failed to parse lsscsi version 'version: 0.28  2014/09/30 [svn: r120]'
> [Ruby] callbacks/issues_callback.rb(error):57 libstorage-ng reported an error, generating an issue
> [Ruby] callbacks/issues_callback.rb(error):58 Error details. Message: Probing disk /dev/sdb failed. What: failed to parse lsscsi version 'version: 0.28  2014/09/30 [svn: r120]'.



% lsscsi --version
version: 0.28  2014/09/30 [svn: r120]


% rpm -q lsscsi libstorage-ng1
lsscsi-0.28-1.24.x86_64
libstorage-ng1-4.5.136-lp155.1.1.x86_64


This is on Leap 15.5 with all the latest patches plus the YaST:Head repository.
Comment 1 Stefan Hundhammer 2023-08-31 09:39:06 UTC
Created attachment 869156 [details]
Screenshot: Error popup at the start of yast2 bootloader
Comment 2 Stefan Hundhammer 2023-08-31 09:40:10 UTC
Created attachment 869157 [details]
Full y2logs tarball with Y2DEBUG

I cleared the old y2logs* files before starting

  sudo yast2 bootloader
Comment 3 Stefan Hundhammer 2023-08-31 09:42:42 UTC
Notice that this is the only version of the 'lsscsi' package that I see in the "Versions" tab of the YaST Qt package selector.
Comment 4 Stefan Hundhammer 2023-08-31 09:45:09 UTC
Suspected error location:

https://github.com/openSUSE/libstorage-ng/blob/master/storage/SystemInfo/CmdLsscsi.cc#L150

> const regex version_rx("release: ([0-9]+)\\.([0-9]+)", regex::extended);

Maybe search for either "release" or "version", e.g.

> const regex version_rx("(version|release): ([0-9]+)\\.([0-9]+)", regex::extended);
Comment 5 Arvin Schnell 2023-09-04 05:39:23 UTC
Indeed, the output format has changed.

But the libstorage-ng version checking the output is not included in Leap 15.5.
I assume you have that version from Yast:Head in which case no update for Leap
15.5 is needed.