> (dbx) frame 1
> Current function is update_interval
> (dbx) print pos
> pos = 30065
> (dbx) print i
> i = 0xb46710
> (dbx) print *i
> *i = {
>     total_length  = 357181U
>     position      = 144991U
>     (*i).left     = 0x110ba4c
>     (*i).right    = 0x1113f10
>     up            = {
>         (*i).up.interval = 0x80f1e800
>         obj      = -2131630080
>     }
>     up_obj        = 1U
>     gcmarkbit     = 0
>     write_protect = 0
>     visible       = 0
>     front_sticky  = 0
>     rear_sticky   = 0
>     plist         = 541931520
> }
> (dbx) print *i->left
> *i->left = {
>     total_length  = 145078U

The above already looks wrong: i->left covers 145078 chars, so i->position
should be at least 145078 + 1 (aka BEG).  The difference, 88, is presumably
the length of the line you copied&pasted, so i's position hasn't been
updated as it should have (the `position' field of interval nodes is updated
lazily, so it's sometimes normal for it to be out-of-date, but not in this
case).

> What should I look for re the buffer text properties?  The buffer is full of
> them - it's visiting a C++ file.

Without a reliable way to reproduce the problem, it's going to be difficult
to fix it, because the problem is most likely introduced sometime *before*
we crash.


        Stefan


_______________________________________________
emacs-pretest-bug mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug

Reply via email to