Bug 933274

Summary: Internal error in module YaST2 storage on RPi 2B system (armv7l)
Product: [openSUSE] openSUSE Tumbleweed Reporter: Freek de Kruijf <freek>
Component: YaST2Assignee: Josef Reidinger <jreidinger>
Status: RESOLVED INVALID QA Contact: Jiri Srain <jsrain>
Severity: Major    
Priority: P5 - None CC: aschnell, freek, mvidner
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: The y2logs.tgz

Description Freek de Kruijf 2015-06-02 12:08:37 UTC
Created attachment 636374 [details]
The y2logs.tgz

Internal error. Please report a bug report with logs.
Details: component cannot import namespace 'Storage'
Caller:  /usr/lib/ruby/vendor_ruby/2.2.0/yast/yast.rb:162:in `import_pure'

In the y2log are messages:
2015-06-02 13:11:27 <3> rpi2test(5081) [Interpreter] yast/i18n.rb:133 Ruby::loadModule() / Can't load ruby module '/usr/share/YaST2/modules/Storage'
2015-06-02 13:11:27 <5> rpi2test(5081) [Y2Ruby] binary/YRubyNamespace.cc(YRubyNamespace):219 The Ruby module 'Storage' is not provided by its rb file

However the file /usr/share/YaST2/modules/Storage.rb does exist.
Comment 1 Steffen Winterfeldt 2015-06-03 13:01:10 UTC
Seems to be a yast core issue. Josef or Martin, your area?
Comment 2 Josef Reidinger 2015-06-03 13:50:26 UTC
Interesting I nvere see such message, usually underlaying gems failed, but from logs it looks ok.

Can you plese try to load it in irb, to get possible exception that cause it?

jreidinger@pepa:~/yast/bootloader/package> irb
irb(main):002:0> load "/usr/share/YaST2/modules/Storage.rb"
=> true
Comment 3 Freek de Kruijf 2015-06-03 14:06:35 UTC
rpi2test:~ # irb
irb(main):001:0> load "/usr/share/YaST2/modules/Storage.rb"
LoadError: cannot load such file -- storage
        from /usr/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from /usr/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from /usr/share/YaST2/modules/Storage.rb:24:in `<top (required)>'
        from (irb):1:in `load'
        from (irb):1
        from /usr/bin/irb:11:in `<main>'
irb(main):002:0> quit
rpi2test:~ # ls -l /usr/share/YaST2/modules/Storage.rb
-rw-r--r-- 1 root root 238482 apr  8 15:12 /usr/share/YaST2/modules/Storage.rb
rpi2test:~ #
Comment 4 Josef Reidinger 2015-06-03 14:18:33 UTC
It looks like problem with libstorage ruby bindings. Can you please check if you have installed libstorage-ruby?

rpm -q libstorage-ruby
libstorage-ruby-2.25.20-2.7.x86_64


it should be loadable also in irb:
jreidinger@pepa:~/yast/bootloader/package> irb
irb(main):001:0> require "storage"
=> true
Comment 5 Freek de Kruijf 2015-06-03 14:56:56 UTC
rpi2test:~ # rpm -q libstorage-ruby
libstorage-ruby-2.25.20-2.1.armv7hl
rpi2test:~ # irb
irb(main):001:0> require "storage"
LoadError: cannot load such file -- storage
        from /usr/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from /usr/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from (irb):1
        from /usr/bin/irb:11:in `<main>'
irb(main):002:0> quit
rpi2test:~ # rpm -ql libstorage-ruby
/usr/lib/ruby/vendor_ruby/2.1.0/armv7hl-linux-gnu/storage.so
rpi2test:~ # 

It looks like libstorage-ruby is from 2.1.0 instead of 2.2.0
Comment 6 Josef Reidinger 2015-06-03 15:00:44 UTC
yes, it looks like problem. Is there newer libstorage-ruby? If not, then it looks like problem with building libstorage-ruby with newer ruby. If yes, then please try update it.
Comment 7 Freek de Kruijf 2015-06-03 15:04:28 UTC
(In reply to Josef Reidinger from comment #6)
> yes, it looks like problem. Is there newer libstorage-ruby? If not, then it
> looks like problem with building libstorage-ruby with newer ruby. If yes,
> then please try update it.

rpi2test:~ # zypper se -s libstorage-ruby
Gegevens van installatiebron laden...
Lezen van geïnstalleerde pakketten...

S | Naam            | Type   | Versie      | Arch    | Installatiebron          
--+-----------------+--------+-------------+---------+--------------------------
i | libstorage-ruby | pakket | 2.25.20-2.1 | armv7hl | openSUSE-Factory-repo-oss
rpi2test:~ #

Seems there is no update.
Comment 8 Josef Reidinger 2015-06-04 07:24:24 UTC
It looks like it is blocked by boost library on armv7l. I worry I can't do much with it. You can ask on arm mailing list regarding rebuild, but from code perspective it is correct.

Thanks for report and help with debugging.
Comment 9 Josef Reidinger 2015-06-05 08:51:35 UTC
*** Bug 925178 has been marked as a duplicate of this bug. ***
Comment 10 Josef Reidinger 2015-06-05 12:45:10 UTC
*** Bug 930957 has been marked as a duplicate of this bug. ***