#121 callgraph: failure to advance iterator

closed-fixed
Philippe Elie
None
9
2005-03-19
2004-06-11
Philippe Elie
No

debian (stable)

2.6.6 vanilla kernel + callgraph.diff correctly applied.
gcc 2.95.4-14
binutils 2.12.90.0.1-4
binutils-dev 2.12.90.0.1-4
libc6 2.2.5-11.5

end opstack -p /right/path --verbose

event_buffer_read ??.altinstr_replacement 2043
symbol ??.altinstr_replacement, value 0
in section .altinstr_replacement, filepos 31a0
start 31a0, end d82c1
offset caller: fe0 callee: 1e522c
reaching end of symbol
upper bound: d8281

clearly the stack trace is wrong and this occur a lot
of time.

./opstack -g -p /lib/modules/2.6.6-t3cg/kernel 2>&1 |
grep 'failure to advance iterator' | wc -l
3755

No idea what's wrong. Manual inspection of assembly
code generated for module show frame pointer are
correctly setup.

No known work around.

Discussion

  • Philippe Elie
    Philippe Elie
    2004-06-20

    Logged In: YES
    user_id=318973

    Confirmed, incresaed priority and assigned to myself. Phil

     
  • Philippe Elie
    Philippe Elie
    2004-06-20

    • priority: 5 --> 7
    • assigned_to: nobody --> phil_e
     
  • Philippe Elie
    Philippe Elie
    2004-11-19

    Logged In: YES
    user_id=318973

    That's normal, dameon can't trace stack through
    module/kernel, the whole stack is credited to samples file
    that take the first sample, this come from
    opd_trans:get_file() and this definition for searching the
    right samples file :

    struct cg_hash_entry {
    /** cg are indexable by { from, to, counter } */
    cookie_t from;
    cookie_t to;
    unsigned int counter;
    /** next in the hash slot */
    struct list_head next;
    odb_t file;
    };

    since we don't get any cookie for module/kernel we can't
    switch to another samples files during kernel stack trace,
    one solution will be to give some sort of cookie to kernel
    and modules but we must ensure we don't conflict with real
    cookie.

    So this bug is arch independant. Bug priority increased to 9...

     
  • Philippe Elie
    Philippe Elie
    2004-11-19

    • priority: 7 --> 9
     
  • Philippe Elie
    Philippe Elie
    2004-11-19

    Logged In: YES
    user_id=318973

    Fixed in cvs by adding the relevant information to
    cg_hash_entry, namely module_(from|to) start/end address.

     
  • Philippe Elie
    Philippe Elie
    2004-11-19

    • status: open --> open-fixed
     
  • Philippe Elie
    Philippe Elie
    2005-03-19

    • status: open-fixed --> closed-fixed