记录一下今天遇到的奇怪DSI

UT的时候总是稳定地触发DSI ,仔细查看dump和对照源码,发现是crash在这一行:

printf("285787 UT: %s The checked command has already been completed.\n\n"__FUNCTION__);


 

 

也就是说,仅仅少了一个逗号,而__FUNCTION__本身也是一个字符串(被预处理替换之后是当前函数的名字字符串),因此被自动地和format字符串内连接成一个长字符串,没有语法错误,但是format字符串里的%s就没有被指定对应的参数了。往常这种情况,一般也就是会打印一些乱码而已,但是今天居然会稳定地crash,颇有些神奇。可惜今天由于时间关系没法仔细研究了,先记录一下stack吧(函数名加码处理过)

# kdb dumpfile
dumpfile mapped from @ a00000000000000 to @ a000000739c6b5b
[kdb_dump_llseek] Invalid file offset
WARNING: Possibly truncated or corrupted dump
           START              END <name>
0000000000001000 0000000005730000 start+000FD8
F00000002FF47600 F00000002FFDF9C0 __ublock+000000
000000002FF22FF4 000000002FF22FF8 environ+000000
000000002FF22FF8 000000002FF22FFC errno+000000
F1000F0A00000000 F1000F0A10000000 pvproc+000000
F1000F0A10000000 F1000F0A18000000 pvthread+000000
Dump analysis on CHRP_SMP_PCI POWER_PC POWER_7 machine with 16 available CPU(s)  (64-bit registers)
Processing symbol table...
.......................done
FRRs started since system IPL: 1
(1)> stat
SYSTEM_CONFIGURATION:
CHRP_SMP_PCI POWER_PC POWER_7 machine with 16 available CPU(s)  (64-bit registers)

SYSTEM STATUS:
sysname... AIX
nodename.. SF7506070ESS11
release... 1
version... 7
build date May 25 2012
build time 15:40:28
label..... 1221B_71B
machine... 00F66D1A4C00
nid....... F66D1A4C
time of crash: Mon Jul  1 05:49:46 2013
age of system: 37 min., 32 sec.
xmalloc debug: enabled
FRRs active... 1
FRRs started.. 1

CRASH INFORMATION:
CPU 1 CSA F00000002FF47600 at time of crash, error code for LEDs: 30000000
pvthread+086E00 STACK:
[00342B00]kdb_str_len+000000 (000000008015F6A6 [??])
[003427CC]kdb_doprnt_internal+00054C (??, ??, ??, ??, ??)
[0003F920]sprintf+000040 (000000000B6D54CA, 0000000009445B5C,
   000000008015F6A6, F10024002300D908, 0000000000000000, 0000000000000000,
   F100240025185EF8, F100240025185EE8)
[08B21EA0]osPrintf+000160 (0000000009445B5C, 000000008015F6A6,
   F10024002300D908, 0000000000000000, 0000000000000000, F100240025185EF8,
   F100240025185EE8, 00000000000036BF)
[085F6758]ZZZZZCheckZZFOLostZZZZCommand+000358 (??)
[08653060]ZZZZZGenericDispatch+000060 (??)
[08B361A4]osScanXXXYYYYYYY+000344 (??, ??, ??)
[08B33BC0]osScanXXX+0000E0 (??, ??)
[08B34B7C]osScanLoop+0003BC (??)
[08B35E08]osScanKproc+000468 (??, ??, ??)
[076B553C]procKproc+0000FC (??, ??, ??)
[00258690]procentry+000010 (??, ??, ??, ??)
[kdb_read_mem] no real storage @ FFFFFFFFFFF6540



 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值