Bug 680542

Summary: better error message when out of memory for initrd.img
Product: [Fedora] Fedora Reporter: Charles R. Anderson <cra>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 16CC: awilliam, bojan, gansalmon, gholms, itamar, jonathan, jones.peter.busi, kernel-maint, kvolny, madhu.chinakonda, robatino, stephent98, wwoods
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: RejectedBlocker
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-11-02 17:09:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Add a user-friendly notifier to panic messages
none
screenshot showing kernel messages after out-of-memory panic
none
Ease the user's concerns
none
Fixed patch
none
screenshot after F15-RC3 kernel out of memory while unpacking rootfs image none

Description Charles R. Anderson 2011-02-25 20:49:07 UTC
Description of problem:

F15 installer fails to boot with 512MB RAM.  The kernel spews a long backtrace when the initrd.img cannot fit in RAM.  It would be nice to have a better
error message for this case to let the user know they need to increase the size of their RAM.

Version-Release number of selected component (if applicable):
2.6.38-0.rc5.git1.1.fc15.x86_64

How reproducible:
always

Steps to Reproduce:
1. setup TFTP server with pxelinux.0 and F15 kernel/vmlinuz files, redirect console=ttyS0
2. create VM using virt-manager with 512MB RAM, set up to install via PXE over bridged network
3. boot system via network
4. use virsh to connect to VM guest console

Actual results:

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 2.6.38-0.rc5.git1.1.fc15.x86_64 (mockbuild.fedoraproject.org) (gcc version 4.6.0 20110212 (Red Hat 4.6.0-0.7) (GCC) ) #1 SMP Thu Feb 17 01:49:02 UTC 2011
[    0.000000] Command line: initrd=f15-x86_64-initrd.img method=http://download.wpi.edu/pub/fedora/linux/releases/15/Fedora/x86_64/os console=ttyS0 BOOT_IMAGE=f15-x86_64-vmlinuz 
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009f400 (usable)
[    0.000000]  BIOS-e820: 000000000009f400 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 000000001fffd000 (usable)
[    0.000000]  BIOS-e820: 000000001fffd000 - 0000000020000000 (reserved)
[    0.000000]  BIOS-e820: 00000000fffbc000 - 0000000100000000 (reserved)
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI 2.4 present.
[    0.000000] No AGP bridge found
[    0.000000] last_pfn = 0x1fffd max_arch_pfn = 0x400000000
[    0.000000] PAT not supported by CPU.
[    0.000000] found SMP MP-table at [ffff8800000f7fe0] f7fe0
[    0.000000] init_memory_mapping: 0000000000000000-000000001fffd000
[    0.000000] RAMDISK: 17797000 - 1fe92000
[    0.000000] ACPI: RSDP 00000000000f7f90 00014 (v00 BOCHS )
[    0.000000] ACPI: RSDT 000000001fffde30 00034 (v01 BOCHS  BXPCRSDT 00000001 BXPC 00000001)
[    0.000000] ACPI: FACP 000000001ffffe70 00074 (v01 BOCHS  BXPCFACP 00000001 BXPC 00000001)
[    0.000000] ACPI: DSDT 000000001fffdfd0 01E22 (v01   BXPC   BXDSDT 00000001 INTL 20090123)
[    0.000000] ACPI: FACS 000000001ffffe00 00040
[    0.000000] ACPI: SSDT 000000001fffdf90 00037 (v01 BOCHS  BXPCSSDT 00000001 BXPC 00000001)
[    0.000000] ACPI: APIC 000000001fffdeb0 00072 (v01 BOCHS  BXPCAPIC 00000001 BXPC 00000001)
[    0.000000] ACPI: HPET 000000001fffde70 00038 (v01 BOCHS  BXPCHPET 00000001 BXPC 00000001)
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at 0000000000000000-000000001fffd000
[    0.000000] Initmem setup node 0 0000000000000000-000000001fffd000
[    0.000000]   NODE_DATA [000000001ffe6000 - 000000001fff9fff]
[    0.000000] kvm-clock: Using msrs 12 and 11
[    0.000000] kvm-clock: cpu 0, msr 0:1b557c1, boot clock
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   empty
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[2] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x0000009f
[    0.000000]     0: 0x00000100 -> 0x0001fffd
[    0.000000] ACPI: PM-Timer IO Port: 0xb008
[    0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[    0.000000] ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 1, version 17, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] SMP: Allowing 1 CPUs, 0 hotplug CPUs
[    0.000000] PM: Registered nosave memory: 000000000009f000 - 00000000000a0000
[    0.000000] PM: Registered nosave memory: 00000000000a0000 - 00000000000f0000
[    0.000000] PM: Registered nosave memory: 00000000000f0000 - 0000000000100000
[    0.000000] Allocating PCI resources starting at 20000000 (gap: 20000000:dffbc000)
[    0.000000] Booting paravirtualized kernel on KVM
[    0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:1 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff880017400000 s83200 r8192 d23296 u2097152
[    0.000000] kvm-clock: cpu 0, msr 0:174137c1, primary cpu clock
[    0.000000] Built 1 zonelists in Node order, mobility grouping on.  Total pages: 129156
[    0.000000] Policy zone: DMA32
[    0.000000] Kernel command line: initrd=f15-x86_64-initrd.img method=http://download.wpi.edu/pub/fedora/linux/releases/15/Fedora/x86_64/os console=ttyS0 BOOT_IMAGE=f15-x86_64-vmlinuz 
[    0.000000] PID hash table entries: 2048 (order: 2, 16384 bytes)
[    0.000000] Checking aperture...
[    0.000000] No AGP bridge found
[    0.000000] Memory: 362936k/524276k available (4579k kernel code, 452k absent, 160888k reserved, 6943k data, 948k init)
[    0.000000] SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] 	RCU-based detection of stalled CPUs is disabled.
[    0.000000] NR_IRQS:16640 nr_irqs:256 16
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [ttyS0] enabled
[    0.000000] allocated 5242880 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.000000] Detected 2992.854 MHz processor.
[    0.006999] Calibrating delay loop (skipped) preset value.. 5985.70 BogoMIPS (lpj=2992854)
[    0.007320] pid_max: default: 32768 minimum: 301
[    0.008047] Security Framework initialized
[    0.008568] SELinux:  Initializing.
[    0.009169] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)
[    0.010477] Inode-cache hash table entries: 32768 (order: 6, 262144 bytes)
[    0.011232] Mount-cache hash table entries: 256
[    0.012320] Initializing cgroup subsys ns
[    0.013014] ns_cgroup deprecated: consider using the 'clone_children' flag without the ns_cgroup.
[    0.014007] Initializing cgroup subsys cpuacct
[    0.014507] Initializing cgroup subsys memory
[    0.015028] Initializing cgroup subsys devices
[    0.015549] Initializing cgroup subsys freezer
[    0.016004] Initializing cgroup subsys net_cls
[    0.017008] Initializing cgroup subsys blkio
[    0.017660] mce: CPU supports 10 MCE banks
[    0.018256] SMP alternatives: switching to UP code
[    0.063244] Freeing SMP alternatives: 12k freed
[    0.063839] ACPI: Core revision 20110112
[    0.065228] ftrace: allocating 23675 entries in 93 pages
[    0.067128] Setting APIC routing to flat
[    0.069656] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.069996] CPU0: Intel QEMU Virtual CPU version 0.12.5 stepping 03
[    0.071993] Performance Events: unsupported p6 CPU model 2 no PMU driver, software events only.
[    0.072748] NMI watchdog disabled (cpu0): hardware events not enabled
[    0.072996] Brought up 1 CPUs
[    0.073344] Total of 1 processors activated (5985.70 BogoMIPS).
[    0.074410] devtmpfs: initialized
[    0.078443] atomic64 test passed for x86-64 platform with CX8 and with SSE
[    0.079052] Time: 17:40:38  Date: 02/25/11
[    0.079583] NET: Registered protocol family 16
[    0.080237] ACPI: bus type pci registered
[    0.081112] PCI: Using configuration type 1 for base access
[    0.082698] bio: create slab <bio-0> at 0
[    0.085156] ACPI: Interpreter enabled
[    0.085565] ACPI: (supports S0 S3 S4 S5)
[    0.086088] ACPI: Using IOAPIC for interrupt routing
[    0.089362] ACPI: No dock devices found.
[    0.089824] HEST: Table not found.
[    0.089999] PCI: Ignoring host bridge windows from ACPI; if necessary, use "pci=use_crs" and report a bug
[    0.091009] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.094308] pci 0000:00:01.3: quirk: [io  0xb000-0xb03f] claimed by PIIX4 ACPI
[    0.095004] pci 0000:00:01.3: quirk: [io  0xb100-0xb10f] claimed by PIIX4 SMB
[    0.122198] ACPI: PCI Interrupt Link [LNKA] (IRQs 5 *10 11)
[    0.123049] ACPI: PCI Interrupt Link [LNKB] (IRQs 5 *10 11)
[    0.123943] ACPI: PCI Interrupt Link [LNKC] (IRQs 5 10 *11)
[    0.124248] ACPI: PCI Interrupt Link [LNKD] (IRQs 5 10 *11)
[    0.125555] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[    0.125992] vgaarb: loaded
[    0.127214] SCSI subsystem initialized
[    0.128323] usbcore: registered new interface driver usbfs
[    0.129041] usbcore: registered new interface driver hub
[    0.129735] usbcore: registered new device driver usb
[    0.130119] PCI: Using ACPI for IRQ routing
[    0.131425] NetLabel: Initializing
[    0.131847] NetLabel:  domain hash size = 128
[    0.131990] NetLabel:  protocols = UNLABELED CIPSOv4
[    0.133006] NetLabel:  unlabeled traffic allowed by default
[    0.133886] HPET: 3 timers in total, 0 timers will be used for per-cpu timer
[    0.134024] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[    0.135146] hpet0: 3 comparators, 64-bit 100.000000 MHz counter
[    0.140061] Switching to clocksource kvm-clock
[    0.140979] Switched to NOHz mode on CPU #0
[    0.152859] pnp: PnP ACPI init
[    0.153299] ACPI: bus type pnp registered
[    0.154454] pnp: PnP ACPI: found 6 devices
[    0.154908] ACPI: ACPI bus type pnp unregistered
[    0.162428] NET: Registered protocol family 2
[    0.162994] IP route cache hash table entries: 4096 (order: 3, 32768 bytes)
[    0.164058] TCP established hash table entries: 16384 (order: 6, 262144 bytes)
[    0.165185] TCP bind hash table entries: 16384 (order: 6, 262144 bytes)
[    0.166250] TCP: Hash tables configured (established 16384 bind 16384)
[    0.166964] TCP reno registered
[    0.167355] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.168027] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.168804] NET: Registered protocol family 1
[    0.169338] pci 0000:00:00.0: Limiting direct PCI/PCI transfers
[    0.169992] pci 0000:00:01.0: PIIX3: Enabling Passive Release
[    0.170682] pci 0000:00:01.0: Activating ISA DMA hang workarounds
[    0.171631] Trying to unpack rootfs image as initramfs...
[    2.492083] swapper invoked oom-killer: gfp_mask=0x200d2, order=0, oom_adj=0, oom_score_adj=0
[    2.493160] swapper cpuset=/ mems_allowed=0
[    2.493649] Pid: 1, comm: swapper Not tainted 2.6.38-0.rc5.git1.1.fc15.x86_64 #1
[    2.494495] Call Trace:
[    2.494831]  [<ffffffff81096749>] ? cpuset_print_task_mems_allowed+0x91/0x9d
[    2.495658]  [<ffffffff810da51c>] ? dump_header+0x80/0x1bc
[    2.496296]  [<ffffffff810da7bd>] ? select_bad_process+0x54/0xf8
[    2.496951]  [<ffffffff810daf72>] ? out_of_memory+0x2cf/0x378
[    2.497615]  [<ffffffff810def45>] ? __alloc_pages_nodemask+0x5f3/0x772
[    2.498380]  [<ffffffff8110833d>] ? alloc_page_interleave+0x3c/0x83
[    2.499087]  [<ffffffff81108632>] ? alloc_pages_current+0x8d/0xd0
[    2.499771]  [<ffffffff810d7cd4>] ? find_get_page+0x22/0x62
[    2.500420]  [<ffffffff810d8726>] ? __page_cache_alloc+0x77/0x7e
[    2.501094]  [<ffffffff810d88f1>] ? grab_cache_page_write_begin+0x54/0x9e
[    2.501869]  [<ffffffff8113d107>] ? simple_write_begin+0x34/0x83
[    2.502563]  [<ffffffff810d83bb>] ? generic_file_buffered_write+0x114/0x240
[    2.503455]  [<ffffffff811e9b9c>] ? avc_has_perm+0x51/0x63
[    2.504073]  [<ffffffff810d912b>] ? __generic_file_aio_write+0x242/0x272
[    2.504823]  [<ffffffff810f35d8>] ? unmap_mapping_range+0x5f/0x217
[    2.505544]  [<ffffffff81200ca0>] ? ima_file_check+0x20/0x24
[    2.506180]  [<ffffffff810d91b3>] ? generic_file_aio_write+0x58/0xa6
[    2.506898]  [<ffffffff81120dff>] ? do_sync_write+0xbf/0xff
[    2.507558]  [<ffffffff8114d82f>] ? fsnotify+0x1eb/0x217
[    2.508162]  [<ffffffff811ef9d7>] ? selinux_file_permission+0x57/0xb3
[    2.508893]  [<ffffffff811e7c72>] ? security_file_permission+0x2e/0x33
[    2.509642]  [<ffffffff811211ea>] ? rw_verify_area+0xb0/0xcd
[    2.510299]  [<ffffffff81121475>] ? vfs_write+0xac/0xf3
[    2.510871]  [<ffffffff81121664>] ? sys_write+0x4a/0x6e
[    2.511509]  [<ffffffff81b59fc6>] ? do_copy+0x73/0x8e
[    2.512078]  [<ffffffff81b59718>] ? flush_buffer+0x77/0xa4
[    2.512696]  [<ffffffff81b596a1>] ? flush_buffer+0x0/0xa4
[    2.513407]  [<ffffffff81b84a51>] ? nofill+0x0/0x9
[    2.513933]  [<ffffffff81b84cba>] ? gunzip+0x260/0x306
[    2.514536]  [<ffffffff81b59cb0>] ? unpack_to_rootfs+0x175/0x286
[    2.515228]  [<ffffffff81b5966e>] ? error+0x0/0x17
[    2.515756]  [<ffffffff81b5a49d>] ? populate_rootfs+0x0/0xce
[    2.516408]  [<ffffffff81b5a4f4>] ? populate_rootfs+0x57/0xce
[    2.517065]  [<ffffffff810020a4>] ? do_one_initcall+0x7f/0x137
[    2.517716]  [<ffffffff81b57e88>] ? kernel_init+0x228/0x2a2
[    2.518374]  [<ffffffff8100a9e4>] ? kernel_thread_helper+0x4/0x10
[    2.519056]  [<ffffffff81b57c60>] ? kernel_init+0x0/0x2a2
[    2.519661]  [<ffffffff8100a9e0>] ? kernel_thread_helper+0x0/0x10
[    2.520353] Mem-Info:
[    2.520614] Node 0 DMA per-cpu:
[    2.520983] CPU    0: hi:    0, btch:   1 usd:   0
[    2.521611] Node 0 DMA32 per-cpu:
[    2.521994] CPU    0: hi:  186, btch:  31 usd:  14
[    2.522562] active_anon:0 inactive_anon:0 isolated_anon:0
[    2.522563]  active_file:0 inactive_file:1 isolated_file:0
[    2.522563]  unevictable:82084 dirty:0 writeback:0 unstable:0
[    2.522564]  free:2 slab_reclaimable:4556 slab_unreclaimable:1502
[    2.522565]  mapped:0 shmem:0 pagetables:0 bounce:0
[    2.525643] Node 0 DMA free:8kB min:0kB low:0kB high:0kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:15648kB isolated(anon):0kB isolated(file):0kB present:15676kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:224kB slab_unreclaimable:20kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:3912 all_unreclaimable? no
[    2.529670] lowmem_reserve[]: 0 0 0 0
[    2.530174] Node 0 DMA32 free:0kB min:0kB low:0kB high:0kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:4kB unevictable:312688kB isolated(anon):0kB isolated(file):0kB present:500948kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:18000kB slab_unreclaimable:5988kB kernel_stack:160kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:78172 all_unreclaimable? no
[    2.534318] lowmem_reserve[]: 0 0 0 0
[    2.534799] Node 0 DMA: 2*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 8kB
[    2.536168] Node 0 DMA32: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 0kB
[    2.537543] 82085 total pagecache pages
[    2.537969] 0 pages in swap cache
[    2.538372] Swap cache stats: add 0, delete 0, find 0/0
[    2.538946] Free swap  = 0kB
[    2.539303] Total swap = 0kB
[    2.542562] 131053 pages RAM
[    2.542916] 40316 pages reserved
[    2.543323] 0 pages shared
[    2.543625] 90701 pages non-shared
[    2.544003] [ pid ]   uid  tgid total_vm      rss cpu oom_adj oom_score_adj name
[    2.544847] Kernel panic - not syncing: Out of memory and no killable processes...
[    2.544848] 
[    2.545880] Pid: 1, comm: swapper Not tainted 2.6.38-0.rc5.git1.1.fc15.x86_64 #1
[    2.546782] Call Trace:
[    2.547107]  [<ffffffff81467a3a>] ? panic+0x91/0x19c
[    2.547674]  [<ffffffff810daf85>] ? out_of_memory+0x2e2/0x378
[    2.548344]  [<ffffffff810def45>] ? __alloc_pages_nodemask+0x5f3/0x772
[    2.549068]  [<ffffffff8110833d>] ? alloc_page_interleave+0x3c/0x83
[    2.549761]  [<ffffffff81108632>] ? alloc_pages_current+0x8d/0xd0
[    2.550517]  [<ffffffff810d7cd4>] ? find_get_page+0x22/0x62
[    2.551193]  [<ffffffff810d8726>] ? __page_cache_alloc+0x77/0x7e
[    2.551876]  [<ffffffff810d88f1>] ? grab_cache_page_write_begin+0x54/0x9e
[    2.552643]  [<ffffffff8113d107>] ? simple_write_begin+0x34/0x83
[    2.553401]  [<ffffffff810d83bb>] ? generic_file_buffered_write+0x114/0x240
[    2.554192]  [<ffffffff811e9b9c>] ? avc_has_perm+0x51/0x63
[    2.554795]  [<ffffffff810d912b>] ? __generic_file_aio_write+0x242/0x272
[    2.555591]  [<ffffffff810f35d8>] ? unmap_mapping_range+0x5f/0x217
[    2.556327]  [<ffffffff81200ca0>] ? ima_file_check+0x20/0x24
[    2.556944]  [<ffffffff810d91b3>] ? generic_file_aio_write+0x58/0xa6
[    2.557707]  [<ffffffff81120dff>] ? do_sync_write+0xbf/0xff
[    2.558351]  [<ffffffff8114d82f>] ? fsnotify+0x1eb/0x217
[    2.558929]  [<ffffffff811ef9d7>] ? selinux_file_permission+0x57/0xb3
[    2.559699]  [<ffffffff811e7c72>] ? security_file_permission+0x2e/0x33
[    2.560448]  [<ffffffff811211ea>] ? rw_verify_area+0xb0/0xcd
[    2.561093]  [<ffffffff81121475>] ? vfs_write+0xac/0xf3
[    2.561703]  [<ffffffff81121664>] ? sys_write+0x4a/0x6e
[    2.562309]  [<ffffffff81b59fc6>] ? do_copy+0x73/0x8e
[    2.562864]  [<ffffffff81b59718>] ? flush_buffer+0x77/0xa4
[    2.563531]  [<ffffffff81b596a1>] ? flush_buffer+0x0/0xa4
[    2.564159]  [<ffffffff81b84a51>] ? nofill+0x0/0x9
[    2.564720]  [<ffffffff81b84cba>] ? gunzip+0x260/0x306
[    2.565351]  [<ffffffff81b59cb0>] ? unpack_to_rootfs+0x175/0x286
[    2.566024]  [<ffffffff81b5966e>] ? error+0x0/0x17
[    2.566569]  [<ffffffff81b5a49d>] ? populate_rootfs+0x0/0xce
[    2.567219]  [<ffffffff81b5a4f4>] ? populate_rootfs+0x57/0xce
[    2.567856]  [<ffffffff810020a4>] ? do_one_initcall+0x7f/0x137
[    2.568530]  [<ffffffff81b57e88>] ? kernel_init+0x228/0x2a2
[    2.569317]  [<ffffffff8100a9e4>] ? kernel_thread_helper+0x4/0x10
[    2.569984]  [<ffffffff81b57c60>] ? kernel_init+0x0/0x2a2
[    2.570613]  [<ffffffff8100a9e0>] ? kernel_thread_helper+0x0/0x10

Comment 1 Bill Nottingham 2011-02-28 17:42:59 UTC
Created attachment 481420 [details]
Add a user-friendly notifier to panic messages

This adds a user-friendly face to panic messages, akin to the SPARC HHGTG guy, or the PA-RISC cow.

Comment 2 Steve Tyler 2011-04-10 16:57:55 UTC
Created attachment 491094 [details]
screenshot showing kernel messages after out-of-memory panic

This is what users will see if they do not have enough memory,
instead of an informative error message.

QEMU shows 100% CPU utilization at this point.

$ qemu-kvm -m 512 Fedora-15-Beta-i386-netinst.iso
F15-Beta-RC2

See also:
Bug 682555 - Net-install dvd gets a kernel panic on install

Comment 3 Steve Tyler 2011-04-10 17:13:45 UTC
I have to power cycle my laptop after the kernel panics.

It would be helpful if I could press ctrl-alt-del to restart.
The kernel could suggest doing that.

Comment 4 Will Woods 2011-04-11 19:11:38 UTC
(In reply to comment #1)
> Created attachment 481420 [details]
> Add a user-friendly notifier to panic messages
> 
> This adds a user-friendly face to panic messages, akin to the SPARC HHGTG guy,
> or the PA-RISC cow.

Perfect! What could possibly be more user-friendly?

Comment 5 Matthew Garrett 2011-04-11 19:42:53 UTC
Created attachment 491334 [details]
Ease the user's concerns

This (untested) patch should provide more reasonable feedback to the user.

Comment 6 Matthew Garrett 2011-04-11 19:48:12 UTC
Created attachment 491336 [details]
Fixed patch

...although we should really make sure the machine stops running, too.

Comment 7 Adam Williamson 2011-04-15 19:35:51 UTC
Discussed at 2011-04-15 blocker review meeting. We reject this as a blocker on the basis there is no practical code fix anyone can think of (though we whole-heartedly endorse mjg59's patch). We definitely support trying to ensure this is reasonably documented in the release notes, and the system requirements are updated to reflect reality.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 8 Kevin Kofler 2011-04-16 05:39:32 UTC
The real fix would be to resurrect stage2.img. I think it was a mistake to drop it, considering the impact on RAM requirements.

Comment 9 Steve Tyler 2011-04-16 09:00:28 UTC
There are plans to reduce memory requirements for F16: Bug 682555, Comment 13.

The patch looks fine to my less-than-expert eye:
1. Would the user be able to restart with ctrl-alt-del?
2. Can the strings be localized?
3. Could the graphic be made configurable?

Comment 10 Will Woods 2011-04-18 17:18:15 UTC
(In reply to comment #9)
> There are plans to reduce memory requirements for F16: Bug 682555, Comment 13.

Correct. Bug 682555 is the place to discuss that stuff. Not that there's much that needs discussing; splitting the boot image back into two parts (initramfs + runtime) is already the plan for F16. 

> 2. Can the strings be localized?

Nothing else in the kernel is localized. There's nowhere to store the localized strings. The kernel hasn't even finished initializing yet - there's no storage, no disk drivers, no initrd, nothing. But the phrase "MORE RAM" should be pretty easy to suss out.

> 3. Could the graphic be made configurable?

Absolutely not. Why would you want to? Relax, friend, and bask in the glory of the Hot Dog.

Comment 11 Steve Tyler 2011-04-18 18:04:21 UTC
(In reply to comment #10)
> (In reply to comment #9)
...
> > 3. Could the graphic be made configurable?
> 
> Absolutely not. Why would you want to? Relax, friend, and bask in the glory of
> the Hot Dog.

<g>
Straight Man: http://en.wikipedia.org/wiki/Double_act
Bud Abbott:   http://en.wikipedia.org/wiki/Bud_Abbott

Comment 12 Steve Tyler 2011-05-14 20:26:48 UTC
Created attachment 498958 [details]
screenshot after F15-RC3 kernel out of memory while unpacking rootfs image

The F15-RC3 kernel appears to have disabled the call trace when out of memory while unpacking rootfs image. Now a message like this can be read at the bottom of the screen:

[    0.171631] Trying to unpack rootfs image as initramfs...

The kernel appears to have hung, but qemu is consuming 100% CPU.

Tested with:
$ qemu-kvm -m 512 -cdrom F15-RC3/Fedora-15-x86_64-DVD.iso

Comment 13 Bojan Smojver 2011-06-08 07:40:03 UTC
I tried with -m 1024 and still got a hang. Weird...

Comment 14 Steve Tyler 2011-06-08 13:16:38 UTC
(In reply to comment #13)
> I tried with -m 1024 and still got a hang. Weird...

With a 3.2GHz processor, the unpacking takes 10 seconds.

Comment 15 Bojan Smojver 2011-06-08 23:30:21 UTC
(In reply to comment #14)
> (In reply to comment #13)
> > I tried with -m 1024 and still got a hang. Weird...
> 
> With a 3.2GHz processor, the unpacking takes 10 seconds.

You are right. I have a much slower machine and was just being impatient.

Comment 16 Steve Tyler 2011-06-11 03:06:26 UTC
(In reply to comment #15)
> (In reply to comment #14)
> > (In reply to comment #13)
> > > I tried with -m 1024 and still got a hang. Weird...
> > 
> > With a 3.2GHz processor, the unpacking takes 10 seconds.
> 
> You are right. I have a much slower machine and was just being impatient.

Even 10 seconds is too long to wait
For the kernel's user interface
To say something

Comment 17 Will Woods 2011-06-13 18:36:13 UTC
The initramfs is 90MB of xz-compressed data, and 365MB uncompressed. Uncompressing that data takes a long time.

In F16 we should only be uncompressing something like 4MB at boot time, so this won't be a problem. But this is pretty far from the original purpose of this bug, so let's try to get back to that.

Comment 18 Will Woods 2011-06-23 14:10:27 UTC
*** Bug 715572 has been marked as a duplicate of this bug. ***

Comment 19 Josh Boyer 2011-09-26 14:08:22 UTC
We clearly aren't going to get much benefit from this in F15.  Moving to F16 so we can see if we want to throw the almighty Hot Dog OOM patch in there.

Comment 20 Josh Boyer 2011-11-02 17:09:01 UTC
F16 is about to ship.  We didn't include the Hot Dog patch there either.

The memory usage of the initramfs should actually be less now in F16 and further into F17.  I'm going to close this out as WONTFIX as the situation should be less frequent now, and the patch doesn't really carry a whole lot of benefit.