Thread (1 message) 1 message, 1 author, 2007-09-01

Re: Tc bug (kernel crash) more info

From: <hidden>
Date: 2007-09-01 10:36:41

Hi All!
I found another bugs in HTB

1. HTB Wrong calculate LEVELS.
- try run "./create_nodes.sh" in archive and do "tc -d class show dev eth0"
Hm.. i read
http://luxik.cdi.cz/~devik/qos/htb/manual/theory.htm
I understand that if Level calculation broken - HTB wrong work! I try  
to see sch_htb.c but i not see simple fix to this. Maybe anyone with  
expirince try to look sch_htb.c?
2. HTB miss qdisc what i add. (it's not added)
- try run ./create_nodes.sh; sh tc_rules_last2 2>/dev/null
- I add my output of "tc -d class show dev eth0" for you look
(tc_class.txt in archive)
Not correct info.
"tc -d class show dev eth0 | grep -v leaf" ask many rules without  
leaf, but QDISC for this casses is created. How filter add packer to  
filter where not have LEAF?

I think HTB not property work.
Thanks.

Badalian Vyacheslav
Anyone! I want test any patches to fix all HTB problems!

Thanks

quoted
I found that bug in this place

(gdb) l *0xc01c8973
0xc01c8973 is in rb_insert_color (lib/rbtree.c:80).
75
76              while ((parent = rb_parent(node)) && rb_is_red(parent))
77              {
78                      gparent = rb_parent(parent);
79
80                      if (parent == gparent->rb_left)
81                      {
82                              {
83                                      register struct rb_node *uncle
= gparent->rb_right;
84                                      if (uncle && rb_is_red(uncle))


if i not wrong understand message "unable to handle kernel NULL pointer
dereference at virtual address 00000008" its was known that "gparent ==
Null"?
Or i hope or i try find a mare's-nest?
quoted
Ok =) I hope in next week you found bug place and fix it!

PS. if you ask where i can read "kernel panic dump logic"     
literature and try find bugline in code.
I read dump and see that bug in function "rb_insert_color" + some   
  shift (in asm?) that called from htb_dequeue? But in htb_dequeue  
   not have calling rb_insert_color =( Or some nodes in trace was   
  skipped?

Its for change up my education ;)
quoted
I'll not be able to assist you until monday (but I'll try to look
into the code and maybe to prepare some new patch - but it needs
a lot of checking to not add too much of this locking as well).

I think you can stay with a kernel whichever you like - I'm not sure
any config changes or even more debugging can change much, but maybe
I'm wrong. It looks to me like some locking is missing or interrupted.
If you are working weekends and find something new, don't wait: maybe
somebody else here could be interested too.
Cheers,
Jarek P.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.


----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help