本篇文章给大家谈谈t-crash,以及civilization对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
本文目录
Crash 是什么意思
crash
KK: []
DJ: []
vi.
1.(发出猛烈声音地)碰撞,倒下,坠落
The motorcycle crashed into the fence.
摩托车猛地撞在围栏上。
2.(飞机等)坠毁,撞坏
An airliner crashed west of Denver last night.
昨夜一架客机在丹佛西边坠毁。
3.(发出很响声音地)冲,闯[Q]
4.发出撞击声,发出爆裂声
Listen to the thunder crash.
听劈雷发空运芦出的巨响。
5.失败;垮台;破产
His company crashed last year.
他的公司去年破产了。
6.【俚】(免费)宿夜;睡
I'd crashed Friday afternoon-- I hadn't completely recovered from the infection.
我星期五下午昏睡过去了,我发炎还没完全恢复过来。
7.【电脑】死机
The PC just crashed.
那部个人电脑刚死机了。
vt.
1.(发出猛烈声音地)撞击,砸碎
2.使斗带(飞机等)坠毁,使(飞机等)撞坏
3.(发出很响声音地)冲,闯[O]
They crashed their tanks through the railings.
他们开着坦克哗啦一声冲过围栏。
4.【口】无票进入(会场等),闯入
5.【电脑】死机
X crashed the system.
X把那个系统搞得死机了。
n.[C]
1.相撞(事故);(飞机的)坠毁,迫降
A lot of passengers were killed in the train crash.
许多旅客在火车车祸中丧生了。
2.撞击声,爆裂声
3.失败;垮台;破产
4.【俚】睡
5.【电脑】死机
a.
1.应悄稿急的,速成的[B]
以上结果由 Dr.eye译典通字典提供
crush和crash有啥区别
crush和crash的区别
一、读音不同
crush英[krʌʃ]美[krʌʃ]
crash英[kræʃ]美[kræʃ]
二、释义不同
crush
vt.压坏;挤压变形;把…挤入;压碎;捣碎;(使)变皱;镇压;破坏;
n.(狭小空间中)拥挤的人群;(通常指年轻人对年长者的短暂的)热恋;果汁饮料;
crash
n.崩溃;碰撞;撞车;相撞;碰撞声;暴跌;倒闭;破产;失败;
v.碰撞;撞击;(使)猛撞;使发出巨响;(突然)贬值;(比赛中)溃败;入睡;心脏停止跳动;
adj.应急的;速成的;
三、词形变化不同
crush的第三人称单数:crushes复数:crushes现在分词:crushing过去式:crushed过去分词:crushed
crash的正贺第三人称单数:crashes复数:crashes现在分词:crashing过去式:crashed过去分词:crashed
四、用法不同
crush意为“压缩;迷恋;镇压”,常用于以下场景:
1、指将物体压碎或压缩成小块或小片,例如:“He crushed the can with his foot.”(他用脚把罐子压扁了);
2、指对某人或某事物产生喜欢的情感,例如:“She has a crush on her co-worker.”(她暗恋她的同事);
crash意为“撞击;崩溃;破裂;崩溃声”,常用于以下场景:
1、指两个物体相撞或碰撞,例如:“The car crashed into a tree.”(车撞上了一棵树);
2、指系统或计算机崩溃或失效,例如:“My computer crashed and I lost all my files.”(我的电脑崩溃了,我失去了所有的文件);
3、指一些东西突然破裂,例如:“The glass vase crashed to the floor and shattered into pieces.”(玻璃花瓶掉到地上破碎了)洞清改。
五、双语例句
crush
1、Don'tcrushthebox,thereareeggsinside.
别压坏箱子,里面有鸡蛋。
2、Don'tcrushthisbox;ithasflowersinit.
别把这只箱子压坏,它里边装的是花。
3、Severalpeoplewerecrushedtodeathintheaccident.
好几个人在事故中压死了。
4、Icouldn'tfindawaythroughthecrush.
人太挤,我挤不过去。
5、Overtwentyprisonerswerecrushedintoasmalldarkcell.
二十多名囚犯被塞在一间黑暗狭小的牢房里。
crash
1、Hesaidit'dbelikeacomputersystemcrash.
他说那就象是电脑系统崩溃。
2、AnalysesofEnergyManagementSystem'Crash'Failure
能量管理系统崩溃故障分析
3、Thecauseofthecrashwasgiven纳判asenginefailure.
撞车事故的原因被认定是发动机故障。
4、Threepeoplewerekilledandfiveinjuredinthecrash.
撞车事故中有三人死亡,五人受伤。
5、MycomputercrasheseverytimeIdisconnectfromtheInternet.
我每次断网,计算机都会突然死机。
collide和crash的区别是什么
一、读音不同袭派
collide:英 [kəˈlaɪd]美 [kəˈlaɪd]
The bus and the van collided.
公共汽车与客货车相撞。
crash:英 [kræʃ]美 [kræʃ]
It's a marvel that you weren't killed in the car crash.
你撞车谈禅缓中没撞死真万幸。
二、意思不完全相同
collide:
vi.碰撞;相撞;冲突;抵触
The ships collided in the fog.
轮船在雾中相撞。
crash:
v.碰撞;使发出巨响;暴跌;睡觉
n.崩溃;碰撞;碰撞声;暴跌
adj.应急的;速成的
A car crash into a big tree.
一辆小汽车撞到了一棵大树上。
三、侧重点不同
collide除了指物理上的碰撞,也可以含模表示“〔不同的观念、想法等〕碰撞〔而产生有趣结果〕;crash是拟声词,指有力的或带有金属碰击声的打、敲或相互冲击。
Istanbul is the place where East and West collide.
伊斯坦布尔是东西方文化交会的地方。
She crashed the door shut in great anger.
她十分愤怒的把门砰的一声关上。
怎样解决crash dump error
Memory错误
在内核中,内存是以cache的形式组织的,每个对象类型对应一个cache,如(inod_cache,dentry_cache, buffer_head,vm_area_strutct等);每个cache包含多个slab(slab由一个或多个页组成,这些页物理上是连续的);每个slab包含多烂氏个初始化的对象。
Cache可以分为两类【kmalloc使用的和其他】,当然他们是用同一个函数创建的。
1.Crash> Kmem-s
CACHE NAME OBJSIZE ALLOCATED TOTAL SLABS SSIZE
ee2bb0c0 scsi_sense_cache 120 2 32 1 4k
ee2bbac0 scsi_cmd_cache 176 2 22 1 4k
ee000c60 size-4194304 4194304 0 0 0 4096k
ee000bc0 size-2097152 2097152 0 0 0 2048k
ee000b20 size-1048576 1048576 1 1 1 1024k
ee000a80 size-524288 524288 0 0 0 512k
ee0009e0 size-262144 262144 0 0 0 256k
ee000940 size-131072 131072 1 1 1 128k
ee0008a0 size-65536 65536 2 2 2 64k
ee000800 size-32768 32768 1 1 1 32k
ee000760 size-16384 16384 9 9 9 16k
ee0006c0 size-8192 8192 10 10 10 8k
ee000620 size-4096 4096 26 44 44 4k
ee000580 size-2048 2072 53 60 20 8k
ee0004e0 size-1024 1048 332 343 49 8k
ee000440 size-512 536 771 798 114 4k
ee0003a0 size-256 280 54 84 6 4k
ee000300 size-192 216 734 756 42 4k
ee000260 size-128 152 2301 2314 89 4k
ee0001c0 size-32 56 13439 13668 204 4k
ee000120 size-96 120 1067 1120 35 4k
ee000080 size-64 88 3137 3168 72 4k
调用唯正函数kmalloc(xxx)得到的memory都来名字为size-xx的cache.
2.CONFIG_DEBUG_SLAB
为便于调试,在每个对象可以添加SLAB_RED_ZONE,添加这块内存的最后使用者SLAB_STORE_USER,且用SLAB_POISON初始化对象。
这些特殊的元素是什么?
Include/linux/poison.h
/*
*Magic nums for obj red zoning.
*Placed in the first word before and the first word after an obj.
*/
#define RED_INACTIVE 0x09F911029D74E35BULL/*when obj is inactive*/
#define RED_ACTIVE 0xD84156C5635688C0ULL/*when obj is active*/
/*...and for poisoning*/
#define POISON_INUSE 0x5a/*for use-uninitialised poisoning*/
#definePOISON_FREE 0x6b/* foruse-after-free poisoning*/
#define POISON_END 0xa5/*end-byte of poisoning*/
3.log| tail xxx
当slab出错时,会把cachename/ objecet的开始地址(没有考虑redzone)
redzone的内容/lastuser和指历悔object的内容都会打印出来,另外还包含该对象前后对象的信息。
[ 45.501503:0] Slab corruption(Not tainted): size-64 start=e74b3398,len=64
[ 45.508518:0] Redzone: 0x9f911029d74e35b/0x9f911029d74e35b.
[ 45.514118:0] Last user: [
[ 45.519816:0] 010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b d8 b0 54 e8 kkkkkkkkkkkk..T.
[ 45.527633:0] Prev obj: start=e74b3340, len=64
[ 45.532108:0] Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
[ 45.537880:0] Last user:[
[ 45.544777:0] 000: 47 34 00 00 2c 8b e5 e7 00 00 00 00 00 00 00 00 G4..,...........
[ 45.552584:0] 010: f1 31 4b e7 50 83 e5 e7 10 46 61 e7 00 00 00 00.1K.P....Fa.....
[ 45.560393:0] Next obj: start=e74b33f0, len=64
[ 45.564866:0] Redzone: 0xd84156c5635688c0/0xd84156c5635688c0.
[ 45.570636:0] Last user: [
[ 45.576479:0] 000: 01 00 00 00 5a 5a 5a 5a 00 00 00 00 5a 5a 5a 5a....ZZZZ....ZZZZ
[ 45.584281:0] 010: ad 4e ad de ff ff ff ff ff ff ff ff 00 00 00 00.N..............
[ 45.592154:0]------------[ cut here ]------------
[ 45.596974:0] kernel BUG atmm/slab.c:2037!
[ 45.601188:0] Internal error: Oops- BUG: 0 [#1] PREEMPT SMP ARM
[ 45.607223:0] Modules linked in:
[ 45.610516:0] CPU: 0 Not tainted(3.4.0-gc37fe8c-dirty#657)
[ 45.616585:0] PC is at check_poison_obj+0x194/0x1b4
[ 45.621512:0] LR is at console_unlock+0x1c0/0x1d4
[ 45.626260:0] pc: [
[ 45.626294:0] sp: e58e1c68 ip: e58e1a40 fp: e58e1c9c
[ 45.638134:0] r10: e74b3398 r9: 00000008 r8: e74b3338
[ 45.643565:0] r7: 00000040 r6: e74b3000 r5: e74b33e8 r4:ee000080
[ 45.650296:0] r3: 00000001 r2: 00000010 r1: 00000020 r0:e74b33f0
[ 45.657033:0] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
[ 45.664635:0] Control: 10c53c7d Table: af4e404a DAC: 00000015
kmem-S size-64
从打印的信息siize-64start=e74b3398,得知出问题的是cache:size-64,地址为
e74b3390.
4.Crash> kmem-S cache name
crash>kmem-S size-64| grep e74b3390
[e74b3390]
crash>rd e74b3390 0x64
e74b3390: 9d74e35b 09f91102 6b6b6b6b6b6b6b6b [.t.....kkkkkkkk
e74b33a0: 6b6b6b6b 6b6b6b6b 6b6b6b6b 6b6b6b6b kkkkkkkkkkkkkkkk
e74b33b0: 6b6b6b6b e854b0d8 6b6b6b6b6b6b6b6b kkkk..T.kkkkkkkk
e74b33c0: 6b6b6b6b 6b6b6b6b 6b6b6b6b 6b6b6b6b kkkkkkkkkkkkkkkk
e74b33d0: 6b6b6b6b a56b6b6b 9d74e35b09f91102 kkkkkkk.[.t.....
e74b33e0: ff000000 c03446e8
从出问题的这个object的用于debug的信息可知:
redzone: 9d74e35b 09f91102:RED_INACTIVE
poisondata: 6b: POISON_FREE
usercall: c03446e8
5.last caller
最后操作这块内存的函数为:
crash>dis-r c03446e8
0xc03446cc<__DWC_FREE>: mov r12, sp
0xc03446d0<__DWC_FREE+4>: push{r11, r12, lr, pc}
0xc03446d4<__DWC_FREE+8>: sub r11, r12,#4
0xc03446d8<__DWC_FREE+12>: stmfd sp!,{lr}
0xc03446dc<__DWC_FREE+16>: ldmfd sp!,{lr}
0xc03446e0<__DWC_FREE+20>: mov r0, r1
0xc03446e4<__DWC_FREE+24>: bl 0xc00d51fc
0xc03446e8<__DWC_FREE+28>: ldm sp,{r11, sp, pc}
结合如下的backtrace,可知问题就是从slab申请的一个对象,但发现其中的元素不对(不是0x6b,却出现了e854b0d8,所以crash)
[ 45.596974:0] kernel BUG at mm/slab.c:2037!
[ 46.736498:0] Backtrace:
[ 46.739243:0] [
[ 46.749743:0] [
[ 46.759680:0] r7:00000038 r6:00008020 r5:a0000093 r4:ee000080
[ 46.765709:0] [
[ 46.774674:0] [
[ 46.784585:0] [
[ 46.793916:0] r4:db95faa8 r3:00000003
[ 46.797796:0] [
[ 46.807069:0] [
[ 46.816603:0] [
6.解决问题
从上面的分析可知,问题是memoryfree后,代码又操作了这块内存。
现在问题是__DWC_FREE最后操作了这块内存,__DWC_FREE只是封装了kfree,
如果直接使用kfree,通过SLAB_STORE_USER就可以知道那个函数调用了kfree,
进而知道申请的对象类型,看那个该对象类型的那个成员被赋值,就可以在代码中搜索。
如该例知道了类型为dwc_otg_qtd_t,且成员qh在内存释放后被赋值,就可以在代码中详细查找,分析。
crash>dwc_otg_qtd_t e74b3398
structdwc_otg_qtd_t{
data_toggle= 0x6b,
control_phase=(DWC_OTG_CONTROL_DATA| DWC_OTG_CONTROL_STATUS| unknown:1802201960),
complete_split= 0x6b,
ssplit_out_xfer_count= 0x6b6b6b6b,
error_count= 0x6b,
isoc_frame_index= 0x6b6b,
isoc_split_pos= 0x6b,
isoc_split_offset= 0x6b6b,
urb= 0x6b6b6b6b,
qh= 0xe854b0d8,
qtd_list_entry={
cqe_next= 0x6b6b6b6b,
cqe_prev= 0x6b6b6b6b
},
in_process= 0x6b,
n_desc= 0x6b,
isoc_frame_index_last= 0x6b6b
}
在相关的代码中搜索哪里操作了数据结构dwc_otg_qtd_t的qh成员。
1.dash,crash的区别
1.dash,crash的区别 dash主要指冲撞的过程,笑棚磨crash主要指碰斗冲撞的结果
2.hold on,hold out,hold to作坚持的区别都只用坚持解释是语气强烈不一样,hold to表示丝毫不变,hold on表示没有改变,hold out尽量维持原状,语气强若可以看出来了吧,那就是由高到低为:hold to, hold on, hold out
3.send,detail,dispatch做派遣的区别只丛和逗派遣解释是:send有点敷衍了事,detail详细分说,dispatch表示分派,语气强若就非常明显了,由高到低是:detail,dispatch,send,
4.judge,justice作法官的区别 judge表示说了就算的最高级法官,justice表示普通法官
文章到此结束,如果本次分享的t-crash和civilization的问题解决了您的问题,那么我们由衷的感到高兴!