Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. Crash when using a ValueAxis in a ChartView. Why?
Forum Updated to NodeBB v4.3 + New Features

Crash when using a ValueAxis in a ChartView. Why?

Scheduled Pinned Locked Moved Unsolved QML and Qt Quick
19 Posts 4 Posters 3.4k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • I Offline
    I Offline
    igor_stravinsky
    wrote on last edited by
    #9

    @ambershark Mixed versions is a thought I had as well. I just did an update to 5.11, and am testing that out. I'll try to get a simple example that crashes for me posted shortly.

    @6thC I just installed 5.11, and updated headers, so hopefully the project is now current. I'm compiling on MacOS, and the example you posted worked without a problem for me.

    The first crash comes when a ChartView is in a Popup, and the second happens when a ChartView is in a ToolTip, and the crash only happens when the app is quitting, so I'm wondering if the fact that the chart isn't part of a standard qml page (i.e. it's only shown sometimes) has to do with the crash on in the destructor. When I show a chart on a page not on a Popup or ToolTip, it works without a problem.

    1 Reply Last reply
    0
    • 6thC6 Offline
      6thC6 Offline
      6thC
      wrote on last edited by
      #10

      Are you on a commercial license. That sounds the sort of thing I'd touch base for confirming / getting a bug raised. I think you can directly, I just have a commercial so use the support first, they confirm or deny and even raise bugs for me. It's very much appreciated for a small project (sole developer) as myself.

      I'm sorry I have no mac / ios equipment / dev env here to reproduce for you. I think this has narrowed the situation down (potentially) to limited to this system or your specific environment. Hopefully another qt dev using IOS can help? If you have a standalone project with working and broken examples I'd suggest that always helps.

      We're lazy (try to be efficient) and time limited so if you already have something others can just hit F5 and confirm or deny expectations and behavior - it'd only be appreciated.

      I 1 Reply Last reply
      0
      • 6thC6 6thC

        Are you on a commercial license. That sounds the sort of thing I'd touch base for confirming / getting a bug raised. I think you can directly, I just have a commercial so use the support first, they confirm or deny and even raise bugs for me. It's very much appreciated for a small project (sole developer) as myself.

        I'm sorry I have no mac / ios equipment / dev env here to reproduce for you. I think this has narrowed the situation down (potentially) to limited to this system or your specific environment. Hopefully another qt dev using IOS can help? If you have a standalone project with working and broken examples I'd suggest that always helps.

        We're lazy (try to be efficient) and time limited so if you already have something others can just hit F5 and confirm or deny expectations and behavior - it'd only be appreciated.

        I Offline
        I Offline
        igor_stravinsky
        wrote on last edited by
        #11

        @6thC Sadly, I'm working under a free, not commercial license. No support for me...

        I have replicated one of my bugs. I'll post that code.

        I 1 Reply Last reply
        0
        • I igor_stravinsky

          @6thC Sadly, I'm working under a free, not commercial license. No support for me...

          I have replicated one of my bugs. I'll post that code.

          I Offline
          I Offline
          igor_stravinsky
          wrote on last edited by
          #12

          Here's a simple example of a chart causing a crash on quit. In this case the chart is inside of a ToolTip

          main.qml:

          import QtQuick 2.11
          import QtQuick.Window 2.11
          import QtQuick.Controls 1.4
          
          Window {
              visible: true
              width: 1200
              height: 800
              title: qsTr("Hello World")
          
              Button{
                  id:testButton
                  text:"test"
                  anchors.centerIn:parent
                  height:parent.height/8
                  width:parent.width/8
          
                  CustomToolTip{
                      visible: testButton.hovered
                  }
              }
          }
          

          CustomToolTip:

          import QtQuick 2.11
          import QtQuick.Layouts 1.3
          import QtQuick.Controls 2.4
          import QtCharts 2.2
          
          ToolTip{
              delay: 0
          
              Rectangle{
                  id:tooltipBackgound
                  width:400
                  height:300
                  radius:10
                  border.color:"black"
          
                  ChartView {
                      title: "Memory"
                      antialiasing: true
          
                      PieSeries {
                              id: pieSeries
                              PieSlice { label: "eaten"; value: 94.9 }
                              PieSlice { label: "not yet eaten"; value: 5.1 }
                          }
                  }
              }   //background rectangle
          }
          

          I don't think the crash actually requires a series of any sort. Simply having a chart view in the tool tip seem to be sufficient.

          Crash stack trace:

          Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
          0   org.qt-project.QtQml          	0x0000000106033ccb QQmlContextData::ContextGuard::objectDestroyed(QObject*) + 43
          1   org.qt-project.QtQml          	0x00000001060161c9 QQmlData::destroyed(QObject*) + 489
          2   org.qt-project.QtCore         	0x000000010656924f QObject::~QObject() + 319
          3   libqtchartsqml2.dylib         	0x000000010d010b48 QQmlPrivate::QQmlElement<QtCharts::DeclarativePieSeries>::~QQmlElement() + 56
          4   org.qt-project.QtQml          	0x0000000105ea8bf8 QV4::MemoryManager::sweep(bool, void (*)(char const*)) + 296
          5   org.qt-project.QtQml          	0x0000000105ea9b62 QV4::MemoryManager::~MemoryManager() + 66
          6   org.qt-project.QtQml          	0x0000000105f2eb57 QV4::ExecutionEngine::~ExecutionEngine() + 87
          7   org.qt-project.QtQml          	0x0000000105f25057 QJSEngine::~QJSEngine() + 103
          8   org.qt-project.QtQml          	0x0000000106017572 QQmlEngine::~QQmlEngine() + 370
          9   com.onsemi.ToolTipCrashTest   	0x0000000105ab5033 main + 339 (main.cpp:17)
          10  libdyld.dylib                 	0x00007fff6383b015 start + 1
          
          
          1 Reply Last reply
          0
          • I Offline
            I Offline
            igor_stravinsky
            wrote on last edited by
            #13

            Here's a simple example of a chart in a popup which causes a crash on quit on my system (MacOS, running Qt 5.11)

            main.qml

            import QtQuick 2.11
            import QtQuick.Window 2.11
            import QtQuick.Controls 1.4
            
            Window {
                id:mainWindow
                visible: true
                width: 1200
                height: 800
                title: qsTr("Hello World")
            
                Button{
                    id:testButton
                    text:"test"
                    anchors.centerIn:parent
                    height:parent.height/8
                    width:parent.width/8
            
                    onClicked: { customGraph.open() }
                }
            
                CustomPopup{
                    id:customGraph
                    width: mainWindow.width/2
                    height: mainWindow.height/2
                    leftMargin: mainWindow.width/4
                    topMargin: mainWindow.height/4
                }
            }
            
            

            CustomPopup.qml:

            import QtQuick 2.11
            import QtQuick.Controls 2.4
            import QtCharts 2.2
            
            Popup {
                id: customPopup
            
                modal: true
                focus: false
                dim: true
            
                ChartView {
                    id: chartView
                    title: "Custom Chart"
                    height: parent.height
                    antialiasing: true
                    theme: ChartView.ChartThemeDark
            
                    ValueAxis {
                        id: valueAxisX
                    }
            
                    ValueAxis{
                        id: valueAxisY
                    }
            
                    LineSeries {
                        id: powerSeries
                        axisX: valueAxisX
                        axisY: valueAxisY
                        name: "Series"
                    }
            
                }   //chartView
            
            }
            

            And the stack trace from the crash:

            Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
            0   org.qt-project.QtQml          	0x0000000104be9ccb QQmlContextData::ContextGuard::objectDestroyed(QObject*) + 43
            1   org.qt-project.QtQml          	0x0000000104bcc1c9 QQmlData::destroyed(QObject*) + 489
            2   org.qt-project.QtCore         	0x000000010512324f QObject::~QObject() + 319
            3   libqtchartsqml2.dylib         	0x000000010bae06f0 QQmlPrivate::QQmlElement<QtCharts::QValueAxis>::~QQmlElement() + 32
            4   org.qt-project.QtQml          	0x0000000104a5ebf8 QV4::MemoryManager::sweep(bool, void (*)(char const*)) + 296
            5   org.qt-project.QtQml          	0x0000000104a5fb62 QV4::MemoryManager::~MemoryManager() + 66
            6   org.qt-project.QtQml          	0x0000000104ae4b57 QV4::ExecutionEngine::~ExecutionEngine() + 87
            7   org.qt-project.QtQml          	0x0000000104adb057 QJSEngine::~QJSEngine() + 103
            8   org.qt-project.QtQml          	0x0000000104bcd572 QQmlEngine::~QQmlEngine() + 370
            9   com.onsemi.ToolTipCrashTest   	0x000000010466aca3 main + 339 (main.cpp:17)
            10  libdyld.dylib                 	0x00007fff6383b015 start + 1
            

            Any idea why this is happening?

            A 1 Reply Last reply
            0
            • I igor_stravinsky

              Here's a simple example of a chart in a popup which causes a crash on quit on my system (MacOS, running Qt 5.11)

              main.qml

              import QtQuick 2.11
              import QtQuick.Window 2.11
              import QtQuick.Controls 1.4
              
              Window {
                  id:mainWindow
                  visible: true
                  width: 1200
                  height: 800
                  title: qsTr("Hello World")
              
                  Button{
                      id:testButton
                      text:"test"
                      anchors.centerIn:parent
                      height:parent.height/8
                      width:parent.width/8
              
                      onClicked: { customGraph.open() }
                  }
              
                  CustomPopup{
                      id:customGraph
                      width: mainWindow.width/2
                      height: mainWindow.height/2
                      leftMargin: mainWindow.width/4
                      topMargin: mainWindow.height/4
                  }
              }
              
              

              CustomPopup.qml:

              import QtQuick 2.11
              import QtQuick.Controls 2.4
              import QtCharts 2.2
              
              Popup {
                  id: customPopup
              
                  modal: true
                  focus: false
                  dim: true
              
                  ChartView {
                      id: chartView
                      title: "Custom Chart"
                      height: parent.height
                      antialiasing: true
                      theme: ChartView.ChartThemeDark
              
                      ValueAxis {
                          id: valueAxisX
                      }
              
                      ValueAxis{
                          id: valueAxisY
                      }
              
                      LineSeries {
                          id: powerSeries
                          axisX: valueAxisX
                          axisY: valueAxisY
                          name: "Series"
                      }
              
                  }   //chartView
              
              }
              

              And the stack trace from the crash:

              Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
              0   org.qt-project.QtQml          	0x0000000104be9ccb QQmlContextData::ContextGuard::objectDestroyed(QObject*) + 43
              1   org.qt-project.QtQml          	0x0000000104bcc1c9 QQmlData::destroyed(QObject*) + 489
              2   org.qt-project.QtCore         	0x000000010512324f QObject::~QObject() + 319
              3   libqtchartsqml2.dylib         	0x000000010bae06f0 QQmlPrivate::QQmlElement<QtCharts::QValueAxis>::~QQmlElement() + 32
              4   org.qt-project.QtQml          	0x0000000104a5ebf8 QV4::MemoryManager::sweep(bool, void (*)(char const*)) + 296
              5   org.qt-project.QtQml          	0x0000000104a5fb62 QV4::MemoryManager::~MemoryManager() + 66
              6   org.qt-project.QtQml          	0x0000000104ae4b57 QV4::ExecutionEngine::~ExecutionEngine() + 87
              7   org.qt-project.QtQml          	0x0000000104adb057 QJSEngine::~QJSEngine() + 103
              8   org.qt-project.QtQml          	0x0000000104bcd572 QQmlEngine::~QQmlEngine() + 370
              9   com.onsemi.ToolTipCrashTest   	0x000000010466aca3 main + 339 (main.cpp:17)
              10  libdyld.dylib                 	0x00007fff6383b015 start + 1
              

              Any idea why this is happening?

              A Offline
              A Offline
              ambershark
              wrote on last edited by
              #14

              @igor_stravinsky I will try to get some time to update to 5.11 on my mac and test for you to see if it happens on my system too.

              In this case though it really is looking more and more like a bug in Qt. I would try reporting it with that code that makes it reproducible.

              If you link the bug report here I will try to upvote it if I can reproduce it when I get time/updates to my mac.

              Sadly, I'm working under a free, not commercial license.

              Since you are using Qt Charts, just be careful with licensing. Qt Charts is only available under commerical and GPL licenses. You can't make a closed source (LGPL) product with Qt Charts unless you have a commercial license. Just wanted to warn you in case you weren't aware so you didn't end up in trouble later. :)

              My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

              I 1 Reply Last reply
              0
              • A ambershark

                @igor_stravinsky I will try to get some time to update to 5.11 on my mac and test for you to see if it happens on my system too.

                In this case though it really is looking more and more like a bug in Qt. I would try reporting it with that code that makes it reproducible.

                If you link the bug report here I will try to upvote it if I can reproduce it when I get time/updates to my mac.

                Sadly, I'm working under a free, not commercial license.

                Since you are using Qt Charts, just be careful with licensing. Qt Charts is only available under commerical and GPL licenses. You can't make a closed source (LGPL) product with Qt Charts unless you have a commercial license. Just wanted to warn you in case you weren't aware so you didn't end up in trouble later. :)

                I Offline
                I Offline
                igor_stravinsky
                wrote on last edited by igor_stravinsky
                #15

                @ambershark Thanks for the reminder about QtCharts being under GPL. I've noted that, and alerted the powers that be above me. I'm not sure if they realize the ramifications right now, but they will...

                And I don't think this issue requires an update to 5.11. I was having the problem under 5.10, but upgraded to test if this was still an issue under the new version.

                A 1 Reply Last reply
                0
                • 6thC6 Offline
                  6thC6 Offline
                  6thC
                  wrote on last edited by
                  #16

                  I'd encourage your "higher ups" that commercial is affordable and very worth it.

                  1 Reply Last reply
                  0
                  • I igor_stravinsky

                    @ambershark Thanks for the reminder about QtCharts being under GPL. I've noted that, and alerted the powers that be above me. I'm not sure if they realize the ramifications right now, but they will...

                    And I don't think this issue requires an update to 5.11. I was having the problem under 5.10, but upgraded to test if this was still an issue under the new version.

                    A Offline
                    A Offline
                    ambershark
                    wrote on last edited by
                    #17

                    @igor_stravinsky said in Crash when using a ValueAxis in a ChartView. Why?:

                    And I don't think this issue requires an update to 5.11

                    My mac is on like 5.2 though, so I'd definitely update it before messing around. I haven't written any commercial software for the mac in a while so I haven't updated it recently. I've been busy the last week and haven't had time to even answer questions on the forums much less delve into problems like this. So I never got around to testing it.

                    Did you ever file a bug?

                    My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

                    I 1 Reply Last reply
                    0
                    • A ambershark

                      @igor_stravinsky said in Crash when using a ValueAxis in a ChartView. Why?:

                      And I don't think this issue requires an update to 5.11

                      My mac is on like 5.2 though, so I'd definitely update it before messing around. I haven't written any commercial software for the mac in a while so I haven't updated it recently. I've been busy the last week and haven't had time to even answer questions on the forums much less delve into problems like this. So I never got around to testing it.

                      Did you ever file a bug?

                      I Offline
                      I Offline
                      igor_stravinsky
                      wrote on last edited by
                      #18

                      @ambershark QTBUG-68483 has been filed.

                      1 Reply Last reply
                      2
                      • terma.abaT Offline
                        terma.abaT Offline
                        terma.aba
                        wrote on last edited by
                        #19

                        I get the same thing: Qt 5.12.0, my ChartView with ValueAxis is in a Page in a StackView, crashes on exit.
                        Noticeable is that if I unwind the StackView before exiting, the application doesn't crash.

                        1 Reply Last reply
                        0

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved