Bug 597371

Summary: Segfault when I run YaST2 Software Managment
Product: [openSUSE] openSUSE 11.2 Reporter: Oleg Gromazin <oleg>
Component: YaST2Assignee: Martin Vidner <mvidner>
Status: RESOLVED INVALID QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P3 - Medium CC: mc, tgoettlicher, ug
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 11.2   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: Log file YaST. Log was remove before start YaST, and store after crash
The all content of /var/log/YaST/ directory
"/usr/share/YaST2/control/control.xml" file

Description Oleg Gromazin 2010-04-16 16:53:30 UTC
Created attachment 355050 [details]
Log file YaST. Log was remove before start YaST, and store after crash

User-Agent:       Opera/9.80 (X11; Linux x86_64; U; ru) Presto/2.2.15 Version/10.10

When I run YaST2 Software Managment I get new dialog window with text:

/usr/lib/YaST2/bin/y2base sw_single qt
YaST got signal 11 at YCP file XML.ycp:3
/sbin/yast2: line 455:  7825 segmentation fault                   $ybindir/y2base $module "$@" "$SELECTED_GUI" $Y2_GEOMETRY $Y2UI_ARGS

Also if I run console version of yast and select Software Repositories I get:

YaST got signal 11 at YCP file XML.ycp:3
/sbin/yast: line 455: 10602 Segmentation fault      $ybindir/y2base $module "$@" "$SELECTED_GUI" $Y2_GEOMETRY $Y2UI_ARGS


Reproducible: Always

Steps to Reproduce:
1. Run YaST2
2. Select Software Managment 
3.
Comment 1 Michael Calmer 2010-04-19 09:09:14 UTC
Does this really happen on openSUSE 11.2? Or do you test openSUSE 11.3 aka Factroy?

If it is really openSUSE 11.2, than please provide the full content of 

 /var/log/YaST2/

directory.

If it is an openSUSE 11.3 Milestone 5, that it seems to be a duplicate of Bug 595545 .
Please provide /var/log/YaST2/signal in this case.
Comment 2 Oleg Gromazin 2010-04-19 16:09:01 UTC
Yes, this really heppen on OpenSUSE 11.2.

The all content of /var/log/YaST2/ directory is attached. Before stored the log, I run in the shell:

   export Y2DEBUG=1

and run yast2 and select Software Manager.
Comment 3 Oleg Gromazin 2010-04-19 16:12:43 UTC
Created attachment 355327 [details]
The all content of /var/log/YaST/ directory
Comment 5 Thomas Göttlicher 2010-04-20 09:54:47 UTC
The backtrace looks like this:

=== 2010-04-19 20:03:09 +0400 ===
YaST got signal 11 at YCP file XML.ycp:3
Liberating suppressed debugging messages:
End of suppressed debugging messages
Backtrace: (use c++filt to demangle)
/usr/lib64/liby2.so.2(_Z20signal_log_backtracev+0x23)[0x7fef26e9ecb3]
/usr/lib64/liby2.so.2(_Z14signal_handleri+0x152)[0x7fef26e9f5f2]
/lib64/libc.so.6[0x7fef24faa560]
/lib64/libc.so.6(strncmp+0x15)[0x7fef24ff44e5]
/usr/lib64/libxml2.so.2(__xmlParserInputBufferCreateFilename+0x11a)[0x7fef2213abca]
/usr/lib64/libxml2.so.2(xmlNewInputFromFile+0x3d)[0x7fef22110a6d]
/usr/lib64/libxml2.so.2(xmlCreateURLParserCtxt+0x46)[0x7fef22114d16]
/usr/lib64/YaST2/plugin/libpy2ag_xml.so.2(_ZN8XmlAgent4ReadERK7YCPPathRK8YCPValueS5_+0x658)[0x7fef0ef603a8]
/usr/lib64/YaST2/plugin/libpy2ag_xml.so.2(_ZN11Y2AgentCompI8XmlAgentE8evaluateERK8YCPValue+0x34b)[0x7fef0ef67d6b]
/usr/lib64/liby2.so.2(_ZN17Y2PluginComponent8evaluateERK8YCPValue+0x36)[0x7fef26ea9d16]
/usr/lib64/YaST2/plugin/libpy2scr.so.2(_ZN14ScriptingAgent22executeSubagentCommandEPKcRK7YCPPathRK8YCPValueS7_+0x461)[0x7fef273f5041]
/usr/lib64/YaST2/plugin/libpy2scr.so.2(_ZN14ScriptingAgent4ReadERK7YCPPathRK8YCPValueS5_+0x16c)[0x7fef273f6b3c]
/usr/lib64/libscr.so.2[0x7fef26c84a26]
/usr/lib64/libscr.so.2[0x7fef26c84c2f]
/usr/lib64/libycp.so.3(_ZN9YEBuiltin8evaluateEb+0xae0)[0x7fef27129290]
/usr/lib64/libycp.so.3(_ZN11YEPropagate8evaluateEb+0x4a)[0x7fef27120e1a]
/usr/lib64/libycp.so.3(_ZN8YSAssign8evaluateEb+0x47)[0x7fef271383d7]
/usr/lib64/libycp.so.3(_ZN6YBlock8evaluateEb+0x1d2)[0x7fef27155942]
/usr/lib64/libycp.so.3(_ZN7YSBlock8evaluateEb+0x11)[0x7fef27138021]
/usr/lib64/libycp.so.3(_ZN4YSIf8evaluateEb+0x26b)[0x7fef2714583b]
/usr/lib64/libycp.so.3(_ZN6YBlock8evaluateEb+0x1d2)[0x7fef27155942]
/usr/lib64/libycp.so.3(_ZN13Y2YCPFunction12evaluateCallEv+0x305)[0x7fef2712a925]
/usr/lib64/libycp.so.3(_ZN10YEFunction8evaluateEb+0x38d)[0x7fef2712edfd]
/usr/lib64/libycp.so.3(_ZN8YSAssign8evaluateEb+0x47)[0x7fef271383d7]
/usr/lib64/libycp.so.3(_ZN6YBlock8evaluateEb+0x1d2)[0x7fef27155942]
/usr/lib64/libycp.so.3(_ZN13Y2YCPFunction12evaluateCallEv+0x305)[0x7fef2712a925]
/usr/lib64/libycp.so.3(_ZN10YEFunction8evaluateEb+0x38d)[0x7fef2712edfd]
/usr/lib64/libycp.so.3(_ZN12YSExpression8evaluateEb+0x21)[0x7fef271381b1]
/usr/lib64/libycp.so.3(_ZN6YBlock8evaluateEb+0x1d2)[0x7fef27155942]
/usr/lib64/libycp.so.3(_ZN13Y2YCPFunction12evaluateCallEv+0x305)[0x7fef2712a925]
/usr/lib64/libycp.so.3(_ZN10YEFunction8evaluateEb+0x38d)[0x7fef2712edfd]
/usr/lib64/libycp.so.3(_ZN7YEUnary8evaluateEb+0x46)[0x7fef2712b106]
/usr/lib64/libycp.so.3(_ZN4YSIf8evaluateEb+0x47)[0x7fef27145617]
/usr/lib64/libycp.so.3(_ZN6YBlock8evaluateEb+0x1d2)[0x7fef27155942]
/usr/lib64/libycp.so.3(_ZN13Y2YCPFunction12evaluateCallEv+0x305)[0x7fef2712a925]
/usr/lib64/liby2.so.2(_ZN11Y2Namespace10initializeEv+0x17e)[0x7fef26e9cc6e]
/usr/lib64/libycp.so.3(_ZN8YSImport8evaluateEb+0x5a)[0x7fef2713831a]
/usr/lib64/libycp.so.3(_ZN6YBlock8evaluateEb+0x1d2)[0x7fef27155942]
/usr/lib64/liby2.so.2(_ZN11Y2Namespace10initializeEv+0x77)[0x7fef26e9cb67]
/usr/lib64/libycp.so.3(_ZN8YSImport8evaluateEb+0x5a)[0x7fef2713831a]
/usr/lib64/libycp.so.3(_ZN6YBlock8evaluateEb+0x1d2)[0x7fef27155942]
/usr/lib64/liby2.so.2(_ZN11Y2Namespace10initializeEv+0x77)[0x7fef26e9cb67]
/usr/lib64/libycp.so.3(_ZN8YSImport8evaluateEb+0x5a)[0x7fef2713831a]
/usr/lib64/libycp.so.3(_ZN6YBlock8evaluateEb+0x1d2)[0x7fef27155942]
/usr/lib64/libycp.so.3(_ZN13Y2YCPFunction12evaluateCallEv+0x305)[0x7fef2712a925]
/usr/lib64/libycp.so.3(_ZN10YEFunction8evaluateEb+0x38d)[0x7fef2712edfd]
/usr/lib64/libycp.so.3(_ZN8YSReturn8evaluateEb+0x45)[0x7fef271399d5]
/usr/lib64/libycp.so.3(_ZN6YBlock8evaluateEb+0x1d2)[0x7fef27155942]
/usr/lib64/libycp.so.3(_ZN7YSBlock8evaluateEb+0x11)[0x7fef27138021]
/usr/lib64/libycp.so.3(_ZN4YSIf8evaluateEb+0x296)[0x7fef27145866]
/usr/lib64/libycp.so.3(_ZN6YBlock8evaluateEb+0x1d2)[0x7fef27155942]
/usr/lib64/libycp.so.3(_ZNK10YCPCodeRep8evaluateEb+0xf9)[0x7fef27113869]
/usr/lib64/YaST2/plugin/libpy2wfm.so.2(_ZN14Y2WFMComponent12doActualWorkERK7YCPListP11Y2Component+0x77a)[0x7fef2760bf5a]
/usr/lib64/liby2.so.2(main+0xddb)[0x7fef26ea0d0b]
/lib64/libc.so.6(__libc_start_main+0xfd)[0x7fef24f96a7d]
/usr/lib/YaST2/bin/y2base[0x400679]
Comment 6 Thomas Göttlicher 2010-04-20 09:58:27 UTC
The segfault seems to happen while parsing xml in yast2-core.
Comment 7 Martin Vidner 2010-04-28 16:37:13 UTC
Please attach the file which it is reading at the time of the crash: /usr/share/YaST2/control/control.xml
Comment 8 Oleg Gromazin 2010-04-28 17:06:39 UTC
Created attachment 357480 [details]
"/usr/share/YaST2/control/control.xml" file

ls -l /usr/share/YaST2/control/control.xml:

-rw-r--r-- 1 root root 29783 Sep  9  2009 /usr/share/YaST2/control/control.xml
Comment 9 Martin Vidner 2010-04-29 07:44:52 UTC
Uh, I have exactly the same file and it does not crash.

Following a hunch in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=396416 , maybe there's something wrong in the libxml2-zlib interaction.

What is the output of these commands?
  ldd /usr/lib*/libxml2.so.2 | grep libz
  rpm -q libxml2 zlib
  rpm -V libxml2 zlib
Comment 10 Katarina Machalkova 2010-04-29 09:04:36 UTC
> Uh, I have exactly the same file and it does not crash.

Could be because you tried on 32bit box, while Oleg has 64bit

Found another interesting reference, Ubuntu this time: 
http://lipyrary.blogspot.com/2009/08/libxml2-crash-on-64bit-ubuntu.html
Comment 12 Oleg Gromazin 2010-04-29 15:03:34 UTC
~> ldd /usr/lib*/libxml2.so.2 | grep libz
        libz.so.1 => /usr/local/lib/libz.so.1 (0x00007fdc9e6ea000)
        libz.so.1 => /lib/libz.so.1 (0xf75b5000)
~>


~> rpm -q libxml2 zlib
libxml2-2.7.3-4.1.x86_64
zlib-1.2.3-140.2.x86_64
~>

~> rpm -V libxml2 zlib
~>
Comment 13 Martin Vidner 2010-04-30 06:29:45 UTC
/usr/local/lib/libz.so.1, that's the culprit.
Remove it and yast should work fine.

If you need it for another program, move it to a directory not listed in /etc/ld.so.conf* and start the program with LD_LIBRARY_PATH (see man ld.so)
If /usr/local/lib/libz.so.1 belongs to a RPM, complain to its packager.
If the RPM comes from the main openSUSE repository, reopen the bug.
Comment 15 Oleg Gromazin 2010-04-30 07:35:59 UTC
It's worked, thank you! :)