unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: "Marshall\, Simon" <Simon.Marshall@misys.com>
Cc: emacs-pretest-bug@gnu.org, Chong Yidong <cyd@stupidchicken.com>
Subject: Re: [22.1.90]: Point before start of properties
Date: Mon, 18 Feb 2008 14:52:15 -0500	[thread overview]
Message-ID: <jwvmypydqfc.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <6EE216E1AA959543A555C60FF34FB76702EEDA6E@maileube01.misys.global.ad> (Simon Marshall's message of "Wed, 13 Feb 2008 10:13:46 -0000")

>> So, adding -O (or -O2) to gcc-4.2.3 triggers the problem, and 
>> switching to gcc-4.1.2 triggers it as well?

> Yes.  Btw, I didn't mention before that gcc gives me lots of warnings of
> the form "dispnew.c:3061: warning: incompatible implicit declaration of
> built-in function 'alloca'".  (That is the reason why I tried undefing
> GNU_MALLOC and HAVE_ALLOCA, though IIRC I could not get rid of the
> warnings and made no difference to the problem of calling error at
> intervals.c:794.)  Could this be relevant?

Any warning outside of intervals.c seem unlikely to be a good source of
the problem.  Do you ever get any kind of warning when compiling
intervals.c?

Also you said that the problem could be triggered with gcc-4.1.2 even
without optimization, is that really true?  If so, can you try again
with gcc-4.1.2 and no optimizations, to get better debug info?

Another thing: do you know if your compilation uses USE_LSB_TAG or not?
Is it a 64bit or 32bit memory model?
Have you tried to compile it with -DUSE_LISP_UNION_TYPE just to see if
it hides the problem (or give some compilation warning at least)?

> I can understand not being able to see i0 in intervals_equal, but I
> don't understand not being able to see prev and newi in the caller.  I
> tried to reproduce this with CFLAGS="-g -DENABLE_CHECKING=1
> -DSYSTEM_PURESIZE_EXTRA=1300000", ie, no optimisation, but could not
> reproduce the abort (or call of error).

The fact that you don't get the assertion failure when compiling without
optimizations indicates that this assertion failure is unlikely to
be a fluke, tho the "CHECK (!INT_LISPLIKE (i)" thingy is fishy.

The fields of the i1 interval don't seem to be valid (0x8 can't be
a left pointer, the right point seems to be misaligned (maybe it's
actually a string and the up_obj bit should be set), total_length and
position could only make sense in a buffer of at least 5-6MB).
Then again, we have no idea if we're really looking at i1 and
its contents.

> Do you think these ENABLE_CHECKING aborts are genuine?

Maybe.

> Could there be a problem with the definition of NULL_INTERVAL_P (I see
> its definition has changed)?

The INT_LISPLIKE thingy is fishy.  I suspect that it may misfire (the
"struct interval" may have size 28, so intervals pointers may not all be
aligned on multiples of 8, which implies that an interval pointer may
have the same tag bits as a buffer).

> So, ENABLE_CHECKING not withstanding, it appears to be a problem with
> the optimisation of intervals.c itself.
> Any other thoughts?

Not really.  If you can reproduce it without optimizations, then you may
be able to track it down more precisely and figure out if it's
a compiler bug or an Emacs bug.


        Stefan




  reply	other threads:[~2008-02-18 19:52 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-08 16:35 [22.1.90]: Point before start of properties Marshall, Simon
2008-02-10  3:26 ` Stefan Monnier
2008-02-10 15:22 ` Chong Yidong
2008-02-12 17:52   ` Marshall, Simon
2008-02-12 18:32     ` Stefan Monnier
2008-02-13 10:13       ` Marshall, Simon
2008-02-18 19:52         ` Stefan Monnier [this message]
2008-02-19 10:37           ` Marshall, Simon
2008-02-19 16:00             ` Stefan Monnier
2008-02-19 17:23               ` Marshall, Simon
2008-02-19 17:31                 ` David Kastrup
2008-02-20  9:44                   ` Marshall, Simon
2008-02-19 21:59                 ` Stefan Monnier
2008-02-20 11:31                   ` Marshall, Simon
2008-02-20 17:17                     ` Stefan Monnier
2008-02-20 19:40                       ` Eli Zaretskii
2008-02-21  9:16                         ` Richard Stallman
2008-02-21 16:02                           ` Stefan Monnier
2008-02-22  3:16                             ` Stephen J. Turnbull
2008-02-22 15:18                               ` [OT] Deugging optimized code (was: [22.1.90]: Point before start of properties) Stefan Monnier
2008-02-22 15:41                                 ` Andreas Schwab
2008-02-22 22:20                                 ` Stephen J. Turnbull
2008-02-22 16:31                             ` [22.1.90]: Point before start of properties Eli Zaretskii
2008-02-22 16:27                           ` Eli Zaretskii
2008-02-22 22:09                             ` Miles Bader
2008-02-23 19:29                             ` Richard Stallman
2008-02-23 21:18                               ` Eli Zaretskii
2008-02-24 15:22                                 ` Richard Stallman
2008-02-24 19:59                                   ` Eli Zaretskii
2008-02-25 10:57                                     ` Richard Stallman
2008-02-25 15:55                                       ` Stefan Monnier
2008-02-24 20:36                               ` Tom Tromey
2008-02-25 10:57                                 ` Richard Stallman
2008-02-21 22:27                       ` Richard Stallman
     [not found]           ` <6EE216E1AA959543A555C60FF34FB76702B2DB02@maileube01.misys.global.ad>
2008-02-19 14:45             ` Marshall, Simon
2008-02-19 23:09               ` Richard Stallman
2008-02-10 18:42 ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvmypydqfc.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=Simon.Marshall@misys.com \
    --cc=cyd@stupidchicken.com \
    --cc=emacs-pretest-bug@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).