[Linux] consistent crash when quickly browsing big files

*** Please report new bugs here! ***

Moderators: XnTriq, helmut, xnview, Dreamer

Post Reply
User avatar
pangwolin
Posts: 60
Joined: Sun Sep 25, 2016 7:53 pm

[Linux] consistent crash when quickly browsing big files

Post by pangwolin »

XnViewMP 0.82 (x86_64) is consistently crashing when browsing (in View mode) a bunch of big jpeg files and pressing the ESC key while it's still reading files (from its queue, on the fly).

Here is what I do to reproduce it:
* open a directory with a bunch of files
* start rolling mouse wheel very fast to have a bunch of files queued for rendering
* press ESC while it's still stepping forward to next files


Result: XnView hangs, eats > 100% of CPU, can't recover have to kill it.

It seems to happen while a jpeg file to be displayed is still rendered as the (progressive?) blurry preview (in View mode), and pressing ESC ungracefully interrupts its pipeline, which leads to an infinite loop somewhere (?).

Here below is the last few lines from terminal output.

Code: Select all

LOAD PREVIEW
LOAD INFO </data/016.jpg>
## Bitmap :: load 0 
###### LOAD BITMAP </data/001.jpg>
## Bitmap :: load 2048 
###### LOAD BITMAP </data/001.jpg>
BitmapLoadThread :: stop()
### crack
### resetViewport (1f87c90)  ==> 1237 937  (654 937) 0 0
SIZE : 0 126  (-1)
SIZE : 0 109  (-1)
BitmapLoadThread :: stop()
getNext => 4 
 ==> 20671d0 
##START cache 1 /data/002.jpg
   /data/002.jpg (2654 3800)
MyPreviewThread :: stop()
m_stopCondition.wait()
### crack
## BitmapLoadThread :: load -1 -1 
## Bitmap :: load 0 
###### LOAD BITMAP </data/001.jpg>
## MyPreviewThread :: ERROR : 15 (0x1fe0110)
m_stopCondition.wakeOne()
m_loadCondition.wait()
MyPreviewThread :: set 
## Bitmap :: load 0 
###### LOAD BITMAP </data/002.jpg>
getNext => 4 
 ==> 20671d0 
setCurrentFilename </data/002.jpg>
LOAD PREVIEW
LOAD INFO </data/002.jpg>
## Bitmap :: load 2048 
###### LOAD BITMAP </data/002.jpg>
BitmapLoadThread :: stop()
### crack
### resetViewport (1f87c90)  ==> 1237 937  (654 937) 0 0
SIZE : 0 126  (-1)
SIZE : 0 109  (-1)
BitmapLoadThread :: stop()
getNext => 4 
## BitmapLoadThread :: load -1 -1 
## Bitmap :: load 0 
###### LOAD BITMAP </data/002.jpg>
 ==> 20ec540 
##START cache 1 /data/003.jpg
   /data/aa0.jpg (2654 3800)
MyPreviewThread :: stop()
m_stopCondition.wait()
### crack
## MyPreviewThread :: ERROR : 15 (0x1fe0110)
m_stopCondition.wakeOne()
m_loadCondition.wait()
MyPreviewThread :: set 
## Bitmap :: load 0 
###### LOAD BITMAP </data/003.jpg>
########################################
############### UPDATE MENU ############
########################################
## BaseViewWindow :: ~BaseViewWindow()
ThumbLoaderThread :: stop()
### ThumbLoaderThread :: stop() ok
ThumbLoaderThread :: stop()
### ThumbLoaderThread :: stop() ok
######ThumbLoaderThread :: run : 20abf90 OK
QMutex: destroying locked mutex
## BaseViewWindow :: ~BaseViewWindow() ok
AbstractViewWindow :: ~AbstractViewWindow()
BitmapLoadThread :: stop()
### crack
## ~MyPreviewThread (0x1fe0110)
## MyPreviewThread :: ERROR : 0 (0x1fe0110)
m_stopCondition.wakeOne()
m_loadCondition.wait()
Terminated
SPECS: Linux Mint 17.3 (Ubuntu 14.04.1 based)

Hope that helps! Keep up the good work. :D
Post Reply