[R-SIG-Mac] [External] Re: crash due to rgl and base graphics conflict
Brian Ripley
r|p|ey @end|ng |rom @t@t@@ox@@c@uk
Mon Aug 3 20:51:25 CEST 2020
> On 3 Aug 2020, at 19:45, Duncan Murdoch <murdoch.duncan using gmail.com> wrote:
>
> It didn't stay fixed. I get crashes about half the time now. I'll see if I can figure out what's going wrong. My guess would be that rather than an rgl bug this is an Xquartz bug, but maybe I can find a way to prevent it.
Unfortunately XQuartz has not been updated for nearly 4 years, so I don’t hold any hope it will get fixed there.
You are right to point out that XQuartz often needs reinstalling after a macOS update — sometimes even a minor one.
>
> Duncan Murdoch
>
>> On 03/08/2020 12:54 p.m., Duncan Murdoch wrote:
>> With great trepidation, I installed Catalina. I saw the same crash as
>> reported. Then I reinstalled Xquartz, shut down the Xquartz that was
>> still running (should have done that in the other order!), and tried
>> again: no crash. Hope it stays fixed!
>> Duncan Murdoch
>>> On 03/08/2020 9:25 a.m., Duncan Murdoch wrote:
>>> Thanks. Looks like I should update. I'm looking forward to the crashes...
>>>
>>> Duncan Murdoch
>>>
>>> On 03/08/2020 9:21 a.m., Marc Schwartz wrote:
>>>> Hi,
>>>>
>>>> Just installed rgl and I get the same crash and error message from the original post below, running R from the CLI.
>>>>
>>>> If I run R from within ESS (what I normally use), I get:
>>>>
>>>> Process R abort trap: 6 at Mon Aug 3 09:15:32 2020
>>>>
>>>> If I run R from R.app (the default macOS GUI), the command runs fine and I get the graphic.
>>>>
>>>> I am running R 4.0.2 (2020-06-22) on macOS 10.15.6.
>>>>
>>>> R was cleanly installed, and XQuartz (2.7.11) was updated afterwards.
>>>>
>>>> Regards,
>>>>
>>>> Marc Schwartz
>>>>
>>>>
>>>>> On Aug 3, 2020, at 9:05 AM, Duncan Murdoch <murdoch.duncan using gmail.com> wrote:
>>>>>
>>>>> I just got a message from someone else using Catalina 10.15.5 who still gets a crash from
>>>>>
>>>>> library(rgl)
>>>>> plot(1:10)
>>>>>
>>>>> I don't have Catalina, and haven't seen it. Has anyone else?
>>>>>
>>>>> Duncan Murdoch
>>>>>
>>>>> On 31/05/2020 4:44 p.m., Richard M. Heiberger wrote:
>>>>>> I upgraded last night to Catalina 10.15.5 (19F96).
>>>>>> The crash has gone away and that example now works normally.
>>>>>> On Fri, May 29, 2020 at 3:25 PM Richard M. Heiberger <rmh using temple.edu> wrote:
>>>>>>>
>>>>>>> my 12:35 email and the attached tmp.txt are from the Terminal.app,
>>>>>>> No emacs/ESS involved.
>>>>>>>
>>>>>>> On Fri, May 29, 2020 at 3:13 PM Duncan Murdoch <murdoch.duncan using gmail.com> wrote:
>>>>>>>>
>>>>>>>> On 29/05/2020 2:21 p.m., Richard M. Heiberger wrote:
>>>>>>>>> I attempted to update xquartz when I updated to Catalina, and the same
>>>>>>>>> number is still the current version number.
>>>>>>>>>
>>>>>>>>> Here is a related issue, attached tmp2.txt is the R transcript.
>>>>>>>>> The interesting thing here is that rgl.quit() prevents rgl from being
>>>>>>>>> reattached.
>>>>>>>>
>>>>>>>> Generally speaking rgl doesn't want to be reloaded in the same R
>>>>>>>> session: detaching it doesn't clean up everything. That's not
>>>>>>>> something that I'd put any priority on fixing, whereas I would look at
>>>>>>>> the problems you're having on startup if I could reproduce them.
>>>>>>>>
>>>>>>>> I wonder if ESS is involved somehow: your sessionInfo listed ESSR on
>>>>>>>> the search list. Do you have the same issues with plain R from the
>>>>>>>> console, or R.app?
>>>>>>>>
>>>>>>>>> Is there an rgl equivalent for dev.cur()?
>>>>>>>>
>>>>>>>> There's rgl.cur(). rgl only supports two kinds of devices: on a Mac or
>>>>>>>> Linux they'd be displayed as glX or null. Windows also supports the
>>>>>>>> null device (which doesn't display anything), and a different one to
>>>>>>>> display within R: I forget how the name is displayed.
>>>>>>>>
>>>>>>>> It might be that you'll need to set options(rgl.useNULL) before starting
>>>>>>>> rgl, and only use the null device. It won't display anything in R, but
>>>>>>>> allows you to call rglwidget() for a display in a browser.
>>>>>>>>
>>>>>>>> Duncan Murdoch
>>>>>>>>
>>>>>>>>> On Fri, May 29, 2020 at 1:51 PM Duncan Murdoch <murdoch.duncan using gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>> On 29/05/2020 12:35 p.m., Richard M. Heiberger wrote:
>>>>>>>>>>> I have the same Xquartz as you.
>>>>>>>>>>
>>>>>>>>>> I'd guess it should be updated. Generally XQuartz needs updates with
>>>>>>>>>> every MacOS release, and your 10.15.4 is two releases further along than
>>>>>>>>>> my 10.13.6.
>>>>>>>>>>
>>>>>>>>>>> I have rgl-0.100.50 from CRAN
>>>>>>>>>>
>>>>>>>>>> You could update that, but I doubt if it would make any difference.
>>>>>>>>>>
>>>>>>>>>>> Apple is macOS Catalina, Version 10.15.4
>>>>>>>>>>> Do you need hardware information?
>>>>>>>>>>> MacBpok Air (13 -inch, Mid 2012)
>>>>>>>>>>> Processor 2GHz Dual-Core Intel Core i7
>>>>>>>>>>> Memory 8 GB 1600 MHz DDR3
>>>>>>>>>>> Graphics Intel HD Graphics 4000 1536 MB
>>>>>>>>>>
>>>>>>>>>> I think the XQuartz issue is most likely to help, but if it doesn't, I'm
>>>>>>>>>> not sure what I could suggest: I don't have Catalina.
>>>>>>>>>>
>>>>>>>>>> Duncan Murdoch
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> from the Terminal App:
>>>>>>>>>>> The Apple Crash Report is in the attached tmp.txt
>>>>>>>>>>> I didn't send it to Apple.
>>>>>>>>>>>
>>>>>>>>>>> R version 4.0.0 (2020-04-24) -- "Arbor Day"
>>>>>>>>>>>
>>>>>>>>>>> Copyright (C) 2020 The R Foundation for Statistical Computing
>>>>>>>>>>>
>>>>>>>>>>> Platform: x86_64-apple-darwin17.0 (64-bit)
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> R is free software and comes with ABSOLUTELY NO WARRANTY.
>>>>>>>>>>>
>>>>>>>>>>> You are welcome to redistribute it under certain conditions.
>>>>>>>>>>>
>>>>>>>>>>> Type 'license()' or 'licence()' for distribution details.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Natural language support but running in an English locale
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> R is a collaborative project with many contributors.
>>>>>>>>>>>
>>>>>>>>>>> Type 'contributors()' for more information and
>>>>>>>>>>>
>>>>>>>>>>> 'citation()' on how to cite R or R packages in publications.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Type 'demo()' for some demos, 'help()' for on-line help, or
>>>>>>>>>>>
>>>>>>>>>>> 'help.start()' for an HTML browser interface to help.
>>>>>>>>>>>
>>>>>>>>>>> Type 'q()' to quit R.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> library(rgl)
>>>>>>>>>>>
>>>>>>>>>>>> plot(1:10)
>>>>>>>>>>>
>>>>>>>>>>>> 2020-05-29 12:30:00.536 R[24961:3275889] *** Assertion failure in BOOL NSScreenConfigurationInvalidateIfNeededForReason(_NSScreenConfigurationUpdateReason)(), /AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1894.40.150/AppKit.subproj/NSScreenConfiguration.m:473
>>>>>>>>>>>
>>>>>>>>>>> 2020-05-29 12:30:00.543 R[24961:3275889] *** Terminating app due to
>>>>>>>>>>> uncaught exception 'NSInternalInconsistencyException', reason:
>>>>>>>>>>> 'NSScreen reconfig must only happen on the main thread.'
>>>>>>>>>>>
>>>>>>>>>>> *** First throw call stack:
>>>>>>>>>>>
>>>>>>>>>>> (
>>>>>>>>>>>
>>>>>>>>>>> 0 CoreFoundation 0x00007fff371698d7
>>>>>>>>>>> __exceptionPreprocess + 250
>>>>>>>>>>>
>>>>>>>>>>> 1 libobjc.A.dylib 0x00007fff6ff47a9e
>>>>>>>>>>> objc_exception_throw + 48
>>>>>>>>>>>
>>>>>>>>>>> 2 CoreFoundation 0x00007fff37192bb0
>>>>>>>>>>> +[NSException raise:format:arguments:] + 88
>>>>>>>>>>>
>>>>>>>>>>> 3 Foundation 0x00007fff398de456
>>>>>>>>>>> -[NSAssertionHandler
>>>>>>>>>>> handleFailureInFunction:file:lineNumber:description:] + 166
>>>>>>>>>>>
>>>>>>>>>>> 4 AppKit 0x00007fff34503083
>>>>>>>>>>> +[_NSScreenConfiguration invalidateConfigurationIfNeededForReason:] +
>>>>>>>>>>> 361
>>>>>>>>>>>
>>>>>>>>>>> 5 AppKit 0x00007fff34e4bda8
>>>>>>>>>>> _NSApplicationInvalidateScreenConfigurationMaybeIfNeeded + 243
>>>>>>>>>>>
>>>>>>>>>>> 6 AppKit 0x00007fff34502c85
>>>>>>>>>>> -[NSApplication(ScreenHandling) _reactToDockChanged] + 144
>>>>>>>>>>>
>>>>>>>>>>> 7 AppKit 0x00007fff345024dc
>>>>>>>>>>> _NSCGSDockMessageReceive + 268
>>>>>>>>>>>
>>>>>>>>>>> 8 HIToolbox 0x00007fff35d34a3c
>>>>>>>>>>> _ZL12DockCallbackjjPvS_ + 1987
>>>>>>>>>>>
>>>>>>>>>>> 9 HIServices 0x00007fff3539c8ec
>>>>>>>>>>> dockClientNotificationProc + 217
>>>>>>>>>>>
>>>>>>>>>>> 10 SkyLight 0x00007fff6626f174
>>>>>>>>>>> _ZN12_GLOBAL__N_123notify_datagram_handlerEj15CGSDatagramTypePvmS1_ +
>>>>>>>>>>> 1002
>>>>>>>>>>>
>>>>>>>>>>> 11 SkyLight 0x00007fff6626de71
>>>>>>>>>>> CGSSnarfAndDispatchDatagrams + 1671
>>>>>>>>>>>
>>>>>>>>>>> 12 SkyLight 0x00007fff6649d5a5
>>>>>>>>>>> SLSGetNextEventRecordInternal + 83
>>>>>>>>>>>
>>>>>>>>>>> 13 SkyLight 0x00007fff6633bfbe
>>>>>>>>>>> SLEventCreateNextEvent + 136
>>>>>>>>>>>
>>>>>>>>>>> 14 libXplugin.1.dylib 0x000000010686df0c
>>>>>>>>>>> ___xp_init_service_cg_event_port_block_invoke + 104
>>>>>>>>>>>
>>>>>>>>>>> 15 libdispatch.dylib 0x00007fff7108d658
>>>>>>>>>>> _dispatch_client_callout + 8
>>>>>>>>>>>
>>>>>>>>>>> 16 libdispatch.dylib 0x00007fff7108f818
>>>>>>>>>>> _dispatch_continuation_pop + 414
>>>>>>>>>>>
>>>>>>>>>>> 17 libdispatch.dylib 0x00007fff7109f4be
>>>>>>>>>>> _dispatch_source_invoke + 2084
>>>>>>>>>>>
>>>>>>>>>>> 18 libdispatch.dylib 0x00007fff71092af6
>>>>>>>>>>> _dispatch_lane_serial_drain + 263
>>>>>>>>>>>
>>>>>>>>>>> 19 libdispatch.dylib 0x00007fff710935d6
>>>>>>>>>>> _dispatch_lane_invoke + 363
>>>>>>>>>>>
>>>>>>>>>>> 20 libdispatch.dylib 0x00007fff7109cc09
>>>>>>>>>>> _dispatch_workloop_worker_thread + 596
>>>>>>>>>>>
>>>>>>>>>>> 21 libsystem_pthread.dylib 0x00007fff712eba3d
>>>>>>>>>>> _pthread_wqthread + 290
>>>>>>>>>>>
>>>>>>>>>>> 22 libsystem_pthread.dylib 0x00007fff712eab77 start_wqthread + 15
>>>>>>>>>>>
>>>>>>>>>>> )
>>>>>>>>>>>
>>>>>>>>>>> libc++abi.dylib: terminating with uncaught exception of type NSException
>>>>>>>>>>>
>>>>>>>>>>> zsh: abort R
>>>>>>>>>>>
>>>>>>>>>>> rmh using rmhs-Air ~ %
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Fri, May 29, 2020 at 12:16 PM Duncan Murdoch
>>>>>>>>>>> <murdoch.duncan using gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> I'm not seeing that with R-patched r78557, run from the console. I'm
>>>>>>>>>>>> not sure I have the same MacOS version as you (R prints the same thing,
>>>>>>>>>>>> Apple says High Sierra 10.13.6). I tried with the CRAN binary of rgl
>>>>>>>>>>>> 0.100.54. I'd guess the version of XQuartz may be important: I'm not
>>>>>>>>>>>> seeing rgl in the call stack, but libXplugin is there. Mine is "XQuartz
>>>>>>>>>>>> 2.7.11 (xorg-server 1.18.4)".
>>>>>>>>>>>>
>>>>>>>>>>>> Duncan Murdoch
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 29/05/2020 11:44 a.m., Richard M. Heiberger wrote:
>>>>>>>>>>>>> R version 4.0.0 (2020-04-24) -- "Arbor Day"
>>>>>>>>>>>>> Copyright (C) 2020 The R Foundation for Statistical Computing
>>>>>>>>>>>>> Platform: x86_64-apple-darwin17.0 (64-bit)
>>>>>>>>>>>>>
>>>>>>>>>>>>> R is free software and comes with ABSOLUTELY NO WARRANTY.
>>>>>>>>>>>>> You are welcome to redistribute it under certain conditions.
>>>>>>>>>>>>> Type 'license()' or 'licence()' for distribution details.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Natural language support but running in an English locale
>>>>>>>>>>>>>
>>>>>>>>>>>>> R is a collaborative project with many contributors.
>>>>>>>>>>>>> Type 'contributors()' for more information and
>>>>>>>>>>>>> 'citation()' on how to cite R or R packages in publications.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Type 'demo()' for some demos, 'help()' for on-line help, or
>>>>>>>>>>>>> 'help.start()' for an HTML browser interface to help.
>>>>>>>>>>>>> Type 'q()' to quit R.
>>>>>>>>>>>>>
>>>>>>>>>>>>>> if(identical(getOption('pager'), file.path(R.home('bin'), 'pager'))) options(pager='cat') # rather take the ESS one
>>>>>>>>>>>>>> options(STERM='iESS', str.dendrogram.last="'", editor='emacsclient', show.error.locations=TRUE)
>>>>>>>>>>>>>> version
>>>>>>>>>>>>> _
>>>>>>>>>>>>> platform x86_64-apple-darwin17.0
>>>>>>>>>>>>> arch x86_64
>>>>>>>>>>>>> os darwin17.0
>>>>>>>>>>>>> system x86_64, darwin17.0
>>>>>>>>>>>>> status
>>>>>>>>>>>>> major 4
>>>>>>>>>>>>> minor 0.0
>>>>>>>>>>>>> year 2020
>>>>>>>>>>>>> month 04
>>>>>>>>>>>>> day 24
>>>>>>>>>>>>> svn rev 78286
>>>>>>>>>>>>> language R
>>>>>>>>>>>>> version.string R version 4.0.0 (2020-04-24)
>>>>>>>>>>>>> nickname Arbor Day
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> library(rgl)
>>>>>>>>>>>>>> plot(1:10)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Process R abort trap: 6 at Fri May 29 11:32:59 2020
>>>>>>>>>>>>> 2020-05-29 11:32:59.542 R[24448:3255600] *** Assertion failure in BOOL
>>>>>>>>>>>>> NSScreenConfigurationInvalidateIfNeededForReason(_NSScreenConfigurationUpdateReason)(),
>>>>>>>>>>>>> /AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1894.40.150/AppKit.subproj/NSScreenConfiguration.m:473
>>>>>>>>>>>>> 2020-05-29 11:32:59.560 R[24448:3255600] *** Terminating app due to
>>>>>>>>>>>>> uncaught exception 'NSInternalInconsistencyException', reason:
>>>>>>>>>>>>> 'NSScreen reconfig must only happen on the main thread.'
>>>>>>>>>>>>> *** First throw call stack:
>>>>>>>>>>>>> (
>>>>>>>>>>>>> 0 CoreFoundation 0x00007fff371698d7
>>>>>>>>>>>>> __exceptionPreprocess + 250
>>>>>>>>>>>>> 1 libobjc.A.dylib 0x00007fff6ff47a9e
>>>>>>>>>>>>> objc_exception_throw + 48
>>>>>>>>>>>>> 2 CoreFoundation 0x00007fff37192bb0
>>>>>>>>>>>>> +[NSException raise:format:arguments:] + 88
>>>>>>>>>>>>> 3 Foundation 0x00007fff398de456
>>>>>>>>>>>>> -[NSAssertionHandler
>>>>>>>>>>>>> handleFailureInFunction:file:lineNumber:description:] + 166
>>>>>>>>>>>>> 4 AppKit 0x00007fff34503083
>>>>>>>>>>>>> +[_NSScreenConfiguration invalidateConfigurationIfNeededForReason:] +
>>>>>>>>>>>>> 361
>>>>>>>>>>>>> 5 AppKit 0x00007fff34e4bda8
>>>>>>>>>>>>> _NSApplicationInvalidateScreenConfigurationMaybeIfNeeded + 243
>>>>>>>>>>>>> 6 AppKit 0x00007fff34502c85
>>>>>>>>>>>>> -[NSApplication(ScreenHandling) _reactToDockChanged] + 144
>>>>>>>>>>>>> 7 AppKit 0x00007fff345024dc
>>>>>>>>>>>>> _NSCGSDockMessageReceive + 268
>>>>>>>>>>>>> 8 HIToolbox 0x00007fff35d34a3c
>>>>>>>>>>>>> _ZL12DockCallbackjjPvS_ + 1987
>>>>>>>>>>>>> 9 HIServices 0x00007fff3539c8ec
>>>>>>>>>>>>> dockClientNotificationProc + 217
>>>>>>>>>>>>> 10 SkyLight 0x00007fff6626f174
>>>>>>>>>>>>> _ZN12_GLOBAL__N_123notify_datagram_handlerEj15CGSDatagramTypePvmS1_ +
>>>>>>>>>>>>> 1002
>>>>>>>>>>>>> 11 SkyLight 0x00007fff6626de71
>>>>>>>>>>>>> CGSSnarfAndDispatchDatagrams + 1671
>>>>>>>>>>>>> 12 SkyLight 0x00007fff6649d5a5
>>>>>>>>>>>>> SLSGetNextEventRecordInternal + 83
>>>>>>>>>>>>> 13 SkyLight 0x00007fff6633bfbe
>>>>>>>>>>>>> SLEventCreateNextEvent + 136
>>>>>>>>>>>>> 14 libXplugin.1.dylib 0x000000010ffa5f0c
>>>>>>>>>>>>> ___xp_init_service_cg_event_port_block_invoke + 104
>>>>>>>>>>>>> 15 libdispatch.dylib 0x00007fff7108d658
>>>>>>>>>>>>> _dispatch_client_callout + 8
>>>>>>>>>>>>> 16 libdispatch.dylib 0x00007fff7108f818
>>>>>>>>>>>>> _dispatch_continuation_pop + 414
>>>>>>>>>>>>> 17 libdispatch.dylib 0x00007fff7109f4be
>>>>>>>>>>>>> _dispatch_source_invoke + 2084
>>>>>>>>>>>>> 18 libdispatch.dylib 0x00007fff71092af6
>>>>>>>>>>>>> _dispatch_lane_serial_drain + 263
>>>>>>>>>>>>> 19 libdispatch.dylib 0x00007fff710935d6
>>>>>>>>>>>>> _dispatch_lane_invoke + 363
>>>>>>>>>>>>> 20 libdispatch.dylib 0x00007fff7109cc09
>>>>>>>>>>>>> _dispatch_workloop_worker_thread + 596
>>>>>>>>>>>>> 21 libsystem_pthread.dylib 0x00007fff712eba3d
>>>>>>>>>>>>> _pthread_wqthread + 290
>>>>>>>>>>>>> 22 libsystem_pthread.dylib 0x00007fff712eab77 start_wqthread + 15
>>>>>>>>>>>>> )
>>>>>>>>>>>>> libc++abi.dylib: terminating with uncaught exception of type NSException
>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> R-SIG-Mac mailing list
>>>>>>>>>>>>> R-SIG-Mac using r-project.org
>>>>>>>>>>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> R-SIG-Mac mailing list
>>>>> R-SIG-Mac using r-project.org
>>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>>>
>>>
>>
>
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
More information about the R-SIG-Mac
mailing list