On Fri, Nov 15, 2002 at 03:37:26PM +0100, Holger Waechtler wrote: > Hi Florian, > > thanks for tracking this down. I applied your patches to CVS. > Florian Schirmer wrote: > >Hi, > > > >as promised the two patches which close the memleaks. I've not spend very > >much time to find out how much impact this bug has. It is at least a mem > >leak. Maybe it will kill the ioctl callbacks at all if the demux module > >has been reloaded. That depends on how the list_for_each traverses the > >list. > > > >The ioctl patch should be applied. The other depends on the patch i send > >earlier today. > > > >But be aware. Again untested. I just verified it compiles. Well, I tested it with an Hauppauge DVB-C Revision 2.1 and the following happened, although I don't know if that was related to this patch: After compilation and "make insmod" I did an successful czap to a channel, as I found vdr has problems for me to tune to channels when I don't czap before. After that I started vdr which was not able to tune to any channel. Instead the two [kdvb-fe] processes consumed a maximum of cpu time. After waiting some time for vdr to tune to a channel, the system went slower and slower up to a point, where it was completely frozen. No interaction with keyboard and mouse was possible. I went to a different system and did a "ssh root@node" to the system. I killed vdr. vdr was cone, but still no local interaction possible. I did a "rmmod dvb-ttpci" and local interactivity came completely back to the system. Then I did a "make rmmod" and a "make insmod" and restarted vdr. This time it worked (and works up to now). But then I noticed that there was an oops on the logs. The time must have been about the time I did the "rmmod dvb-ttpci" or maybe the time I did remove the rest of the modules by "make rmmod". The oops looks the following way: --- ksymoops 2.4.5 on i686 2.4.19-4GB. Options used -v /root/vmlinux (specified) -k /proc/ksyms (default) -l /proc/modules (default) -o /lib/modules/2.4.19-4GB/ (default) -m /boot/System.map-2.4.19-4GB (default) Warning (compare_ksyms_lsmod): module ip_nat_f is in lsmod but not in ksyms, probably no symbols exported Error (compare_ksyms_lsmod): module ip_nat_ftp is in ksyms but not in lsmod Error (compare_ksyms_lsmod): module iptable_nat is in ksyms but not in lsmod Error (compare_ksyms_lsmod): module ip_conntrack_ftp is in ksyms but not in lsmod Error (compare_ksyms_lsmod): module ip_conntrack is in ksyms but not in lsmod Error (compare_ksyms_lsmod): module ip_tables is in ksyms but not in lsmod Error (compare_ksyms_lsmod): module lvm-mod is in ksyms but not in lsmod Error (compare_ksyms_lsmod): module reiserfs is in ksyms but not in lsmod Error (compare_ksyms_lsmod): module aic7xxx is in ksyms but not in lsmod Unable to handle kernel paging request at virtual address d9197090 c0e0006f *pde = 04053067 Oops: 0000 2.4.19-4GB #1 Mon Oct 14 22:11:39 UTC 2002 CPU: 0 EIP: 0010:[<c0e0006f>] Tainted: P Using defaults from ksymoops -t elf32-i386 -a i386 EFLAGS: 00010246 eax: d9197000 ebx: c9370200 ecx: 00000006 edx: 02000040 esi: c9370200 edi: 00000000 ebp: 00000001 esp: c76f1f00 ds: 0018 es: 0018 ss: 0018 Process kdvb-fe (pid: 26294, stackpage=c76f1000) Stack: c9370200 c0e00269 c9370200 c9370200 00000002 c0e00dc0 c9370200 c9370238 00000006 c9370200 00000001 c0e00ec4 c2c5f9e0 c76f1f5c 00000001 c9370a02 00000000 0000001b 00007650 c936d0aa c2c5f9e0 c76f1f5c 00000001 00000009 Call Trace: [<c936d0aa>] [<c011b67d>] [<c936d8a7>] [<d29b5856>] [<d29b6213>] [<c01072c6>] [<d29b6050>] Code: 8b 98 90 00 00 00 75 09 89 d8 5b c3 90 8d 74 26 00 53 68 00 >>EIP; c0e0006f <[dvb-ttpci].text.start+f/30> <===== >>eax; d9197000 <END_OF_CODE+331117d/????> >>ebx; c9370200 <[bttv].bss.end+400861/4646c1> >>edx; 02000040 Before first symbol >>esi; c9370200 <[bttv].bss.end+400861/4646c1> >>esp; c76f1f00 <[usbserial].bss.end+fd6c5/74f825> Trace; c936d0aa <[bttv].bss.end+3fd70b/4646c1> Trace; c011b67d <schedule+15d/250> Trace; c936d8a7 <[bttv].bss.end+3fdf08/4646c1> Trace; d29b5856 <[lirc_dev].bss.end+1e93a17/24d5221> Trace; d29b6213 <[lirc_dev].bss.end+1e943d4/24d5221> Trace; c01072c6 <kernel_thread+26/30> Trace; d29b6050 <[lirc_dev].bss.end+1e94211/24d5221> Code; c0e0006f <[dvb-ttpci].text.start+f/30> 00000000 <_EIP>: Code; c0e0006f <[dvb-ttpci].text.start+f/30> <===== 0: 8b 98 90 00 00 00 mov 0x90(%eax),%ebx <===== Code; c0e00075 <[dvb-ttpci].text.start+15/30> 6: 75 09 jne 11 <_EIP+0x11> c0e00080 <[dvb-ttpci].text.start+20/30> Code; c0e00077 <[dvb-ttpci].text.start+17/30> 8: 89 d8 mov %ebx,%eax Code; c0e00079 <[dvb-ttpci].text.start+19/30> a: 5b pop %ebx Code; c0e0007a <[dvb-ttpci].text.start+1a/30> b: c3 ret Code; c0e0007b <[dvb-ttpci].text.start+1b/30> c: 90 nop Code; c0e0007c <[dvb-ttpci].text.start+1c/30> d: 8d 74 26 00 lea 0x0(%esi,1),%esi Code; c0e00080 <[dvb-ttpci].text.start+20/30> 11: 53 push %ebx Code; c0e00081 <[dvb-ttpci].text.start+21/30> 12: 68 00 00 00 00 push $0x0 1 warning and 8 errors issued. Results may not be reliable. --- Robert -- Robert Schiele Tel.: +49-621-181-2517 Dipl.-Wirtsch.informatiker mailto:rschiele@uni-mannheim.de
Attachment:
pgp00020.pgp
Description: PGP signature