[R-SIG-Mac] [External] Re: crash due to rgl and base graphics conflict

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Mon Aug 3 15:05:40 CEST 2020


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
>>>>>>>>
>>>>>>>
>>>>>
>>>



More information about the R-SIG-Mac mailing list