[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
## [libunwind] Circular links in the script/rs cache?

**From**: |
Arun Sharma |

**Subject**: |
[libunwind] Circular links in the script/rs cache? |

**Date**: |
Fri, 31 Mar 2006 10:39:15 -0800 |

**User-agent**: |
Mozilla Thunderbird 1.0.7 (X11/20051011) |

`I'm noticing a few cases where there is a circular linked list in
``rs_lookup() (which is derived from script_lookup()).
`
(gdb) p (cache->buckets[1])
$2 = {next = 0x0, reg = {{where = DWARF_WHERE_SAME, val = 0}, {

` where = DWARF_WHERE_SAME, val = 0}, {where = DWARF_WHERE_SAME,
``val = 0},
` {where = DWARF_WHERE_CFAREL, val = 18446744073709551592}, {

` where = DWARF_WHERE_SAME, val = 0}, {where = DWARF_WHERE_SAME,
``val = 0},
` {where = DWARF_WHERE_CFAREL, val = 18446744073709551600}, {

` where = DWARF_WHERE_SAME, val = 0}, {where = DWARF_WHERE_SAME,
``val = 0},
`` {where = DWARF_WHERE_SAME, val = 0}, {where = DWARF_WHERE_SAME, val
``= 0}, {
`` where = DWARF_WHERE_SAME, val = 0}, {where = DWARF_WHERE_SAME,
``val = 0},
`` {where = DWARF_WHERE_SAME, val = 0}, {where = DWARF_WHERE_SAME, val
``= 0}, {
` where = DWARF_WHERE_SAME, val = 0}, {where = DWARF_WHERE_CFAREL,
val = 18446744073709551608}, {where = DWARF_WHERE_REG, val = 7}, {
where = DWARF_WHERE_UNDEF, val = 32}}, ip = 15269205,
ret_addr_column = 16, lru_chain = 0, coll_chain = 1, hint = 0}
i.e cache->buckets[1].coll_chain = 1.
So the loop never terminates. I don't have an easily reproducible test case.
What is protecting us from this case in the script cache?
-Arun

**[libunwind] Circular links in the script/rs cache?**,
*Arun Sharma* **<=**