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

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Fri May 29 21:13:26 CEST 2020


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