Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-110451

emitting dataChanged trips on freed delegate memory

XMLWordPrintable

    • Windows
    • fc740db1c (dev), c08cb9a98 (6.8), 38c9b92a2 (6.7)

      I have a listview of items with the following properties

      The delegate has a progress bar who's value is updated over a different std::thread and the role's corresponding value change is queue notified over to the primary thread like so:

      during the course of transfer I periodically position the view to the item being downloaded like so: 

      This is basically my FTP client's transfer queue and as you can see I am not using cachebuffer on the listview.  Generally the setup works fine. However sometimes for  small files which get downloaded very quickly the datchanged signal faults on memory which has already been freed as part of delegate destruction.

      <callstack and other details to be continued after creating the bug with a bigger editor.. >

      This is how the screen looks at the point of crash:

      This is the faulting callstack of the primary thread and the historic callstack where the memory was freed:

      setting the cachebuffer on the listview to an arbitrary large value of say 4096, from what I can tell, avoids the problem.

       

       

       

        For Gerrit Dashboard: QTBUG-110451
        # Subject Branch Project Status CR V

            santhoshkumar Santhosh Kumar Selvaraj
            nmam Neelabh Mam
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 3 days
                3d

                  There are no open Gerrit changes