Bug 619242

Summary: SegFault after moving a Plain RPM Directory repo
Product: [openSUSE] openSUSE 11.1 Reporter: Manuel Stol <ManuelStol>
Component: YaST2Assignee: Thomas Göttlicher <tgoettlicher>
Status: VERIFIED INVALID QA Contact: Jiri Srain <jsrain>
Severity: Minor    
Priority: P5 - None CC: ma, tgoettlicher
Version: Final   
Target Milestone: ---   
Hardware: All   
OS: openSUSE 11.1   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: YaST2 Log from 2010-6-5

Description Manuel Stol 2010-07-01 16:33:04 UTC
User-Agent:       Opera/9.80 (X11; Linux i686; U; en) Presto/2.6.30 Version/10.60

YaST crashes after moving a local Plain RPMs Directory repository.

The changes to the repo settings were commited correctly.
So it's probably only the Qt GUI front-end.

Reproducible: Didn't try

Steps to Reproduce:
1. Move the directory with the local RPMs,
   that serves as the Plain RPM Directory repository.
   (Just used mv in a root shell.)
2. Start YaST Control Center.
3. Select: Software > Software Repositories
4. Select the Plain RPM Directory repository
5. Click the [Edit] button.
6. Changed the path to the new location.
   (The path ends with a slash (/); just like the paths of all other repos.)
7. Re-enabled the Plain RPM Directory repo,
   as selecting a repo from the list will toggle its enabled state.
8. Reset the Priority of the Plain RPM Directory repo to its old value,
   as editing the repo resets the Priority to the default value of 99.
9. Click the [OK] button.

Actual Results:  
The Software Repositories program exits;
leaving an "Error - KDialog" window with the following message:
"
kdeinit4: preparing to launch /usr/lib/libkdeinit4_klauncher.so
kdeinit4: preparing to launch /usr/lib/libkdeinit4_kded4.so
kdeinit4: preparing to launch /usr/lib/libkdeinit4_kbuildsycoca4.so
kbuildsycoca4 running...
kdeinit4: preparing to launch /usr/lib/libkdeinit4_kconf_update.so
kdeinit4: preparing to launch /usr/lib/kde4/kio_trash.so
kdeinit4: preparing to launch /usr/lib/kde4/kio_file.so
YaST got signal 11 at YCP file packager/repositories_include.ycp:1622
/sbin/yast2: line 440: 17814 Segmentation fault      $ybindir/y2base $module "$@" "$SELECTED_GUI" $Y2_GEOMETRY $Y2UI_ARGS
"


Expected Results:  
YaST should finish without crashing.

Changing the location of the Plain RPMs Directory repository:
- Move the directory with the local RPMs,
  that serves as the Plain RPM Directory repository.
  (Just used mv in a root shell.)
- Start YaST Control Center.
- Select: Software > Software Repositories
- Select the Plain RPM Directory repository
- Click the [Edit] button.
- Changed the path to the new location.
  (The path ends with a slash (/); just like the paths of all other repos.)
- Re-enabled the Plain RPM Directory repo,
  as selecting a repo from the list will toggle its enabled state.
- Reset the Priority of the Plain RPM Directory repo to its old value,
  as editing the repo resets the Priority to the default value of 99.
- Click the [OK] button.
- The Software Repositories program exits;
  leaving an "Error - KDialog" window with the following message:
"
kdeinit4: preparing to launch /usr/lib/libkdeinit4_klauncher.so
kdeinit4: preparing to launch /usr/lib/libkdeinit4_kded4.so
kdeinit4: preparing to launch /usr/lib/libkdeinit4_kbuildsycoca4.so
kbuildsycoca4 running...
kdeinit4: preparing to launch /usr/lib/libkdeinit4_kconf_update.so
kdeinit4: preparing to launch /usr/lib/kde4/kio_trash.so
kdeinit4: preparing to launch /usr/lib/kde4/kio_file.so
YaST got signal 11 at YCP file packager/repositories_include.ycp:1622
/sbin/yast2: line 440: 17814 Segmentation fault      $ybindir/y2base $module "$@" "$SELECTED_GUI" $Y2_GEOMETRY $Y2UI_ARGS
"

Note that the repo settings have been changed correrctly,
except that the repo itself may not be enabled.


Enabling the changed Plain RPMs Directory repository:
- The YaST Control Center is still running.
- Select: Software > Software Repositories
- Select the Plain RPM Directory repository
- Enabled the Plain RPM Directory repository.
- Click the [OK] button.



Updating packages from the Plain RPMs Directory repository:
- The YaST Control Center is still running.
- Select: Software > Software Management
- In the "Filter:" drop-down box select: Repositories
- Select the Plain RPMs Directory repository.
- Select from the menu: Package > All in This List > Update if newer version available
- Click the [Accept] button in the lower right corner.
- Select from the menu: Package > All in This List > Update if newer version available
- The Software Management program exits;
  leaving an "Error - KDialog" window with the following message:
"
Comment 1 Xiao Yu Yang 2010-07-02 01:39:51 UTC
Please attach y2logs,if you're in doubt follow http://en.opensuse.org/Bugs/YaST
Thanks!
Comment 2 Manuel Stol 2010-07-05 10:20:07 UTC
Created attachment 373767 [details]
YaST2 Log from 2010-6-5 

Please note that I did anothor update on 2010-6-5 and the attached YaST2 log is from after the update.
Comment 3 Ladislav Slezák 2010-07-12 15:40:46 UTC
The log contains this relevant data:

2010-07-01 16:04:11 <3> manuxr(18835) [liby2] genericfrontend.cc(signal_handler):196 got signal 11 at YCP file /usr/share/YaST2
/clients/sw_single.ycp:587
2010-07-01 16:04:11 <3> manuxr(18835) [liby2] genericfrontend.cc(log_stored_debug):120 Liberating suppressed debugging messages
:
2010-07-01 16:04:11 <3> manuxr(18835) [liby2] genericfrontend.cc(log_stored_debug):122 End of suppressed debugging messages
2010-07-01 16:04:11 <3> manuxr(18835) [liby2] genericfrontend.cc(log_backtrace):144 Back trace:

   Frame  0: /usr/lib/liby2.so.2  log_backtrace()
   Frame  1: /usr/lib/liby2.so.2  signal_handler(int)
   Frame  2: [0xffffe400]
   Frame  3: /usr/lib/libQtDBus.so.4 [0xb38d7666]
   Frame  4: /usr/lib/libQtDBus.so.4 [0xb38d7ffc]
   Frame  5: /usr/lib/libQtCore.so.4  QMetaObject::activate(QObject*, int, int, void**)
   Frame  6: /usr/lib/libQtCore.so.4  QMetaObject::activate(QObject*, QMetaObject const*, int, int, void**)
   Frame  7: /usr/lib/libQtCore.so.4  QObject::destroyed(QObject*)
   Frame  8: /usr/lib/libQtCore.so.4  QObject::~QObject()
   Frame  9: /usr/lib/libkio.so.5  KIO::Scheduler::~Scheduler()
   Frame 10: /usr/lib/libkio.so.5 [0xb3d46311]
   Frame 11: /usr/lib/libkio.so.5 [0xb3c7913b]
   Frame 12: /lib/libc.so.6(exit+0xe1) [0xb70a89b1]
   Frame 13: /usr/lib/liby2.so.2(main+0x16c0) [0xb75c77a0]
   Frame 14: /lib/libc.so.6(__libc_start_main+0xe5) [0xb7091705]
   Frame 15: /usr/lib/YaST2/bin/y2base [0x8048591]

== End of back trace ===

It seems it's somehow related to DBus.

Thomas, any idea?
Comment 4 Manuel Stol 2010-07-16 12:26:38 UTC
Oops, sorry, my fault.

I am using D-Bus v1.2.16-4.1 from openSUSE Factory.
I need D-Bus v1.2.12 or newer for development.

I always thought that D-Bus v1 was backwards compatible with an older D-Bus v1.


Mea culpa.
You may close this bug-report.
Comment 5 Thomas Göttlicher 2010-07-21 12:34:57 UTC
.