[x264-devel] Crash on ARMv7 systems with --preset veryslow and --preset placebo
Marat Dukhan
maratek at gmail.com
Sun Mar 3 03:39:54 CET 2013
Hi,
I found that x264 crashes on ARM systems when I try to encode
the foreman CIF test clip (
http://media.xiph.org/video/derf/y4m/foreman_cif.y4m)
on ARM systems with --preset veryslow or --preset placebo. Both presets
cause
crash on the same instruction. Simpler presets seem to work fine.
Script to reproduce:
#/bin/bash
wget http://media.xiph.org/video/derf/y4m/foreman_cif.y4m
git clone git://git.videolan.org/x264.git
pushd x264
git checkout c832fe995bf3d41cae1d3d22e10cb2288e8a650a
./configure --enable-debug
make
popd
x264/x264 --preset veryslow -o foreman.h264 foreman_cif.y4m
GDB and x264 output (register dump is attached):
(gdb) run --preset veryslow -o foreman.h264 foreman_cif.y4m
Starting program: /home/marat/x264/x264 --preset veryslow -o foreman.h264
foreman_cif.y4m
[Thread debugging using libthread_db enabled]
Using host libthread_db library
"/lib/arm-linux-gnueabihf/libthread_db.so.1".
y4m [info]: 352x288p 128:117 @ 30000/1001 fps (cfr)
x264 [info]: using SAR=128/117
x264 [info]: using cpu capabilities: ARMv6 NEON
x264 [info]: profile High, level 2.2
[4.3%] 13/300 frames, 3.09 fps, 541.47 kb/s, eta 0:01:32
Program received signal SIGSEGV, Segmentation fault.
0x00077694 in x264_pixel_avg2_w8_neon ()
(gdb) display/i $pc
1: x/i $pc
=> 0x77694 <x264_pixel_avg2_w8_neon+16>: vld1.64 {d0}, [r2], r3
The bug is reproducible on Pandaboard, Beagleboard, and Odroid-U2,
all running different versions of Ubuntu 12.x.x.
Here I attach version dumps only for Odroid-U2:
gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.6/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.6 --enable-shared --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--enable-gnu-unique-object --enable-plugin --enable-objc-gc
--enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a
--with-float=hard --with-fpu=vfpv3-d16 --with-mode=thumb --disable-werror
--enable-checking=release --build=arm-linux-gnueabihf
--host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
Thread model: posix
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
uname -a
Linux odroid 3.0.60-odroidu2 #21 SMP Mon Jan 28 11:30:39 KST 201 3
armv7l armv7l armv7l GNU/Linux
Regards,
Marat
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20130302/0350fbaf/attachment.html>
-------------- next part --------------
(gdb) info all-registers
r0 0x13b618 1291800
r1 0x20 32
r2 0x9b3555d6 2603963862
r3 0x1a0 416
r4 0x20 32
r5 0x13b618 1291800
r6 0x137890 1276048
r7 0x77684 489092
r8 0x8 8
r9 0x2 2
r10 0x8c168 573800
r11 0xfffffeb9 4294966969
r12 0x6 6
sp 0xbeffa78c 0xbeffa78c
lr 0x40bf3b7d 1086274429
pc 0x77694 0x77694 <x264_pixel_avg2_w8_neon+16>
cpsr 0x20000050 536870992
d0 {u8 = {0xad, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0x1ad,
0x0, 0x0, 0x0}, u32 = {0x1ad, 0x0}, u64 = 0x1ad, f32 = {0x0, 0x0},
f64 = 0x0}
d1 {u8 = {0x38, 0x0, 0x26, 0x0, 0x2e, 0x0, 0x34, 0x0}, u16 = {
0x38, 0x26, 0x2e, 0x34}, u32 = {0x260038, 0x34002e},
u64 = 0x34002e00260038, f32 = {0x0, 0x0}, f64 = 0x0}
d2 {u8 = {0x26, 0x0, 0x11, 0x0, 0x14, 0x0, 0x23, 0x0}, u16 = {
0x26, 0x11, 0x14, 0x23}, u32 = {0x110026, 0x230014},
u64 = 0x23001400110026, f32 = {0x0, 0x0}, f64 = 0x0}
d3 {u8 = {0x28, 0x0, 0x1c, 0x0, 0xe, 0x0, 0x16, 0x0}, u16 = {
0x28, 0x1c, 0xe, 0x16}, u32 = {0x1c0028, 0x16000e},
u64 = 0x16000e001c0028, f32 = {0x0, 0x0}, f64 = 0x0}
d4 {u8 = {0x5, 0x0, 0x21, 0x0, 0xd, 0x0, 0x25, 0x0}, u16 = {0x5,
0x21, 0xd, 0x25}, u32 = {0x210005, 0x25000d}, u64 = 0x25000d00210005,
f32 = {0x0, 0x0}, f64 = 0x0}
d5 {u8 = {0xf, 0x0, 0x5, 0x0, 0xf, 0x0, 0xf, 0x0}, u16 = {0xf,
0x5, 0xf, 0xf}, u32 = {0x5000f, 0xf000f}, u64 = 0xf000f0005000f, f32 = {
0x0, 0x0}, f64 = 0x0}
d6 {u8 = {0xf, 0x0, 0x1, 0x0, 0x7, 0x0, 0x3, 0x0}, u16 = {0xf,
0x1, 0x7, 0x3}, u32 = {0x1000f, 0x30007}, u64 = 0x300070001000f, f32 = {
0x0, 0x0}, f64 = 0x0}
d7 {u8 = {0x1, 0x0, 0x5, 0x0, 0x1, 0x0, 0xf, 0x0}, u16 = {0x1,
0x5, 0x1, 0xf}, u32 = {0x50001, 0xf0001}, u64 = 0xf000100050001, f32 = {
0x0, 0x0}, f64 = 0x0}
d8 {u8 = {0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0xa,
0x0, 0x0, 0x0}, u32 = {0xa, 0x0}, u64 = 0xa, f32 = {0x0, 0x0}, f64 = 0x0}
d9 {u8 = {0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, u16 = {
0xfffe, 0xffff, 0xffff, 0xffff}, u32 = {0xfffffffe, 0xffffffff},
u64 = 0xfffffffffffffffe, f32 = {0x0, 0x0}, f64 = 0x0}
d10 {u8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0x0,
0x0, 0x0, 0x0}, u32 = {0x0, 0x0}, u64 = 0x0, f32 = {0x0, 0x0}, f64 = 0x0}
d11 {u8 = {0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0x1,
0x0, 0x0, 0x0}, u32 = {0x1, 0x0}, u64 = 0x1, f32 = {0x0, 0x0}, f64 = 0x0}
d12 {u8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0x0,
0x0, 0x0, 0x0}, u32 = {0x0, 0x0}, u64 = 0x0, f32 = {0x0, 0x0}, f64 = 0x0}
d13 {u8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0x0,
0x0, 0x0, 0x0}, u32 = {0x0, 0x0}, u64 = 0x0, f32 = {0x0, 0x0}, f64 = 0x0}
d14 {u8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0x0,
0x0, 0x0, 0x0}, u32 = {0x0, 0x0}, u64 = 0x0, f32 = {0x0, 0x0}, f64 = 0x0}
d15 {u8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0x0,
0x0, 0x0, 0x0}, u32 = {0x0, 0x0}, u64 = 0x0, f32 = {0x0, 0x0}, f64 = 0x0}
d16 {u8 = {0x22, 0x0, 0x4, 0x0, 0xa, 0x0, 0x18, 0x0}, u16 = {0x22,
0x4, 0xa, 0x18}, u32 = {0x40022, 0x18000a}, u64 = 0x18000a00040022,
f32 = {0x0, 0x0}, f64 = 0x0}
d17 {u8 = {0xa, 0x0, 0xe, 0x0, 0xa, 0x0, 0x6, 0x0}, u16 = {0xa,
0xe, 0xa, 0x6}, u32 = {0xe000a, 0x6000a}, u64 = 0x6000a000e000a, f32 = {
0x0, 0x0}, f64 = 0x0}
d18 {u8 = {0x4, 0x0, 0x6, 0x0, 0x4, 0x0, 0x2, 0x0}, u16 = {0x4,
0x6, 0x4, 0x2}, u32 = {0x60004, 0x20004}, u64 = 0x2000400060004, f32 = {
0x0, 0x0}, f64 = 0x0}
d19 {u8 = {0x1a, 0x0, 0x2, 0x0, 0x2, 0x0, 0x6, 0x0}, u16 = {0x1a,
0x2, 0x2, 0x6}, u32 = {0x2001a, 0x60002}, u64 = 0x600020002001a, f32 = {
0x0, 0x0}, f64 = 0x0}
d20 {u8 = {0x17, 0x0, 0xb, 0x0, 0xd, 0x0, 0xb, 0x0}, u16 = {0x17,
0xb, 0xd, 0xb}, u32 = {0xb0017, 0xb000d}, u64 = 0xb000d000b0017, f32 = {
0x0, 0x0}, f64 = 0x0}
d21 {u8 = {0xe, 0x0, 0x1a, 0x0, 0xc, 0x0, 0x10, 0x0}, u16 = {0xe,
0x1a, 0xc, 0x10}, u32 = {0x1a000e, 0x10000c}, u64 = 0x10000c001a000e,
f32 = {0x0, 0x0}, f64 = 0x0}
d22 {u8 = {0x1, 0x0, 0x1, 0x0, 0x7, 0x0, 0xb, 0x0}, u16 = {0x1,
0x1, 0x7, 0xb}, u32 = {0x10001, 0xb0007}, u64 = 0xb000700010001, f32 = {
0x0, 0x0}, f64 = 0x0}
d23 {u8 = {0x18, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0x0}, u16 = {0x18,
0x0, 0x2, 0x6}, u32 = {0x18, 0x60002}, u64 = 0x6000200000018, f32 = {0x0,
0x0}, f64 = 0x0}
d24 {u8 = {0x5, 0x0, 0x21, 0x0, 0x12, 0x0, 0x25, 0x0}, u16 = {0x5,
0x21, 0x12, 0x25}, u32 = {0x210005, 0x250012}, u64 = 0x25001200210005,
f32 = {0x0, 0x0}, f64 = 0x0}
d25 {u8 = {0xf, 0x0, 0x5, 0x0, 0xf, 0x0, 0xf, 0x0}, u16 = {0xf,
0x5, 0xf, 0xf}, u32 = {0x5000f, 0xf000f}, u64 = 0xf000f0005000f, f32 = {
0x0, 0x0}, f64 = 0x0}
d26 {u8 = {0x16, 0x0, 0x2, 0x0, 0x7, 0x0, 0x3, 0x0}, u16 = {0x16,
0x2, 0x7, 0x3}, u32 = {0x20016, 0x30007}, u64 = 0x3000700020016, f32 = {
0x0, 0x0}, f64 = 0x0}
d27 {u8 = {0x1, 0x0, 0x5, 0x0, 0x11, 0x0, 0xf, 0x0}, u16 = {0x1,
0x5, 0x11, 0xf}, u32 = {0x50001, 0xf0011}, u64 = 0xf001100050001, f32 = {
0x0, 0x0}, f64 = 0x0}
d28 {u8 = {0x22, 0x0, 0xb, 0x0, 0xd, 0x0, 0x18, 0x0}, u16 = {0x22,
0xb, 0xd, 0x18}, u32 = {0xb0022, 0x18000d}, u64 = 0x18000d000b0022,
f32 = {0x0, 0x0}, f64 = 0x0}
d29 {u8 = {0xe, 0x0, 0x1a, 0x0, 0xc, 0x0, 0x10, 0x0}, u16 = {0xe,
0x1a, 0xc, 0x10}, u32 = {0x1a000e, 0x10000c}, u64 = 0x10000c001a000e,
f32 = {0x0, 0x0}, f64 = 0x0}
d30 {u8 = {0x4, 0x0, 0x6, 0x0, 0x7, 0x0, 0xb, 0x0}, u16 = {0x4,
0x6, 0x7, 0xb}, u32 = {0x60004, 0xb0007}, u64 = 0xb000700060004, f32 = {
0x0, 0x0}, f64 = 0x0}
d31 {u8 = {0x1a, 0x0, 0x2, 0x0, 0x2, 0x0, 0x6, 0x0}, u16 = {0x1a,
0x2, 0x2, 0x6}, u32 = {0x2001a, 0x60002}, u64 = 0x600020002001a, f32 = {
0x0, 0x0}, f64 = 0x0}
fpscr 0x88000010 -2013265904
s0 6.01157041e-43 (raw 0x000001ad)
s1 0 (raw 0x00000000)
s2 3.48982733e-39 (raw 0x00260038)
s3 4.77551026e-39 (raw 0x0034002e)
s4 1.56125668e-39 (raw 0x00110026)
s5 3.21427039e-39 (raw 0x00230014)
s6 2.57144994e-39 (raw 0x001c0028)
s7 2.02040053e-39 (raw 0x0016000e)
s8 3.03057838e-39 (raw 0x00210005)
s9 3.39793157e-39 (raw 0x0025000d)
s10 4.591985e-40 (raw 0x0005000f)
s11 1.37755346e-39 (raw 0x000f000f)
s12 9.18565156e-41 (raw 0x0001000f)
s13 2.75516298e-40 (raw 0x00030007)
s14 4.59178882e-40 (raw 0x00050001)
s15 1.37753384e-39 (raw 0x000f0001)
s16 1.40129846e-44 (raw 0x0000000a)
s17 0 (raw 0x00000000)
s18 -nan(0x7ffffe) (raw 0xfffffffe)
s19 -nan(0x7fffff) (raw 0xffffffff)
s20 0 (raw 0x00000000)
s21 0 (raw 0x00000000)
s22 1.40129846e-45 (raw 0x00000001)
s23 0 (raw 0x00000000)
s24 0 (raw 0x00000000)
s25 0 (raw 0x00000000)
s26 0 (raw 0x00000000)
s27 0 (raw 0x00000000)
s28 0 (raw 0x00000000)
s29 0 (raw 0x00000000)
s30 0 (raw 0x00000000)
s31 0 (raw 0x00000000)
q0 {u8 = {0xad, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38, 0x0,
0x26, 0x0, 0x2e, 0x0, 0x34, 0x0}, u16 = {0x1ad, 0x0, 0x0, 0x0, 0x38,
0x26, 0x2e, 0x34}, u32 = {0x1ad, 0x0, 0x260038, 0x34002e}, u64 = {0x1ad,
0x34002e00260038}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {0x0, 0x0}}
q1 {u8 = {0x26, 0x0, 0x11, 0x0, 0x14, 0x0, 0x23, 0x0, 0x28, 0x0,
0x1c, 0x0, 0xe, 0x0, 0x16, 0x0}, u16 = {0x26, 0x11, 0x14, 0x23, 0x28,
0x1c, 0xe, 0x16}, u32 = {0x110026, 0x230014, 0x1c0028, 0x16000e}, u64 = {
0x23001400110026, 0x16000e001c0028}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {
0x0, 0x0}}
q2 {u8 = {0x5, 0x0, 0x21, 0x0, 0xd, 0x0, 0x25, 0x0, 0xf, 0x0,
0x5, 0x0, 0xf, 0x0, 0xf, 0x0}, u16 = {0x5, 0x21, 0xd, 0x25, 0xf, 0x5,
0xf, 0xf}, u32 = {0x210005, 0x25000d, 0x5000f, 0xf000f}, u64 = {
0x25000d00210005, 0xf000f0005000f}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {
0x0, 0x0}}
q3 {u8 = {0xf, 0x0, 0x1, 0x0, 0x7, 0x0, 0x3, 0x0, 0x1, 0x0, 0x5,
0x0, 0x1, 0x0, 0xf, 0x0}, u16 = {0xf, 0x1, 0x7, 0x3, 0x1, 0x5, 0x1, 0xf},
u32 = {0x1000f, 0x30007, 0x50001, 0xf0001}, u64 = {0x300070001000f,
0xf000100050001}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {0x0, 0x0}}
q4 {u8 = {0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, u16 = {0xa, 0x0, 0x0, 0x0, 0xfffe,
0xffff, 0xffff, 0xffff}, u32 = {0xa, 0x0, 0xfffffffe, 0xffffffff}, u64 = {
0xa, 0xfffffffffffffffe}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {0x0, 0x0}}
q5 {u8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0},
u32 = {0x0, 0x0, 0x1, 0x0}, u64 = {0x0, 0x1}, f32 = {0x0, 0x0, 0x0, 0x0},
f64 = {0x0, 0x0}}
q6 {u8 = {0x0 <repeats 16 times>}, u16 = {0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0}, u32 = {0x0, 0x0, 0x0, 0x0}, u64 = {0x0, 0x0}, f32 = {
0x0, 0x0, 0x0, 0x0}, f64 = {0x0, 0x0}}
q7 {u8 = {0x0 <repeats 16 times>}, u16 = {0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0}, u32 = {0x0, 0x0, 0x0, 0x0}, u64 = {0x0, 0x0}, f32 = {
0x0, 0x0, 0x0, 0x0}, f64 = {0x0, 0x0}}
q8 {u8 = {0x22, 0x0, 0x4, 0x0, 0xa, 0x0, 0x18, 0x0, 0xa, 0x0,
0xe, 0x0, 0xa, 0x0, 0x6, 0x0}, u16 = {0x22, 0x4, 0xa, 0x18, 0xa, 0xe,
0xa, 0x6}, u32 = {0x40022, 0x18000a, 0xe000a, 0x6000a}, u64 = {
0x18000a00040022, 0x6000a000e000a}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {
0x0, 0x0}}
q9 {u8 = {0x4, 0x0, 0x6, 0x0, 0x4, 0x0, 0x2, 0x0, 0x1a, 0x0, 0x2,
0x0, 0x2, 0x0, 0x6, 0x0}, u16 = {0x4, 0x6, 0x4, 0x2, 0x1a, 0x2, 0x2,
0x6}, u32 = {0x60004, 0x20004, 0x2001a, 0x60002}, u64 = {0x2000400060004,
0x600020002001a}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {0x0, 0x0}}
q10 {u8 = {0x17, 0x0, 0xb, 0x0, 0xd, 0x0, 0xb, 0x0, 0xe, 0x0,
0x1a, 0x0, 0xc, 0x0, 0x10, 0x0}, u16 = {0x17, 0xb, 0xd, 0xb, 0xe, 0x1a,
0xc, 0x10}, u32 = {0xb0017, 0xb000d, 0x1a000e, 0x10000c}, u64 = {
0xb000d000b0017, 0x10000c001a000e}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {
0x0, 0x0}}
q11 {u8 = {0x1, 0x0, 0x1, 0x0, 0x7, 0x0, 0xb, 0x0, 0x18, 0x0, 0x0,
0x0, 0x2, 0x0, 0x6, 0x0}, u16 = {0x1, 0x1, 0x7, 0xb, 0x18, 0x0, 0x2,
0x6}, u32 = {0x10001, 0xb0007, 0x18, 0x60002}, u64 = {0xb000700010001,
0x6000200000018}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {0x0, 0x0}}
q12 {u8 = {0x5, 0x0, 0x21, 0x0, 0x12, 0x0, 0x25, 0x0, 0xf, 0x0,
0x5, 0x0, 0xf, 0x0, 0xf, 0x0}, u16 = {0x5, 0x21, 0x12, 0x25, 0xf, 0x5,
0xf, 0xf}, u32 = {0x210005, 0x250012, 0x5000f, 0xf000f}, u64 = {
0x25001200210005, 0xf000f0005000f}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {
0x0, 0x0}}
q13 {u8 = {0x16, 0x0, 0x2, 0x0, 0x7, 0x0, 0x3, 0x0, 0x1, 0x0, 0x5,
0x0, 0x11, 0x0, 0xf, 0x0}, u16 = {0x16, 0x2, 0x7, 0x3, 0x1, 0x5, 0x11,
0xf}, u32 = {0x20016, 0x30007, 0x50001, 0xf0011}, u64 = {0x3000700020016,
0xf001100050001}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {0x0, 0x0}}
q14 {u8 = {0x22, 0x0, 0xb, 0x0, 0xd, 0x0, 0x18, 0x0, 0xe, 0x0,
0x1a, 0x0, 0xc, 0x0, 0x10, 0x0}, u16 = {0x22, 0xb, 0xd, 0x18, 0xe, 0x1a,
0xc, 0x10}, u32 = {0xb0022, 0x18000d, 0x1a000e, 0x10000c}, u64 = {
0x18000d000b0022, 0x10000c001a000e}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {
0x0, 0x0}}
q15 {u8 = {0x4, 0x0, 0x6, 0x0, 0x7, 0x0, 0xb, 0x0, 0x1a, 0x0, 0x2,
0x0, 0x2, 0x0, 0x6, 0x0}, u16 = {0x4, 0x6, 0x7, 0xb, 0x1a, 0x2, 0x2,
0x6}, u32 = {0x60004, 0xb0007, 0x2001a, 0x60002}, u64 = {0xb000700060004,
0x600020002001a}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {0x0, 0x0}}
More information about the x264-devel
mailing list