[Click] click-uninstall error
Eddie Kohler
kohler at cs.ucla.edu
Tue Nov 30 11:38:09 EST 2004
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
More information about the click
mailing list