Migration to Qt 6.6.1
-
I was running with Qt 5.15.2, today I update the kit to 6.6.1, after a few minor changes and the inclusion of some headers that weren't previously present, but no warning was produced.
Now when I launch the finished build I get:
18:47:03: Debugging /Users/sy/XMLMPAM/build-XMLMPAM-Qt_6_6_1_for_macOS-Debug/XMLMPAM.app/Contents/MacOS/XMLMPAM ~/XMLMPAM/config/xmlmpam ... XMLMPAM(89663,0x100478600) malloc: Heap corruption detected, free list is damaged at 0x600002621ec0 *** Incorrect guard value: 7506779816295953007 XMLMPAM(89663,0x100478600) malloc: *** set a breakpoint in malloc_error_break to debug
I didn't see this when building the same source with 5.15.2, can anyone suggest how I might track down why this is now happening?
-
I was running with Qt 5.15.2, today I update the kit to 6.6.1, after a few minor changes and the inclusion of some headers that weren't previously present, but no warning was produced.
Now when I launch the finished build I get:
18:47:03: Debugging /Users/sy/XMLMPAM/build-XMLMPAM-Qt_6_6_1_for_macOS-Debug/XMLMPAM.app/Contents/MacOS/XMLMPAM ~/XMLMPAM/config/xmlmpam ... XMLMPAM(89663,0x100478600) malloc: Heap corruption detected, free list is damaged at 0x600002621ec0 *** Incorrect guard value: 7506779816295953007 XMLMPAM(89663,0x100478600) malloc: *** set a breakpoint in malloc_error_break to debug
I didn't see this when building the same source with 5.15.2, can anyone suggest how I might track down why this is now happening?
-
I was running with Qt 5.15.2, today I update the kit to 6.6.1, after a few minor changes and the inclusion of some headers that weren't previously present, but no warning was produced.
Now when I launch the finished build I get:
18:47:03: Debugging /Users/sy/XMLMPAM/build-XMLMPAM-Qt_6_6_1_for_macOS-Debug/XMLMPAM.app/Contents/MacOS/XMLMPAM ~/XMLMPAM/config/xmlmpam ... XMLMPAM(89663,0x100478600) malloc: Heap corruption detected, free list is damaged at 0x600002621ec0 *** Incorrect guard value: 7506779816295953007 XMLMPAM(89663,0x100478600) malloc: *** set a breakpoint in malloc_error_break to debug
I didn't see this when building the same source with 5.15.2, can anyone suggest how I might track down why this is now happening?
-
@SPlatten Also check the openGL version of your computer. The following link shows the requirements for Qt6.6
https://doc.qt.io/qt-6/topics-graphics.html -
@SPlatten compile with option -g and run your executable with a tool like Valgrind or gdb.
-
@SPlatten
I am not working with the Qt IDE. I guess you can add it also in the IDE.
I am one of the old guys that is working with a .pro file in the terminal. As soon as i done qmake I modify the Makefile.
There are 2 lines like this:
CFLAGS = -pipe -O2 -Wall -Wextra -fPIC -D_REENTRANT $(DEFINES)
CXXFLAGS = -pipe -O2 -std=gnu++1z -Wall -Wextra -fPIC -D_REENTRANT $(DEFINES)There i add the -g option.
I guess there are easier ways possible to add -g, but i never learned professional coding. I am doing it in my spare time only.
-
@SPlatten
Click on the Apple menu in the top left corner of the screen and select "About This Mac." In the window that appears, click on the "System Report" button. In the left-hand menu, click on "Graphics/Displays." In the main window, look for the "OpenGL" entry.A -
@SPlatten
Click on the Apple menu in the top left corner of the screen and select "About This Mac." In the window that appears, click on the "System Report" button. In the left-hand menu, click on "Graphics/Displays." In the main window, look for the "OpenGL" entry.A -
@SPlatten I am not familiar with IOS. read this:
Metal
Apple has made it abundantly clear that they are not interested in supporting OpenGL ES further on any platform they control. In the future, you will use Metal or you will not have accelerated 3D graphics. Those will be your options.IOS uses Metal. The minimum version of Metal for Qt 6.6 from my link is 1.2. Check the Metal version in your computer. Better to know this kind of thing.
-
-
@SPlatten I am not familiar with IOS. read this:
Metal
Apple has made it abundantly clear that they are not interested in supporting OpenGL ES further on any platform they control. In the future, you will use Metal or you will not have accelerated 3D graphics. Those will be your options.IOS uses Metal. The minimum version of Metal for Qt 6.6 from my link is 1.2. Check the Metal version in your computer. Better to know this kind of thing.
-
@JoeCFD From the location where my app exists:
sy@Simons-iMac build-XMLMPAM-Qt_6_6_1_for_macOS-Debug % valgrind zsh: command not found: valgrind
-
Hi,
Which version of macOS are you running ? On which kind of processor ?
-
@SGaist He is using an iMac with AMD GPU - this would make it an intel cpu.
@SPlatten I guess you are using qmake for your app? In any case what you could do:
- create an xcode project of your app with qmake and compile it using xcode.
- Follow this link to edit run scheme for the diagnostics malloc magic Xcode provides.
- Run with Xcode
Hopefully this will lead you to your problem.
Alternatively I think clang´s address sanitizer may be of help as well. For this to work sort of reliably you can add the following compiler flags to your app:
-O1 -g -fsanitize=address -fno-omit-frame-pointer
This should give reasonable performance while maintaining debugging capability.Note however that I have never used the Xcode approach on macOS. I am using CMake with the address sanitizer only.
EDIT: AFAIR
valgrind
was never of much use on macOS and is much better supported on Linux.