Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CCL 1.11.6 fails on OSX 10.15 #226

Closed
stoney opened this issue Oct 10, 2019 · 10 comments
Closed

CCL 1.11.6 fails on OSX 10.15 #226

stoney opened this issue Oct 10, 2019 · 10 comments

Comments

@stoney
Copy link

stoney commented Oct 10, 2019

Launching CCL 1.11.6 on Catalina (MacOSX 10.15) opens the AltConsole with:

Error: Objective-C runtime exception:
-[__NSSingleEntryDictionaryI _setViewsNeedUpdateConstraints:]: unrecognized selector sent to instance 0x6000002014c0
While executing: #<Anonymous Function #x3000011076FF>, in process Initial(0).

@billstclair
Copy link
Member

billstclair commented Oct 10, 2019 via email

@ijitai
Copy link

ijitai commented Oct 11, 2019

Don't use 1.12dev.5 . It fails on 10.15. Don't upgrade 10.15
`
Couldn't load lisp heap image from /Users/yourMac/Downloads/darwinx86/dx86cl64.image: Operation not permitted
YourMacBook-Pro:darwinx86 2 YourName$ ./dx86cl64

Error: There is no package named "ASDF/FIND-SYSTEM" .
While executing: CCL::%FASL-NVPACKAGE, in process listener(1).
Type :GO to continue, :POP to abort, :R for a list of available restarts.
If continued: Retry finding package with name "ASDF/FIND-SYSTEM".
Type :? for other options.
1 > q
Clozure Common Lisp Version 1.12-dev (v1.12-dev.4) DarwinX8664

`

But 1.11.6 on Catalina can work. You need enter 1.11.6 in terminal, and rebuild cocoa-application.

@kwccoin
Copy link

kwccoin commented Oct 12, 2019

Got this in the App Store version 1.11.6:

Error: Objective-C runtime exception:
-[__NSSingleEntryDictionaryI _setViewsNeedUpdateConstraints:]: unrecognized selector sent to instance 0x600000245200
While executing: #<Anonymous Function #x3000011076FF>, in process Initial(0).
Type :POP to abort, :R for a list of available restarts.
Type :? for other options.
1 >

Before the app freeze you can still do (+ 1 3)

@xrme
Copy link
Member

xrme commented Oct 14, 2019

For some reason, the current app store version is failing this way.

I have done some experimentation, and rebuilding from source produces a working binary. However, there is an issue with Xcode 11.1: the assembler doesn't build a couple of lisp kernel files. Installing Xcode 10.3 and using xcode-select to use the Xcode 10.3 tools enables it to work.

I have started working on an updated app store submission. I expect I'll have to learn about notarization (and hence the hardened runtime stuff) now.

@kwccoin
Copy link

kwccoin commented Oct 14, 2019

Great. I guess as always upgrade to new os should take care on our user side. Waiting and if you need beta users, I guess we are here. :-)

@PierreBessiere
Copy link

Hi all :-)

Matthew have you any hope to produce an upgrade app store version in the next future or is it a complicated matter requiring a lot fo work ?
In any case, thanks again for the great work you do on CCL !

Best wishes.

@PierreBessiere
Copy link

Ca marche !!!

Thanks a lot Matthew, you saved my life ;-)

Best wishes.

@xrme
Copy link
Member

xrme commented Oct 30, 2019

The app store CCL works on Catalina, but it seems to be flaky/broken on Mojave now.

@xrme
Copy link
Member

xrme commented Nov 24, 2019

In an earlier comment, I mentioned that the Xcode 11.1 assembler didn't like some of CCL's assembly-language file.

I just submitted a bug report to Apple (FB7464217).

This is the sample code, extracted from ccl sources. Note that I'm passing -Q because the ccl assembly code includes .stabs directives, which the llvm assembler doesn't support.

/* assemble with as -Q -g -arch x86_64 bus.s */

/* fails with assembler included with Xcode 11 -- Xcode 11.1.2 at least */

/* works on Xcode 10.3 or earler */

        node_size = 8
        dnode_size = 16
        num_subtag_bits = 8
        subtag_shift = num_subtag_bits
        ntagbits = 4
        fulltag_misc = 13
        misc_bias = fulltag_misc
        fulltag_nodeheader_0 = 5
        subtag_catch_frame = (fulltag_nodeheader_0 | (2 << ntagbits))
misc_header_offset = -fulltag_misc
misc_data_offset = misc_header_offset+node_size /* first word of data    */
misc_subtag_offset = misc_header_offset       /* low byte of header   */


        
        .set _catch_frame_org,-misc_bias
        .set _catch_frame_base,_catch_frame_org

        .set catch_frame.header, _catch_frame_org
        .set _catch_frame_org,_catch_frame_org + node_size

        .set catch_frame.catch_tag, _catch_frame_org
        .set _catch_frame_org,_catch_frame_org + node_size
        /* #<unbound> -> unwind-protect, else catch   */

        .set catch_frame.link, _catch_frame_org
        .set _catch_frame_org,_catch_frame_org + node_size
                /* backpointer to previous catch frame   */

        .set catch_frame.mvflag, _catch_frame_org
        .set _catch_frame_org,_catch_frame_org + node_size
                /* 0 if single-valued catch, fixnum 1 otherwise   */

        .set catch_frame.rsp, _catch_frame_org
        .set _catch_frame_org,_catch_frame_org + node_size
                /* saved lisp sp   */

        .set catch_frame.rbp, _catch_frame_org
        .set _catch_frame_org,_catch_frame_org + node_size
                /* saved lisp rbp   */

        .set catch_frame.foreign_sp, _catch_frame_org
        .set _catch_frame_org,_catch_frame_org + node_size
      /* necessary ?    */

        .set catch_frame.db_link, _catch_frame_org
        .set _catch_frame_org,_catch_frame_org + node_size
                /* head of special-binding chain   */

        .set catch_frame.xframe, _catch_frame_org
        .set _catch_frame_org,_catch_frame_org + node_size
                /* exception frame chain   */

        .set catch_frame.pc, _catch_frame_org
        .set _catch_frame_org,_catch_frame_org + node_size
                /* TRA of catch exit or cleanup form   */

        .set catch_frame.nfp, _catch_frame_org
        .set _catch_frame_org,_catch_frame_org + node_size


        .set catch_frame.pad, _catch_frame_org
        .set _catch_frame_org,_catch_frame_org + node_size

        .set catch_frame.element_count,((_catch_frame_org-node_size)-_catch_frame_base)/node_size
        .set  catch_frame.size, _catch_frame_org-_catch_frame_base


        
        .text
        .align 2
        .p2align 3

        .globl junk
junk:
        movq %rax,misc_data_offset(%rsi)

        movq $((catch_frame.element_count<<subtag_shift)|subtag_catch_frame),dnode_size(%rcx)
        ret

@xrme
Copy link
Member

xrme commented Dec 31, 2019

consolidating ide part under #272, build problem in #271

@xrme xrme closed this as completed Dec 31, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants