Bugzilla – Bug 1214814
[libstorage-ng] YaST Bootloader complains about 'lsscsi' version
Last modified: 2023-10-27 13:40:33 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.
Created attachment 869156 [details] Screenshot: Error popup at the start of yast2 bootloader
Created attachment 869157 [details] Full y2logs tarball with Y2DEBUG I cleared the old y2logs* files before starting sudo yast2 bootloader
Notice that this is the only version of the 'lsscsi' package that I see in the "Versions" tab of the YaST Qt package selector.
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);
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.
PR: https://github.com/openSUSE/libstorage-ng/pull/945 SR: https://build.opensuse.org/request/show/1108814