Bug 998687 - SIGSEGV storm instead of Manual Partitioning
Summary: SIGSEGV storm instead of Manual Partitioning
Keywords:
Status: CLOSED DUPLICATE of bug 983319
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Anaconda Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 998837 (view as bug list)
Depends On:
Blocks: F20AlphaBlocker
TreeView+ depends on / blocked
 
Reported: 2013-08-19 19:12 UTC by Steve Tyler
Modified: 2013-08-23 18:35 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-08-23 18:35:54 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
anaconda.log (7.83 KB, text/plain)
2013-08-19 19:17 UTC, Steve Tyler
no flags Details
ifcfg.log (506 bytes, text/plain)
2013-08-19 19:17 UTC, Steve Tyler
no flags Details
program.log (28.22 KB, text/plain)
2013-08-19 19:18 UTC, Steve Tyler
no flags Details
storage.log (127.83 KB, text/plain)
2013-08-19 19:19 UTC, Steve Tyler
no flags Details
screenshot showing SIGSEGV storm in terminal running strace (219.51 KB, image/png)
2013-08-19 19:30 UTC, Steve Tyler
no flags Details
core_backtrace (29.55 KB, text/plain)
2013-08-20 08:25 UTC, Steve Tyler
no flags Details
coredump.xz (6.96 MB, application/x-xz)
2013-08-20 08:42 UTC, Steve Tyler
no flags Details
full gdb backtrace with symbols and line numbers (31.93 KB, text/plain)
2013-08-21 18:19 UTC, Steve Tyler
no flags Details

Description Steve Tyler 2013-08-19 19:12:58 UTC
Description of problem:
While testing a patch to fix Bug 997690, it was found that a SIGSEGV storm occurs after attempting to enter Manual Partitioning.

Version-Release number of selected component (if applicable):
anaconda-20.6-1 patched with Attachment 788148 [details]
Fedora-20-Nightly-x86_64-Live-desktop-20130816.11-1.iso

How reproducible:
Always.

Steps to Reproduce:
[Copied from Bug 997690, Comment 18]
Confirming that the patch fixes this bug.

Procedure:

$ qemu-img create f20-test-1.img 12G
Do a minimal F19 install with default storage configuration.

$ qemu-kvm -m 8192 -hda f20-test-1.img -cdrom ~/xfr/fedora/nightly-composes/Fedora-20-Nightly-x86_64-Live-desktop-20130816.11-1.iso -vga std -boot menu=on

Start patched anaconda-20.6-1 installer.

Click Installation Destination.
Installation Destination dialog is displayed.
Click Done.
The SizeNotPositiveError exception does not occur here.
Installation Options dialog is displayed.

What follows appears to be a different bug:

Click Cancel ...
Click Done.
Click Reclaim Space.
Reclaim Disk Space dialog is displayed.

Click Cancel.
Click Done.
Click Custom partitioning.

Installation Summary is unexpectedly displayed with all elements grayed.
The pointer is responsive, but no links respond to clicks, and no tooltips are displayed.
From a terminal, it can be seen that there is no anaconda-tb-* in /tmp.
Attaching to anaconda with strace shows the it is rapidly receiving repeated SIGSEGVs.

Actual results:
Installation Summary is displayed with all elements grayed.
Manual Partitioning is not displayed.

Expected results:
Manual Partitioning is displayed.

Additional info:
Bug 997690 - SizeNotPositiveError: bytes= param must be >=0
Attachment 788148 [details] - proposed patch: drop unneeded variable required_space_text

Comment 1 Steve Tyler 2013-08-19 19:17:19 UTC
Created attachment 788183 [details]
anaconda.log

Comment 2 Steve Tyler 2013-08-19 19:17:52 UTC
Created attachment 788184 [details]
ifcfg.log

Comment 3 Steve Tyler 2013-08-19 19:18:19 UTC
Created attachment 788185 [details]
program.log

Comment 4 Steve Tyler 2013-08-19 19:19:02 UTC
Created attachment 788186 [details]
storage.log

Comment 5 Steve Tyler 2013-08-19 19:30:02 UTC
Created attachment 788188 [details]
screenshot showing SIGSEGV storm in terminal running strace

Comment 6 Steve Tyler 2013-08-20 08:09:45 UTC
*** Bug 998837 has been marked as a duplicate of this bug. ***

Comment 7 Steve Tyler 2013-08-20 08:25:44 UTC
Created attachment 788380 [details]
core_backtrace

ABRT did not attach a backtrace to Bug 998837, but I was able to copy core_backtrace and coredump from the VM to the host.

Procedure:

$ qemu-kvm -m 9216 -hda f20-test-1.img -cdrom ~/xfr/fedora/nightly-composes/Fedora-20-Nightly-x86_64-Live-desktop-20130816.11-1.iso -vga std -boot menu=on

From a terminal:
1. Install "patch" into live environment:
   $ sudo yum install patch -y
2. Apply patch to storage.py from:
   Bug 997690 - SizeNotPositiveError: bytes= param must be >=0
3. Comment out installation of a SIGSEGV handler in /usr/sbin/anaconda.
4. Increase core file size to "unlimited":
   # ulimit -c unlimited
5. $ sudo liveinst
6. Follow procedure in Comment 0 to induce SIGSEGV.

Comment 8 Steve Tyler 2013-08-20 08:32:14 UTC
The SIGSEGV is occurring in anaconda_lb_move_window_to_parent().

Snippet from attached core_backtrace:
...
      , {   "crash_thread": true
        ,   "frames":
              [ {   "address": 140649066616067
                ,   "build_id": "13454083dcb5157eecb0312e14068807dd61d290"
                ,   "build_id_offset": 54531
                ,   "function_name": "anaconda_lb_move_window_to_parent"
                ,   "file_name": "/lib64/libAnacondaWidgets.so.0"
                ,   "fingerprint": "86994671d932742528245ae990b235a64d3c8139"
                }
...

Comment 9 Steve Tyler 2013-08-20 08:42:47 UTC
Created attachment 788383 [details]
coredump.xz

Before compression:
$ file coredump 
coredump: ELF 64-bit LSB core file x86-64, version 1 (SYSV), SVR4-style, from '/usr/bin/python /sbin/anaconda --liveinst --method=livecd:///dev/mapper/live-os'

Compressed with:
$ xz -e9 -v coredump

Comment 10 Steve Tyler 2013-08-21 18:19:23 UTC
Created attachment 788959 [details]
full gdb backtrace with symbols and line numbers

Thread 1 (Thread 0x7feb8f584740 (LWP 2208)):
#0  0x00007feb69a75503 in anaconda_lb_move_window_to_parent (
    parent=parent@entry=0x324b3d0, e=<optimized out>, 
    window=window@entry=0x362c450) at lightbox.c:47

Captured with these gdb commands:
set logging on x1.log
t a a bt

Comment 11 Steve Tyler 2013-08-22 05:13:12 UTC
Proposing as an F20AlphaBlocker per:
"The installer must be able to complete an installation to a single disk using automatic partitioning."
https://fedoraproject.org/wiki/Fedora_20_Alpha_Release_Criteria

Even with an empty disk, I could not complete automatic storage configuration, because the installer flew into a SIGSEGV storm.

NB: The patch for Bug 997690 must be applied first:
Bug 997690 - SizeNotPositiveError: bytes= param must be >=0

Tested with:
$ qemu-img create f20-test-2.img 12G
$ qemu-kvm -m 9216 -hda f20-test-2.img -cdrom ~/xfr/fedora/nightly-composes/Fedora-20-Nightly-x86_64-Live-desktop-20130818.10-1.iso -vga std -boot menu=on

Comment 12 Steve Tyler 2013-08-22 05:46:40 UTC
The window pointer is no longer valid:

$ cat bz998687-gdb-frame0-1.log 
$ gdb python coredump
...
(gdb) frame 0
#0  0x00007feb69a75503 in anaconda_lb_move_window_to_parent (
    parent=parent@entry=0x324b3d0, e=<optimized out>,
    window=window@entry=0x362c450) at lightbox.c:47
47          if (!GTK_IS_WIDGET(parent) || !GTK_IS_WINDOW(window))
(gdb) print *parent
$1 = {parent_instance = {g_type_instance = {g_class = 0x3270b40},
    ref_count = 5, qdata = 0x34790c0}, priv = 0x324b310}
(gdb) print *window
$2 = {bin = {container = {widget = {parent_instance = {g_type_instance = {
            g_class = 0xaaaaaaaaaaaaaaaa}, ref_count = 2863311530,
          qdata = 0xaaaaaaaaaaaaaaaa}, priv = 0xaaaaaaaaaaaaaaaa},
      priv = 0xaaaaaaaaaaaaaaaa}, priv = 0xaaaaaaaaaaaaaaaa},
  priv = 0xaaaaaaaaaaaaaaaa}
(gdb) quit

Comment 13 David Shea 2013-08-23 18:35:54 UTC

*** This bug has been marked as a duplicate of bug 983319 ***


Note You need to log in before you can comment on or make changes to this bug.