Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. reading file line by line crashes
Forum Updated to NodeBB v4.3 + New Features

reading file line by line crashes

Scheduled Pinned Locked Moved Solved General and Desktop
qt 4.8qtextstreamreadline
17 Posts 5 Posters 3.5k 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.
  • M Offline
    M Offline
    mourad_bilog
    wrote on 11 Mar 2019, 10:22 last edited by
    #1

    Hello everyone,

    I've a program that open a file (380 Mo) into a QTextStream and read data line by line with the readLine function.
    Recenly a have encoutred a crash problem when reading data and I've tried some manipulation by the crash persists.
    Note that every line contains some big data and lines ends with \n\r.

    Below my code :

    QFile srfile(mScriptFileName);  
    
    	if (!srfile.open(QIODevice::ReadOnly | QIODevice::Text))
    	{
    		mExistMajData = false;	
    		mIsError = true;
    		return ;
    	}
    
    	QTextStream in(&srfile);
    
    	while (!in.atEnd() && !mIsError) 
    	{
    		qApp->processEvents(QEventLoop::WaitForMoreEvents);
    
    		//lecture des données lignes par ligne		
    		try 
    		{ 
    			line_data = in.readLine(); // it crashes here (eg. PJ)
    			record_data = line_data.split("<|>");
    			qDebug() << "Fin lecture d'une ligne n°" << QString::number(++nb_cmd) << record_data[3] << QTime::currentTime().toString("hh:mm") << endl ;
    		} 
    		catch ( const std::bad_alloc & ) 
    		{ 
    			 std::cerr << "Erreur : mémoire insuffisante.\n"; 
    		} 
    		catch ( const std::out_of_range & ) 
    		{ 
    			 std::cerr << "Erreur : débordement de mémoire.\n"; 
    		} 
    		catch ( const std::exception & e ) 
    		{ 
    			std::cerr << e.what(); 
    		}
    

    The call stack indicated the following :

     	msvcr80d.dll!memcpy(unsigned char * dst=0x28446f80, unsigned char * src=0x01b26ffa, unsigned long count=32768)  Ligne 188	Asm
     	QtCored4.dll!QString::append(const QString & str={...})  Ligne 1244 + 0x2d octets	C++
     	QtCored4.dll!QString::operator+=(const QString & s={...})  Ligne 225 + 0x13 octets	C++
     	QtCored4.dll!QTextStreamPrivate::fillReadBuffer(__int64 maxBytes=-1)  Ligne 568 + 0x5b octets	C++
     	QtCored4.dll!QTextStreamPrivate::scan(const QChar * * ptr=0x0014a42c, int * length=0x0014a434, int maxlen=0, QTextStreamPrivate::TokenDelimiter delimiter=EndOfLine)  Ligne 730 + 0x2a octets	C++
     	QtCored4.dll!QTextStream::readLine(__int64 maxlen=0)  Ligne 1588 + 0x16 octets	C++
    >	TheriaqueUpdater.exe!TheriaUpdater::NewUpdateBase()  Ligne 3377 + 0x14 octets	C++
     	TheriaqueUpdater.exe!TheriaUpdater::start()  Ligne 1479	C++
     	TheriaqueUpdater.exe!TheriaUpdater::Update()  Ligne 1199	C++
     	TheriaqueUpdater.exe!TheriaUpdater::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=8, void * * _a=0x0014b154)  Ligne 96 + 0x8 octets	C++
     	QtCored4.dll!QMetaObject::activate(QObject * sender=0x01aa4888, int from_signal_index=29, int to_signal_index=30, void * * argv=0x0014b154)  Ligne 3063 + 0x46 octets	C++
     	QtCored4.dll!QMetaObject::activate(QObject * sender=0x01aa4888, const QMetaObject * m=0x657a2374, int from_local_signal_index=2, int to_local_signal_index=3, void * * argv=0x0014b154)  Ligne 3142 + 0x15 octets	C++
     	QtGuid4.dll!QAbstractButton::clicked(bool _t1=false)  Ligne 180 + 0x17 octets	C++
     	QtGuid4.dll!QAbstractButtonPrivate::emitClicked()  Ligne 517	C++
     	QtGuid4.dll!QAbstractButtonPrivate::click()  Ligne 509	C++
     	QtGuid4.dll!QAbstractButton::mouseReleaseEvent(QMouseEvent * e=0x0014b788)  Ligne 1086	C++
     	QtGuid4.dll!QWidget::event(QEvent * event=0x0014b788)  Ligne 6064	C++
     	QtGuid4.dll!QAbstractButton::event(QEvent * e=0x0014b788)  Ligne 1048	C++
     	QtGuid4.dll!QPushButton::event(QEvent * e=0x0014b788)  Ligne 651	C++
     	QtGuid4.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x01aa4888, QEvent * e=0x0014b788)  Ligne 3541 + 0x11 octets	C++
     	QtGuid4.dll!QApplication::notify(QObject * receiver=0x01aa4888, QEvent * e=0x0014b788)  Ligne 3240 + 0x2f octets	C++
     	QtCored4.dll!QCoreApplication::notifyInternal(QObject * receiver=0x01aa4888, QEvent * event=0x0014b788)  Ligne 516	C++
     	QtCored4.dll!QCoreApplication::sendSpontaneousEvent(QObject * receiver=0x01aa4888, QEvent * event=0x0014b788)  Ligne 188 + 0x38 octets	C++
    
    

    I've reinstalled the VC redistribuable. Rebuil all the project. Search if I can free QTextStream buffer but the problem persists

    Can anyone tell me what wrong et what I must to do to resolve this. Some

    Thanks in advance

    J J 2 Replies Last reply 11 Mar 2019, 12:03
    0
    • M mourad_bilog
      11 Mar 2019, 10:22

      Hello everyone,

      I've a program that open a file (380 Mo) into a QTextStream and read data line by line with the readLine function.
      Recenly a have encoutred a crash problem when reading data and I've tried some manipulation by the crash persists.
      Note that every line contains some big data and lines ends with \n\r.

      Below my code :

      QFile srfile(mScriptFileName);  
      
      	if (!srfile.open(QIODevice::ReadOnly | QIODevice::Text))
      	{
      		mExistMajData = false;	
      		mIsError = true;
      		return ;
      	}
      
      	QTextStream in(&srfile);
      
      	while (!in.atEnd() && !mIsError) 
      	{
      		qApp->processEvents(QEventLoop::WaitForMoreEvents);
      
      		//lecture des données lignes par ligne		
      		try 
      		{ 
      			line_data = in.readLine(); // it crashes here (eg. PJ)
      			record_data = line_data.split("<|>");
      			qDebug() << "Fin lecture d'une ligne n°" << QString::number(++nb_cmd) << record_data[3] << QTime::currentTime().toString("hh:mm") << endl ;
      		} 
      		catch ( const std::bad_alloc & ) 
      		{ 
      			 std::cerr << "Erreur : mémoire insuffisante.\n"; 
      		} 
      		catch ( const std::out_of_range & ) 
      		{ 
      			 std::cerr << "Erreur : débordement de mémoire.\n"; 
      		} 
      		catch ( const std::exception & e ) 
      		{ 
      			std::cerr << e.what(); 
      		}
      

      The call stack indicated the following :

       	msvcr80d.dll!memcpy(unsigned char * dst=0x28446f80, unsigned char * src=0x01b26ffa, unsigned long count=32768)  Ligne 188	Asm
       	QtCored4.dll!QString::append(const QString & str={...})  Ligne 1244 + 0x2d octets	C++
       	QtCored4.dll!QString::operator+=(const QString & s={...})  Ligne 225 + 0x13 octets	C++
       	QtCored4.dll!QTextStreamPrivate::fillReadBuffer(__int64 maxBytes=-1)  Ligne 568 + 0x5b octets	C++
       	QtCored4.dll!QTextStreamPrivate::scan(const QChar * * ptr=0x0014a42c, int * length=0x0014a434, int maxlen=0, QTextStreamPrivate::TokenDelimiter delimiter=EndOfLine)  Ligne 730 + 0x2a octets	C++
       	QtCored4.dll!QTextStream::readLine(__int64 maxlen=0)  Ligne 1588 + 0x16 octets	C++
      >	TheriaqueUpdater.exe!TheriaUpdater::NewUpdateBase()  Ligne 3377 + 0x14 octets	C++
       	TheriaqueUpdater.exe!TheriaUpdater::start()  Ligne 1479	C++
       	TheriaqueUpdater.exe!TheriaUpdater::Update()  Ligne 1199	C++
       	TheriaqueUpdater.exe!TheriaUpdater::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=8, void * * _a=0x0014b154)  Ligne 96 + 0x8 octets	C++
       	QtCored4.dll!QMetaObject::activate(QObject * sender=0x01aa4888, int from_signal_index=29, int to_signal_index=30, void * * argv=0x0014b154)  Ligne 3063 + 0x46 octets	C++
       	QtCored4.dll!QMetaObject::activate(QObject * sender=0x01aa4888, const QMetaObject * m=0x657a2374, int from_local_signal_index=2, int to_local_signal_index=3, void * * argv=0x0014b154)  Ligne 3142 + 0x15 octets	C++
       	QtGuid4.dll!QAbstractButton::clicked(bool _t1=false)  Ligne 180 + 0x17 octets	C++
       	QtGuid4.dll!QAbstractButtonPrivate::emitClicked()  Ligne 517	C++
       	QtGuid4.dll!QAbstractButtonPrivate::click()  Ligne 509	C++
       	QtGuid4.dll!QAbstractButton::mouseReleaseEvent(QMouseEvent * e=0x0014b788)  Ligne 1086	C++
       	QtGuid4.dll!QWidget::event(QEvent * event=0x0014b788)  Ligne 6064	C++
       	QtGuid4.dll!QAbstractButton::event(QEvent * e=0x0014b788)  Ligne 1048	C++
       	QtGuid4.dll!QPushButton::event(QEvent * e=0x0014b788)  Ligne 651	C++
       	QtGuid4.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x01aa4888, QEvent * e=0x0014b788)  Ligne 3541 + 0x11 octets	C++
       	QtGuid4.dll!QApplication::notify(QObject * receiver=0x01aa4888, QEvent * e=0x0014b788)  Ligne 3240 + 0x2f octets	C++
       	QtCored4.dll!QCoreApplication::notifyInternal(QObject * receiver=0x01aa4888, QEvent * event=0x0014b788)  Ligne 516	C++
       	QtCored4.dll!QCoreApplication::sendSpontaneousEvent(QObject * receiver=0x01aa4888, QEvent * event=0x0014b788)  Ligne 188 + 0x38 octets	C++
      
      

      I've reinstalled the VC redistribuable. Rebuil all the project. Search if I can free QTextStream buffer but the problem persists

      Can anyone tell me what wrong et what I must to do to resolve this. Some

      Thanks in advance

      J Offline
      J Offline
      jsulm
      Lifetime Qt Champion
      wrote on 11 Mar 2019, 12:03 last edited by
      #2

      @mourad_bilog said in reading file line by line crashes:

      crash problem

      What kind of crash is it? Out of memory? Or something else?

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

      1 Reply Last reply
      0
      • M mourad_bilog
        11 Mar 2019, 10:22

        Hello everyone,

        I've a program that open a file (380 Mo) into a QTextStream and read data line by line with the readLine function.
        Recenly a have encoutred a crash problem when reading data and I've tried some manipulation by the crash persists.
        Note that every line contains some big data and lines ends with \n\r.

        Below my code :

        QFile srfile(mScriptFileName);  
        
        	if (!srfile.open(QIODevice::ReadOnly | QIODevice::Text))
        	{
        		mExistMajData = false;	
        		mIsError = true;
        		return ;
        	}
        
        	QTextStream in(&srfile);
        
        	while (!in.atEnd() && !mIsError) 
        	{
        		qApp->processEvents(QEventLoop::WaitForMoreEvents);
        
        		//lecture des données lignes par ligne		
        		try 
        		{ 
        			line_data = in.readLine(); // it crashes here (eg. PJ)
        			record_data = line_data.split("<|>");
        			qDebug() << "Fin lecture d'une ligne n°" << QString::number(++nb_cmd) << record_data[3] << QTime::currentTime().toString("hh:mm") << endl ;
        		} 
        		catch ( const std::bad_alloc & ) 
        		{ 
        			 std::cerr << "Erreur : mémoire insuffisante.\n"; 
        		} 
        		catch ( const std::out_of_range & ) 
        		{ 
        			 std::cerr << "Erreur : débordement de mémoire.\n"; 
        		} 
        		catch ( const std::exception & e ) 
        		{ 
        			std::cerr << e.what(); 
        		}
        

        The call stack indicated the following :

         	msvcr80d.dll!memcpy(unsigned char * dst=0x28446f80, unsigned char * src=0x01b26ffa, unsigned long count=32768)  Ligne 188	Asm
         	QtCored4.dll!QString::append(const QString & str={...})  Ligne 1244 + 0x2d octets	C++
         	QtCored4.dll!QString::operator+=(const QString & s={...})  Ligne 225 + 0x13 octets	C++
         	QtCored4.dll!QTextStreamPrivate::fillReadBuffer(__int64 maxBytes=-1)  Ligne 568 + 0x5b octets	C++
         	QtCored4.dll!QTextStreamPrivate::scan(const QChar * * ptr=0x0014a42c, int * length=0x0014a434, int maxlen=0, QTextStreamPrivate::TokenDelimiter delimiter=EndOfLine)  Ligne 730 + 0x2a octets	C++
         	QtCored4.dll!QTextStream::readLine(__int64 maxlen=0)  Ligne 1588 + 0x16 octets	C++
        >	TheriaqueUpdater.exe!TheriaUpdater::NewUpdateBase()  Ligne 3377 + 0x14 octets	C++
         	TheriaqueUpdater.exe!TheriaUpdater::start()  Ligne 1479	C++
         	TheriaqueUpdater.exe!TheriaUpdater::Update()  Ligne 1199	C++
         	TheriaqueUpdater.exe!TheriaUpdater::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=8, void * * _a=0x0014b154)  Ligne 96 + 0x8 octets	C++
         	QtCored4.dll!QMetaObject::activate(QObject * sender=0x01aa4888, int from_signal_index=29, int to_signal_index=30, void * * argv=0x0014b154)  Ligne 3063 + 0x46 octets	C++
         	QtCored4.dll!QMetaObject::activate(QObject * sender=0x01aa4888, const QMetaObject * m=0x657a2374, int from_local_signal_index=2, int to_local_signal_index=3, void * * argv=0x0014b154)  Ligne 3142 + 0x15 octets	C++
         	QtGuid4.dll!QAbstractButton::clicked(bool _t1=false)  Ligne 180 + 0x17 octets	C++
         	QtGuid4.dll!QAbstractButtonPrivate::emitClicked()  Ligne 517	C++
         	QtGuid4.dll!QAbstractButtonPrivate::click()  Ligne 509	C++
         	QtGuid4.dll!QAbstractButton::mouseReleaseEvent(QMouseEvent * e=0x0014b788)  Ligne 1086	C++
         	QtGuid4.dll!QWidget::event(QEvent * event=0x0014b788)  Ligne 6064	C++
         	QtGuid4.dll!QAbstractButton::event(QEvent * e=0x0014b788)  Ligne 1048	C++
         	QtGuid4.dll!QPushButton::event(QEvent * e=0x0014b788)  Ligne 651	C++
         	QtGuid4.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x01aa4888, QEvent * e=0x0014b788)  Ligne 3541 + 0x11 octets	C++
         	QtGuid4.dll!QApplication::notify(QObject * receiver=0x01aa4888, QEvent * e=0x0014b788)  Ligne 3240 + 0x2f octets	C++
         	QtCored4.dll!QCoreApplication::notifyInternal(QObject * receiver=0x01aa4888, QEvent * event=0x0014b788)  Ligne 516	C++
         	QtCored4.dll!QCoreApplication::sendSpontaneousEvent(QObject * receiver=0x01aa4888, QEvent * event=0x0014b788)  Ligne 188 + 0x38 octets	C++
        
        

        I've reinstalled the VC redistribuable. Rebuil all the project. Search if I can free QTextStream buffer but the problem persists

        Can anyone tell me what wrong et what I must to do to resolve this. Some

        Thanks in advance

        J Offline
        J Offline
        J.Hilk
        Moderators
        wrote on 11 Mar 2019, 12:18 last edited by
        #3

        hi @mourad_bilog

        Even if this doesn't crash your application, you should check if recordData has indeed more than 3 entries!

        qDebug() << "Fin lecture d'une ligne n°" << QString::number(++nb_cmd) << record_data[3] << QTime::currentTime().toString("hh:mm") << endl ;

        besides that, I see this

        qApp->processEvents(QEventLoop::WaitForMoreEvents);

        potentially causing serious issues, do not spin the event loop manually!


        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.

        1 Reply Last reply
        2
        • M Offline
          M Offline
          mourad_bilog
          wrote on 11 Mar 2019, 13:42 last edited by
          #4

          First, Thanks for reply.

          @jsulm it's a memory crash. Below the error occured :

          Exception de première chance à 0x0fcbd5be (msvcr80d.dll) dans TheriaqueUpdater.exe : 0xC0000005: Violation d'accès lors de l'écriture à l'emplacement 0x2804e000.
          Exception non gérée à 0x0fcbd5be (msvcr80d.dll) dans TheriaqueUpdater.exe : 0xC0000005: Violation d'accès lors de l'écriture à l'emplacement 0x2804e000.
          

          @J-Hilk the crash occus on in.readLine. The recod data has 6 entries and it's shown evey time.
          I've commented the eventLoop but the application still crashes.

          Note that line data lengths can be around 1 milion carachtars.

          J J 2 Replies Last reply 11 Mar 2019, 13:45
          0
          • M mourad_bilog
            11 Mar 2019, 13:42

            First, Thanks for reply.

            @jsulm it's a memory crash. Below the error occured :

            Exception de première chance à 0x0fcbd5be (msvcr80d.dll) dans TheriaqueUpdater.exe : 0xC0000005: Violation d'accès lors de l'écriture à l'emplacement 0x2804e000.
            Exception non gérée à 0x0fcbd5be (msvcr80d.dll) dans TheriaqueUpdater.exe : 0xC0000005: Violation d'accès lors de l'écriture à l'emplacement 0x2804e000.
            

            @J-Hilk the crash occus on in.readLine. The recod data has 6 entries and it's shown evey time.
            I've commented the eventLoop but the application still crashes.

            Note that line data lengths can be around 1 milion carachtars.

            J Offline
            J Offline
            jsulm
            Lifetime Qt Champion
            wrote on 11 Mar 2019, 13:45 last edited by
            #5

            @mourad_bilog said in reading file line by line crashes:

            Note that line data lengths can be around 1 milion carachtars

            How long is the line you're reading when the app is crashing?

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

            1 Reply Last reply
            0
            • M mourad_bilog
              11 Mar 2019, 13:42

              First, Thanks for reply.

              @jsulm it's a memory crash. Below the error occured :

              Exception de première chance à 0x0fcbd5be (msvcr80d.dll) dans TheriaqueUpdater.exe : 0xC0000005: Violation d'accès lors de l'écriture à l'emplacement 0x2804e000.
              Exception non gérée à 0x0fcbd5be (msvcr80d.dll) dans TheriaqueUpdater.exe : 0xC0000005: Violation d'accès lors de l'écriture à l'emplacement 0x2804e000.
              

              @J-Hilk the crash occus on in.readLine. The recod data has 6 entries and it's shown evey time.
              I've commented the eventLoop but the application still crashes.

              Note that line data lengths can be around 1 milion carachtars.

              J Offline
              J Offline
              J.Hilk
              Moderators
              wrote on 11 Mar 2019, 13:45 last edited by
              #6

              @mourad_bilog said in reading file line by line crashes:

              @J-Hilk the crash occus on in.readLine. The recod data has 6 entries and it's shown evey time.

              do not base this solely on faith:

              if(record_data.size()> 3)
              qDebug() << "Fin lecture d'une ligne n°" << QString::number(++nb_cmd) << record_data[3] << QTime::currentTime().toString("hh:mm") << endl ;
               else
               qDebug() << "would have crashed";
              

              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.

              1 Reply Last reply
              2
              • M Offline
                M Offline
                mourad_bilog
                wrote on 11 Mar 2019, 14:35 last edited by
                #7

                @jsulm said in reading file line by line crashes:

                How long is the line you're reading when the app is crashing?

                About 1 200 000 charactars.

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  mourad_bilog
                  wrote on 11 Mar 2019, 14:36 last edited by
                  #8

                  @J-Hilk
                  I've commented that line but the same occurs.

                  J 1 Reply Last reply 11 Mar 2019, 14:41
                  0
                  • M mourad_bilog
                    11 Mar 2019, 14:36

                    @J-Hilk
                    I've commented that line but the same occurs.

                    J Offline
                    J Offline
                    J.Hilk
                    Moderators
                    wrote on 11 Mar 2019, 14:41 last edited by
                    #9

                    @mourad_bilog alight thanks thumbs up

                    question , is this Qt4?
                    and is this a multi threaded project, and is do you read and write to that file from different places ?


                    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 11 Mar 2019, 14:44
                    0
                    • J J.Hilk
                      11 Mar 2019, 14:41

                      @mourad_bilog alight thanks thumbs up

                      question , is this Qt4?
                      and is this a multi threaded project, and is do you read and write to that file from different places ?

                      M Offline
                      M Offline
                      mourad_bilog
                      wrote on 11 Mar 2019, 14:44 last edited by
                      #10

                      @J.Hilk
                      question , is this Qt4? yes. but the program runs correctly for some years.

                      and is this a multi threaded project, : No, it's one thread.

                      and is do you read and write to that file from different places : No, I just read from that file. I just open it in "ReadOnly" mode.

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        mourad_bilog
                        wrote on 11 Mar 2019, 14:51 last edited by
                        #11

                        I've read in a post how has similar problem that he has solved the problem using file.readLine no QTextStream.readLine(). What is the difference between the 2 functions ?

                        1 Reply Last reply
                        0
                        • Christian EhrlicherC Offline
                          Christian EhrlicherC Offline
                          Christian Ehrlicher
                          Lifetime Qt Champion
                          wrote on 11 Mar 2019, 15:04 last edited by
                          #12

                          @mourad_bilog said in reading file line by line crashes:

                          1 200 000

                          really one line?

                          Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                          Visit the Qt Academy at https://academy.qt.io/catalog

                          1 Reply Last reply
                          0
                          • M Offline
                            M Offline
                            mourad_bilog
                            wrote on 11 Mar 2019, 15:24 last edited by
                            #13

                            @Christian-Ehrlicher there's many lines witch everyone exceed 1 milion charactars.
                            Is this a problem ? That can exceed what QTextStream buffer contains ?

                            1 Reply Last reply
                            0
                            • Christian EhrlicherC Offline
                              Christian EhrlicherC Offline
                              Christian Ehrlicher
                              Lifetime Qt Champion
                              wrote on 11 Mar 2019, 15:52 last edited by
                              #14

                              At least I would consider this - it's a 2.4MB huge QString, should be ok but who knows. I would simply try QFile::readLine(), split the QByteArray and convert to QString as late as possible (if needed at all)

                              Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                              Visit the Qt Academy at https://academy.qt.io/catalog

                              1 Reply Last reply
                              2
                              • M Offline
                                M Offline
                                mourad_bilog
                                wrote on 12 Mar 2019, 11:11 last edited by
                                #15

                                Checking Windows events journal, it indicates that msvcr causes this crash, that's true ?

                                Nom de l’application défaillante Updater.exe, version : 2.7.4.0, horodatage : 0x5a018f88
                                Nom du module défaillant : MSVCR80.dll, version : 8.0.50727.9445, horodatage : 0x5a7bc74c
                                Code d’exception : 0xc0000005
                                Décalage d’erreur : 0x0001508e
                                ID du processus défaillant : 0x19a0
                                Heure de début de l’application défaillante : 0x01d4d8a5bb99dd52
                                Chemin d’accès du module défaillant: C:\WINDOWS\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.9445_none_d08c58b4442ba54f\MSVCR80.dll
                                ID de rapport : 6c470b7e-a3b2-4584-b404-3d7957545ead
                                Nom complet du package défaillant : 
                                ID de l’application relative au package défaillant : 
                                

                                I've re-installed Visual redistribuable 2005 but the problem persists. Note that I dont found msvcr80 in the system32 not like other versions msvcr71, msvcr10, etc.

                                Does this the problem ?

                                1 Reply Last reply
                                0
                                • SGaistS Offline
                                  SGaistS Offline
                                  SGaist
                                  Lifetime Qt Champion
                                  wrote on 12 Mar 2019, 22:01 last edited by
                                  #16

                                  Hi,

                                  Did you monitor your application RAM usage ?

                                  Interested in AI ? www.idiap.ch
                                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                  1 Reply Last reply
                                  1
                                  • M Offline
                                    M Offline
                                    mourad_bilog
                                    wrote on 22 Mar 2019, 06:24 last edited by
                                    #17

                                    Finally I changed reading mode to read directly from the data file. It's most faster and just I was care to encode data when reading to keep special charcatars.

                                    Thanks all for your ideas

                                    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