Bug report #16449

Mapinfo file gets corrupted when table is edited

Added by Pedro Camargo over 4 years ago. Updated almost 3 years ago.

Status:Closed
Priority:High
Assignee:-
Category:Vectors
Affected QGIS version:2.18.5 Regression?:No
Operating System: Easy fix?:No
Pull Request or Patch supplied:No Resolution:end of life
Crashes QGIS or corrupts data:Yes Copied to github as #:24358

Description

When one edits the table of a Mapinfo *TAB file (say deleting a field), the whole layer disappears (as in not records in the table or features in the map).

When trying to save the file, a *.DAT.tmp is created, but never converted to *.DAT. If we rename the files (adjusting their extensions), we get an error: "OGR3 error 7: Unsupported field type!" , which leads me to conclude that writing the table down is not being done until the end.

example_tab.7z (438 KB) Pedro Camargo, 2017-04-27 04:18 PM

History

#1 Updated by Even Rouault over 4 years ago

I assume this is on Windows ? If so, this must be an issue similar to the one we had with shapefiles where renaming doesn't work due to some Windows component keeping a file handle opened on the original .dat file preventing the .dat.tmp from being renamed as .dat

#2 Updated by Pedro Camargo over 4 years ago

Yes, windows 10
Files attached (before and after corruption)
GDAL version 2.1.3
When you edit the table (adding or deleting fields, for example), things go smoothly until you try to commit the changes. When you do that, youget a message that you cannot commit those changes. After that, when you ask to roll back, you cannot open the file in Mapinfo (says it is corrupted) and QGIS opens just an empty table when you that the said layer.

error report when deleting fields:

2017-04-28T09:19:36 0 QGIS Ready!
2017-04-28T09:21:32 1 Commit errors:
ERROR: 2 attribute(s) not deleted.

Provider errors:
OGR error deleting field 5: WriteBytes(): Attempt to write past end of data block.
2017-04-28T09:21:34 1 Commit errors:
ERROR: 2 attribute(s) not deleted.
Provider errors:
OGR error deleting field 6: Invalid field index
OGR error deleting field 5: WriteBytes(): Attempt to write past end of data block.

#3 Updated by Giovanni Manghi over 4 years ago

  • Easy fix? set to No
  • Regression? set to No

#4 Updated by Giovanni Manghi over 4 years ago

  • Description updated (diff)
  • Crashes QGIS or corrupts data changed from No to Yes
  • Category set to Vectors

#5 Updated by Giovanni Manghi almost 3 years ago

  • Resolution set to end of life
  • Status changed from Open to Closed

End of life notice: QGIS 2.18 LTR

Source:
http://blog.qgis.org/2019/03/09/end-of-life-notice-qgis-2-18-ltr/

QGIS 3.4 has recently become our new Long Term Release (LTR) version. This is a major step in our history – a long term release version based on the massive updates, library upgrades and improvements that we carried out in the course of the 2.x to 3x upgrade cycle.

We strongly encourage all users who are currently using QGIS 2.18 LTR as their preferred QGIS release to migrate to QGIS 3.4. This new LTR version will receive regular bugfixes for at least one year. It also includes hundreds of new functions, usability improvements, bugfixes, and other goodies. See the relevant changelogs for a good sampling of all the new features that have gone into version 3.4

Most plugins have been either migrated or incorporated into the core QGIS code base.

We strongly discourage the continued use of QGIS 2.18 LTR as it is now officially unsupported, which means we’ll not provide any bug fix releases for it.

You should also note that we intend to close all bug tickets referring to the now obsolete LTR version. Original reporters will receive a notification of the ticket closure and are encouraged to check whether the issue persists in the new LTR, in which case they should reopen the ticket.

If you would like to better understand the QGIS release roadmap, check out our roadmap page! It outlines the schedule for upcoming releases and will help you plan your deployment of QGIS into an operational environment.

The development of QGIS 3.4 LTR has been made possible by the work of hundreds of volunteers, by the investments of companies, professionals, and administrations, and by continuous donations and financial support from many of you. We sincerely thank you all and encourage you to collaborate and support the project even more, for the long term improvement and sustainability of the QGIS project.

Also available in: Atom PDF