0.94 and 0.94.1 CRASH with 'double free or corruption (out)' [Linux]
Posted: Thu Nov 21, 2019 12:00 am
XnView MP Linux
Version 0.94 64bits (Nov 13 2019)
Libformat version 7.33
Ubuntu 18.04
XnView 0.94 crashes frequently with 'double free or corruption (out)'
Effect:
Since the upgrade to 0.94, XnView frequently (though not always) crashes when using or trying to use the Batch Convert tool. The more obvious error displayed is "double free or corruption (out)", although there are other warning/error messages also captured in the console. Please see here the full logs of running xnview from the console.
This is just the part of the logs starting exactly from the moment I click Menu -> Tools -> Batch Convert :
To reproduce:
Important: Note that it doesn't necessarily crash 100% of the times, but it is very frequent, so much that it is not usable. I have noted it mostly in Batch Convert and have logged it, but I have also noted it in other operations, but I haven't logged them. In some cases, it does crash 100% of the times, especially after it has crashed the first time. With that said:
1. Enter a directory with several dozens of pictures (see my logs, in this case 74 jpg files).
2. Either select one, few, many or all files (it also happens without selecting any files!)
3. Select Menu -> Tools -> Batch Convert...
Actual behavior (bug): XnView crashes (see logs) exhibiting 'double free or corruption (out)' at the very last line before "Aborted". There are other messages that seem wrong too.
Expected behavior: Batch Convert tool launches and allow us to use it normally, without ever crashing.
Important additional information:
libpng16-config version: 1.6.34
[Edit: Added "and 0.94.1" to the subject, because the problem also affects 0.94.1]
Version 0.94 64bits (Nov 13 2019)
Libformat version 7.33
Ubuntu 18.04
XnView 0.94 crashes frequently with 'double free or corruption (out)'
Effect:
Since the upgrade to 0.94, XnView frequently (though not always) crashes when using or trying to use the Batch Convert tool. The more obvious error displayed is "double free or corruption (out)", although there are other warning/error messages also captured in the console. Please see here the full logs of running xnview from the console.
This is just the part of the logs starting exactly from the moment I click Menu -> Tools -> Batch Convert :
Code: Select all
ThumbLoaderThread :: stop()
### ThumbLoaderThread :: stop() ok
ThumbLoaderThread :: stop()
### ThumbLoaderThread :: stop() ok
### ThumbLoaderThread :: setFileList(0)
### ThumbLoaderThread :: setFileList() wait
######ThumbLoaderThread :: run : 350de00
######ThumbLoaderThread :: forever : 350de00
** start condition wait
### ThumbLoaderThread :: setFileList() after wait
ThumbLoaderThread :: stop()
### ThumbLoaderThread :: stop() ok
### ThumbLoaderThread :: setFileList ok
ThumbLoaderThread :: stop()
### ThumbLoaderThread :: stop() ok
ThumbLoaderThread :: stop()
### ThumbLoaderThread :: stop() ok
### ThumbLoaderThread :: setFileList(0)
ThumbLoaderThread :: stop()
### ThumbLoaderThread :: stop() ok
### ThumbLoaderThread :: setFileList ok
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
ThumbLoaderThread :: stop()
### ThumbLoaderThread :: stop() ok
ThumbLoaderThread :: stop()
### ThumbLoaderThread :: stop() ok
### ThumbLoaderThread :: setFileList(0)
ThumbLoaderThread :: stop()
### ThumbLoaderThread :: stop() ok
### ThumbLoaderThread :: setFileList ok
QSettings::endGroup: No matching beginGroup()
libpng warning: iCCP: known incorrect sRGB profile
QFileSystemWatcher::addPaths: list is empty
double free or corruption (out)
Aborted
Important: Note that it doesn't necessarily crash 100% of the times, but it is very frequent, so much that it is not usable. I have noted it mostly in Batch Convert and have logged it, but I have also noted it in other operations, but I haven't logged them. In some cases, it does crash 100% of the times, especially after it has crashed the first time. With that said:
1. Enter a directory with several dozens of pictures (see my logs, in this case 74 jpg files).
2. Either select one, few, many or all files (it also happens without selecting any files!)
3. Select Menu -> Tools -> Batch Convert...
Actual behavior (bug): XnView crashes (see logs) exhibiting 'double free or corruption (out)' at the very last line before "Aborted". There are other messages that seem wrong too.
Expected behavior: Batch Convert tool launches and allow us to use it normally, without ever crashing.
Important additional information:
- Normally the problem happens after successfully having used Batch Convert a few times, until it crashes for example during the conversion process or at the begining of the conversion. Then it becomes unusable, crashing as soon as one selects "Batch Convert" from the main menu.
- In the example in my logs, the directory has only 74 jpg "normal" files, no hidden files, no any other kind of files.
- The problem happens with other files and other directories too, not only this one.
- There are no png files at all, tested with Linux 'file' command.
However, in the logs there are many warning: 'libpng warning: iCCP: known incorrect sRGB profile', which is an old issue identified as related to versions of libpng > 1.6, and as far as I have been investigating is supposed to not be critical. Still, I find very strange because there are no png files involved.
- There is also the error "101 Unregistered schema namespace URI" happening one time for each of the files listed in the directory. In the example logs, 74 pics, and 74 times this error. Is this related to this bug: https://dev.exiv2.org/issues/0000640 ?
- All file names are without spaces or special characters.
- The original directory did have spaces in the names, so I copied it to /tmp/211874/
and the problem is identical with or without spaces in the path or file names.
- The file sizes are between 182 KiB and 931 KiB, average is about500KiB
- With the command in linux, this is the output of one of the average pictures:
Code: Select all
file
All the others are very similar to this, diferences are sizes.Code: Select all
$ file pic_211874046.jpg pic_211874046.jpg: JPEG image data, JFIF standard 1.02, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, little-endian, direntries=10, manufacturer=NIKON CORPORATION, model=NIKON D3S, orientation=upper-left, xresolution=162, yresolution=170, resolutionunit=2, software=Adobe Photoshop CS4 Windows, datetime=2010:10:15 09:41:49], progressive, precision 8, 1065x1600, frames 3
- With imagemagick's command, this is the typical output:
Code: Select all
identify
Code: Select all
$ identify pic_211874046.jpg pic_211874046.jpg JPEG 1065x1600 1065x1600+0+0 8-bit sRGB 575KB 0.030u 0:00.019 $ identify pic_211874054.jpg pic_211874054.jpg JPEG 1600x1065 1600x1065+0+0 8-bit sRGB 364KB 0.030u 0:00.030
libpng16-config version: 1.6.34
[Edit: Added "and 0.94.1" to the subject, because the problem also affects 0.94.1]