Uploaded image for project: 'UGENE'
  1. UGENE
  2. UGENE-7939

[Sequence, crash] Exporting long region and spamming Task View

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Cannot Reproduce
    • Affects Version/s: 33, 34, 35, 36, 37, 38, 39, 38.1, 40, 41, 40.1, 42, 43, 44, 45, 46, 47, 48
    • Fix Version/s: None
    • Component/s: Basic-Nucl, seq
    • Tests Type:
      Functional/Unit
    • Sprint:
      DEV-50-5, DEV-50-RELEASE
    • User Requests Number:
      4
    • Affect Type:
      Userdefined

      Description

      The exact version of the bug occurrence is unknown. The earliest in crash reports is 33.

      UPD: The scenario and explanations below are wrong. See the scenario comment instead.


      Many of our tasks use parts of a sequence. They use the U2SequenceObject::getSequenceData function. For example:

      This function stores a fragment of a sequence in RAM. But there is no check whether the available RAM is enough to store it entirely. This piece itself may be long.

      One of the reproduction scenarios (based on crash reports 2586 and 2585):

      1. Make sure your computer currently has no more than 2 GB of available RAM.
      2. Download GCA_900491605.1_Calamus_simplicifolius_genomic
        1. from https://www.ncbi.nlm.nih.gov/assembly/GCA_900491605.1/?shouldredirect=false
        2. click "Download Assembly"
        3. Source database (GenBank or RefSeq)=GenBank
        4. File type=Genomic FASTA (.fna)
      3. Open the file in UGENE.
        1. The "Sequence Reading Options" dialog appears.
        2. Select "Merge sequences into a single sequence..."
          Expected: the SV window appears.
      4. Select the entire sequence as the region (Ctrl+A).
      5. Actions->Export->Export selected sequence region...
        The "Export Selected Sequence Region" dialog appears.
      6. Click Export.
        Current state: possible crash.

      Please note that scenario is very similar to 7484 and crash report 1255. They have the same root of the problem (placing a large amount of data in RAM), but different crash locations: in the current bug the crash occurs on the QByteArray::mid function, in the other – QByteArray::append.

      Solution suggestion:

      1. Make the region export task (example scenario) stable within this issue.
        Region must be exported to another sequence in small chunks.
      2. Fix problems in other tasks/places.
        If it makes sense for a task, then make it work not with the entire large chunk of the sequence, but only with part of it. If using a small sequence fragment instead of the entire large sequence in a task doesn't make sense (for example, Ctrl+C), cancel/fail the task. See also QByteArray limitations. Catch exceptions when necessary.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              yalgaer Yuliya Algaer
              Reporter:
              biserova Evelina
              Assigned Tester:
              Svetlana Samoilenko
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: