Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. segmentation fault
Forum Updated to NodeBB v4.3 + New Features

segmentation fault

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
qt 4.8cross-compilingarmv7mqtt
61 Posts 6 Posters 26.2k Views 1 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.
  • J jsulm
    15 Oct 2019, 04:36

    @Milav said in segmentation fault:

    but still i am face same segmentation fault error.

    Yes, because you now create a new local variable called mosq which is completely unrelated to mosq in MainWindow! So, the one in MainWindow remains a NULL pointer.
    Remove

    qtmosq* mosq;
    
    M Offline
    M Offline
    Milav
    wrote on 15 Oct 2019, 04:44 last edited by
    #7

    @jsulm

    But than it give error like

    /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/mainwindow.cpp:47: error: 'mosq' was not declared in this scope
    

    Can i declare any another place like mainwindow.h?
    i also tried in mainwindow.h

    like following...

    private:
        qtmosq* mosq;
        QStringList subed;
        QString currentTopic;
        Ui::MainWindow *ui;
    
    

    but it gives same error.

    J 1 Reply Last reply 15 Oct 2019, 04:46
    0
    • M Milav
      15 Oct 2019, 04:44

      @jsulm

      But than it give error like

      /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/mainwindow.cpp:47: error: 'mosq' was not declared in this scope
      

      Can i declare any another place like mainwindow.h?
      i also tried in mainwindow.h

      like following...

      private:
          qtmosq* mosq;
          QStringList subed;
          QString currentTopic;
          Ui::MainWindow *ui;
      
      

      but it gives same error.

      J Offline
      J Offline
      jsulm
      Lifetime Qt Champion
      wrote on 15 Oct 2019, 04:46 last edited by jsulm
      #8

      @Milav Please show where exactly you're calling

      mosq = new qtmosq();
      

      It must be inside one of the MainWindow methods.

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      M 1 Reply Last reply 15 Oct 2019, 04:53
      0
      • J jsulm
        15 Oct 2019, 04:46

        @Milav Please show where exactly you're calling

        mosq = new qtmosq();
        

        It must be inside one of the MainWindow methods.

        M Offline
        M Offline
        Milav
        wrote on 15 Oct 2019, 04:53 last edited by
        #9

        @jsulm

        i call it in mainwindow.cpp file.

        here i have send the code snip for that portion.

        mainwindow.cpp

        MainWindow::MainWindow(QWidget *parent) :
            QMainWindow(parent),
            ui(new Ui::MainWindow)
        {
            ui->setupUi(this);
            ui->send->setDisabled(true);
            ui->message->setDisabled(true);
            ui->subscribe->setDisabled(true);
            ui->topic->setDisabled(true);
        
            ui->lineIP->setText(QString("a3jkuztr3frwt4-ats.iot.ap-south-1.amazonaws.com"));
            ui->linePort->setText(QString("8883"));
        
            lib_init();
        
            connect (ui->connect, SIGNAL(clicked()), this, SLOT(connectPressed()));
            connect (ui->send, SIGNAL(clicked()), this, SLOT(sendPressed()));
            connect (ui->subscribe, SIGNAL(clicked()), this, SLOT(subscribePressed()));
        }
        
        void MainWindow::connectPressed()
        {
            QByteArray host = ui->lineIP->text().toLocal8Bit();
            QByteArray id = ui->lineID->text().toLocal8Bit();
        
            int port = 0;
            port = ui->linePort->text().toInt();
            if (!port)
            {
                ui->linePort->clear();
                return ;
            }
            ui->connect->setDisabled(true);
        
        
            mosq = new qtmosq(id, true);
            int size = sizeof(*mosq);
            qDebug() << size;
            connect (mosq, SIGNAL(connectEnable()), this, SLOT(connectEnabled()));
            connect (mosq, SIGNAL(subscribed()), this ,SLOT(subscribed()));
            connect (mosq, SIGNAL(connected()), this, SLOT(connected()));
            connect (mosq, SIGNAL(messageSent(bool)), this, SLOT(setMessageStatus(bool)));
            connect (mosq, SIGNAL(messageReceived(QString)), this, SLOT(showMessage(QString)));
            mosq->connect_async(host.data(), port);
            mosq->loop_start();
        
        }
        

        mainwindow.h

        #include <QMainWindow>
        #include "qtmosq.h"
        
        namespace Ui {
        class MainWindow;
        }
        
        class MainWindow : public QMainWindow
        {
            Q_OBJECT
        
        public:
            explicit MainWindow(QWidget *parent = 0);
            ~MainWindow();
        
        private:
            qtmosq* mosq;
            QStringList subed;
            QString currentTopic;
            Ui::MainWindow *ui;
        
        private slots:
            void setMessageStatus(bool);
            void connectPressed();
            void sendPressed();
            void connectEnabled();
            void subscribePressed();
            void subscribed();
            void connected();
            void showMessage(QString);
        };
        

        qtmosq.h

        #ifndef QTMOSQ_H
        #define QTMOSQ_H
        
        #include "QObject"
        #include "mosquittopp.h"
        
        using namespace mosqpp;
        
        class qtmosq : public QObject, public mosquittopp
        {
            Q_OBJECT
        
        public:
            qtmosq(const char *id = NULL, bool clean_session = true) : mosquittopp (id, clean_session) {MID = 0;}
            ~qtmosq() {}
        
            void on_connect(int result)
            {
                if (!result)
                {
                    //subscribe(NULL, "$SYS/#", 2);
                    emit connected();
                }
                else
                    emit connectEnable();
            }
            void on_publish(int id)
            {
                MID++;
                emit messageSent(true);
            }
            void on_subscribe(int mid, int qos_count, const int *granted_qos)
            {
                if (MID != 0)
                    emit subscribed();
                MID++;
            }
            void on_message(const mosquitto_message *message)
            {
                if (message->payloadlen)
                {
                    QString s(message->topic);
                    s += '>';
                    s += (char*) message->payload;
                    emit messageReceived(s);
                }
            }
        
            int* getMID() {return &MID;}
        
        private:
            int MID;
        
        signals:
            void connected();
            void messageSent(bool);
            void messageReceived(QString);
            void connectEnable();
            void subscribed();
        };
        
        #endif // QTMOSQ_H
        
        

        here above i send the code for the same.

        if you get more please tell me.

        J 1 Reply Last reply 15 Oct 2019, 05:00
        0
        • M Milav
          15 Oct 2019, 04:53

          @jsulm

          i call it in mainwindow.cpp file.

          here i have send the code snip for that portion.

          mainwindow.cpp

          MainWindow::MainWindow(QWidget *parent) :
              QMainWindow(parent),
              ui(new Ui::MainWindow)
          {
              ui->setupUi(this);
              ui->send->setDisabled(true);
              ui->message->setDisabled(true);
              ui->subscribe->setDisabled(true);
              ui->topic->setDisabled(true);
          
              ui->lineIP->setText(QString("a3jkuztr3frwt4-ats.iot.ap-south-1.amazonaws.com"));
              ui->linePort->setText(QString("8883"));
          
              lib_init();
          
              connect (ui->connect, SIGNAL(clicked()), this, SLOT(connectPressed()));
              connect (ui->send, SIGNAL(clicked()), this, SLOT(sendPressed()));
              connect (ui->subscribe, SIGNAL(clicked()), this, SLOT(subscribePressed()));
          }
          
          void MainWindow::connectPressed()
          {
              QByteArray host = ui->lineIP->text().toLocal8Bit();
              QByteArray id = ui->lineID->text().toLocal8Bit();
          
              int port = 0;
              port = ui->linePort->text().toInt();
              if (!port)
              {
                  ui->linePort->clear();
                  return ;
              }
              ui->connect->setDisabled(true);
          
          
              mosq = new qtmosq(id, true);
              int size = sizeof(*mosq);
              qDebug() << size;
              connect (mosq, SIGNAL(connectEnable()), this, SLOT(connectEnabled()));
              connect (mosq, SIGNAL(subscribed()), this ,SLOT(subscribed()));
              connect (mosq, SIGNAL(connected()), this, SLOT(connected()));
              connect (mosq, SIGNAL(messageSent(bool)), this, SLOT(setMessageStatus(bool)));
              connect (mosq, SIGNAL(messageReceived(QString)), this, SLOT(showMessage(QString)));
              mosq->connect_async(host.data(), port);
              mosq->loop_start();
          
          }
          

          mainwindow.h

          #include <QMainWindow>
          #include "qtmosq.h"
          
          namespace Ui {
          class MainWindow;
          }
          
          class MainWindow : public QMainWindow
          {
              Q_OBJECT
          
          public:
              explicit MainWindow(QWidget *parent = 0);
              ~MainWindow();
          
          private:
              qtmosq* mosq;
              QStringList subed;
              QString currentTopic;
              Ui::MainWindow *ui;
          
          private slots:
              void setMessageStatus(bool);
              void connectPressed();
              void sendPressed();
              void connectEnabled();
              void subscribePressed();
              void subscribed();
              void connected();
              void showMessage(QString);
          };
          

          qtmosq.h

          #ifndef QTMOSQ_H
          #define QTMOSQ_H
          
          #include "QObject"
          #include "mosquittopp.h"
          
          using namespace mosqpp;
          
          class qtmosq : public QObject, public mosquittopp
          {
              Q_OBJECT
          
          public:
              qtmosq(const char *id = NULL, bool clean_session = true) : mosquittopp (id, clean_session) {MID = 0;}
              ~qtmosq() {}
          
              void on_connect(int result)
              {
                  if (!result)
                  {
                      //subscribe(NULL, "$SYS/#", 2);
                      emit connected();
                  }
                  else
                      emit connectEnable();
              }
              void on_publish(int id)
              {
                  MID++;
                  emit messageSent(true);
              }
              void on_subscribe(int mid, int qos_count, const int *granted_qos)
              {
                  if (MID != 0)
                      emit subscribed();
                  MID++;
              }
              void on_message(const mosquitto_message *message)
              {
                  if (message->payloadlen)
                  {
                      QString s(message->topic);
                      s += '>';
                      s += (char*) message->payload;
                      emit messageReceived(s);
                  }
              }
          
              int* getMID() {return &MID;}
          
          private:
              int MID;
          
          signals:
              void connected();
              void messageSent(bool);
              void messageReceived(QString);
              void connectEnable();
              void subscribed();
          };
          
          #endif // QTMOSQ_H
          
          

          here above i send the code for the same.

          if you get more please tell me.

          J Offline
          J Offline
          jsulm
          Lifetime Qt Champion
          wrote on 15 Oct 2019, 05:00 last edited by jsulm
          #10

          @Milav So, you get that error here in MainWindow:

          ui->connect->setDisabled(true); 
          mosq = new qtmosq(id, true); // Is it here?
          int size = sizeof(*mosq);
          

          ?
          It should work.
          Are there any other warnings or errors?
          Try to do a complete rebuild: delete build directory, run qmake and build.

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          M 2 Replies Last reply 15 Oct 2019, 05:08
          0
          • J jsulm
            15 Oct 2019, 05:00

            @Milav So, you get that error here in MainWindow:

            ui->connect->setDisabled(true); 
            mosq = new qtmosq(id, true); // Is it here?
            int size = sizeof(*mosq);
            

            ?
            It should work.
            Are there any other warnings or errors?
            Try to do a complete rebuild: delete build directory, run qmake and build.

            M Offline
            M Offline
            Milav
            wrote on 15 Oct 2019, 05:08 last edited by
            #11

            @jsulm

            when i build the project it give me only warning like follow.

            /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/qtmosq.h:14: warning: 'mosqpp::mosquittopp::mosquittopp(const char*, bool)' is deprecated (declared at ../../../../CC_Lib/mosquitto/phytec_wega_build_websockets/usr/local/include/mosquittopp.h:94) [-Wdeprecated-declarations]
            
            /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/mainwindow.cpp:57: warning: 'int mosqpp::mosquittopp::connect_async(const char*, int, int)' is deprecated (declared at ../../../../CC_Lib/mosquitto/phytec_wega_build_websockets/usr/local/include/mosquittopp.h:103) [-Wdeprecated-declarations]
            
            /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/mainwindow.cpp:80: warning: 'int mosqpp::mosquittopp::subscribe(int*, const char*, int)' is deprecated (declared at ../../../../CC_Lib/mosquitto/phytec_wega_build_websockets/usr/local/include/mosquittopp.h:110) [-Wdeprecated-declarations]
            

            but i face segmentation fault error when i run that project, an i found the line at where i face segmentation fault.

            it is ...

            mosq->subscribe(NULL, "sensors/temprature", 1); // Segmentation falut
            
            M 1 Reply Last reply 15 Oct 2019, 06:10
            0
            • J jsulm
              15 Oct 2019, 05:00

              @Milav So, you get that error here in MainWindow:

              ui->connect->setDisabled(true); 
              mosq = new qtmosq(id, true); // Is it here?
              int size = sizeof(*mosq);
              

              ?
              It should work.
              Are there any other warnings or errors?
              Try to do a complete rebuild: delete build directory, run qmake and build.

              M Offline
              M Offline
              Milav
              wrote on 15 Oct 2019, 05:12 last edited by
              #12

              @jsulm

              Hello

              Here i have send the link at where i download the example.

              Reference link

              J 1 Reply Last reply 15 Oct 2019, 05:19
              0
              • M Milav
                15 Oct 2019, 05:12

                @jsulm

                Hello

                Here i have send the link at where i download the example.

                Reference link

                J Offline
                J Offline
                jsulm
                Lifetime Qt Champion
                wrote on 15 Oct 2019, 05:19 last edited by
                #13

                @Milav That example does exactly what I suggested you to do:

                ui->connect->setDisabled(true);
                
                mosq = new qtmosq(id, false); // HERE
                connect (mosq, SIGNAL(connectEnable()), this, SLOT(connectEnabled()));
                

                Did you try to build and run this example? If so - does it work?

                https://forum.qt.io/topic/113070/qt-code-of-conduct

                M 1 Reply Last reply 15 Oct 2019, 05:36
                0
                • J jsulm
                  15 Oct 2019, 05:19

                  @Milav That example does exactly what I suggested you to do:

                  ui->connect->setDisabled(true);
                  
                  mosq = new qtmosq(id, false); // HERE
                  connect (mosq, SIGNAL(connectEnable()), this, SLOT(connectEnabled()));
                  

                  Did you try to build and run this example? If so - does it work?

                  M Offline
                  M Offline
                  Milav
                  wrote on 15 Oct 2019, 05:36 last edited by
                  #14

                  @jsulm

                  Yes i delete the build directory and again i rebuild the whole project but i couldn't run the example. it is not work.

                  J 1 Reply Last reply 15 Oct 2019, 05:51
                  0
                  • M Milav
                    15 Oct 2019, 05:36

                    @jsulm

                    Yes i delete the build directory and again i rebuild the whole project but i couldn't run the example. it is not work.

                    J Offline
                    J Offline
                    jsulm
                    Lifetime Qt Champion
                    wrote on 15 Oct 2019, 05:51 last edited by
                    #15

                    @Milav said in segmentation fault:

                    it is not work

                    What exactly does this mean? Doesn't build? Crashes? Does not do what it should? ...?

                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                    M 1 Reply Last reply 15 Oct 2019, 05:56
                    0
                    • J jsulm
                      15 Oct 2019, 05:51

                      @Milav said in segmentation fault:

                      it is not work

                      What exactly does this mean? Doesn't build? Crashes? Does not do what it should? ...?

                      M Offline
                      M Offline
                      Milav
                      wrote on 15 Oct 2019, 05:56 last edited by
                      #16

                      @jsulm

                      it means build successful.

                      but it is not run, it is crashes application.

                      means while running the application, the application are crash.

                      with following error.

                      "segmentation fault"

                      and i debug the application via qDebug(), the application are crash on following line of code.

                      mosq->subscribe(NULL, "sensors/temprature", 1); // Segmentation falut
                      
                      J 1 Reply Last reply 15 Oct 2019, 05:58
                      0
                      • M Milav
                        15 Oct 2019, 05:56

                        @jsulm

                        it means build successful.

                        but it is not run, it is crashes application.

                        means while running the application, the application are crash.

                        with following error.

                        "segmentation fault"

                        and i debug the application via qDebug(), the application are crash on following line of code.

                        mosq->subscribe(NULL, "sensors/temprature", 1); // Segmentation falut
                        
                        J Offline
                        J Offline
                        J.Hilk
                        Moderators
                        wrote on 15 Oct 2019, 05:58 last edited by
                        #17

                        @Milav well, did you press connect before you pressed subscribe?

                        If not it will crash...


                        Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                        Q: What's that?
                        A: It's blue light.
                        Q: What does it do?
                        A: It turns blue.

                        M 1 Reply Last reply 15 Oct 2019, 06:05
                        0
                        • J J.Hilk
                          15 Oct 2019, 05:58

                          @Milav well, did you press connect before you pressed subscribe?

                          If not it will crash...

                          M Offline
                          M Offline
                          Milav
                          wrote on 15 Oct 2019, 06:05 last edited by
                          #18

                          @J-Hilk

                          I press first Connect button and than after i press subscribed button.

                          but it is crash...

                          J 1 Reply Last reply 15 Oct 2019, 06:10
                          0
                          • M Milav
                            15 Oct 2019, 05:08

                            @jsulm

                            when i build the project it give me only warning like follow.

                            /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/qtmosq.h:14: warning: 'mosqpp::mosquittopp::mosquittopp(const char*, bool)' is deprecated (declared at ../../../../CC_Lib/mosquitto/phytec_wega_build_websockets/usr/local/include/mosquittopp.h:94) [-Wdeprecated-declarations]
                            
                            /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/mainwindow.cpp:57: warning: 'int mosqpp::mosquittopp::connect_async(const char*, int, int)' is deprecated (declared at ../../../../CC_Lib/mosquitto/phytec_wega_build_websockets/usr/local/include/mosquittopp.h:103) [-Wdeprecated-declarations]
                            
                            /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/mainwindow.cpp:80: warning: 'int mosqpp::mosquittopp::subscribe(int*, const char*, int)' is deprecated (declared at ../../../../CC_Lib/mosquitto/phytec_wega_build_websockets/usr/local/include/mosquittopp.h:110) [-Wdeprecated-declarations]
                            

                            but i face segmentation fault error when i run that project, an i found the line at where i face segmentation fault.

                            it is ...

                            mosq->subscribe(NULL, "sensors/temprature", 1); // Segmentation falut
                            
                            M Offline
                            M Offline
                            mvuori
                            wrote on 15 Oct 2019, 06:10 last edited by
                            #19

                            If temprature is supposed to be temperature, this is a bug:
                            mosq->subscribe(NULL, "sensors/temprature", 1);

                            M 1 Reply Last reply 15 Oct 2019, 06:29
                            0
                            • M Milav
                              15 Oct 2019, 06:05

                              @J-Hilk

                              I press first Connect button and than after i press subscribed button.

                              but it is crash...

                              J Offline
                              J Offline
                              jsulm
                              Lifetime Qt Champion
                              wrote on 15 Oct 2019, 06:10 last edited by
                              #20

                              @Milav Did you debug to see whether mosq is not a nullptr? If it's not please provide stack trace after crash.
                              Also, in connectPressed it does a return if port is not set - is it set if you press connect?
                              You should really run through debugger...

                              https://forum.qt.io/topic/113070/qt-code-of-conduct

                              M 1 Reply Last reply 15 Oct 2019, 06:28
                              0
                              • J jsulm
                                15 Oct 2019, 06:10

                                @Milav Did you debug to see whether mosq is not a nullptr? If it's not please provide stack trace after crash.
                                Also, in connectPressed it does a return if port is not set - is it set if you press connect?
                                You should really run through debugger...

                                M Offline
                                M Offline
                                Milav
                                wrote on 15 Oct 2019, 06:28 last edited by
                                #21

                                @jsulm

                                i debug the size of mosq pointer through following code.

                                 int size = sizeof(*mosq);
                                    qDebug() << size;
                                

                                and output is 20;

                                and in connectpressed button slot are run succesfully.

                                port value are shown correctly.

                                when i run debugger it shows following error.

                                The inferior stopped because it received a signal from the Operating System.
                                
                                Signal name : 
                                SIGILL
                                Signal meaning : 
                                Illegal instruction
                                
                                

                                hope you got my point.

                                J 1 Reply Last reply 15 Oct 2019, 06:48
                                0
                                • M mvuori
                                  15 Oct 2019, 06:10

                                  If temprature is supposed to be temperature, this is a bug:
                                  mosq->subscribe(NULL, "sensors/temprature", 1);

                                  M Offline
                                  M Offline
                                  Milav
                                  wrote on 15 Oct 2019, 06:29 last edited by
                                  #22

                                  @mvuori

                                  no it is supposed to be sensors/temprature.

                                  1 Reply Last reply
                                  0
                                  • M Milav
                                    15 Oct 2019, 06:28

                                    @jsulm

                                    i debug the size of mosq pointer through following code.

                                     int size = sizeof(*mosq);
                                        qDebug() << size;
                                    

                                    and output is 20;

                                    and in connectpressed button slot are run succesfully.

                                    port value are shown correctly.

                                    when i run debugger it shows following error.

                                    The inferior stopped because it received a signal from the Operating System.
                                    
                                    Signal name : 
                                    SIGILL
                                    Signal meaning : 
                                    Illegal instruction
                                    
                                    

                                    hope you got my point.

                                    J Offline
                                    J Offline
                                    jsulm
                                    Lifetime Qt Champion
                                    wrote on 15 Oct 2019, 06:48 last edited by
                                    #23

                                    @Milav said in segmentation fault:

                                    i debug the size of mosq pointer through following code.

                                    The size of a pointer is fixed, it doesn't matter whether it contains nullptr or something else.
                                    Do

                                    qDebug() << mosq;
                                    

                                    instead to see the value of the pointer.
                                    Without stack trace I can't tell you what is going on...

                                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                                    M JonBJ 2 Replies Last reply 15 Oct 2019, 07:14
                                    0
                                    • J jsulm
                                      15 Oct 2019, 06:48

                                      @Milav said in segmentation fault:

                                      i debug the size of mosq pointer through following code.

                                      The size of a pointer is fixed, it doesn't matter whether it contains nullptr or something else.
                                      Do

                                      qDebug() << mosq;
                                      

                                      instead to see the value of the pointer.
                                      Without stack trace I can't tell you what is going on...

                                      M Offline
                                      M Offline
                                      Milav
                                      wrote on 15 Oct 2019, 07:14 last edited by
                                      #24

                                      @jsulm

                                      when i execute "qDebug() << mosq;" it gives following output.

                                      qtmosq(0xac50b0)
                                      

                                      how i see stack trace in qt?

                                      can you please explore me more about stack trace?

                                      JonBJ 1 Reply Last reply 15 Oct 2019, 07:20
                                      0
                                      • J jsulm
                                        15 Oct 2019, 06:48

                                        @Milav said in segmentation fault:

                                        i debug the size of mosq pointer through following code.

                                        The size of a pointer is fixed, it doesn't matter whether it contains nullptr or something else.
                                        Do

                                        qDebug() << mosq;
                                        

                                        instead to see the value of the pointer.
                                        Without stack trace I can't tell you what is going on...

                                        JonBJ Offline
                                        JonBJ Offline
                                        JonB
                                        wrote on 15 Oct 2019, 07:16 last edited by
                                        #25

                                        @Milav

                                        int size = sizeof(*mosq);

                                        @jsulm

                                        The size of a pointer is fixed,

                                        A slight slip of the tongue there. I think what my colleague @jsulm meant to clarify is: sizeof(...) is a compile-time calculation, it does not matter what the value of mosq is or what it points at run-time, rather this statement just assigns sizeof(qtmosq) regardless. As he says, show us what is in the mosq.

                                        M 1 Reply Last reply 15 Oct 2019, 07:18
                                        0
                                        • JonBJ JonB
                                          15 Oct 2019, 07:16

                                          @Milav

                                          int size = sizeof(*mosq);

                                          @jsulm

                                          The size of a pointer is fixed,

                                          A slight slip of the tongue there. I think what my colleague @jsulm meant to clarify is: sizeof(...) is a compile-time calculation, it does not matter what the value of mosq is or what it points at run-time, rather this statement just assigns sizeof(qtmosq) regardless. As he says, show us what is in the mosq.

                                          M Offline
                                          M Offline
                                          Milav
                                          wrote on 15 Oct 2019, 07:18 last edited by
                                          #26

                                          @JonB

                                          when i execute "qDebug() << mosq;" it gives following output.

                                          qtmosq(0xac50b0)

                                          1 Reply Last reply
                                          0

                                          16/61

                                          15 Oct 2019, 05:56

                                          topic:navigator.unread, 45
                                          • Login

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