QNX4.25死机问题

操作系统为Qnx 4.25,运行在PC机上,CPU P3 800,内存256M,程序运行后向数据终端发送数据,采用TCP协议,数据量为500kBps左右。

Qnx系统启动后运行程序,如果向windows数据终端发送数据,大约30分钟后,从其他机器用Telnet远程登陆QNX,可显示欢迎信息,输入用户名和密码后,Qnx系统死机(不能连接网络,不响应键盘鼠标的输入,显示器没有输出)。但似乎QNX的核心进程还在运行,因为程序设置如果核心进程退出,硬件看门狗将重启系统,但是QNX死机时看门狗并没有起作用。如果Qnx系统向Unix数据终端传送数据,则没有死机现象。

曾经观察到一个现象:使用telnet远程登陆Qnx系统,在输入用户名和密码正确的情况下,总是不能成功登录到Qnx上,Qnx反复要求输入用户/密码。
使用Sniffer监视网络报文,发现奇怪的现象:在终端输入用户名字符时,telnet报文正确,但在输入回车时,送出的telnet报文数据为“0d 0a 00 00 00 00”,返回的telnet报文数据则是“0d 0a 1b 5b 36 39 44 72 20 1b 5b 36 37 62”(正确报文应该返回“0d 0a 00 00 00 00”),然后telnet 返回“70 61 73 73 77 6f 72 64 3a”(“password:”)要求输入密码,我在输完密码后回车,送出的telnet报文数据为“0d 0a 00 00 00 00”,返回的telnet报文数据是乱码"1b 5b 36 38 44 72 20 1b 5b 36 36 62 1b 5b 36 37 44 74 20 1b 5b 36 35 62 0d 0a",然后要求我重新输入用户名和密码。过了一段时间后,又可以登录上去了。

怀疑是Qnx的TCP/IP处理模块的问题,同时又与磁盘操作有关系,如果程序不进行磁盘操作,则一切正常,如果加载了磁盘操作就会出现上面所说的怪现象,请高手指点!

我感觉可能是 pseudo tty 被搞乱了。你可以试试把那个不好的登陆窗口访在一边,再开一个窗口进行telnet 登陆. 这样,第一个telnet用着坏的pty, 第二个telnet就会分到一个新的pty, 希望这是一个好的pty.

有关死机问题作一下进一步的说明,上次描述的有些错误:
1.死机时QNX核心进程实际已经死掉,原来观察到系统没有重启是因为看门狗设置不正确。
2.系统运行一段时间后,用telnet或FTP登陆都有可能导致QNX死机,而且都是进行到密码验证通过,开始列磁盘目录那一步系统就死掉了,所以怀疑死机和磁盘操作有直接的关系。