From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Stefan-W. Hahn" Newsgroups: gmane.emacs.bugs Subject: bug#22287: 25.1.50; Sudden jumping point in buffer Date: Wed, 6 Jan 2016 15:13:54 +0100 Organization: -no organization- Message-ID: <20160106141354.GA28490@scotty.home> References: <20160101111008.GA14391@scotty.home> <87y4c6nbte.fsf@engster.org> <20160103130742.GA11570@scotty.home> <87twmumzqm.fsf@engster.org> <20160103205104.GB11570@scotty.home> <83egdx8j3p.fsf@gnu.org> <20160105150121.GA10231@scotty.home> <838u4456vp.fsf@gnu.org> <20160105195129.GB10231@scotty.home> <834mer4wg7.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1452089744 8284 80.91.229.3 (6 Jan 2016 14:15:44 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 6 Jan 2016 14:15:44 +0000 (UTC) Cc: deng@randomsample.de, 22287@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Jan 06 15:15:33 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aGos0-0000eu-HH for geb-bug-gnu-emacs@m.gmane.org; Wed, 06 Jan 2016 15:15:25 +0100 Original-Received: from localhost ([::1]:54467 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aGorz-000502-VZ for geb-bug-gnu-emacs@m.gmane.org; Wed, 06 Jan 2016 09:15:23 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54474) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aGorh-0004eF-O1 for bug-gnu-emacs@gnu.org; Wed, 06 Jan 2016 09:15:11 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aGore-0007by-DP for bug-gnu-emacs@gnu.org; Wed, 06 Jan 2016 09:15:05 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:51326) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aGore-0007bo-31 for bug-gnu-emacs@gnu.org; Wed, 06 Jan 2016 09:15:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1aGore-0006Kb-01 for bug-gnu-emacs@gnu.org; Wed, 06 Jan 2016 09:15:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: "Stefan-W. Hahn" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 06 Jan 2016 14:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 22287 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 22287-submit@debbugs.gnu.org id=B22287.145208965324251 (code B ref 22287); Wed, 06 Jan 2016 14:15:01 +0000 Original-Received: (at 22287) by debbugs.gnu.org; 6 Jan 2016 14:14:13 +0000 Original-Received: from localhost ([127.0.0.1]:39543 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aGoqq-0006J4-Ne for submit@debbugs.gnu.org; Wed, 06 Jan 2016 09:14:13 -0500 Original-Received: from mout.kundenserver.de ([212.227.17.13]:63223) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aGoqo-0006Ip-Nb for 22287@debbugs.gnu.org; Wed, 06 Jan 2016 09:14:11 -0500 Original-Received: from scotty.home ([92.192.13.45]) by mrelayeu.kundenserver.de (mreue102) with ESMTPSA (Nemesis) id 0LfioM-1ZtInX3JhS-00pLj8; Wed, 06 Jan 2016 15:13:58 +0100 Original-Received: from scotty.home (hs@localhost [127.0.0.1]) by scotty.home (8.14.4/8.14.4/Debian-4) with ESMTP id u06EDtTG009817 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 6 Jan 2016 15:13:55 +0100 Original-Received: (from hs@localhost) by scotty.home (8.14.4/8.14.4/Submit) id u06EDsBg009815; Wed, 6 Jan 2016 15:13:54 +0100 X-Authentication-Warning: scotty.home: hs set sender to stefan.hahn@s-hahn.de using -f Content-Disposition: inline In-Reply-To: <834mer4wg7.fsf@gnu.org> X-Mailer: Mutt http://www.mutt.org/ X-Editor: GNU Emacs http://www.gnu.org/ X-Accept-Language: de en X-Location: Europe, Germany, Wolfenbuettel X-GPG-Public-Key: gpg --keyserver pool.sks-keyservers.net --recv-keys 7A948D9CB5F0706D X-GPG-Fingerprint: 0x7A948D9CB5F0706D / 270E F64C 748A E880 9CB7 3D9B 7A94 8D9C B5F0 706D User-Agent: Mutt/1.5.21 (2010-09-15) X-Virus-Scanned: clamav-milter 0.98.7 at scotty X-Virus-Status: Clean X-Provags-ID: V03:K0:5Z/kVmutMEbINffkHY1ordDF/eJkZFxIROzDS3at9Us9K33+Hsy XcKO2n/m1mQk31Il+oqzrB9+rS04qH21ssluWW1mheB4MEqxN81Vkv0KKu79/MSgke0iddy +o4X9+wJ3nSQdmSbvYAOEFQKCyDqL+0mxDgqSskFOwR8cDWSt2ls7W7N1d0J4YsZPeZ/TVx LiUSfc30LnyJpqXyAvRSA== X-UI-Out-Filterresults: notjunk:1;V01:K0:Fwu6vX19H1o=:E7dIugBwVqRid1vTNyTQoI ER/mWyKevVozR7Ah6qY7zDsCY8pnRlJoJRkohG+38frCdyKRZiIu+U4Ar82q4i/DyfrMXyY6D jxjRCeajNCPw21rOPwJq6l8GAYwJltBBSF1/9+63jt/LwbxYfiR3501PergCWyUbHh2D1wD6y QwnflRK2nWLCArtktcscJB6u0FpHepOgIWAJLjHMjPN9pazzTXBdZrDBHFoj8iZlO+HZ0jtvn 3/E6+E2hJNFoBWkFInpWoEYuVtffedR4Wpnva6IWgfFKZVHPVFFXok+EQFjKqiZtrkGDxirLU 9hJMtdEa3AKI9zdQqSjsiFb0zwdniD0nY8A0J960jE9a03w00AuOXPisJT9uhO6aCqYeH1tdu mr4j2iy8slTcL2evlCc0n2WLmay9BObN6fZbbXmPRATRki522GLE3Wf74LGxdEkz1Gq8JqQQd V108rcswzRul1LULGejJWP5XywJfuX6q0+LHKusEIErF18n7VwD8M/04fumoQgrqZ+D+2X5uM MLYlF78bIyX6sP16o03B7u6EAcTeBDfoFj7x8QgncIoMk7sISCO389OmEj/1OptI557xXBPyY hqCHXIuvJ3bYKmYQZsutgqiSBVi5Szeh8A7q7pWTxPEtGzGUV/utSR1ejISqeAVUtIAWtF1OP wq3qmzqOqVUTpnin7ozV4TFaWgOBMjH7Xbd6ZxKO6GVcWrGUw19Ju/pT9AIIP9YHj/hA= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:111295 Archived-At: Mail von Eli Zaretskii, Tue, 05 Jan 2016 at 22:12:40 +0200: Hello, > > Date: Tue, 5 Jan 2016 20:51:30 +0100 > > From: "Stefan-W. Hahn" > > Cc: deng@randomsample.de, 22287@debbugs.gnu.org > >=20 > > > If you tell how you defined the watchpoint, I might be able to help > > > you redefine it so that hardware-assisted watchpoints are used by GDB. > >=20 > > Any hint welcome. >=20 > (gdb) watch -l current_buffer->pt if current_buffer->pt =3D=3D POS > (gdb) commands > > xbacktrace > > continue > > end > (gdb) Ok, I tried this. But then it was not reproducible... I tried several things, also to enable the watchpoint if another variable set in semanticdb-save-all-db-idle() etc. Typing hours and watching hours at debug outputs... nothing happend. Then I tried another thing, just M-x do-auto-save. And it happened again. With debugging on I have to wait long minutes to see nothing happens in emacs but tons of debug output from gdb. Last try was to work with to watchpoints trying to trigger on writing 753 to pt which should enable the watch to enable all writing. But worked not so good. I also had problems with xbacktrace on eeePC I tried this morning, because on my Core-2 machine it was not reproducible any more after yesterday evening. And therefore defined an xbacktrace2 which just goes back 15 entries in backtrace. I am watching pt in intervals.c having typed at the end of set_point() ((point) =3D 49504), M-x do-auto-save, and then wating... What is seen is several calls to semantic-idle-scheduler-function, which is changing position of point, every time going back to 49504. ,---- | ... |=20 | Old value =3D 49505 | New value =3D 49504 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D49504, charpos=3D495= 04, buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "semantic-end-of-context-default" (0xffffb4b0) | "semantic-end-of-context" (0xffffb670) | "semantic-narrow-to-context" (0xffffb820) | "semantic-end-of-command-default" (0xffffb9e0) | "semantic-end-of-command" (0xffffbba8) | "semantic-ctxt-current-assignment-default" (0xffffbd50) | "semantic-ctxt-current-assignment" (0xffffbf10) | "semantic-ctxt-current-thing" (0xffffc0b0) | "semantic-idle-summary-current-symbol-info-brutish" (0xffffc270) | "semantic-idle-summary-current-symbol-info-default" (0xffffc420) | "semantic-idle-summary-current-symbol-info-c-mode" (0xffffc5f0) | "semantic-idle-summary-current-symbol-info" (0xffffc7b0) | "semantic-idle-summary-idle-function" (0xffffc970) | "semantic-idle-core-handler" (0xffffcb50) | "semantic-idle-scheduler-function" (0xffffce08) | "apply" (0xffffce00) | "timer-event-handler" (0xffffcfc8) | Hardware watchpoint 5: -location current_buffer->pt |=20 now point is changing to 1 in semantic-c-lexer: | Old value =3D 49504 | New value =3D 1 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D1, charpos=3D1, buff= er=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "semantic-c-lexer" (0xffffbb10) | "semantic-lex" (0xffffbce8) | "semantic-parse-region-default" (0xffffbea0) | "semantic-parse-region-c-mode" (0xffffc070) | "semantic-parse-region" (0xffffc240) | "semantic-fetch-tags" (0xffffc410) | "semantic-refresh-tags-safe" (0xffffc5c0) | "semantic-analyze-current-context" (0xffffc7a0) | "semantic-idle-local-symbol-highlight-idle-function" (0xffffc970) | "semantic-idle-core-handler" (0xffffcb50) | "semantic-idle-scheduler-function" (0xffffce08) | "apply" (0xffffce00) | "timer-event-handler" (0xffffcfc8) | Hardware watchpoint 4: -location current_buffer->pt | going to 753, which is the end of the copyright message at begin of interva= ls.c: | Old value =3D 1 | New value =3D 753 | Hardware watchpoint 5: -location current_buffer->pt |=20 | Old value =3D 1 | New value =3D 753 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D753, charpos=3D753, = buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "forward-comment" (0xffffb930) | "semantic-c-lexer" (0xffffbb10) | "semantic-lex" (0xffffbce8) | "semantic-parse-region-default" (0xffffbea0) | "semantic-parse-region-c-mode" (0xffffc070) | "semantic-parse-region" (0xffffc240) | "semantic-fetch-tags" (0xffffc410) | "semantic-refresh-tags-safe" (0xffffc5c0) | "semantic-analyze-current-context" (0xffffc7a0) | "semantic-idle-local-symbol-highlight-idle-function" (0xffffc970) | "semantic-idle-core-handler" (0xffffcb50) | "semantic-idle-scheduler-function" (0xffffce08) | "apply" (0xffffce00) | "timer-event-handler" (0xffffcfc8) | Hardware watchpoint 5: -location current_buffer->pt |=20 and going back to 49504: | Old value =3D 753 | New value =3D 49504 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D49504, charpos=3D495= 04, buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "semantic-refresh-tags-safe" (0xffffc5c0) | "semantic-analyze-current-context" (0xffffc7a0) | "semantic-idle-local-symbol-highlight-idle-function" (0xffffc970) | "semantic-idle-core-handler" (0xffffcb50) | "semantic-idle-scheduler-function" (0xffffce08) | "apply" (0xffffce00) | "timer-event-handler" (0xffffcfc8) | Hardware watchpoint 5: -location current_buffer->pt |=20 | Old value =3D 49504 | New value =3D 49210 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D49210, charpos=3D492= 10, buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "semantic-stickyfunc-fetch-stickyline" (0xffff57b0) | "list" (0xffff5960) | "eval" (0xffff5af8) | "redisplay_internal (C function)" (0x0) | Hardware watchpoint 5: -location current_buffer->pt |=20 | Old value =3D 49210 | New value =3D 49170 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D49170, charpos=3D491= 70, buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "semantic-stickyfunc-fetch-stickyline" (0xffff57b0) | "list" (0xffff5960) | "eval" (0xffff5af8) | "redisplay_internal (C function)" (0x0) | Hardware watchpoint 5: -location current_buffer->pt |=20 | Old value =3D 49170 | New value =3D 49209 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D49209, charpos=3D492= 09, buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "semantic-stickyfunc-fetch-stickyline" (0xffff57b0) | "list" (0xffff5960) | "eval" (0xffff5af8) | "redisplay_internal (C function)" (0x0) | Hardware watchpoint 5: -location current_buffer->pt |=20 | Old value =3D 49209 | New value =3D 49504 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D49504, charpos=3D495= 04, buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "semantic-stickyfunc-fetch-stickyline" (0xffff57b0) | "list" (0xffff5960) | "eval" (0xffff5af8) | "redisplay_internal (C function)" (0x0) | Hardware watchpoint 5: -location current_buffer->pt |=20 no again semantic-c-lexer going to 1, but now not called from timer-event-handler, but from semanticdb-save-all-db-idle: | Old value =3D 49504 | New value =3D 1 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D1, charpos=3D1, buff= er=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "semantic-c-lexer" (0xffffa0c0) | "semantic-lex" (0xffffa298) | "semantic-parse-region-default" (0xffffa450) | "semantic-parse-region-c-mode" (0xffffa620) | "semantic-parse-region" (0xffffa7f0) | "semantic-fetch-tags" (0xffffa9c0) | 0x3462ed0 PVEC_COMPILED | "apply" (0xffffac88) | 0x3b4a008 PVEC_COMPILED | "apply" (0xffffaf20) | "object-write" (0xffffb0c8) | "eieio-list-prin1" (0xffffb228) | "eieio-override-prin1" (0xffffb3d8) | 0x19a7e78 PVEC_COMPILED | "apply" (0xffffb678) | 0x4f0bfa0 PVEC_COMPILED | 0x3108888 PVEC_COMPILED | "apply" (0xffffba88) | 0x16a4798 PVEC_COMPILED | "apply" (0xffffbd20) | "object-write" (0xffffbf00) | 0x3108a40 PVEC_COMPILED | "apply" (0xffffc180) | "eieio-persistent-save" (0xffffc320) | 0x3b636a0 PVEC_COMPILED | "apply" (0xffffc5f0) | "semanticdb-save-db" (0xffffc6e0) | "let" (0xffffc900) | 0x3981060 Lisp type 3 | "mapc" (0xffffcb70) | "catch" (0xffffcc60) | "let" (0xffffcdb0) | "let" (0xffffcf00) | "progn" (0xffffcfe0) | "condition-case" (0xffffd140) | "if" (0xffffd220) | "semanticdb-save-all-db-idle" (0xffffd3c0) | Hardware watchpoint 4: -location current_buffer->pt |=20 | Old value =3D 1 | New value =3D 753 | Hardware watchpoint 5: -location current_buffer->pt |=20 | Old value =3D 1 | New value =3D 753 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D753, charpos=3D753, = buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "forward-comment" (0xffff9ee0) | "semantic-c-lexer" (0xffffa0c0) | "semantic-lex" (0xffffa298) | "semantic-parse-region-default" (0xffffa450) | "semantic-parse-region-c-mode" (0xffffa620) | "semantic-parse-region" (0xffffa7f0) | "semantic-fetch-tags" (0xffffa9c0) | 0x3462ed0 PVEC_COMPILED | "apply" (0xffffac88) | 0x3b4a008 PVEC_COMPILED | "apply" (0xffffaf20) | "object-write" (0xffffb0c8) | "eieio-list-prin1" (0xffffb228) | "eieio-override-prin1" (0xffffb3d8) | 0x19a7e78 PVEC_COMPILED | "apply" (0xffffb678) | Hardware watchpoint 5: -location current_buffer->pt | to 753 and back to 49504, after this switching between 753, 49504 several t= imes: | Old value =3D 753 | New value =3D 49504 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D49504, charpos=3D495= 04, buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "goto-char" (0xffffc320) | "save-excursion" (0xffffc410) | "save-current-buffer" (0xffffc510) | "let" (0xffffc660) | "or" (0xffffc740) | "and" (0xffffc820) | "if" (0xffffc900) | 0x3981060 Lisp type 3 | "mapc" (0xffffcb70) | "catch" (0xffffcc60) | "let" (0xffffcdb0) | "let" (0xffffcf00) | "progn" (0xffffcfe0) | "condition-case" (0xffffd140) | "if" (0xffffd220) | "semanticdb-save-all-db-idle" (0xffffd3c0) | Hardware watchpoint 4: -location current_buffer->pt |=20 | Old value =3D 49504 | New value =3D 753 | Hardware watchpoint 5: -location current_buffer->pt |=20 | Old value =3D 49504 | New value =3D 753 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D753, charpos=3D753, = buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "save-excursion" (0xffffc410) | "save-current-buffer" (0xffffc510) | "let" (0xffffc660) | "or" (0xffffc740) | "and" (0xffffc820) | "if" (0xffffc900) | 0x3981060 Lisp type 3 | "mapc" (0xffffcb70) | "catch" (0xffffcc60) | "let" (0xffffcdb0) | "let" (0xffffcf00) | "progn" (0xffffcfe0) | "condition-case" (0xffffd140) | "if" (0xffffd220) | "semanticdb-save-all-db-idle" (0xffffd3c0) | Hardware watchpoint 5: -location current_buffer->pt |=20 | Old value =3D 753 | New value =3D 49504 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D49504, charpos=3D495= 04, buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "goto-char" (0xffffc320) | "save-excursion" (0xffffc410) | "save-current-buffer" (0xffffc510) | "let" (0xffffc660) | "or" (0xffffc740) | "and" (0xffffc820) | "if" (0xffffc900) | 0x3981060 Lisp type 3 | "mapc" (0xffffcb70) | "catch" (0xffffcc60) | "let" (0xffffcdb0) | "let" (0xffffcf00) | "progn" (0xffffcfe0) | "condition-case" (0xffffd140) | "if" (0xffffd220) | "semanticdb-save-all-db-idle" (0xffffd3c0) | Hardware watchpoint 4: -location current_buffer->pt |=20 | Old value =3D 49504 | New value =3D 753 | Hardware watchpoint 5: -location current_buffer->pt |=20 | Old value =3D 49504 | New value =3D 753 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D753, charpos=3D753, = buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "save-excursion" (0xffffc410) | "save-current-buffer" (0xffffc510) | "let" (0xffffc660) | "or" (0xffffc740) | "and" (0xffffc820) | "if" (0xffffc900) | 0x3981060 Lisp type 3 | "mapc" (0xffffcb70) | "catch" (0xffffcc60) | "let" (0xffffcdb0) | "let" (0xffffcf00) | "progn" (0xffffcfe0) | "condition-case" (0xffffd140) | "if" (0xffffd220) | "semanticdb-save-all-db-idle" (0xffffd3c0) | Hardware watchpoint 5: -location current_buffer->pt |=20 | Old value =3D 753 | New value =3D 49504 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D49504, charpos=3D495= 04, buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "goto-char" (0xffffc320) | "save-excursion" (0xffffc410) | "save-current-buffer" (0xffffc510) | "let" (0xffffc660) | "or" (0xffffc740) | "and" (0xffffc820) | "if" (0xffffc900) | 0x3981060 Lisp type 3 | "mapc" (0xffffcb70) | "catch" (0xffffcc60) | "let" (0xffffcdb0) | "let" (0xffffcf00) | "progn" (0xffffcfe0) | "condition-case" (0xffffd140) | "if" (0xffffd220) | "semanticdb-save-all-db-idle" (0xffffd3c0) | Hardware watchpoint 4: -location current_buffer->pt |=20 | Old value =3D 49504 | New value =3D 753 | Hardware watchpoint 5: -location current_buffer->pt |=20 | Old value =3D 49504 | New value =3D 753 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D753, charpos=3D753, = buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "save-excursion" (0xffffc410) | "save-current-buffer" (0xffffc510) | "let" (0xffffc660) | "or" (0xffffc740) | "and" (0xffffc820) | "if" (0xffffc900) | 0x3981060 Lisp type 3 | "mapc" (0xffffcb70) | "catch" (0xffffcc60) | "let" (0xffffcdb0) | "let" (0xffffcf00) | "progn" (0xffffcfe0) | "condition-case" (0xffffd140) | "if" (0xffffd220) | "semanticdb-save-all-db-idle" (0xffffd3c0) | Hardware watchpoint 5: -location current_buffer->pt |=20 | Old value =3D 753 | New value =3D 49504 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D49504, charpos=3D495= 04, buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "goto-char" (0xffffc320) | "save-excursion" (0xffffc410) | "save-current-buffer" (0xffffc510) | "let" (0xffffc660) | "or" (0xffffc740) | "and" (0xffffc820) | "if" (0xffffc900) | 0x3981060 Lisp type 3 | "mapc" (0xffffcb70) | "catch" (0xffffcc60) | "let" (0xffffcdb0) | "let" (0xffffcf00) | "progn" (0xffffcfe0) | "condition-case" (0xffffd140) | "if" (0xffffd220) | "semanticdb-save-all-db-idle" (0xffffd3c0) | Hardware watchpoint 4: -location current_buffer->pt |=20 | Old value =3D 49504 | New value =3D 753 | Hardware watchpoint 5: -location current_buffer->pt |=20 | Old value =3D 49504 | New value =3D 753 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D753, charpos=3D753, = buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "save-excursion" (0xffffc410) | "save-current-buffer" (0xffffc510) | "let" (0xffffc660) | "or" (0xffffc740) | "and" (0xffffc820) | "if" (0xffffc900) | 0x3981060 Lisp type 3 | "mapc" (0xffffcb70) | "catch" (0xffffcc60) | "let" (0xffffcdb0) | "let" (0xffffcf00) | "progn" (0xffffcfe0) | "condition-case" (0xffffd140) | "if" (0xffffd220) | "semanticdb-save-all-db-idle" (0xffffd3c0) | Hardware watchpoint 5: -location current_buffer->pt and now switching between 753 and 146/147, not going back to 49504 again: |=20 | Old value =3D 753 | New value =3D 147 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D147, charpos=3D147, = buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "semantic-stickyfunc-fetch-stickyline" (0xffff5bb0) | "list" (0xffff5d60) | "eval" (0xffff5ef8) | "redisplay_internal (C function)" (0x0) | Hardware watchpoint 5: -location current_buffer->pt |=20 | Old value =3D 147 | New value =3D 146 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D146, charpos=3D146, = buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "semantic-stickyfunc-fetch-stickyline" (0xffff5bb0) | "list" (0xffff5d60) | "eval" (0xffff5ef8) | "redisplay_internal (C function)" (0x0) | Hardware watchpoint 4: -location current_buffer->pt |=20 | Old value =3D 146 | New value =3D 753 | Hardware watchpoint 5: -location current_buffer->pt |=20 | Old value =3D 146 | New value =3D 753 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D753, charpos=3D753, = buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "semantic-stickyfunc-fetch-stickyline" (0xffff5bb0) | "list" (0xffff5d60) | "eval" (0xffff5ef8) | "redisplay_internal (C function)" (0x0) | Hardware watchpoint 5: -location current_buffer->pt |=20 | Old value =3D 753 | New value =3D 147 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D147, charpos=3D147, = buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "semantic-stickyfunc-fetch-stickyline" (0xffff56f0) | "list" (0xffff58a0) | "eval" (0xffff5a38) | "redisplay_internal (C function)" (0x0) | Hardware watchpoint 5: -location current_buffer->pt |=20 | Old value =3D 147 | New value =3D 146 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D146, charpos=3D146, = buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "semantic-stickyfunc-fetch-stickyline" (0xffff56f0) | "list" (0xffff58a0) | "eval" (0xffff5a38) | "redisplay_internal (C function)" (0x0) | Hardware watchpoint 4: -location current_buffer->pt |=20 | Old value =3D 146 | New value =3D 753 | Hardware watchpoint 5: -location current_buffer->pt |=20 | Old value =3D 146 | New value =3D 753 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D753, charpos=3D753, = buffer=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "semantic-stickyfunc-fetch-stickyline" (0xffff56f0) | "list" (0xffff58a0) | "eval" (0xffff5a38) | "redisplay_internal (C function)" (0x0) |=20 | Program received signal SIGTSTP, Stopped (user). | 0x00007ffff1e0852e in __pselect (nfds=3D17, readfds=3D, re= adfds@entry=3D0x7fffffffcb60, writefds=3D, exceptfds=3D, exceptfds@entry=3D0x0, timeout=3D, timeout@entry= =3D0x7fffffffd160, sigmask=3D, sigmask@entry=3D0x0) at ../sy= sdeps/unix/sysv/linux/pselect.c:79 | 79 ../sysdeps/unix/sysv/linux/pselect.c: No such file or directory. | Continuing. | Hardware watchpoint 5: -location current_buffer->pt I stopped the debugger and continued after this a hile but it was not going back to 49504. With next call from timer-event-handler it switches between 753 and 1 and 147 again: |=20 | Old value =3D 753 | New value =3D 1 | 0x0000000000615b63 in temp_set_point_both (bytepos=3D1, charpos=3D1, buff= er=3D0x385aa10) at intervals.c:1798 | 1798 SET_BUF_PT_BOTH (buffer, charpos, bytepos); | "semantic-c-lexer" (0xffffc2a0) | "semantic-lex" (0xffffc478) | "semantic-parse-region-default" (0xffffc630) | "semantic-parse-region-c-mode" (0xffffc800) | "semantic-parse-region" (0xffffc9d0) | "semantic-fetch-tags" (0xffffcba0) | "semantic-idle-scheduler-refresh-tags" (0xffffcd60) | "semantic-idle-core-handler" (0xffffcf40) | "semantic-idle-scheduler-function" (0xffffd1f8) | "apply" (0xffffd1f0) | "timer-event-handler" (0xffffd3b8) | Hardware watchpoint 4: -location current_buffer->pt |=20 | Old value =3D 1 | New value =3D 753 | Hardware watchpoint 5: -location current_buffer->pt |=20 `---- For me the suspect function is semantic-c-lexer, which is defined via macro define-lex: ,---- | (defmacro define-lex (name doc &rest analyzers) | "Create a new lexical analyzer with NAME. | ... | `(defun ,name (start end &optional depth length) | ,(concat doc "\nSee `semantic-lex' for more information.") | ;; Make sure the state of block parsing starts over. | (setq semantic-lex-block-streams nil) | ;; Allow specialty reset items. | (run-hook-with-args 'semantic-lex-reset-functions start end) | ;; Lexing state. | (let* (;(starttime (current-time)) | (starting-position (point)) | ... | (with-syntax-table semantic-lex-syntax-table | (goto-char start) | (while (and (< (point) end) | (or (not length) | (<=3D (length semantic-lex-token-stream) length))) | (semantic-lex-one-token ,analyzers) | (when (eq semantic-lex-end-point tmp-start) | (error ,(format "%s: endless loop at %%d, after %%S" name) | tmp-start (car semantic-lex-token-stream))) | (setq tmp-start semantic-lex-end-point) | (goto-char semantic-lex-end-point) | ;;(when (> (semantic-elapsed-time starttime (current-time)) | ;; semantic-lex-timeout) | ;; (error "Timeout during lex at char %d" (point))) | >>>> (semantic-throw-on-input 'lex) | (semantic-lex-debug-break (car semantic-lex-token-stream)) | )) | ... | ;; Return to where we started. | ;; Do not wrap in protective stuff so that if there is an error | ;; thrown, the user knows where. | (goto-char starting-position) | ;; Return the token stream | (nreverse semantic-lex-token-stream)))) `---- It is moving point, only wrapping a goto-char around it and it is throwing a signal under specific circumstances. If I see it right, then semantic-c-lexer will be called under save-excursion =66rom semantic-idle-core-handler whenn called via timer-event-handler: ,---- | "semantic-idle-core-handler" (0xffffcb50) | "semantic-idle-scheduler-function" (0xffffce08) | "apply" (0xffffce00) | "timer-event-handler" (0xffffcfc8) `---- but when called from semanticdb-save-all-db-idle (I think) it will be called =66rom semanticdb-save-db and ,---- | (semantic-exit-on-input 'semanticdb-idle-save | (mapc (lambda (db) | (semantic-throw-on-input 'semanticdb-idle-save) | (semanticdb-save-db db t)) | semanticdb-database-list)) `---- therefore from within semantic-exit-on-input, which is a catch. And with my other observations I saw the catch exiting with moved point. This seems to explains, why a save-excursion around this works for me. I also tried a save-excursion around semantic-c-lexer and this seems to work too. So after all this: my opinion is that semantic-c-lexer is the problem. @Eli: I can send you the complete log if you need it. With kind regards, Stefan --=20 Stefan-W. Hahn It is easy to make things. It is hard to make things simple.