package: cpqarrayd version: 2.3-1 When checking for controllers, cpdarrayd is being hit by a SEGABRT. Investigation by the original reporter seems to show the cciss_event_type struct is one byte shorter than needed: 511 bytes, instead of 512.
Increasing the struct padding by one seems to have resolved the issue. Original Ubuntu bug: https://bugs.edge.launchpad.net/ubuntu/+source/cpqarrayd/+bug/409060 Ubuntu 9.;10 Karmic Koala. The reporter has proposed a patch, at http://launchpadlibrarian.net/29912354/cpqarrayd_2.3-1ubuntu1.debdiff Thank you, Staktrace: GNU gdb 6.8-debian Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i486-linux-gnu"... (gdb) handle SIG33 pass nostop noprint Signal Stop Print Pass to program Description SIG33 No No Yes Real-time event 33 (gdb) set pagination 0 (gdb) run -d -v[0K[0K[0K[0K[0K[0K Starting program: /usr/sbin/cpqarrayd Checking for controllers.. DEBUG: Discarding old event 5/0/0 DEBUG: Discarding old event 5/2/0 DEBUG: Discarding old event 5/0/0 DEBUG: Discarding old event 5/0/0 DEBUG: Discarding old event 5/0/0 DEBUG: Discarding old event 5/0/0 DEBUG: Discarding old event 5/2/0 DEBUG: Discarding old event 5/0/0 DEBUG: Discarding old event 5/0/0 DEBUG: Discarding old event 5/2/0 DEBUG: Discarding old event 1/0/0 DEBUG: Discarding old event 4/0/0 DEBUG: Discarding old event 5/0/0 DEBUG: Discarding old event 1/0/1 DEBUG: Discarding old event 5/0/0 DEBUG: Discarding old event 5/0/0 DEBUG: Discarding old event 5/0/0 DEBUG: Discarding old event 1/0/0 DEBUG: Discarding old event 4/0/0 DEBUG: Discarding old event 5/0/0 DEBUG: Discarding old event 1/0/1 DEBUG: Discarding old event 5/0/0 DEBUG: Discarding old event 5/0/0 DEBUG: Discarding old event 5/0/0 Program received signal SIGABRT, Aborted. 0xb7fb6424 in __kernel_vsyscall () (gdb) backtrace full #0 0xb7fb6424 in __kernel_vsyscall () No symbol table info available. #1 0xb7e766d0 in raise () from /lib/tls/i686/cmov/libc.so.6 No symbol table info available. #2 0xb7e78098 in abort () from /lib/tls/i686/cmov/libc.so.6 No symbol table info available. #3 0xb7eb424d in ?? () from /lib/tls/i686/cmov/libc.so.6 No symbol table info available. #4 0xb7f48da8 in __fortify_fail () from /lib/tls/i686/cmov/libc.so.6 No symbol table info available. #5 0xb7f48d60 in __stack_chk_fail () from /lib/tls/i686/cmov/libc.so.6 No symbol table info available. #6 0x08049695 in cciss_interrogate_controller (opts={debug = 0 '\0', verbose = 0 '\0', syslog = 0 '\0', fork = 0 '\0', traphosts = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, nr_traphosts = 0}, devicefile=0x804b5d1 "/dev/cciss/c0d0") at discover.c:336 devicefd = 5 logicalluns = {LUNlist_len = "\000\000\000\b", reserved = 0, luns = {{LunAddrBytes = "\000\000\...@\000\000\000", SCSI3Lun = {{PeripDev = {Dev = 0 '\0', Bus = 0 '\0', Mode = 0 '\0'}, LogDev = {DevLSB = 0 '\0', DevMSB = 0 '\0', Mode = 0 '\0'}, LogUnit = {Dev = 0 '\0', Bus = 0 '\0', Targ = 0 '\0', Mode = 0 '\0'}}, {PeripDev = {Dev = 0 '\0', Bus = 0 '\0', Mode = 1 '\001'}, LogDev = {DevLSB = 0 '\0', DevMSB = 0 '\0', Mode = 1 '\001'}, LogUnit = {Dev = 0 '\0', Bus = 0 '\0', Targ = 0 '\0', Mode = 1 '\001'}}, {PeripDev = {Dev = 0 '\0', Bus = 0 '\0', Mode = 0 '\0'}, LogDev = {DevLSB = 0 '\0', DevMSB = 0 '\0', Mode = 0 '\0'}, LogUnit = {Dev = 0 '\0', Bus = 0 '\0', Targ = 0 '\0', Mode = 0 '\0'}}, {PeripDev = {Dev = 0 '\0', Bus = 0 '\0', Mode = 0 '\0'}, LogDev = {DevLSB = 0 '\0', DevMSB = 0 '\0', Mode = 0 '\0'}, LogUnit = {Dev = 0 '\0', Bus = 0 '\0', Targ = 0 '\0', Mode = 0 '\0'}}}, PhysDev = {TargetId = 0, Bus = 0, Mode = 1, Target = {{PeripDev = {Dev = 0 '\0', Bus = 0 '\0', Mode = 0 '\0'}, LogDev = {DevLSB = 0 '\0', DevMSB = 0 '\0', Mode = 0 '\0'}, LogUnit = {Dev = 0 '\0', Bus = 0 '\0', Targ = 0 '\0', Mode = 0 '\0'}}, {PeripDev = {Dev = 0 '\0', Bus = 0 '\0', Mode = 0 '\0'}, LogDev = {DevLSB = 0 '\0', DevMSB = 0 '\0', Mode = 0 '\0'}, LogUnit = {Dev = 0 '\0', Bus = 0 '\0', Targ = 0 '\0', Mode = 0 '\0'}}}}, LogDev = {VolId = 0, Mode = 1, reserved = "\000\000\000"}}, {LunAddrBytes = "\000\000\000\000\000\000 \000", SCSI3Lun = {{PeripDev = {Dev = 0 '\0', Bus = 0 '\0', Mode = 0 '\0'}, LogDev = {DevLSB = 0 '\0', DevMSB = 0 '\0', Mode = 0 '\0'}, LogUnit = {Dev = 0 '\0', Bus = 0 '\0', Targ = 0 '\0', Mode = 0 '\0'}}, {PeripDev = {Dev = 0 '\0', Bus = 0 '\0', Mode = 0 '\0'}, LogDev = {DevLSB = 0 '\0', DevMSB = 0 '\0', Mode = 0 '\0'}, LogUnit = {Dev = 0 '\0', Bus = 0 '\0', Targ = 0 '\0', Mode = 0 '\0'}}, {PeripDev = {Dev = 0 '\0', Bus = 0 '\0', Mode = 0 '\0'}, LogDev = {DevLSB = 0 '\0', DevMSB = 0 '\0', Mode = 0 '\0'}, LogUnit = {Dev = 0 '\0', Bus = 0 '\0', Targ = 0 '\0', Mode = 0 '\0'}}, {PeripDev = {Dev = 0 '\0', Bus = 0 '\0', Mode = 0 '\0'}, LogDev = {DevLSB = 0 '\0', DevMSB = 0 '\0', Mode = 0 '\0'}, LogUnit = {Dev = 0 '\0', Bus = 0 '\0', Targ = 0 '\0', Mode = 0 '\0'}}}, PhysDev = {TargetId = 0, Bus = 0, Mode = 0, Target = {{PeripDev = {Dev = 0 '\0', Bus = 0 '\0', Mode = 0 '\0'}, LogDev = {DevLSB = 0 '\0', DevMSB = 0 '\0', Mode = 0 '\0'}, LogUnit = {Dev = 0 '\0', Bus = 0 '\0', Targ = 0 '\0', Mode = 0 '\0'}}, {PeripDev = {Dev = 0 '\0', Bus = 0 '\0', Mode = 0 '\0'}, LogDev = {DevLSB = 0 '\0', DevMSB = 0 '\0', Mode = 0 '\0'}, LogUnit = {Dev = 0 '\0', Bus = 0 '\0', Targ = 0 '\0', Mode = 0 '\0'}}}}, LogDev = {VolId = 0, Mode = 0, reserved = "\000\000\000"}} <repeats 15 times>}} event = {timestamp = 0, class = {class = 0, subclass = 0, detail = 0}, detail = {physicaldrivechange = {physicaldrivenumber = 0, configureddriveflag = 0 '\0', sparedriveflag = 0 '\0', bigphysicaldrivenumber = 0 '\0', enclosurebaynumber = 0 '\0'}, powersupplydetail = {port = 0, psubid = 0, box = 0}, fandatadetail = {port = 0, fanid = 0, box = 0}, upsdetail = {port = 0, psupid = 0}, redctrldetail = {slot = 0}, temperaturedetail = {port = 0, sensorid = 0, box = 0}, chassisdetail = {port = 0, reserved = 0, box = 0}, phystatchange = {physicaldrivenumber = 0, failurereason = 0 '\0', configureddriveflag = 0 '\0', sparedriveflag = 0 '\0', bigphysicaldrivenumber = 0 '\0', enclosurebaynumber = 0 '\0'}, logstatchange = {logicaldrivenumber = 0, previouslogicaldrivestate = 0 '\0', newlogicaldrivestate = 0 '\0', currentsparestatus = 0 '\0'}, rebuildaborted = {logicaldrivenumber = 0, replacementdrive = 0 '\0', errordrive = 0 '\0', bigreplacementdrive = 0 '\0', bigerrordrive = 0 '\0'}, logfatalerrorio = {logicaldrivenumber = 0, logicalblockaddress = 0, logicalblockcount = 0, logicalcommand = 0 '\0', fataldrivebus = 0 '\0', fataldriveid = 0 '\0', biglogicalblockaddress = 0}, surfacedata = {logicaldrivenumber = 0}, redstatchange = {preferredslotcontrol = 0 '\0', currentredundancymode = 0 '\0', redundantcontrollerstatus = 0 '\0', redundantfailurereason = 0 '\0', previousslotcontrol = 0 '\0', previousredundancymode = 0 '\0', previousredundantctrlrstatus = 0 '\0', previousredundantfailurereason = 0 '\0'}, loophwinfo = {bus = 0}, data = '\0' <repeats 63 times>}, mesgstring = "No events to report.", '\0' <repeats 59 times>, tag = 0, time = {month = 0 '\0', day = 0 '\0', year = 0, seconds = 0}, prepowertime = 0, deviceaddr = {LunAddrBytes = "\000 \000\000\000\000\000\000", SCSI3Lun = {{PeripDev = {Dev = 0 '\0', Bus = 0 '\0', Mode = 0 '\0'}, LogDev = {DevLSB = 0 '\0', DevMSB = 0 '\0', Mode = 0 '\0'}, LogUnit = {Dev = 0 '\0', Bus = 0 '\0', Targ = 0 '\0', Mode = 0 '\0'}}, {PeripDev = {Dev = 0 '\0', Bus = 0 '\0', Mode = 0 '\0'}, LogDev = {DevLSB = 0 '\0', DevMSB = 0 '\0', Mode = 0 '\0'}, LogUnit = {Dev = 0 '\0', Bus = 0 '\0', Targ = 0 '\0', Mode = 0 '\0'}}, {PeripDev = {Dev = 0 '\0', Bus = 0 '\0', Mode = 0 '\0'}, LogDev = {DevLSB = 0 '\0', DevMSB = 0 '\0', Mode = 0 '\0'}, LogUnit = {Dev = 0 '\0', Bus = 0 '\0', Targ = 0 '\0', Mode = 0 '\0'}}, {PeripDev = {Dev = 0 '\0', Bus = 0 '\0', Mode = 0 '\0'}, LogDev = {DevLSB = 0 '\0', DevMSB = 0 '\0', Mode = 0 '\0'}, LogUnit = {Dev = 0 '\0', Bus = 0 '\0', Targ = 0 '\0', Mode = 0 '\0'}}}, PhysDev = {TargetId = 0, Bus = 0, Mode = 0, Target = {{PeripDev = {Dev = 0 '\0', Bus = 0 '\0', Mode = 0 '\0'}, LogDev = {DevLSB = 0 '\0', DevMSB = 0 '\0', Mode = 0 '\0'}, LogUnit = {Dev = 0 '\0', Bus = 0 '\0', Targ = 0 '\0', Mode = 0 '\0'}}, {PeripDev = {Dev = 0 '\0', Bus = 0 '\0', Mode = 0 '\0'}, LogDev = {DevLSB = 0 '\0', DevMSB = 0 '\0', Mode = 0 '\0'}, LogUnit = {Dev = 0 '\0', Bus = 0 '\0', Targ = 0 '\0', Mode = 0 '\0'}}}}, LogDev = {VolId = 0, Mode = 0, reserved = "\000\000\000"}}, padding = '\0' <repeats 334 times>} result = <value optimized out> #7 0x08049f2d in discover_controllers (opts={debug = 0 '\0', verbose = 0 '\0', syslog = 0 '\0', fork = 0 '\0', traphosts = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, nr_traphosts = 0}) at discover.c:113 cntr = 0 foundone = 0 #8 0x08048ef8 in main (argc=1, argv=0xbf8d2624) at cpqarrayd.c:172 option = <value optimized out> opts = {debug = 0 '\0', verbose = 0 '\0', syslog = 0 '\0', fork = 0 '\0', traphosts = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, nr_traphosts = 0} i = <value optimized out> pidfile = <value optimized out> myhandler = {__sigaction_handler = {sa_handler = 0x8, sa_sigaction = 0x8}, sa_mask = {__val = {64, 4, 4, 3085269840, 225011984, 3213697288, 3086744760, 3085292574, 3086710168, 4, 3086703280, 3086704016, 3213688834, 3086769512, 3085292550, 3086703292, 3086827508, 3086703380, 1, 3213697412, 3086745773, 1429956, 1429956, 7740, 3086827508, 3086702680, 3086811208, 3213697360, 3086763767, 2090266759, 3086702680, 65320836}}, sa_flags = 3, sa_restorer = 0xb7e4ed10} buffer = "\001\000\000\000ô?ý·\207ð\226|(Hý·p\"\215¿¿\002ü·`\"\215 ¿ðrû·T\"\215¿ÌGý·\000\000\000\000\220]û·\000\000\000\000\000\000\000\000 \001\000\000\000 ÊDB &\215¿8Xû·\000\000\000\000ô?ý·pFý·`\"\215¿T\"\215 ¿÷Fü·\001\000\000\000\000\000\000\000à#\215¿ Bý·\205uû·", '\0' <repeats 12 times>, " Fü·ô?ý·\000\000\000\0000\"\215¿\030\"\215¿õÀü·\b\000\000 \000\f\000\000\000\000[û·ð#\215¿bAü·\000[û·\020[û·\f\000\000\000ô?ý·\001 \000\000\000 Bý·\000\000\000\000 F"... myhost = <value optimized out> (gdb) info registers eax 0x0 0 ecx 0x364e 13902 edx 0x6 6 ebx 0x364e 13902 esp 0xbf8d15b8 0xbf8d15b8 ebp 0xbf8d15d0 0xbf8d15d0 esi 0x0 0 edi 0xb7fa9ff4 -1208311820 eip 0xb7fb6424 0xb7fb6424 <__kernel_vsyscall+16> eflags 0x246 [ PF ZF IF ] cs 0x73 115 ss 0x7b 123 ds 0x7b 123 es 0x7b 123 fs 0x0 0 gs 0x33 51
signature.asc
Description: This is a digitally signed message part