2009年5月14日星期四

2009年5月10日星期日

溜冰

很久以来,看到广场上溜冰的儿童,总有些羡慕的感觉。恰好这段时间,想运动运动,一来锻炼身体,二来达到将体重控制到130以内的任务,所以,就准备来练一练溜冰。

溜的是冰场,不是旱冰,有人说容易点,总是将信将疑。拿到了冰鞋,穿起来,听不舒服的感觉。进入冰场,只敢绕着边,靠着墙慢慢走。走了一半,摔了一跤,四脚朝天,这时候才感到,屁股上其实肉不是太多。脚腕很疼,据说是站立姿势不对,没办法,只能先练练感觉。这东西,感觉比游泳难学,因为游泳是不同痛苦的,溜冰脚腕却需要承受着巨大的压力。

不过,慢慢的,似乎也就能离墙慢溜了。据说要几次才能达到这个境界,可是我横看竖看,并不属于运动天赋极高的那种。仔细想来,运动也是需要动脑的。

脚很疼,却能够比较自由的满场滑动,不知道是否该高兴一番。

2009年5月9日星期六

游泳游伤了

游了一下午,从2点半到5点,在水里还不觉得有什么,只是感觉膀子有点累,于是只用脚蹬,不用手划,继续了一会儿。上了水,在池边坐着,慢慢的有了长跑1千5百米的感觉,心脏有点难受,严重的是,似乎到了现在,感觉还没好点。

第一次游泳受了伤,第一次运动过了量。

不知道明天能否有精力去学溜冰了。

2009年5月7日星期四

筹钱滑冰

很久前,还是大四的时候,同学的表弟来南京,托我带他到南大看看。我本来要去军人俱乐部,也就欣然答应。来到军人俱乐部,我原意去买两本书,小家伙却想去溜冰,拗不过他,不情愿的带他去了军人俱乐部的一家溜冰场。第一次溜冰的记忆,就产生了。

回头看啦,七年过去了。第一次记忆依旧,却没有其他补充了。想来岁月蹉跎,光阴荏苒,再没多少个七年了,遂下定决心,参加溜冰俱乐部。虽然时常担心,光溜溜的冰面上,如此年纪一把,摔倒了,能否忍受。但想到大Tony如此身高,重心如此之高,还乐此不疲,也就没什么恐惧的了。

于是,准备筹钱入会!

我会游泳拉

刚下水的时候,挺慌张地,感觉上次还能换上三口气,游上好几米,这次一下去就往下沉,很是郁闷。比较了半天,发现今天多带了一块手表,抑或身体密度大了点,自我安慰了一番。

慢慢的胆大了,发现有可疑漂浮起来,也就继续游了起来,突然发觉,竟然游了好一大圈,勉强换起气来。很兴奋,继而发现如今换气,似乎唯一的问题在于肺活量太小,换气不多。无论如何,也算会游拉。

所以很高兴得宣布,我会游泳拉!

我的小羊

.















这只小羊跟了我好久拉,一直陪着我工作,看着她,心里暖暖的,很安心的感觉。最近老是噩梦,梦见醒来小羊丢了。艾,人说,能够记住梦,还老记住,还是噩梦,怕不是什么好兆头,心里好牵挂小羊阿。

2009年5月3日星期日

剪刀手爱德华






爱德华是个机器人,他有一双剪刀手,灵巧的剪刀手。本来,他的父亲要送给他一副常人的手,却在给他安置好的前一刻突然去世了。所以,爱德华生来一副剪刀手,他的手就是一对剪刀。




爱德华怯生生的,看起来像个不通事故的大男孩。他害羞,善良。安静的躲在他出生的城堡。直到有一天,一位善良的女人,将他带到了人类社会。他辛勤的劳动,用他的双手,剪出美丽的世界。人们似乎接纳了他。然而,他却忘记了,他的剪刀手,注定了他这辈子不能爱人,也无法得到别人的爱。当他伸出他的双手时,给人带来的只能是伤害,因为,那不是一双手,那是一对剪刀。他甚至无法拥抱自己所爱的人,因为他爱她,他不能伤害她。最终,它只能逃回了他的城堡,那是他出生的地方,也该是他永远的所在。它可以为别人付出,但是,他不能爱别人,也不会得到别人的真爱。




爱德华是不幸的,他的不幸是注定的,从他出生的那天起,就注定了,注定了这一生,他只能呆在他出生的地方。




爱德华又是幸福的,他孤独的呆在自己的城堡,在远方,他的所爱却一直将他放在了心底。多少年后,她已经垂垂老矣,在一个飘雪的夜晚,她告诉自己的孙女,在路尽头,有一座城堡,城堡里住着一位剪刀手,漫天的飞雪,是他剪刀下冰块的碎屑。她清楚地记得,这里本不会下雪,第一次下雪的那个圣诞,她永远记得,那是爱德华飞舞着双剪,在为她做一座冰雕,那是她圣诞的礼物。冰屑落下,漫天飞舞,而她就在冰屑中随风飘舞。打那以后,每年的圣诞,都会下雪。她知道,那是爱德华送她的礼物。




她始终没有勇气回去,回去看一看,那个寂寞一生,默默思念着她的爱德华,去告诉他,他其实不必如此孤单。她没有回去, 因为她不想让爱人看到自己苍老的容颜。




她其实可以早点去看他的。






美丽人生


Life is beautiful, but the end can't let me comfortable. Let's appreciate our current life.
Yesterday is history, Tommorrow is mistery, But today is a gift. That is why it is called present.

Just DO NOT WASTE THE LIFE.

2009年5月2日星期六

私人文件系统




















随着艳照门事件,个人隐私越来越得到重视。

在计算机上,保护个人隐私有很多方法,比如说加密拉,隐藏拉等等。

最近,写了一个小程序,实现这样的功能。如果有文件不希望被人看到,只需要将他标志为私人文件。其后,除非你登录该软件(运行,输入用户名密码),该文件都会被彻底的隐藏起来。

上面是个界面截图,很简单。

2009年5月1日星期五

[转]雷!淘宝上卖F22战机爆强提问引围观









我公司主营重型攻击性武器,现有3架F22猛禽战斗机(每架售价RMB28亿)和15辆M1A2主站坦克(每台RMB18亿)出售,另外还有1枚白杨-M(-27)地对地远程洲际弹道导弹(可以携带核弹头),欢迎各界军阀和阿拉伯世界的KB分子前来我公司选购。
F-22技术参数:
● 全长1892m● 全宽1356m● 全高5m● 空重13636Kg● 最大起飞重量27273Kg● 超音速巡航时飞行速度1590km● 高空最大飞行速率2335km● 海平面最大飞行速率1482km● 升限15240m

工作方式:
空对空:空空搜索与跟踪,空战机动(ACM,近程空战格斗),边测距边搜索(RW),搜索高度显示,边速度搜索边测距(VR),边跟踪边扫描,单目标跟踪(),袭击群目标分辨,改善上视搜索(远距搜索),战情提示,通过凹口跟踪技术。
空对地:增强实波束地形测绘,扩展地形测绘,多普勒波束锐化(选用地图"冻结"),信标,地面动目标跟踪,地面动目标显示(GM)。
空对海:海面目标检测(选用地图"冻结",中低海情),固定目标跟踪,地面动目标显示(GM),地面动目标跟踪(GM)。
扫描范围格斗状态:30°×20°(正常),10°×60°(垂直扫描),跟踪能力同时跟踪10个目标,波束锐化81(D1),641(D2),AR像素的目标尺寸为03m,30m长目标有100个像素,天线型式有源相控阵列,天线直径约1m,R组件2000个,组件功率10W组件,MF整机400,天线2000,冷却方式液冷......

以上该人才在掏宝上所出售商品的介绍。真正被雷到是以下是众强人的提问以及掌柜的回复
--------------------------------------------------------------------------------

j**y:我想订购一枚核弹,有么?
掌柜:不好意思,核弹已经被一位爱好和平的中东人士订购了,谢谢,如果到货,我会第一时间贴出来的。

vkjkg:忘了问了,买战机送不送导弹?最好是2个空空,一个反舰,如果可以卖1送3的话,正好曰本停的有艘航母,我想可以先试下机不?
掌柜:格不包含武器装备,需要的话我们会另外报价.

wag0203c:根据现在的汇率计算,28亿是不是贵了点?
掌柜:你找遍全世界,只有我能搞到F22.

dogl2:老板,这个f22刷什么版本的软件?价格高了点,有山寨版麽,我就拿去虎虎人,有个样子就成
掌柜:我们是卖ammo的,不卖手机。
ra_fly:提供雇佣军服务么?
掌柜:我们是正经商人,不提供人口买卖.

a**g:我老婆她要做环球旅行,你们的飞机环球旅行效果怎么样啊
掌柜:我们的飞机只卖不租,谢谢.
ra_fly:你们那里还出售银河战舰,黑洞o!!!么?有没有星河舰队雇佣军提供?
掌柜:我们是卖地球上用的东西。。。。。。。。。。
odda719:你好我想买一架!你们负责培训不?(我有驾驶摩托车基础)如果培训包食宿不?还有,如果飞机故障,你们负责上门维修不?谢谢!
掌柜:培训和维修都需要另外收费,不过你的底子差了点,不保证能学会。。。。。。
丁**6:老板有擎天柱变形金刚卖吗?要正品哦~~~~
掌柜:有圣斗士,要吗?
臭**:请问颜色可选吗?
掌柜:额,目前只有一种颜色,不过你可以己买回来喷上你喜欢的颜色,这个成本不是很高的
幽灵无际:我想预定一个核弹。有的话直接扔到靖国神厕,我直接付双款
掌柜:核弹目前没货,你可以先买颗白杨,回头等我有核弹了通知你,我也想炸曰本。。。。。。。。
aoao20070919:请问烧93#汽油能飞不?
掌柜:额。。。这个木有相关的科学试验,不过你可以买一架回去试试看
cy878198:请问这个价钱附带瞄准盔具吗?我想配套买几枚AM-120C,可以提供吗?
掌柜:我们不做配件,AM-120C无货
a**g忘了问了买航母送飞机吗
掌柜:木有航母。。。。。。
天**克:掌柜的好!我是一个和平主义者,为了维护我们村的和平,我想购买一辆M1A2主站坦克,请问能不能用快递包裹帮我寄过来。另外,基于我的出发点,能否给我打个折。:)
掌柜:这个价格是不包含运费的,如果你需要的话可以来我公司详谈
aol2008:请问老板终结者3000有货么。。。。或者2000也可以。。
掌柜:目前没有,如果需要的话,可以支付5千万定金,我们帮助你联系好莱坞定做一台
my1977:掌柜,买了帮上牌照,带票吗,说明书包装都齐吧
掌柜:coraad货不上牌不开票
zagj110110:问下掌柜,飞机上有挂菜篮子的地方没啊,我开出去的时候好方便买菜。
掌柜:可以根据你的要求焊个挂点,但是隐身性能就不能保证了~
**2:团购便宜吗?想团购一下!
掌柜:团购每架送2枚AM-120C-7
cglj029:大哥,买这个阿可以送白宫一日游的阿?
掌柜:送白宫3日游,还可以和小不死共进晚餐

afmz:还有没有货?我想做我们村的总代理,大概需要什么手续?请发克斯详细资料过来!谢谢!
掌柜:供不应求不需要代理谢谢

dsfdf**:我想买一个上下班代步,但是不知道上海这里办牌照方便吗我还想问下用什么快递公司的几天可以到货?
掌柜:我们有职业驾驶员送货。上海没办法办牌,不过我们可以用搪瓷给您做一个
埃弗艾克斯:老板,你这F22水货还是行货?是可变形版的还是美版的,有保修没?
掌柜:这玩意儿有行货吗??不能变形,美版外贸尾单
寸**梦:掌柜的您好请问这个飞机上面有厕所吗?
掌柜:没有,飞行员都用尿布的,,不知道吗?
yaoy1982:可以垂直起降吗?家里地方小,没地方盖跑道
掌柜:过两天有阿帕奇

笛子曲

鹿鼎记里面的一首曲子,找了好久,总算找到了。




浮起来了

2个星期没去游泳,还老有点担心,刚刚琢磨出来的点水性,会否有忘记了。

闷着头,继续潜泳。这也算我现在唯一的绝活了。

好在有人从旁指点,改进了些许蹬水姿式,又试了几下,发现自己慢慢的可以一动不动的浮在水面了。很神奇的。按理说腿重浮不起来,实际确真的浮了起来。兴奋了好一阵。

继续奋斗,练习换气。换气最大的问题在于,张口吸气,往往会吸进水来。不忍心吞下这口苦水,第二次换气,就成了问题。想来真笨,从来没想过,在水来可以吐出嘴里的水,所以,僵持了好久,只能呼上一口,直至有人指点迷津。成功换了3口气候,兴致盎然,以至管理人员清理场地,才依依不舍的离开了。

期待下一次!

2009年4月28日星期二

A Drvier Crash Dump Analysis

//
// According to analyze, BSoD has occurred because tmtdi driver access illegal memory address (90900020)
// when it tries to process network event (connect).
//

0: kd> vertarget
Windows Server 2003 Kernel Version 3790 (Service Pack 1) MP (2 procs) Free x86 compatible
Product: LanManNt, suite: TerminalServer SingleUserTS
Built by: 3790.srv03_sp1_rtm.050324-1447
Machine Name:*** ERROR: Module load completed but symbols could not be loaded for srv.sys

Kernel base = 0x80800000 PsLoadedModuleList = 0x808af988
Debug session time: Wed Apr 8 18:00:01.906 2009 (GMT+9)
System Uptime: 0 days 0:02:28.656

0: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************

DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)
An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high. This is usually
caused by drivers using improper addresses.
If kernel debugger is available get stack backtrace.
Arguments:
Arg1: 90900020, memory referenced
Arg2: 00000002, IRQL
Arg3: 00000000, value 0 = read operation, 1 = write operation
Arg4: ba3979e2, address which referenced memory

Debugging Details:
------------------

READ_ADDRESS: 90900020

CURRENT_IRQL: 2

FAULTING_IP:
tmtdi!MyEventConnect+580 [d:\nsc5.3\src\tmtdi\drv\sys\tmtdint.c @ 266]
ba3979e2 8b4e18 mov ecx,dword ptr [esi+18h]

DEFAULT_BUCKET_ID: DRIVER_FAULT

BUGCHECK_STR: 0xD1

PROCESS_NAME: casdscsvc.exe

TRAP_FRAME: f789e7ac -- (.trap 0xfffffffff789e7ac)
ErrCode = 00000000
eax=ba49c387 ebx=10000000 ecx=16a10003 edx=16a00002 esi=90900008 edi=f789e890
eip=ba3979e2 esp=f789e820 ebp=f789e8cc iopl=0 nv up ei ng nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010286
tmtdi!MyEventConnect+0x580:
ba3979e2 8b4e18 mov ecx,dword ptr [esi+18h] ds:0023:90900020=????????
Resetting default scope

LAST_CONTROL_TRANSFER: from ba3979e2 to 80837ed5

STACK_TEXT:
f789e7ac ba3979e2 badb0d00 16a00002 00000000 nt!KiTrap0E+0x2a7
f789e8cc ba49bd8a 88a68558 00000016 f789e930 tmtdi!MyEventConnect+0x580
f789e94c ba49caf9 88c87e98 190215ac 00007013 tcpip!DelayedAcceptConn+0xbe
f789ea10 ba4a6f9f 89b406f0 0b0215ac 190215ac tcpip!TCPRcv+0x1054
f789ea70 ba4a69e8 00000020 89b406f0 ba4a854d tcpip!DeliverToUser+0x189
f789eb24 ba4a6c66 89b406f0 89ac562c 0000001a tcpip!IPRcvPacket+0x66c
f789eb64 ba4a6d68 00000000 89df7828 89ac560a tcpip!ARPRcvIndicationNew+0x149
f789eba0 f72141d9 89ab2008 00000000 00000000 tcpip!ARPRcvPacket+0x68
f789ebf4 baaed769 89be1130 f789eda4 00000002 NDIS!ethFilterDprIndicateReceivePacket+0x318
WARNING: Stack unwind information not available. Following frames may be wrong.
f789ef3c bab034ab 00000002 89b1b500 89b16000 b57xp32+0x6769
00000000 00000000 00000000 00000000 00000000 b57xp32+0x1c4ab


STACK_COMMAND: kb

FOLLOWUP_IP:
tmtdi!MyEventConnect+580
ba3979e2 8b4e18 mov ecx,dword ptr [esi+18h]

SYMBOL_STACK_INDEX: 1

SYMBOL_NAME: tmtdi!MyEventConnect+580

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: tmtdi

IMAGE_NAME: tmtdi.sys

DEBUG_FLR_IMAGE_TIMESTAMP: 47ce457b

FAILURE_BUCKET_ID: 0xD1_tmtdi!MyEventConnect+580

BUCKET_ID: 0xD1_tmtdi!MyEventConnect+580

Followup: MachineOwner
---------

0: kd> .trap 0xfffffffff789e7ac
ErrCode = 00000000
eax=ba49c387 ebx=10000000 ecx=16a10003 edx=16a00002 esi=90900008 edi=f789e890
eip=ba3979e2 esp=f789e820 ebp=f789e8cc iopl=0 nv up ei ng nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010286
tmtdi!MyEventConnect+0x580:
ba3979e2 8b4e18 mov ecx,dword ptr [esi+18h] ds:0023:90900020=????????

//
// The illegal memory address (90900020) is IRP's CurrentStackLocation.
// The IRP (ba49c387) is already freed even if ClientEventConnect event handler returns STATUS_MORE_PROCESSING_REQUIRED (c0000016).
//

0: kd> ub tmtdi!MyEventConnect+0x580 L16
tmtdi!MyEventConnect+0x510
ba397972 398570ffffff cmp dword ptr [ebp-90h],eax
ba397978 743b je tmtdi!MyEventConnect+0x553 (ba3979b5)
ba39797a ffb56cffffff push dword ptr [ebp-94h]
ba397980 ffb560ffffff push dword ptr [ebp-0A0h]
ba397986 ffb564ffffff push dword ptr [ebp-9Ch]
ba39798c ff751c push dword ptr [ebp+1Ch]
ba39798f ffb574ffffff push dword ptr [ebp-8Ch]
ba397995 ff7514 push dword ptr [ebp+14h]
ba397998 ffb568ffffff push dword ptr [ebp-98h]
ba39799e ff750c push dword ptr [ebp+0Ch]
ba3979a1 ffb680000000 push dword ptr [esi+80h]
ba3979a7 ff9570ffffff call dword ptr [ebp-90h] // <== This is ClientEventConnect event handler. (*4)
ba3979ad 898578ffffff mov dword ptr [ebp-88h],eax // <== Set return code of the event handler. (*3)
ba3979b3 eb0a jmp tmtdi!MyEventConnect+0x55d (ba3979bf)
ba3979b5 c78578ffffff010000c0 mov dword ptr [ebp-88h],0C0000001h
ba3979bf 81bd78ffffff160000c0 cmp dword ptr [ebp-88h],0C0000016h
ba3979c9 0f85f7000000 jne tmtdi!MyEventConnect+0x664 (ba397ac6)
ba3979cf 8b856cffffff mov eax,dword ptr [ebp-94h] // <== (*1)
ba3979d5 8b00 mov eax,dword ptr [eax] // <== (*2)
ba3979d7 85c0 test eax,eax
ba3979d9 0f84e7000000 je tmtdi!MyEventConnect+0x664 (ba397ac6)
ba3979df 8b7060 mov esi,dword ptr [eax+60h]
0: kd> u tmtdi!MyEventConnect+0x580
tmtdi!MyEventConnect+0x580
ba3979e2 8b4e18 mov ecx,dword ptr [esi+18h] // <== BSoD point is.
ba3979e5 89b574ffffff mov dword ptr [ebp-8Ch],esi
ba3979eb ff156cc639ba call dword ptr [tmtdi!_imp_ObfReferenceObject (ba39c66c)]
ba3979f1 ff7618 push dword ptr [esi+18h]
ba3979f4 6860c939ba push offset tmtdi!gDeviceContext (ba39c960)
ba3979f9 e8da82ffff call tmtdi!FindEventInfo (ba38fcd8)
ba3979fe 85c0 test eax,eax
ba397a00 898570ffffff mov dword ptr [ebp-90h],eax

0: kd> dds ebp-0x94 L1 // <== (*1)
f789e838 f789e910

0: kd> ? poi(f789e910)
Evaluate expression: -1169570937 = ba49c387 // <== eax register's value is. (*2)

0: kd> dt nt!_IRP poi(f789e910) -r2
+0x000 Type : -16251
+0x002 Size : 0x850f
+0x004 MdlAddress : 0x000000b5 _MDL
+0x000 Next : ????
+0x004 Size : ??
+0x006 MdlFlags : ??
+0x008 Process : ????
+0x00c MappedSystemVa : ????
+0x010 StartVa : ????
+0x014 ByteCount : ??
+0x018 ByteOffset : ??
+0x008 Flags : 0xe90107c6
+0x00c AssociatedIrp : __unnamed
+0x000 MasterIrp : 0x000000ab _IRP
+0x000 Type : ??
+0x002 Size : ??
+0x004 MdlAddress : ????
+0x008 Flags : ??
+0x00c AssociatedIrp : __unnamed
+0x010 ThreadListEntry : _LIST_ENTRY
+0x018 IoStatus : _IO_STATUS_BLOCK
+0x020 RequestorMode : ??
+0x021 PendingReturned : ??
+0x022 StackCount : ??
+0x023 CurrentLocation : ??
+0x024 Cancel : ??
+0x025 CancelIrql : ??
+0x026 ApcEnvironment : ??
+0x027 AllocationFlags : ??
+0x028 UserIosb : ????
+0x02c UserEvent : ????
+0x030 Overlay : __unnamed
+0x038 CancelRoutine : ????
+0x03c UserBuffer : ????
+0x040 Tail : __unnamed
+0x000 IrpCount : 171
+0x000 SystemBuffer : 0x000000ab
+0x010 ThreadListEntry : _LIST_ENTRY [ 0x90909090 - 0x55ff8b90 ]
+0x000 Flink : 0x90909090 _LIST_ENTRY
+0x000 Flink : ????
+0x004 Blink : ????
+0x004 Blink : 0x55ff8b90 _LIST_ENTRY
+0x000 Flink : ????
+0x004 Blink : ????
+0x018 IoStatus : _IO_STATUS_BLOCK
+0x000 Status : -1957237621
+0x000 Pointer : 0x8b56ec8b
+0x004 Information : 0x4eff0875
+0x020 RequestorMode : 48 '0'
+0x021 PendingReturned : 0x57 'W'
+0x022 StackCount : 15 ''
+0x023 CurrentLocation : -123 ''
+0x024 Cancel : 0x70 'p'
+0x025 CancelIrql : 0x1 ''
+0x026 ApcEnvironment : 0 ''
+0x027 AllocationFlags : 0 ''
+0x028 UserIosb : 0x4defc0bf _IO_STATUS_BLOCK
+0x000 Status : ??
+0x000 Pointer : ????
+0x004 Information : ??
+0x02c UserEvent : 0xffcf8bba _KEVENT
+0x000 Header : _DISPATCHER_HEADER
+0x000 Type : ??
+0x001 Absolute : ??
+0x001 NpxIrql : ??
+0x002 Size : ??
+0x002 Hand : ??
+0x003 Inserted : ??
+0x003 DebugActive : ??
+0x000 Lock : ??
+0x004 SignalState : ??
+0x008 WaitListHead : _LIST_ENTRY
+0x030 Overlay : __unnamed
+0x000 AsynchronousParameters : __unnamed
+0x000 UserApcRoutine : 0x4dd2c015 void +4dd2c015
+0x004 UserApcContext : 0x842ca1ba
+0x000 AllocationSize : _LARGE_INTEGER 0x842ca1ba`4dd2c015
+0x000 LowPart : 0x4dd2c015
+0x004 HighPart : -2077449798
+0x000 u : __unnamed
+0x000 QuadPart : -8922578940186148843
+0x038 CancelRoutine : 0xc085ba4e void +ffffffffc085ba4e
+0x03c UserBuffer : 0x850fcf8b
+0x040 Tail : __unnamed
+0x000 Overlay : __unnamed
+0x000 DeviceQueueEntry : _KDEVICE_QUEUE_ENTRY
+0x000 DriverContext : [4] 0x0000ea6c
+0x010 Thread : 0xd00815ff _ETHREAD
+0x014 AuxiliaryBuffer : 0xe856ba4d "--- memory read error at address 0xe856ba4d ---"
+0x018 ListEntry : _LIST_ENTRY [ 0xa9 - 0xc25d5e5f ]
+0x020 CurrentStackLocation : 0x90900008 _IO_STACK_LOCATION // <== The corrupted CurrentStackLocation is here.
+0x020 PacketType : 0x90900008
+0x024 OriginalFileObject : 0x8b909090 _FILE_OBJECT
+0x000 Apc : _KAPC
+0x000 Type : 0x6c 'l'
+0x001 SpareByte0 : 0xea ''
+0x002 Size : 0 ''
+0x003 SpareByte1 : 0 ''
+0x004 SpareLong0 : 0xd2c415ff
+0x008 Thread : 0x558aba4d _KTHREAD
+0x00c ApcListEntry : _LIST_ENTRY [ 0x84e8d0c - 0xd00815ff ]
+0x014 KernelRoutine : 0xe856ba4d void +ffffffffe856ba4d
+0x018 RundownRoutine : 0x000000a9 void +a9
+0x01c NormalRoutine : 0xc25d5e5f void +ffffffffc25d5e5f
+0x020 NormalContext : 0x90900008
+0x024 SystemArgument1 : 0x8b909090
+0x028 SystemArgument2 : 0xec8b55ff
+0x02c ApcStateIndex : 81 'Q'
+0x02d ApcMode : -117 ''
+0x02e Inserted : 0xd ''
+0x000 CompletionKey : 0x0000ea6c
Memory read error ffcf8bbe

0: kd> !pool poi(f789e910)
Pool page ba49c387 region is Unknown
ba49c000 is not a valid large pool allocation, checking large session pool...
ba49c000 is freed (or corrupt) pool // <==
Bad previous allocation size @ba49c000, last size was 0

0: kd> dds ebp-0x88 L1 // <== (*3)
f789e844 c0000016 // <== STATUS_NEED_MORE_PROCESSING

//
// The IRP (ba49c387) is out parameter from ClientEventConnect event handler of saknet driver.
// (Ref. for ClientEventConnect: http://msdn.microsoft.com/en-us/library/ms801682.aspx)
//

0: kd> u poi(ebp-0x90) // <== (*4)
saknet+0xb3b6: // <== This is saknet driver's.
b92733b6 55 push ebp
b92733b7 8bec mov ebp,esp
b92733b9 83ec5c sub esp,5Ch
b92733bc 56 push esi
b92733bd 57 push edi
b92733be 8b4508 mov eax,dword ptr [ebp+8]
b92733c1 8945f8 mov dword ptr [ebp-8],eax
b92733c4 8b4d10 mov ecx,dword ptr [ebp+10h]

0: kd> lmtv m saknet
start end module name
b9268000 b927af60 saknet
Loaded symbol image file: saknet.sys
Image path: \SystemRoot\system32\drivers\saknet.sys
Image name: saknet.sys
Timestamp: Sat Apr 26 09:13:57 2008 (481273C5)
CheckSum: 000210FA
ImageSize: 00012F60
Translations: 0000.04b0 0000.04e4 0409.04b0 0409.04e4

//
// All the information above, saknet.sys driver seems to have bad behavior when STATUS_NEED_MORE_PROCESSING is returned.
//

2009年4月27日星期一

30年前大雨如柱

30年前,农村到处是绿油油的水田,清澈见底的小河,颠簸不堪的土路,稀稀落落的村庄,还有纯朴的人们。

30年前,工业贫乏。少有汽车,少有工业产品。

30年前,上桥还是永安的中心。村子的东南,有条L形的长河。向东通向马甸,向南通向大桥。这条河又有个少为人知的名字,叫萝卜河,相传是乡邻吃着萝卜挖出来的,而它的作用也很明确,灌溉土地,增产增收。河的东南面,有路。向东,是通往县城的官道,石子铺路,人称马路。向南,通往大桥,一个很小的港口,却是条地方小路。南面半路,是乡里的医院,正规的医院。

30年前,还是集体社会,大家共同劳动,共同分配。没有巨富,没有巨贫。

30年前,麦子已经收割,田地里布满秧苗,散落在稀落的村庄周围。

30年前,大雨如柱,据说百年不遇。雨大,风大,雷响,闪电很亮。村民将塑料布盖在秧苗上,因为那关系到大家的生计。地里积水很多,村民将官道挖出一个水渠,来排水减涝。

30年前,一群人,冒着大雨,行进在南方泥泞的小道上。他们有队长,有队里的委员,有普通的乡民,有年老的,有年少的,还有一名产妇,高龄产妇,病危的产妇。他们从医院赶出来,要找下一家医院,因为乡里的医生已经断定,这次的情况,他们处理不好。下一家医院,在县城,在30公里之外。半路,不知是谁,扯去了路边秧苗上的油布,盖在了孕妇的身上。不知是谁,跑回村里的合作社,拿来了200元。剩下的咬着牙,赶着路,要赶到官道,那是唯一的希望。兴许有车路过,虽然那个时代,石子铺的马路,平时都少有车子通过,更遑论者大雨倾盆的天气。到了,有辆卡车在等着。大家揉了揉眼,不敢相信。是真的,卡车在那,卡车掉在那挖开的排水渠里。

后来听说,到了县城医院,孕妇手上血管已无从找齐,只能从脚上勉强找到血管挂上点滴。

后来听说,孩子生下是没气的,妈妈也是没气的。医生拍了孩子几下屁股,孩子终于哇的叫了出来,妈妈也醒转过来,也算老天保佑。

后来听说,孩子的爸爸,心乱手忙,无所适从。孩子的舅舅握着姐姐的手,送她进了手术台。

后来听说,妈妈进手术台的时候,已经迷糊,只看到医院的一个大钟,指着某个时刻,没想到能够再出来。

后来听说,孩子的爷爷,直到知道是个男孩,才让奶奶赶了过来。

后来,孩子的太爷给他取名枭生,谐音孝生,让他永远记住,要孝顺自己的妈妈。

后来,孩子10岁生日那天,大雨倾盆。

后来,孩子的爷爷病了一场。不是大病,却没挺过来。第二天,当初扯油布的,也去世了,在同一所医院,就是当初妈妈被抬出的医院。那一年,孩子上初一。

后来,孩子的舅舅出了意外,脑卢破裂。妈妈过去,握着他的手,就像当年他握着妈妈的手一样。舅舅叹了口气,却说不出话。第二天,走了。那一年孩子上高一。

后来,孩子20岁生日那天,大雨倾盆,孩子却在准备高考。

如今30年过去了,今年会不会下雨?

新的人生

很久很久了,想留下自己的回忆。 在Google安了个家,似乎一直不能正常访问,也就一直没有开始。很偶然,今天访问到这里,发现可以了,也算是份礼物。
开始吧,我也该有个新的人生了。