From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Jan D." Newsgroups: gmane.emacs.bugs Subject: bug#18848: hang is in [EmacsApp run] (24.4.51; Hang after toolbar use) Date: Sat, 8 Nov 2014 18:19:00 +0100 Message-ID: References: <12F1E5EC-1684-47FB-9737-DE4B6BBB7F94@gmail.com> <928A1DBA-26EA-432B-A336-82292664FD21@gmail.com> <2610EED0-EA68-4F0E-A939-F4712EE33A99@swipnet.se> <6E925F6B-08EE-4852-9FDC-1FF42394FD96@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 (Mac OS X Mail 8.0 \(1990.1\)) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1415467229 26992 80.91.229.3 (8 Nov 2014 17:20:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 8 Nov 2014 17:20:29 +0000 (UTC) Cc: 18848@debbugs.gnu.org To: David Reitter Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Nov 08 18:20:22 2014 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 1Xn9gU-0000oF-Bf for geb-bug-gnu-emacs@m.gmane.org; Sat, 08 Nov 2014 18:20:22 +0100 Original-Received: from localhost ([::1]:36441 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xn9gT-0005ig-VA for geb-bug-gnu-emacs@m.gmane.org; Sat, 08 Nov 2014 12:20:21 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33915) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xn9gK-0005WX-F3 for bug-gnu-emacs@gnu.org; Sat, 08 Nov 2014 12:20:18 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xn9gB-0000C0-4p for bug-gnu-emacs@gnu.org; Sat, 08 Nov 2014 12:20:12 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:56670) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xn9gB-0000Bj-1O for bug-gnu-emacs@gnu.org; Sat, 08 Nov 2014 12:20:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Xn9gA-0007Su-Hy for bug-gnu-emacs@gnu.org; Sat, 08 Nov 2014 12:20:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: "Jan D." Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 08 Nov 2014 17:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18848 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 18848-submit@debbugs.gnu.org id=B18848.141546714728611 (code B ref 18848); Sat, 08 Nov 2014 17:20:02 +0000 Original-Received: (at 18848) by debbugs.gnu.org; 8 Nov 2014 17:19:07 +0000 Original-Received: from localhost ([127.0.0.1]:53880 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xn9fF-0007RO-Vg for submit@debbugs.gnu.org; Sat, 08 Nov 2014 12:19:06 -0500 Original-Received: from mailfe03.swip.net ([212.247.154.65]:33983 helo=swip.net) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xn9fC-0007RC-Rb for 18848@debbugs.gnu.org; Sat, 08 Nov 2014 12:19:03 -0500 X-T2-Spam-Status: No, hits=-1.9 required=5.0 tests=BAYES_00 Original-Received: from hosdjarv.se (account mj138573@tele2.se [46.59.42.57] verified) by mailfe03.swip.net (CommuniGate Pro SMTP 5.4.4) with ESMTPA id 380048568; Sat, 08 Nov 2014 18:19:01 +0100 In-Reply-To: <6E925F6B-08EE-4852-9FDC-1FF42394FD96@gmail.com> X-Mailer: Apple Mail (2.1990.1) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.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:95730 Hello. > 8 nov 2014 kl. 18:06 skrev David Reitter : >=20 > Your change does not help. > I think it=E2=80=99s a Yosemite bug. Below is a workaround. This code does not get executed on Yosemite with the latest changes. Jan D. >=20 > --- a/src/nsterm.m > +++ b/src/nsterm.m > @@ -4748,11 +4766,18 @@ ns_term_shutdown (int sig) > [pool release]; > pool =3D [[NSAutoreleasePool alloc] init]; >=20 > + /* OSX 10.10.1 seems to swallow AppDefined events when > + other events are put in the queue in rapid succession. > + To prevent Emacs becoming unresponsive, we need to > + set a reasonable timeout. */ > NSEvent *event =3D > [self nextEventMatchingMask:NSAnyEventMask > - untilDate:[NSDate distantFuture] > + untilDate:[NSDate = dateWithTimeIntervalSinceNow:0.5] > inMode:NSDefaultRunLoopMode > dequeue:YES]; > + if (event =3D=3D nil) // timeout > + { shouldKeepRunning =3D NO;} > + else > [self sendEvent:event]; > [self updateWindows]; > } while (shouldKeepRunning); >=20 >=20 >> On Nov 8, 2014, at 11:34 AM, Jan D. wrote: >>=20 >> I can't reproduce this, but made some changes, please try it. >>=20 >> Jan D. >>=20 >>> 29 okt 2014 kl. 14:47 skrev David Reitter : >>>=20 >>> This occurs in OS X 10.10 =E2=80=9CYosemite=E2=80=9D, but not = earlier. >>>=20 >>> events on the NS side are received and put into the emacs event = queue. =20 >>>=20 >>> Attaching full call stack below for reference. >>>=20 >>> * frame #0: 0x00007fff909a952e libsystem_kernel.dylib`mach_msg_trap = + 10 >>> frame #1: 0x00007fff909a869f libsystem_kernel.dylib`mach_msg + 55 >>> frame #2: 0x00007fff8598db14 = CoreFoundation`__CFRunLoopServiceMachPort + 212 >>> frame #3: 0x00007fff8598cfdb CoreFoundation`__CFRunLoopRun + 1371 >>> frame #4: 0x00007fff8598c838 CoreFoundation`CFRunLoopRunSpecific + = 296 >>> frame #5: 0x00007fff919f943f HIToolbox`RunCurrentEventLoopInMode + = 235 >>> frame #6: 0x00007fff919f91ba HIToolbox`ReceiveNextEventCommon + 431 >>> frame #7: 0x00007fff919f8ffb = HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 71 >>> frame #8: 0x00007fff89ca8821 AppKit`_DPSNextEvent + 964 >>> frame #9: 0x00007fff89ca7fd0 AppKit`-[NSApplication = nextEventMatchingMask:untilDate:inMode:dequeue:] + 194 >>> frame #10: 0x00000001002b2e8b Emacs`-[EmacsApp = run](self=3D0x0000000101420b20, _cmd=3D0x00007fff8a607034) + 379 at = nsterm.m:4497 >>> frame #11: 0x00000001002c4ce7 = Emacs`ns_read_socket(terminal=3D0x0000000102823678, = hold_quit=3D0x00007fff5fbfbfa0) + 855 at nsterm.m:3641 >>> frame #12: 0x0000000100145c6d Emacs`gobble_input + 173 at = keyboard.c:6850 >>> frame #13: 0x000000010014be85 Emacs`get_input_pending(flags=3D3) + = 117 at keyboard.c:6771 >>> frame #14: 0x0000000100150c5d = Emacs`Finput_pending_p(check_timers=3D4345311338) + 173 at = keyboard.c:9940 >>> frame #15: 0x0000000100201d44 Emacs`Ffuncall(nargs=3D2, = args=3D0x00007fff5fbfc130) + 1044 at eval.c:2812 >>> frame #16: 0x000000010025be60 = Emacs`exec_byte_code(bytestr=3D4298564145, vector=3D4298564181, = maxdepth=3D28, args_template=3D3076, nargs=3D1, args=3D0x00007fff5fbfc838)= + 3504 at bytecode.c:916 >>> frame #17: 0x0000000100202e84 Emacs`funcall_lambda(fun=3D4298564101, = nargs=3D1, arg_vector=3D0x00007fff5fbfc830) + 500 at eval.c:2979 >>> frame #18: 0x0000000100201f6c Emacs`Ffuncall(nargs=3D2, = args=3D0x00007fff5fbfc828) + 1596 at eval.c:2861 >>> frame #19: 0x000000010025be60 = Emacs`exec_byte_code(bytestr=3D4299852505, vector=3D4299852541, = maxdepth=3D16, args_template=3D4345311290, nargs=3D0, = args=3D0x0000000000000000) + 3504 at bytecode.c:916 >>> frame #20: 0x0000000100203261 Emacs`funcall_lambda(fun=3D4299852461, = nargs=3D0, arg_vector=3D0x00007fff5fbfcf30) + 1489 at eval.c:3045 >>> frame #21: 0x0000000100201f6c Emacs`Ffuncall(nargs=3D1, = args=3D0x00007fff5fbfcf28) + 1596 at eval.c:2861 >>> frame #22: 0x000000010025be60 = Emacs`exec_byte_code(bytestr=3D4299813801, vector=3D4299813837, = maxdepth=3D20, args_template=3D4345311290, nargs=3D0, = args=3D0x0000000000000000) + 3504 at bytecode.c:916 >>> frame #23: 0x0000000100203261 Emacs`funcall_lambda(fun=3D4299813757, = nargs=3D0, arg_vector=3D0x00007fff5fbfd630) + 1489 at eval.c:3045 >>> frame #24: 0x0000000100201f6c Emacs`Ffuncall(nargs=3D1, = args=3D0x00007fff5fbfd628) + 1596 at eval.c:2861 >>> frame #25: 0x000000010025be60 = Emacs`exec_byte_code(bytestr=3D4299812881, vector=3D4299812917, = maxdepth=3D16, args_template=3D4345311290, nargs=3D0, = args=3D0x0000000000000000) + 3504 at bytecode.c:916 >>> frame #26: 0x0000000100203261 Emacs`funcall_lambda(fun=3D4299812741, = nargs=3D4, arg_vector=3D0x00007fff5fbfdd30) + 1489 at eval.c:3045 >>> frame #27: 0x0000000100201f6c Emacs`Ffuncall(nargs=3D5, = args=3D0x00007fff5fbfdd28) + 1596 at eval.c:2861 >>> frame #28: 0x000000010025be60 = Emacs`exec_byte_code(bytestr=3D4299811305, vector=3D4299811341, = maxdepth=3D20, args_template=3D4345311290, nargs=3D0, = args=3D0x0000000000000000) + 3504 at bytecode.c:916 >>> frame #29: 0x0000000100203261 Emacs`funcall_lambda(fun=3D4299811205, = nargs=3D2, arg_vector=3D0x00007fff5fbfe458) + 1489 at eval.c:3045 >>> frame #30: 0x0000000100201f6c Emacs`Ffuncall(nargs=3D3, = args=3D0x00007fff5fbfe450) + 1596 at eval.c:2861 >>> frame #31: 0x00000001001faa43 = Emacs`Fcall_interactively(function=3D4370705002, record_flag=3D4345311290,= keys=3D4370471557) + 9155 at callint.c:836 >>> frame #32: 0x0000000100201d9a Emacs`Ffuncall(nargs=3D4, = args=3D0x00007fff5fbfe8d8) + 1130 at eval.c:2819 >>> frame #33: 0x000000010025be60 = Emacs`exec_byte_code(bytestr=3D4299358761, vector=3D4299358797, = maxdepth=3D52, args_template=3D4100, nargs=3D1, args=3D0x00007fff5fbff030)= + 3504 at bytecode.c:916 >>> frame #34: 0x0000000100202e84 Emacs`funcall_lambda(fun=3D4299358717, = nargs=3D1, arg_vector=3D0x00007fff5fbff028) + 500 at eval.c:2979 >>> frame #35: 0x0000000100201f6c Emacs`Ffuncall(nargs=3D2, = args=3D0x00007fff5fbff020) + 1596 at eval.c:2861 >>> frame #36: 0x0000000100202839 Emacs`call1(fn=3D4370480538, = arg1=3D4370705002) + 73 at eval.c:2611 >>> frame #37: 0x00000001001421c7 Emacs`command_loop_1 + 2391 at = keyboard.c:1559 >>> frame #38: 0x00000001001ffb9c = Emacs`internal_condition_case(bfun=3D0x0000000100141870, = handlers=3D4370487930, hfun=3D0x000000010015bcf0) + 396 at eval.c:1348 >>> frame #39: 0x000000010015bbe9 = Emacs`command_loop_2(ignore=3D4345311290) + 41 at keyboard.c:1177 >>> frame #40: 0x00000001001ff1d4 Emacs`internal_catch(tag=3D4370484122, = func=3D0x000000010015bbc0, arg=3D4345311290) + 356 at eval.c:1112 >>> frame #41: 0x0000000100140deb Emacs`command_loop + 187 at = keyboard.c:1156 >>> frame #42: 0x0000000100140cb4 Emacs`recursive_edit_1 + 132 at = keyboard.c:777 >>> frame #43: 0x0000000100140f97 Emacs`Frecursive_edit + 327 at = keyboard.c:848 >>> frame #44: 0x000000010013ef89 Emacs`main(argc=3D2, = argv=3D0x00007fff5fbff680) + 5929 at emacs.c:1646 >>> frame #45: 0x00007fff8ed825c9 libdyld.dylib`start + 1 >>>=20 >>=20