Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Community » U++ community news and announcements » 2025.1rc4
2025.1rc4 [message #61535] Fri, 07 March 2025 15:48 Go to next message
mirek is currently offline  mirek
Messages: 14261
Registered: November 2005
Ultimate Member
https://sourceforge.net/projects/upp/upload/upp/2025.1rc4/
Re: 2025.1rc4 [message #61542 is a reply to message #61535] Thu, 13 March 2025 04:42 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1430
Registered: December 2006
Ultimate Contributor
Crash with TheIDE on macOS 10.15.7 (Intel). Latest src.

$ /Users/xxx/dvlp/cpp/code/upp/out/CLANG.Blitz.Gui.Shared/ide.app/Contents/MacOS/ide 
2025-03-12 23:29:48.923 ide[42704:1183943] -[NSCompositeAppearance performAsCurrentDrawingAppearance:]: unrecognized selector sent to instance 0x7fd8a2414fb0
2025-03-12 23:29:48.924 ide[42704:1183943] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSCompositeAppearance performAsCurrentDrawingAppearance:]: unrecognized selector sent to instance 0x7fd8a2414fb0'
*** First throw call stack:
(
 0   CoreFoundation                      0x00007fff2e9b9a17 __exceptionPreprocess + 250
 1   libobjc.A.dylib                     0x00007fff674d7a9e objc_exception_throw + 48
 2   CoreFoundation                      0x00007fff2ea38e36 -[NSObject(NSObject) __retain_OA] + 0
 3   CoreFoundation                      0x00007fff2e91e190 _forwarding_ + 1427
 4   CoreFoundation                      0x00007fff2e91db68 _CF_forwarding_prep_0 + 120
 5   ide                                 0x00000001004eeb6a _Z12Coco_PaintChPviii + 106
 6   ide                                 0x00000001004cad94 _ZN3Upp7CocoImgENS_5ColorEiii + 148
 7   ide                                 0x00000001004c8e87 _ZN3Upp10ChHostSkinEv + 135
 8   ide                                 0x00000001008827ef _ZN3Upp4Ctrl6ReSkinEv + 159
 9   ide                                 0x00000001008bd4f7 _ZN3Upp8CocoInitEiPPKcS2_ + 519
 10  ide                                 0x0000000100228cbe main + 270
 11  libdyld.dylib                       0x00007fff68677cc9 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException



Regards,
Novo
Re: 2025.1rc4 [message #61547 is a reply to message #61542] Fri, 14 March 2025 13:54 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14261
Registered: November 2005
Ultimate Member
Novo wrote on Thu, 13 March 2025 04:42
Crash with TheIDE on macOS 10.15.7 (Intel). Latest src.

$ /Users/xxx/dvlp/cpp/code/upp/out/CLANG.Blitz.Gui.Shared/ide.app/Contents/MacOS/ide 
2025-03-12 23:29:48.923 ide[42704:1183943] -[NSCompositeAppearance performAsCurrentDrawingAppearance:]: unrecognized selector sent to instance 0x7fd8a2414fb0
2025-03-12 23:29:48.924 ide[42704:1183943] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSCompositeAppearance performAsCurrentDrawingAppearance:]: unrecognized selector sent to instance 0x7fd8a2414fb0'
*** First throw call stack:
(
 0   CoreFoundation                      0x00007fff2e9b9a17 __exceptionPreprocess + 250
 1   libobjc.A.dylib                     0x00007fff674d7a9e objc_exception_throw + 48
 2   CoreFoundation                      0x00007fff2ea38e36 -[NSObject(NSObject) __retain_OA] + 0
 3   CoreFoundation                      0x00007fff2e91e190 _forwarding_ + 1427
 4   CoreFoundation                      0x00007fff2e91db68 _CF_forwarding_prep_0 + 120
 5   ide                                 0x00000001004eeb6a _Z12Coco_PaintChPviii + 106
 6   ide                                 0x00000001004cad94 _ZN3Upp7CocoImgENS_5ColorEiii + 148
 7   ide                                 0x00000001004c8e87 _ZN3Upp10ChHostSkinEv + 135
 8   ide                                 0x00000001008827ef _ZN3Upp4Ctrl6ReSkinEv + 159
 9   ide                                 0x00000001008bd4f7 _ZN3Upp8CocoInitEiPPKcS2_ + 519
 10  ide                                 0x0000000100228cbe main + 270
 11  libdyld.dylib                       0x00007fff68677cc9 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException



Works on M2 mac with Sonoma.. But I guess as this has something to do with selector in Coco_ChPaint, I have tried this fix:

https://github.com/ultimatepp/ultimatepp/commit/6cebecec4d7b 0962668c5c90f04ed1a8229787dd

Please let me know. If this does not help, it would be worth trying to revert the whole function pre 12/2024 state just to check the reason.
Re: 2025.1rc4 [message #61548 is a reply to message #61547] Sat, 15 March 2025 05:11 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1430
Registered: December 2006
Ultimate Contributor
I'm sorry to say that but your fix didn't help. Latest src.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
  * frame #0: 0x00007fff687bf32a libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff6887fe60 libsystem_pthread.dylib`pthread_kill + 430
    frame #2: 0x00007fff68746808 libsystem_c.dylib`abort + 120
    frame #3: 0x00007fff659ab458 libc++abi.dylib`abort_message + 231
    frame #4: 0x00007fff6599c8bf libc++abi.dylib`demangling_terminate_handler() + 262
    frame #5: 0x00007fff674d9a57 libobjc.A.dylib`_objc_terminate() + 96
    frame #6: 0x00007fff659aa887 libc++abi.dylib`std::__terminate(void (*)()) + 8
    frame #7: 0x00007fff659ad1a2 libc++abi.dylib`__cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*) + 27
    frame #8: 0x00007fff659ad169 libc++abi.dylib`__cxa_throw + 113
    frame #9: 0x00007fff674d7bcc libobjc.A.dylib`objc_exception_throw + 350
    frame #10: 0x00007fff2ea38e36 CoreFoundation`-[NSObject(NSObject) doesNotRecognizeSelector:] + 132
    frame #11: 0x00007fff2e91e190 CoreFoundation`___forwarding___ + 1427
    frame #12: 0x00007fff2e91db68 CoreFoundation`__forwarding_prep_0___ + 120
    frame #13: 0x00000001004963fe ide`Coco_PaintCh(cgcontext=0x0000000102b13a10, type=7, value=1, state=0) at ChCocoMM.mm:99:2
    frame #14: 0x0000000100440367 ide`Upp::CocoImg(bg=(color = 1073741824), type=7, value=1, state=0) at ChCoco.cpp:47:2
    frame #15: 0x00000001004407ea ide`Upp::CocoColor(k=1, bg=(color = 1073741824)) at ChCoco.cpp:69:18
    frame #16: 0x000000010043e70e ide`Upp::ChHostSkin() at ChCoco.cpp:136:20
    frame #17: 0x0000000100a2979f ide`Upp::Ctrl::ReSkin() at Ctrl.cpp:951:3
    frame #18: 0x0000000100a29dc0 ide`Upp::Ctrl::SetUHDEnabled(set=true) at Ctrl.cpp:794:2
    frame #19: 0x0000000100a6eb05 ide`Upp::CocoInit(argc=1, argv=0x00007ffeefbff568, envptr=0x00007ffeefbff578) at CocoApp.mm:99:2
    frame #20: 0x00000001000ee90c ide`main(argc=1, argv=0x00007ffeefbff568, envptr=0x00007ffeefbff578) at main.cpp:178:1
    frame #21: 0x00007fff68677cc9 libdyld.dylib`start + 1
    frame #22: 0x00007fff68677cc9 libdyld.dylib`start + 1

This is what I've found: AppKit macOS 10.15.6 to 11.0 API Differences
[NSAppearance performAsCurrentDrawingAppearance:] was added in 11.0. It is not available in 10.15.
It would be great to be able to detect version of API at run time (or at compile time) and adapt code accordingly ...


Regards,
Novo
Re: 2025.1rc4 [message #61549 is a reply to message #61548] Sat, 15 March 2025 08:57 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14261
Registered: November 2005
Ultimate Member
Novo wrote on Sat, 15 March 2025 05:11
I'm sorry to say that but your fix didn't help. Latest src.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
  * frame #0: 0x00007fff687bf32a libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff6887fe60 libsystem_pthread.dylib`pthread_kill + 430
    frame #2: 0x00007fff68746808 libsystem_c.dylib`abort + 120
    frame #3: 0x00007fff659ab458 libc++abi.dylib`abort_message + 231
    frame #4: 0x00007fff6599c8bf libc++abi.dylib`demangling_terminate_handler() + 262
    frame #5: 0x00007fff674d9a57 libobjc.A.dylib`_objc_terminate() + 96
    frame #6: 0x00007fff659aa887 libc++abi.dylib`std::__terminate(void (*)()) + 8
    frame #7: 0x00007fff659ad1a2 libc++abi.dylib`__cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*) + 27
    frame #8: 0x00007fff659ad169 libc++abi.dylib`__cxa_throw + 113
    frame #9: 0x00007fff674d7bcc libobjc.A.dylib`objc_exception_throw + 350
    frame #10: 0x00007fff2ea38e36 CoreFoundation`-[NSObject(NSObject) doesNotRecognizeSelector:] + 132
    frame #11: 0x00007fff2e91e190 CoreFoundation`___forwarding___ + 1427
    frame #12: 0x00007fff2e91db68 CoreFoundation`__forwarding_prep_0___ + 120
    frame #13: 0x00000001004963fe ide`Coco_PaintCh(cgcontext=0x0000000102b13a10, type=7, value=1, state=0) at ChCocoMM.mm:99:2
    frame #14: 0x0000000100440367 ide`Upp::CocoImg(bg=(color = 1073741824), type=7, value=1, state=0) at ChCoco.cpp:47:2
    frame #15: 0x00000001004407ea ide`Upp::CocoColor(k=1, bg=(color = 1073741824)) at ChCoco.cpp:69:18
    frame #16: 0x000000010043e70e ide`Upp::ChHostSkin() at ChCoco.cpp:136:20
    frame #17: 0x0000000100a2979f ide`Upp::Ctrl::ReSkin() at Ctrl.cpp:951:3
    frame #18: 0x0000000100a29dc0 ide`Upp::Ctrl::SetUHDEnabled(set=true) at Ctrl.cpp:794:2
    frame #19: 0x0000000100a6eb05 ide`Upp::CocoInit(argc=1, argv=0x00007ffeefbff568, envptr=0x00007ffeefbff578) at CocoApp.mm:99:2
    frame #20: 0x00000001000ee90c ide`main(argc=1, argv=0x00007ffeefbff568, envptr=0x00007ffeefbff578) at main.cpp:178:1
    frame #21: 0x00007fff68677cc9 libdyld.dylib`start + 1
    frame #22: 0x00007fff68677cc9 libdyld.dylib`start + 1

This is what I've found: AppKit macOS 10.15.6 to 11.0 API Differences
[NSAppearance performAsCurrentDrawingAppearance:] was added in 11.0. It is not available in 10.15.
It would be great to be able to detect version of API at run time (or at compile time) and adapt code accordingly ...


Ah, stupid me, I missed that you are testing on old macos (10.15 vs 15.xx).

This should help:

https://github.com/ultimatepp/ultimatepp/commit/d58a5e54abf9 3f56da44e4b987a17f52a46b2ba9
Re: 2025.1rc4 [message #61551 is a reply to message #61549] Sat, 15 March 2025 16:20 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1430
Registered: December 2006
Ultimate Contributor
Thanks. Exception is gone. Application menu is gone as well. It works, but it is invisible.
index.php?t=getfile&id=7066&private=0

MacOS 15.3.1 is fine. It works and menu is visible.


Regards,
Novo
Re: 2025.1rc4 [message #61552 is a reply to message #61551] Sat, 15 March 2025 16:44 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1430
Registered: December 2006
Ultimate Contributor
Another problem with MacOS is that TheIDE launches gdb on F5. It is supposed to be lldb ...

Regards,
Novo
Re: 2025.1rc4 [message #61553 is a reply to message #61551] Sun, 16 March 2025 09:37 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14261
Registered: November 2005
Ultimate Member
Novo wrote on Sat, 15 March 2025 16:20
Thanks. Exception is gone. Application menu is gone as well. It works, but it is invisible.
index.php?t=getfile&id=7066&private=0

MacOS 15.3.1 is fine. It works and menu is visible.


Well, I have added "flicker prevention" for the main menu, I guess it might be the cause. Can you try with

void CocoMenuBar::Set(Event<Bar&> bar)
{
	if(lock) return;
	lock++;
	[cocomenu removeAllItems];
	bar(*this);
	lock--;
}


(I do not see any obvious reason now why it should not work, but at least this might narrow it down).
Re: 2025.1rc4 [message #61555 is a reply to message #61553] Sun, 16 March 2025 23:05 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1430
Registered: December 2006
Ultimate Contributor
mirek wrote on Sun, 16 March 2025 04:37

Well, I have added "flicker prevention" for the main menu, I guess it might be the cause. Can you try with

void CocoMenuBar::Set(Event<Bar&> bar)
{
	if(lock) return;
	lock++;
	[cocomenu removeAllItems];
	bar(*this);
	lock--;
}


(I do not see any obvious reason now why it should not work, but at least this might narrow it down).

With this implementation of CocoMenuBar::Set menu works fine.


Regards,
Novo
Re: 2025.1rc4 [message #61557 is a reply to message #61555] Mon, 17 March 2025 09:11 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14261
Registered: November 2005
Ultimate Member
Novo wrote on Sun, 16 March 2025 23:05
mirek wrote on Sun, 16 March 2025 04:37

Well, I have added "flicker prevention" for the main menu, I guess it might be the cause. Can you try with

void CocoMenuBar::Set(Event<Bar&> bar)
{
	if(lock) return;
	lock++;
	[cocomenu removeAllItems];
	bar(*this);
	lock--;
}


(I do not see any obvious reason now why it should not work, but at least this might narrow it down).

With this implementation of CocoMenuBar::Set menu works fine.


But it flickers... Smile So I guess we should make it work with current code.

Anyway, after staring to the code for 40 minutes, I still cannot see the reason. So I have added some most likely possible fix, can you test please with master?

If that does not help, I would welcome adding some LOGs/DUMPs in some places...
Re: 2025.1rc4 [message #61559 is a reply to message #61557] Mon, 17 March 2025 16:19 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1430
Registered: December 2006
Ultimate Contributor
mirek wrote on Mon, 17 March 2025 04:11

But it flickers... Smile So I guess we should make it work with current code.

Anyway, after staring to the code for 40 minutes, I still cannot see the reason. So I have added some most likely possible fix, can you test please with master?

If that does not help, I would welcome adding some LOGs/DUMPs in some places...

Menu is gone again ...
Where would you like to add LOGs/DUMPs?
index.php?t=getfile&id=7067&private=0


Regards,
Novo
Re: 2025.1rc4 [message #61563 is a reply to message #61559] Mon, 17 March 2025 20:18 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14261
Registered: November 2005
Ultimate Member
Novo wrote on Mon, 17 March 2025 16:19
mirek wrote on Mon, 17 March 2025 04:11

But it flickers... Smile So I guess we should make it work with current code.

Anyway, after staring to the code for 40 minutes, I still cannot see the reason. So I have added some most likely possible fix, can you test please with master?

If that does not help, I would welcome adding some LOGs/DUMPs in some places...

Menu is gone again ...
Where would you like to add LOGs/DUMPs?
index.php?t=getfile&id=7067&private=0


Wait a moment: Does it mean that what is missing is texts? I mean, that submenus are under "spaces"?

Mirek
Re: 2025.1rc4 [message #61564 is a reply to message #61563] Mon, 17 March 2025 22:53 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1430
Registered: December 2006
Ultimate Contributor
mirek wrote on Mon, 17 March 2025 15:18
Wait a moment: Does it mean that what is missing is texts? I mean, that submenus are under "spaces"?

Mirek

That is correct. As I wrote previously: "It works, but it is invisible.". Probably, I should've described the problem in more details.


Regards,
Novo
Re: 2025.1rc4 [message #61565 is a reply to message #61564] Mon, 17 March 2025 23:51 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14261
Registered: November 2005
Ultimate Member
OK, please try this

CocoMenuBar::Item& CocoMenuBar::Item::Text(const char *text)
{
	DLOG("====");
	DDUMP(bar->just_check);
	String txt = text;
	if(bar->just_check) {
		if(txt != this->text)
			bar->is_same = false;
		DDUMP(bar->is_same);
		return *this;
	}
	this->text = txt;
	String h;
	DDUMP(text);
	while(*text) {
		if(*text == '&') {
			text++;
			if(*text == '&') {
				h.Cat('&');
				text++;
			}
		}
		else
			h.Cat(*text++);
	}
	DDUMP(h);
	DDUMP(~submenu);
	NSString *s = [NSString stringWithUTF8String:~h];
	nsitem.title = s;
	if(submenu)
		submenu->cocomenu.title = s;
	return *this;
}



Thank you!
Re: 2025.1rc4 [message #61566 is a reply to message #61565] Tue, 18 March 2025 01:22 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1430
Registered: December 2006
Ultimate Contributor
mirek wrote on Mon, 17 March 2025 18:51
OK, please try this

I checked this with macOS 10.15. It didn't help.
Another weird thing: ide doesn't create a log file ... I ran a debug version ...


Regards,
Novo
Re: 2025.1rc4 [message #61567 is a reply to message #61566] Tue, 18 March 2025 04:52 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1430
Registered: December 2006
Ultimate Contributor
Another problem with TheIDE (detected on macOS 10.15 but it should be present on all platforms).
Steps to reproduce:
1) Launch a debug version of TheIDE (because it is slower).
2) Open a tutorial/Gui01 project and close it immediately before clangd finishes its job.
3) Launch a debug version of TheIDE again.
4) Open the tutorial/Gui01 project again.
5) Observe hanging TheIDE.

It looks like TheIDE stores intermediate data during clangd initialization.
If you quit TheIDE before clangd finishes its job this data gets broken.


Regards,
Novo
Re: 2025.1rc4 [message #61568 is a reply to message #61567] Tue, 18 March 2025 11:21 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14261
Registered: November 2005
Ultimate Member
Novo wrote on Tue, 18 March 2025 04:52
Another problem with TheIDE (detected on macOS 10.15 but it should be present on all platforms).
Steps to reproduce:
1) Launch a debug version of TheIDE (because it is slower).
2) Open a tutorial/Gui01 project and close it immediately before clangd finishes its job.
3) Launch a debug version of TheIDE again.
4) Open the tutorial/Gui01 project again.
5) Observe hanging TheIDE.

It looks like TheIDE stores intermediate data during clangd initialization.
If you quit TheIDE before clangd finishes its job this data gets broken.


I do not observe any of these ill effects... Sad

.log not working is really strange and I guess it is where we should start for now. It is just using POSIX filesystem right?

Does very simple app with single SaveFile(...) work? (Like does it save the data?)

Can you test .log with something trivial like CONSOLE_APP_MAIN {} ?

Also, quote likely culprit: The position of .log file in POSIX system has changed. Are you trying with latest ide? (so that theide knows where to look for it?) Maybe it gets generated, just Alt-L in theide does not know where to look for it?

GetFileFolder(GetUserConfigDir()) + "/.local/state/" + GetConfigGroup() + "/log/" + GetAppName()

~/.local/state/u++/log/...
Re: 2025.1rc4 [message #61569 is a reply to message #61568] Tue, 18 March 2025 19:26 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 1099
Registered: September 2012
Location: Poland, Kraków
Senior Contributor
Hello,

I would like to jump to the discussion. Do we want to support macOS 10.15, if it is currently not supported by Apple? The support for this OS ended on 12 Sep 2022, which is 2 and the half years ago. For me, we should focus only on macOS that is currently supported by the Apple. We don't have enough manpower for that. Also, Intel CPU's are supported on the latest version of macOS, which is macOS Sequoia (15.0). So, we will do not drop architecture, but only unsupported versions.

BTW, There is a compilation issue on our pipelines. We should focus to fix this issue...

Sources:
- https://endoflife.date/macos

Klugier


U++ - one framework to rule them all.

[Updated on: Tue, 18 March 2025 19:51]

Report message to a moderator

Re: 2025.1rc4 [message #61570 is a reply to message #61568] Tue, 18 March 2025 22:24 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1430
Registered: December 2006
Ultimate Contributor
mirek wrote on Tue, 18 March 2025 06:21

~/.local/state/u++/log/...

index.php?t=getfile&id=7069&private=0
This is how it looks in GUI ...
It turned out that a log-file is created, but it is located in [root of .config]/.local/state/u++/log/...
And TheIDE looks for a log file in a fixed place and ignores GetFileFolder(GetUserConfigDir()) ...


Regards,
Novo

[Updated on: Tue, 18 March 2025 23:02]

Report message to a moderator

Re: 2025.1rc4 [message #61571 is a reply to message #61570] Tue, 18 March 2025 22:26 Go to previous messageGo to previous message
Novo is currently offline  Novo
Messages: 1430
Registered: December 2006
Ultimate Contributor
This is a log file with your version of CocoMenuBar::Item::Text ...
  • Attachment: ide.log
    (Size: 36.67KB, Downloaded 48 times)


Regards,
Novo
Previous Topic: 2025.1rc3
Next Topic: 2025.1rc5
Goto Forum:
  


Current Time: Wed Jun 18 11:16:20 CEST 2025

Total time taken to generate the page: 0.05487 seconds