[Click] click-uninstall error

Beyers Cronje bcronje at webmail.co.za
Tue Nov 30 14:56:40 EST 2004


Hi Eddie,

Quite new to Linux, still getting my hands around the linux
tools available, so thanks for the ksymoops pointer :) 

It seems the problem is in
proclikefs_unregister_filesystem, any ideas?

Below output of ksymoops.

Nov 29 22:41:53 p2p kernel: Unable to handle kernel NULL
pointer dereference at virtual address 00000003
Nov 29 22:41:53 p2p kernel: f89233b2
Nov 29 22:41:53 p2p kernel: *pde = 00000000
Nov 29 22:41:53 p2p kernel: Oops: 0000
Nov 29 22:41:53 p2p kernel: CPU:    0
Nov 29 22:41:53 p2p kernel: EIP:    0010:[<f89233b2>]
   Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
Nov 29 22:41:53 p2p kernel: EFLAGS: 00010297
Nov 29 22:41:53 p2p kernel: eax: fffffecf   ebx: 00000003
  ecx: c0368d60   edx: f602b500
Nov 29 22:41:53 p2p kernel: esi: f5bc23a4   edi: f5bc2380
  ebp: dacadf5c   esp: dacadd48
Nov 29 22:41:53 p2p kernel: ds: 0018   es: 0018   ss: 0018
Nov 29 22:41:53 p2p kernel: Process rmmod (pid: 31559,
stackpage=dacad000)
Nov 29 22:41:53 p2p kernel: Stack: c017afcc 464c457f
00010101 00000000 00000000 00030003 00000001 00000b30
Nov 29 22:41:53 p2p kernel:        00000034 464c457f
00010101 00000000 00000000 00030003 00000001 80000b30
Nov 29 22:41:53 p2p kernel:        00000034 000125a8
00000000 00200034 00280003 000f0012 41ab8991 41ab8991
Nov 29 22:41:53 p2p kernel: Call Trace:    [<c017afcc>]
[<c01388b5>] [<c01388b5>] [<c0136db3>] [<c012bbce>]
Nov 29 22:41:53 p2p kernel:   [<c012bf31>] [<c0130a05>]
[<c012bcb0>] [<c0136db3>] [<c012bbce>] [<c012bf31>]
Nov 29 22:41:53 p2p kernel:   [<c01161e8>] [<f89bb373>]
[<c016876a>] [<f89bb36d>] [<f89bb36d>] [<f89a69bc>]
Nov 29 22:41:53 p2p kernel:   [<c011cc43>] [<f89a3e77>]
[<c011d2b1>] [<c011c536>] [<c010760f>]
Nov 29 22:41:53 p2p kernel: Code: 8b 1b 50 e8 26 7c 83 c7
83 c4 10 39 f3 75 e7 89 77 24 89 77


>>EIP; f89233b2
<[proclikefs]proclikefs_unregister_filesystem+56/d8>
  <=====

>>eax; fffffecf <END_OF_CODE+7586810/????>
>>ecx; c0368d60 <bad_inode_ops+0/50>
>>edx; f602b500 <_end+35be097c/384d84dc>
>>esi; f5bc23a4 <_end+35777820/384d84dc>
>>edi; f5bc2380 <_end+357777fc/384d84dc>
>>ebp; dacadf5c <_end+1a8633d8/384d84dc>
>>esp; dacadd48 <_end+1a8631c4/384d84dc>

Trace; c017afcc <journal_stop+15c/1f0>
Trace; c01388b5 <__alloc_pages+65/290>
Trace; c01388b5 <__alloc_pages+65/290>
Trace; c0136db3 <lru_cache_add+73/80>
Trace; c012bbce <do_anonymous_page+ee/150>
Trace; c012bf31 <handle_mm_fault+81/120>
Trace; c0130a05 <filemap_nopage+1a5/220>
Trace; c012bcb0 <do_no_page+80/280>
Trace; c0136db3 <lru_cache_add+73/80>
Trace; c012bbce <do_anonymous_page+ee/150>
Trace; c012bf31 <handle_mm_fault+81/120>
Trace; c01161e8 <do_page_fault+188/534>
Trace; f89bb373 <[click].rodata.end+4ac4/79eb1>
Trace; c016876a <remove_proc_entry+ba/130>
Trace; f89bb36d <[click].rodata.end+4abe/79eb1>
Trace; f89bb36d <[click].rodata.end+4abe/79eb1>
Trace; f89a69bc <[click]handler_ioctl+40/228>
Trace; c011cc43 <qm_symbols+f3/1e0>
Trace; f89a3e77 <[click]init_module+117/430>
Trace; c011d2b1 <free_module+d1/e0>
Trace; c011c536 <sys_delete_module+e6/270>
Trace; c010760f <system_call+33/38>

Code;  f89233b2
<[proclikefs]proclikefs_unregister_filesystem+56/d8>
00000000 <_EIP>:
Code;  f89233b2
<[proclikefs]proclikefs_unregister_filesystem+56/d8>
  <=====
   0:   8b 1b                     mov    (%ebx),%ebx
  <=====
Code;  f89233b4
<[proclikefs]proclikefs_unregister_filesystem+58/d8>
   2:   50                        push   %eax
Code;  f89233b5
<[proclikefs]proclikefs_unregister_filesystem+59/d8>
   3:   e8 26 7c 83 c7            call   c7837c2e
<_EIP+0xc7837c2e>
Code;  f89233ba
<[proclikefs]proclikefs_unregister_filesystem+5e/d8>
   8:   83 c4 10                  add    $0x10,%esp
Code;  f89233bd
<[proclikefs]proclikefs_unregister_filesystem+61/d8>
   b:   39 f3                     cmp    %esi,%ebx
Code;  f89233bf
<[proclikefs]proclikefs_unregister_filesystem+63/d8>
   d:   75 e7                     jne    fffffff6
<_EIP+0xfffffff6>
Code;  f89233c1
<[proclikefs]proclikefs_unregister_filesystem+65/d8>
   f:   89 77 24                  mov    %esi,0x24(%edi)
Code;  f89233c4
<[proclikefs]proclikefs_unregister_filesystem+68/d8>
  12:   89 77 00                  mov    %esi,0x0(%edi)


Beyers

On Tue, 30 Nov 2004 08:38:09 -0800
 Eddie Kohler <kohler at cs.ucla.edu> wrote:
> Beyers,
> 
> Why not use 'ksymoops' to find out where the error is?
>  The stack backtrace should tell you.  You can provide it
> with an explicit map for Click by running click-install
> with the -m option.
> 
> Eddie
> 
> 
> Beyers Cronje wrote:
> > Hi all,
> > 
> > I get an intermittend "Unable to handle kernel NULL
> pointer
> > dereference" when using click-uninstall.
> > 
> > Log file and running click config shown at the bottom.
> > I'd say around 90% of the time click-uninstall works
> 100%. 
> > 
> > I'm running one custom element named "ipStats". Ive
> > included the cleanup stage routines of this custom
> element.
> > Am I not cleaning the hashmaps correctly or might this
> > error be related to one of the other elements?
> > 
> > Any ideas ?
> > 
> > Kind regards
> > 
> > Beyers Cronje
> > 
> > ****Cleanup routines***************************
> > int P2PStats::initialize(ErrorHandler *) {
> > 		_tcp_gc_timer.initialize(this);
> > 		_tcp_gc_timer.schedule_after_s(_tcp_gc_interval);
> > 		_tcp_done_gc_timer.initialize(this);
> >
>
		_tcp_done_gc_timer.schedule_after_s(_tcp_done_gc_interval);
> > 		
> > 		_map.set_arena(router()->arena_factory());
> > 		return 0;
> > };
> > 
> > void IPStats::clean_map() {
> > 		FlowInfo *fi;
> >     for (Map::iterator iter = _map.begin(); iter;
> iter++)
> > {	//Clean Flow map
> > 	    fi = iter.value();
> > 			if (fi != 0)
> >       	delete fi;
> >     };
> > 		potential_supernodes.clear();
> > 		for (Map::iterator iter = _to_clean_map.begin();
> iter;
> > iter++) {	//Clean any entries left in timedout or reset
> > flows
> > 				fi = iter.value();
> > 				if (fi != 0)
> > 						delete fi;
> > 		};
> > };
> > 
> > void IPStats::cleanup(CleanupStage) {
> >     clean_map();
> > };
> > 
> > 
> > *******Dump from log************************
> > Nov 29 22:38:32 slump kernel: device eth0 entered
> > promiscuous mode
> > Nov 29 22:41:53 slump kernel: device eth0 left
> promiscuous
> > mode
> > Nov 29 22:41:53 slump kernel: Unable to handle kernel
> NULL
> > pointer dereference at virtual address 00000003
> > Nov 29 22:41:53 slump kernel:  printing eip:
> > Nov 29 22:41:53 slump kernel: f89233b2
> > Nov 29 22:41:53 slump kernel: *pde = 00000000
> > Nov 29 22:41:53 slump kernel: Oops: 0000
> > Nov 29 22:41:53 slump kernel: CPU:    0
> > Nov 29 22:41:53 slump kernel: EIP:    0010:[<f89233b2>]
> >    Not tainted
> > Nov 29 22:41:53 slump kernel: EFLAGS: 00010297
> > Nov 29 22:41:53 slump kernel: eax: fffffecf   ebx:
> 00000003
> >   ecx: c0368d60   edx: f602b500
> > Nov 29 22:41:53 slump kernel: esi: f5bc23a4   edi:
> f5bc2380
> >   ebp: dacadf5c   esp: dacadd48
> > Nov 29 22:41:53 slump kernel: ds: 0018   es: 0018   ss:
> > 0018
> > Nov 29 22:41:53 slump kernel: Process rmmod (pid:
> 31559,
> > stackpage=dacad000)
> > Nov 29 22:41:53 slump kernel: Stack: c017afcc 464c457f
> > 00010101 00000000 00000000 00030003 00000001 00000b30
> > Nov 29 22:41:53 slump kernel:        00000034 464c457f
> > 00010101 00000000 00000000 00030003 00000001 80000b30
> > Nov 29 22:41:53 slump kernel:        00000034 000125a8
> > 00000000 00200034 00280003 000f0012 41ab8991 41ab8991
> > Nov 29 22:41:53 slump kernel: Call Trace:
>    [<c017afcc>]
> > [<c01388b5>] [<c01388b5>] [<c0136db3>] [<c012bbce>]
> > Nov 29 22:41:53 slump kernel:   [<c012bf31>]
> [<c0130a05>]
> > [<c012bcb0>] [<c0136db3>] [<c012bbce>] [<c012bf31>]
> > Nov 29 22:41:53 slump kernel:   [<c01161e8>]
> [<f89bb373>]
> > [<c016876a>] [<f89bb36d>] [<f89bb36d>] [<f89a69bc>]
> > Nov 29 22:41:53 slump kernel:   [<c011cc43>]
> [<f89a3e77>]
> > [<c011d2b1>] [<c011c536>] [<c010760f>]
> > Nov 29 22:41:53 slump kernel:
> > Nov 29 22:41:53 slump kernel: Code: 8b 1b 50 e8 26 7c
> 83 c7
> > 83 c4 10 39 f3 75 e7 89 77 24 89 77
> > 
> > ******Click config***********
> > 
> > ip :: Strip(14)
> >     -> MarkIPHeader
> >     -> ipc :: IPClassifier(src net 196.0.0.0/8, dst net
> > 196.0.0.0/8, -);
> >     dialup :: ipStats;
> >     lan :: ipStats;
> >     ipc[0] -> [0]dialup;
> >     ipc[1] -> [1]dialup;
> >     dialup -> Discard;
> >     ipc[2] -> ipc2 :: IPClassifier(src net
> 10.10.10.0/24,
> > dst net 10.10.10.0/24, -);
> >     ipc2[0] -> [0]lan;
> >     ipc2[1] -> [1]lan;
> >     lan -> Discard;
> >     ipc2[2] -> Discard;
> > 
> > unq :: Unqueue;
> > // Input paths for eth0
> > c0 :: Classifier(12/0800, -);
> > fd :: FromDevice(eth0, PROMISC true, BURST 16);
> > fd -> Queue(5000) -> unq -> c0;
> > c0[0] -> ip;
> > c0[1] -> Discard;
> > 
> > td :: ToDevice(eth0);
> > Idle -> td;
> > ScheduleInfo(fd 1, td 0.1, ipStats 1, unq 1);
> > 
> >
>
_____________________________________________________________________
> > For super low premiums, click here
> http://www.dialdirect.co.za/quote
> > _______________________________________________
> > click mailing list
> > click at amsterdam.lcs.mit.edu
> > https://amsterdam.lcs.mit.edu/mailman/listinfo/click
> 

_____________________________________________________________________
For super low premiums, click here http://www.dialdirect.co.za/quote


More information about the click mailing list