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 » 2024rc
2024rc [message #61077] Thu, 07 November 2024 18:48 Go to next message
mirek is currently offline  mirek
Messages: 14261
Registered: November 2005
Ultimate Member
https://sourceforge.net/projects/upp/files/upp/2024rc3/

[Updated on: Sun, 17 November 2024 16:41]

Report message to a moderator

Re: 2024rc3 [message #61079 is a reply to message #61077] Fri, 08 November 2024 12:24 Go to previous messageGo to next message
Tom1
Messages: 1303
Registered: March 2007
Ultimate Contributor
Thanks!

Testing...

Best regards,

Tom
Re: 2024rc3 [message #61083 is a reply to message #61079] Mon, 11 November 2024 10:08 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1427
Registered: September 2007
Ultimate Contributor
Tested on fresh install on another PC, and one common problem is back: CLANG marks my source file with error, with a red exlamation mark in the top elft corner, with the text "Errors".

It has no tooltip or click to tell you what the errors are.

This is extremely common and comes and goes, and is very annoying because first it has a big red exclamation mark on your file, then it kills "IntelliSense".

This time it was triggered by a code like this (and many other cases):
	String fullName = name;
	fullName << ".";


index.php?t=getfile&id=6999&private=0
I attached the error.
Re: 2024rc3 [message #61084 is a reply to message #61083] Mon, 11 November 2024 10:15 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14261
Registered: November 2005
Ultimate Member
cbpporter wrote on Mon, 11 November 2024 10:08
Tested on fresh install on another PC, and one common problem is back: CLANG marks my source file with error, with a red exlamation mark in the top elft corner, with the text "Errors".

It has no tooltip or click to tell you what the errors are.


You should see it in scrollbar.

Quote:

This is extremely common and comes and goes, and is very annoying because first it has a big red exclamation mark on your file, then it kills "IntelliSense".

This time it was triggered by a code like this (and many other cases):
	String fullName = name;
	fullName << ".";


index.php?t=getfile&id=6999&private=0
I attached the error.



This probably means some problem of libclang installation. A good way to check is to activate "Assist diagnostics" and then Assist / "Current file parse errors" (post it here).

[Updated on: Mon, 11 November 2024 10:16]

Report message to a moderator

Re: 2024rc3 [message #61094 is a reply to message #61084] Sun, 17 November 2024 16:40 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14261
Registered: November 2005
Ultimate Member
It is RC4 now...
Re: 2024rc3 [message #61102 is a reply to message #61084] Mon, 18 November 2024 13:47 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1427
Registered: September 2007
Ultimate Contributor
mirek wrote on Mon, 11 November 2024 11:15
cbpporter wrote on Mon, 11 November 2024 10:08
Tested on fresh install on another PC, and one common problem is back: CLANG marks my source file with error, with a red exlamation mark in the top elft corner, with the text "Errors".

It has no tooltip or click to tell you what the errors are.


You should see it in scrollbar.

Quote:

This is extremely common and comes and goes, and is very annoying because first it has a big red exclamation mark on your file, then it kills "IntelliSense".

This time it was triggered by a code like this (and many other cases):
	String fullName = name;
	fullName << ".";


index.php?t=getfile&id=6999&private=0
I attached the error.



This probably means some problem of libclang installation. A good way to check is to activate "Assist diagnostics" and then Assist / "Current file parse errors" (post it here).


Sorry for being late, I had to locate the non main dev PCs where this problems occurs since on my mains (where VS is not detected, unrelated) it does not.

Errors do appear in the scrollbar but there is no tooltip. Nor on the exclamation bar. But they do appear in code.

Anyway, the one main problem that appears in all the assist diagnostic logs is:
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__fwd\string.h (35): use of undeclared identifier 'char32_t'
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__fwd\string.h (58): use of undeclared identifier 'char16_t'
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__fwd\string.h (59): use of undeclared identifier 'char32_t'
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__fwd\string.h (77): use of undeclared identifier 'char16_t'
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__fwd\string.h (78): use of undeclared identifier 'char32_t'
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__fwd\string.h (92): unknown type name 'u16string'
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__fwd\string.h (93): unknown type name 'u32string'
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__fwd\string.h (102): no type named 'u16string' in namespace 'std::pmr'
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__fwd\string.h (103): no type named 'u32string' in namespace 'std::pmr'
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__functional\hash.h (371): use of undeclared identifier 'char16_t'


The rest seems to be related to String, so they might disappear if this one does.

This is on RC3 and RC4.

But for a more testable solution, in AddressBook.cpp, I've attached the output.
  • Attachment: parse_errors
    (Size: 15.91KB, Downloaded 56 times)
Re: 2024rc3 [message #61103 is a reply to message #61102] Mon, 18 November 2024 13:50 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1427
Registered: September 2007
Ultimate Contributor
Also, maybe the first debug session shouldn't start with half the screen taken up by asm debug Smile. This has been the case for years... Is ASM debugging so important for U+++ users?

index.php?t=getfile&id=7005&private=0
  • Attachment: asm.png
    (Size: 22.14KB, Downloaded 302 times)
Re: 2024rc3 [message #61104 is a reply to message #61103] Mon, 18 November 2024 14:00 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14261
Registered: November 2005
Ultimate Member
cbpporter wrote on Mon, 18 November 2024 13:50
Also, maybe the first debug session shouldn't start with half the screen taken up by asm debug Smile. This has been the case for years... Is ASM debugging so important for U+++ users?

index.php?t=getfile&id=7005&private=0


It is important for me...

If it has been like that for years, it can wait till the next release.
Re: 2024rc3 [message #61105 is a reply to message #61102] Mon, 18 November 2024 14:02 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14261
Registered: November 2005
Ultimate Member
cbpporter wrote on Mon, 18 November 2024 13:47
mirek wrote on Mon, 11 November 2024 11:15
cbpporter wrote on Mon, 11 November 2024 10:08
Tested on fresh install on another PC, and one common problem is back: CLANG marks my source file with error, with a red exlamation mark in the top elft corner, with the text "Errors".

It has no tooltip or click to tell you what the errors are.


You should see it in scrollbar.

Quote:

This is extremely common and comes and goes, and is very annoying because first it has a big red exclamation mark on your file, then it kills "IntelliSense".

This time it was triggered by a code like this (and many other cases):
	String fullName = name;
	fullName << ".";


index.php?t=getfile&id=6999&private=0
I attached the error.



This probably means some problem of libclang installation. A good way to check is to activate "Assist diagnostics" and then Assist / "Current file parse errors" (post it here).


Sorry for being late, I had to locate the non main dev PCs where this problems occurs since on my mains (where VS is not detected, unrelated) it does not.

Errors do appear in the scrollbar but there is no tooltip. Nor on the exclamation bar. But they do appear in code.

Anyway, the one main problem that appears in all the assist diagnostic logs is:
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__fwd\string.h (35): use of undeclared identifier 'char32_t'
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__fwd\string.h (58): use of undeclared identifier 'char16_t'
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__fwd\string.h (59): use of undeclared identifier 'char32_t'
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__fwd\string.h (77): use of undeclared identifier 'char16_t'
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__fwd\string.h (78): use of undeclared identifier 'char32_t'
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__fwd\string.h (92): unknown type name 'u16string'
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__fwd\string.h (93): unknown type name 'u32string'
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__fwd\string.h (102): no type named 'u16string' in namespace 'std::pmr'
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__fwd\string.h (103): no type named 'u32string' in namespace 'std::pmr'
ERROR: C:\Dev\upprc4\bin\clang\include\c++\v1\__functional\hash.h (371): use of undeclared identifier 'char16_t'


The rest seems to be related to String, so they might disappear if this one does.

This is on RC3 and RC4.

But for a more testable solution, in AddressBook.cpp, I've attached the output.


Well, going to libclang comes with price - I do not already have control over bad installations. This is clearly one of those case where something happened to include path.

Mirek
Re: 2024rc3 [message #61108 is a reply to message #61105] Mon, 18 November 2024 18:58 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1427
Registered: September 2007
Ultimate Contributor
mirek wrote on Mon, 18 November 2024 15:02


Well, going to libclang comes with price - I do not already have control over bad installations. This is clearly one of those case where something happened to include path.

Mirek

Hmm, but why would it be a bad install? It is a fresh U++ RC install.

I will keep an eye on it...

Re: 2024rc3 [message #61109 is a reply to message #61108] Mon, 18 November 2024 19:30 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14261
Registered: November 2005
Ultimate Member
cbpporter wrote on Mon, 18 November 2024 18:58
mirek wrote on Mon, 18 November 2024 15:02


Well, going to libclang comes with price - I do not already have control over bad installations. This is clearly one of those case where something happened to include path.

Mirek

Hmm, but why would it be a bad install? It is a fresh U++ RC install.

I will keep an eye on it...



Well, it is a conjecture at this point, but in the past these kinds of bugs were invariably caused by libc++ headers being different version than libclang or some similar sort of mismatch / incomatibility in linux packages. So I do not mean bad U++ install, but bad LLVM install.

Obviously if you look at errors, all starts with libclang not knowing some types it definitely should know...
Re: 2024rc3 [message #61128 is a reply to message #61109] Wed, 20 November 2024 20:42 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1430
Registered: December 2006
Ultimate Contributor
Latest src.
$ cat /etc/os-release 
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.12.12
PRETTY_NAME="Alpine Linux v3.12"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://bugs.alpinelinux.org/"

$ clang --version
Alpine clang version 10.0.0 (https://gitlab.alpinelinux.org/alpine/aports.git 7445adce501f8473efdb93b17b5eaf2f1445ed4c)
Target: x86_64-alpine-linux-musl
Thread model: posix
InstalledDir: /usr/bin

Application: CParser (.cache/upp.out/CLANG.Debug.Debug_Full.Shared/CParser)
$ ./CParser 
Segmentation fault

$ gdb ./CParser
#0  0x00005555555f34c8 in std::atomic<bool>::load (this=<error reading variable: Cannot access memory at address 0x7fffff7feff0>, 
    __m=<error reading variable: Cannot access memory at address 0x7fffff7fefec>)
    at /usr/bin/../lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../include/c++/9.3.0/atomic:113
#1  0x000055555560fcbf in Upp::StaticPrimitive_<Upp::Mutex>::Get (this=0x555555779a80 <Upp::Heap::mutex>) at Mt.h:326
#2  0x00005555556476d8 in Upp::StaticMutex::Enter (this=0x555555779a80 <Upp::Heap::mutex>) at Mt.h:333
#3  0x000055555564e4f0 in Upp::EnterHeapMutex () at sheap.cpp:377
#4  0x000055555564f9a4 in Upp::CurrentHeap::CurrentHeap (this=0x7fffff7ff0f8) at sheap.cpp:421
#5  0x000055555564e7a9 in Upp::MemoryAllocSz_ (sz=@0x7fffff7ff190: 60) at sheap.cpp:458
#6  0x00005555556534ad in Upp::MemoryAllocSz (size=@0x7fffff7ff190: 60) at heapdbg.cpp:142
#7  0x0000555555653572 in Upp::MemoryAlloc (size=60) at heapdbg.cpp:155
#8  0x0000555555652d39 in operator new (size=24) at heap.cpp:295
#9  0x00007ffff7e71440 in __cxa_thread_atexit () from /usr/lib/libstdc++.so.6
#10 0x000055555564e57b in Upp::MakeHeap () at sheap.cpp:403
#11 0x000055555564f9b0 in Upp::CurrentHeap::CurrentHeap (this=0x7fffff7ff288) at sheap.cpp:423
#12 0x000055555564e7a9 in Upp::MemoryAllocSz_ (sz=@0x7fffff7ff320: 60) at sheap.cpp:458
#13 0x00005555556534ad in Upp::MemoryAllocSz (size=@0x7fffff7ff320: 60) at heapdbg.cpp:142
#14 0x0000555555653572 in Upp::MemoryAlloc (size=60) at heapdbg.cpp:155
#15 0x0000555555652d39 in operator new (size=24) at heap.cpp:295
#16 0x00007ffff7e71440 in __cxa_thread_atexit () from /usr/lib/libstdc++.so.6
#17 0x000055555564e57b in Upp::MakeHeap () at sheap.cpp:403
#18 0x000055555564f9b0 in Upp::CurrentHeap::CurrentHeap (this=0x7fffff7ff418) at sheap.cpp:423
#19 0x000055555564e7a9 in Upp::MemoryAllocSz_ (sz=@0x7fffff7ff4b0: 60) at sheap.cpp:458
#20 0x00005555556534ad in Upp::MemoryAllocSz (size=@0x7fffff7ff4b0: 60) at heapdbg.cpp:142
#21 0x0000555555653572 in Upp::MemoryAlloc (size=60) at heapdbg.cpp:155
#22 0x0000555555652d39 in operator new (size=24) at heap.cpp:295
#23 0x00007ffff7e71440 in __cxa_thread_atexit () from /usr/lib/libstdc++.so.6
#24 0x000055555564e57b in Upp::MakeHeap () at sheap.cpp:403
#25 0x000055555564f9b0 in Upp::CurrentHeap::CurrentHeap (this=0x7fffff7ff5a8) at sheap.cpp:423
#26 0x000055555564e7a9 in Upp::MemoryAllocSz_ (sz=@0x7fffff7ff640: 60) at sheap.cpp:458
#27 0x00005555556534ad in Upp::MemoryAllocSz (size=@0x7fffff7ff640: 60) at heapdbg.cpp:142
#28 0x0000555555653572 in Upp::MemoryAlloc (size=60) at heapdbg.cpp:155
#29 0x0000555555652d39 in operator new (size=24) at heap.cpp:295
#30 0x00007ffff7e71440 in __cxa_thread_atexit () from /usr/lib/libstdc++.so.6
#31 0x000055555564e57b in Upp::MakeHeap () at sheap.cpp:403
#32 0x000055555564f9b0 in Upp::CurrentHeap::CurrentHeap (this=0x7fffff7ff738) at sheap.cpp:423
#33 0x000055555564e7a9 in Upp::MemoryAllocSz_ (sz=@0x7fffff7ff7d0: 60) at sheap.cpp:458
#34 0x00005555556534ad in Upp::MemoryAllocSz (size=@0x7fffff7ff7d0: 60) at heapdbg.cpp:142
#35 0x0000555555653572 in Upp::MemoryAlloc (size=60) at heapdbg.cpp:155
#36 0x0000555555652d39 in operator new (size=24) at heap.cpp:295
#37 0x00007ffff7e71440 in __cxa_thread_atexit () from /usr/lib/libstdc++.so.6
#38 0x000055555564e57b in Upp::MakeHeap () at sheap.cpp:403
#39 0x000055555564f9b0 in Upp::CurrentHeap::CurrentHeap (this=0x7fffff7ff8c8) at sheap.cpp:423
#40 0x000055555564e7a9 in Upp::MemoryAllocSz_ (sz=@0x7fffff7ff960: 60) at sheap.cpp:458
#41 0x00005555556534ad in Upp::MemoryAllocSz (size=@0x7fffff7ff960: 60) at heapdbg.cpp:142
#42 0x0000555555653572 in Upp::MemoryAlloc (size=60) at heapdbg.cpp:155
#43 0x0000555555652d39 in operator new (size=24) at heap.cpp:295
#44 0x00007ffff7e71440 in __cxa_thread_atexit () from /usr/lib/libstdc++.so.6

I understand that this is an old version of a compiler. But if I roll back Upp source code approximately four years back, then everything works just fine.


Regards,
Novo
Re: 2024rc3 [message #61129 is a reply to message #61128] Thu, 21 November 2024 07:08 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1430
Registered: December 2006
Ultimate Contributor
Alpine Linux is musl-based.

Regards,
Novo
Re: 2024rc3 [message #61131 is a reply to message #61128] Thu, 21 November 2024 10:31 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14261
Registered: November 2005
Ultimate Member
Looks like a problem with thread_local implementation.

I bet this is the commit: https://github.com/ultimatepp/ultimatepp/commit/c38e4ba32248 8292108a716b369fe70953add6d7

I have tried a workround, it is now commited on master, or you can just

Heap *MakeHeap()
{
	if(heap_closed__)
		return &Heap::aux;
	
	if(heap_tls__)
		return heap_tls__;

	static thread_local byte sHeap__[sizeof(Heap)]; // zero initialization is fine for us
	heap_tls__ = (Heap *)sHeap__;

	static thread_local HeapExitThreadGuard __;
	__.Used(); // "odr-used", register allocator to be shutdown at thread exit

	return heap_tls__;
}


Mirek
Re: 2024rc3 [message #61132 is a reply to message #61131] Thu, 21 November 2024 18:48 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1430
Registered: December 2006
Ultimate Contributor
mirek wrote on Thu, 21 November 2024 04:31
Looks like a problem with thread_local implementation.

Mirek


Everything is fine now.

Thanks!


Regards,
Novo
Re: 2024rc3 [message #61134 is a reply to message #61132] Fri, 22 November 2024 02:07 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1430
Registered: December 2006
Ultimate Contributor
Ide on Linux was crashing like crazy in "Open main package" till I compiled a Debug version and ran it with valgrind.
I've attached a valgring log file.
I guess the problem is related to reading of an outdated config file.
  • Attachment: vg.log
    (Size: 8.44KB, Downloaded 57 times)


Regards,
Novo
Re: 2024rc3 [message #61137 is a reply to message #61134] Fri, 22 November 2024 15:07 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14261
Registered: November 2005
Ultimate Member
Novo wrote on Fri, 22 November 2024 02:07
Ide on Linux was crashing like crazy in "Open main package" till I compiled a Debug version and ran it with valgrind.
I've attached a valgring log file.
I guess the problem is related to reading of an outdated config file.


Uhm, tried to fix valgring complains (master or


Image StreamRaster::LoadFileAny(const char *fn, Gate<int, int> progress)
{
	FileIn in(fn);
	if(in)
		return LoadAny(in, progress);
	return Null;
}


but nothing there indicating what kind of error is going on. Is it possible to create plain old gdb bt?

Mirek



Re: 2024rc3 [message #61138 is a reply to message #61137] Fri, 22 November 2024 15:51 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14261
Registered: November 2005
Ultimate Member
Also https://www.ultimatepp.org/forums/index.php?t=msg&th=122 73&prevloaded=1&&start=0
Re: 2024rc3 [message #61140 is a reply to message #61138] Sat, 23 November 2024 12:32 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14261
Registered: November 2005
Ultimate Member
After digging deeper, I have fixed a bunch of errors related to handling non-existent files which in theory might fix the issue. Thanks Novo! (And please test master)
Re: 2024rc3 [message #61144 is a reply to message #61140] Sat, 23 November 2024 20:32 Go to previous messageGo to previous message
Novo is currently offline  Novo
Messages: 1430
Registered: December 2006
Ultimate Contributor
Thank you. It looks like it is still crashing. It looks like TheIde creates missing/malformed files after one successful launch.
I still was getting crashes on one machine. After I ran TheIde with valgrind TheIde stopped crashing.

I've attached a valgrind log. There is still a problem.
  • Attachment: vg2.log
    (Size: 5.30KB, Downloaded 58 times)


Regards,
Novo
Previous Topic: DarkTheme function parameters changed
Next Topic: 2024rc5
Goto Forum:
  


Current Time: Sun Jun 08 17:02:02 CEST 2025

Total time taken to generate the page: 0.04920 seconds