From: Henry N. <Henry.Ne@Arcor.de> - 2005-09-20 07:21:22
|
* Bugfix: Crash, if walking in big directory of cofs via "find | xargs file". Function co_utf8_wctowbstrlen() access behind the size of buffer, if buffer has no termination 0000h. In this case the 'while' reads the byte from "buffer[size+1]" before checks the size (maxlen). GCC parse the source "while (*ip && maxlen > 0)" from left to right. Better should use "while (maxlen > 0 && *ip)", or separate lines. More outputs of objdump in top of attached file. Message on blue screen: PAGE_FAULT_IN_NONPAGED_AREA STOP: 0x00000050 (0xFF6D8000,0x00000000,0xECECCE6B,0x00000000) linux.sys Address ECECCE6B base at ECEBD000, DateStamp 42df22bd This bug is the same as reported on SF: "updatedb crash linux.sys" https://sourceforge.net/tracker/?func=detail&atid=622063&aid=1235993&group_id=98788 Patch for Monotone source Date: 2005-08-29T11:13:53 Branch: org.colinux.devel (and also for org.colinux.stable) Thanks Juergen, for saving the blue screen with your digicam! :) -- Henry Nestler Juergen Hennerich wrote: > Am Fr, den 16.09.2005 schrieb Henry Nestler um 9:42: > >>Hello Juergen, >> >>I spitt the mail thread in separate titel. >> >>Juergen Hennerich wrote: >> > >> > Have you tested a find or maybe a repeatedly find | xargs file over a >> > complete harddisk? >> > >> >># mount | grep cofs >>cofs0:/ on /media/cofs0 type cofs (rw,noexec,nosuid,nodev,uid=500,gid=100) >> >># cd /media/cofs0 >># find > find.list >># find | xargs file > /tmp/find.xargs.log 2>/tmp/find.xargs.err >># find | xargs --replace file \{\} > /tmp/find.xargs-replace.log >>2>/tmp/find.xargs-replace.err >># find -exec file \{\} \; > /tmp/find-exec.log 2>/tmp/find-exec.err >># wc -l /tmp/find* >> 89847 find.list >> 0 find-exec.err >> 89852 find-exec.log >> 1 find.xargs-replace.err >> 4920 find.xargs-replace.log >> 0 find.xargs.err >> 941 find.xargs.log >> >>"find" runs nomal. >>"find | xargs file" stops on directory names with spaces. >>"find | xargs --replace file" stops on limit of command line lengh. >>"find -exec file \{\} \;" works perfect, ready after ~40 minutes. One >>error with "-char in filename. I run this all as normal user (not root). >> >>No cofs related errors. Cofs is the full drive "C:\" 10GB NTFS, and a >>"in a directory mounted" FAT32 partion 15GB, round 20GB used. >> >>I wish, I would see your error. What is exatly your command line? What >>are the mount arguments for cofs? >>Are any files on cofs open, if your "find" runs? A open file under cofs >>is read and write locked, perhaps this is the problem? Please give me >>your "lsof | grep cofs" before find starts. > > Cofs runs very unstable on my test hardware. Nearly every use of cofs > leads in a relatively short time to a crash. But this could also be a > driver related problem. > > > >>Have you seen any error message or a kernel oops-message, or a Dr.Watson >>output of crash, or some messages in Windows event log? We need only >>the instruction pointer (register IP) from daemon or linux kernel. > > > I don't have any debugging tools under windows. Is the report that > Windows wants to send to Microsoft useful? > > > Juergen > |