google-code-export / photivo

Automatically exported from code.google.com/p/photivo
GNU General Public License v3.0
3 stars 0 forks source link

Photivo crashes when Wiener sharpen is enabled #97

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
To reproduce:

1. Start Photivo
2. Leave Wiener sharpen enabled on the LAB Sharpen/Noise panel
3. Open a raw file

The usual crash window of Windows will show up.

Version: 2012-10-06 (rev 2956f6a8eb98)
Machine: MSI Wind netbook, 1G RAM (don't laugh, this is my travel machine, I'm 
currently away from home)
System: Windows XP home
RAWs tested: Panasonic DMC-FZ30 and Canon Powershot G1.

Log:
32 bit Photivo detected. 
Photivo version 2012-10-06 (rev 2956f6a8eb98)
Existing settingsfile 'C:/Dokumente und 
Einstellungen/Gabi/Anwendungsdaten/Photivo/photivo.ini'
User directory: 'C:/Dokumente und Einstellungen/Gabi/Anwendungsdaten/Photivo/'; 
Share directory: 'c:/Programme/Photivo/'; 
Initializing/Updating user profile...
Lensfun database: 'c:/Programme/Photivo/LensfunDatabase'; 
Progress : Loading channelmixers
Progress : Ready
Progress : Reading file
(../../Sources/ptProcessor.cpp,153) void ptProcessor::Run(short int, short int, 
short int, short int)
(../../Sources/ptProcessor.cpp,  243): Starting DcRaw at 0 ms.
Progress : Reading RAW file
(../../Sources/ptDcRaw.cpp, 8491): PreMult[0]          : 1.000000
(../../Sources/ptDcRaw.cpp, 8492): PreMult[1]          : 1.000000
(../../Sources/ptDcRaw.cpp, 8493): PreMult[2]          : 1.000000
(../../Sources/ptDcRaw.cpp, 8494): PreMult[3]          : 0.000000
(../../Sources/ptDcRaw.cpp, 8499): D65Mult[0]          : 1.371572
(../../Sources/ptDcRaw.cpp, 8500): D65Mult[1]          : 1.234942
(../../Sources/ptDcRaw.cpp, 8501): D65Mult[2]          : 0.859508
(../../Sources/ptDcRaw.cpp, 8502): D65Mult[3]          : 0.983369
(../../Sources/ptDcRaw.cpp, 8508): RawWidth            : 2144
(../../Sources/ptDcRaw.cpp, 8509): RawHeight           : 1560
(../../Sources/ptDcRaw.cpp, 8510): TopMargin           : 8
(../../Sources/ptDcRaw.cpp, 8511): LeftMargin          : 4
(../../Sources/ptDcRaw.cpp, 8512): BlackLevel          : 0
(../../Sources/ptDcRaw.cpp, 8523): OutWidth            : 2088
(../../Sources/ptDcRaw.cpp, 8524): Width               : 2088
(../../Sources/ptDcRaw.cpp, 8530): US_CameraWB         : 1
(../../Sources/ptDcRaw.cpp, 8531): US_CameraMatr       : -1
(../../Sources/ptDcRaw.cpp, 8532): CameraMatrix        : 1
(../../Sources/ptDcRaw.cpp, 8533): m_cmatrix[0][0      : 0.000000
(../../Sources/ptDcRaw.cpp, 8554): CameraMake          : Canon
(../../Sources/ptDcRaw.cpp, 8555): CameraModel         : PowerShot G1
(../../Sources/ptDcRaw.cpp, 8556): InputFile           : C:/tmp/CRW_0001.CRW
(../../Sources/ptDcRaw.cpp, 8557): Filters             : b4b4b4b4
(../../Sources/ptDcRaw.cpp, 8558): Flip                : 0
(../../Sources/ptDcRaw.cpp, 8599): m_Width             : 2088
(../../Sources/ptDcRaw.cpp, 8600): m_Height            : 1550
(../../Sources/ptDcRaw.cpp, 8601): m_ReportedWidth     : 2088
(../../Sources/ptDcRaw.cpp, 8602): m_ReportedHeight    : 1550
(../../Sources/ptDcRaw.cpp, 8604): PreMult[0]          : 1.000000
(../../Sources/ptDcRaw.cpp, 8605): PreMult[1]          : 1.000000
(../../Sources/ptDcRaw.cpp, 8606): PreMult[2]          : 1.000000
(../../Sources/ptDcRaw.cpp, 8607): PreMult[3]          : 0.000000
(../../Sources/ptDcRaw.cpp, 8612): D65Mult[0]          : 1.371572
(../../Sources/ptDcRaw.cpp, 8613): D65Mult[1]          : 1.234942
(../../Sources/ptDcRaw.cpp, 8614): D65Mult[2]          : 0.859508
(../../Sources/ptDcRaw.cpp, 8615): D65Mult[3]          : 0.983369
(../../Sources/ptDcRaw.cpp, 8620): Colors              : 4
(../../Sources/ptDcRaw.cpp, 8621): Filters             : b4b4b4b4
(../../Sources/ptDcRaw.cpp, 8622): Flip                : 0
(../../Sources/ptProcessor.cpp,  260): ImageW              : 2088
(../../Sources/ptProcessor.cpp,  261): ImageH              : 1550
Progress : Reading exif info
(../../Sources/ptProcessor.cpp,  271): Opened RAW at 1187 ms.
Progress : Demosaicing
(../../Sources/ptDcRaw.cpp, 8689): Shrink              : 1
(../../Sources/ptDcRaw.cpp, 8691): BlackLevel          : 28
(../../Sources/ptDcRaw.cpp, 8692): WhiteLevel          : 1023
(../../Sources/ptDcRaw.cpp, 8693): Colors              : 4
(../../Sources/ptDcRaw.cpp, 8695): Phase2 begin Width  : 2088
(../../Sources/ptDcRaw.cpp, 8696): Phase2 begin Height : 1550
(../../Sources/ptDcRaw.cpp, 8697): Phase2 begin OutWidth: 2088
(../../Sources/ptDcRaw.cpp, 8698): Phase2 begin OutHeight: 1550
(../../Sources/ptDcRaw.cpp, 3936): Setting PreMultipliers due to CameraWB: 
(../../Sources/ptDcRaw.cpp, 3965): PreMult[0]          : 0.003121
(../../Sources/ptDcRaw.cpp, 3966): PreMult[1]          : 0.004342
(../../Sources/ptDcRaw.cpp, 3967): PreMult[2]          : 0.004201
(../../Sources/ptDcRaw.cpp, 3968): PreMult[3]          : 0.005902
(../../Sources/ptDcRaw.cpp, 3987): dmax                : 0.005902
(../../Sources/ptDcRaw.cpp, 3988): dmin                : 0.003121
(../../Sources/ptDcRaw.cpp, 3989): m_MinPreMulti       : 0.528872
(../../Sources/ptDcRaw.cpp, 3990): PreMult[0]          : 0.528872
(../../Sources/ptDcRaw.cpp, 3991): PreMult[1]          : 0.735685
(../../Sources/ptDcRaw.cpp, 3992): PreMult[2]          : 0.711735
(../../Sources/ptDcRaw.cpp, 3993): PreMult[3]          : 1.000000
(../../Sources/ptDcRaw.cpp, 3998): Mult[0]             : 34.833824
(../../Sources/ptDcRaw.cpp, 3999): Mult[1]             : 48.553005
(../../Sources/ptDcRaw.cpp, 4000): Mult[2]             : 46.972385
(../../Sources/ptDcRaw.cpp, 4001): Mult[3]             : 65.864319
(../../Sources/ptDcRaw.cpp, 4007): Scaling colors      : 
(../../Sources/ptDcRaw.cpp, 8747): Colors              : 4
(../../Sources/ptDcRaw.cpp, 4239): pre_interpolate     : 
(../../Sources/ptDcRaw.cpp, 8770): Colors              : 4
(../../Sources/ptDcRaw.cpp, 8816): Interpolation type  : 5
(../../Sources/ptDcRaw.cpp, 8901): BlackLevel          : 28
(../../Sources/ptDcRaw.cpp, 8902): WhiteLevel          : 1023
(../../Sources/ptDcRaw.cpp, 8903): Colors              : 3
(../../Sources/ptDcRaw.cpp, 8904): Filters             : 0
(../../Sources/ptDcRaw.cpp, 8906): Phase2 end Width    : 522
(../../Sources/ptDcRaw.cpp, 8907): Phase2 end Height   : 387
(../../Sources/ptDcRaw.cpp, 8908): Phase2 end OutWidth : 522
(../../Sources/ptDcRaw.cpp, 8909): Phase2 end OutHeight: 387
(../../Sources/ptProcessor.cpp,  281): Done Color Scaling and Interpolation at 
1422 ms.
Progress : Recovering highlights
(../../Sources/ptDcRaw.cpp, 8937): CamMult[0]          : 987.000000
(../../Sources/ptDcRaw.cpp, 8938): CamMult[1]          : 1255.000000
(../../Sources/ptDcRaw.cpp, 8939): CamMult[2]          : 751.000000
(../../Sources/ptDcRaw.cpp, 8940): CamMult[3]          : 1242.000000
(../../Sources/ptDcRaw.cpp, 4037): ClipMode            : 4
(../../Sources/ptDcRaw.cpp, 4038): ClipParameter       : 0
(../../Sources/ptDcRaw.cpp, 4040): m_Multi[0]          : 34.833824
(../../Sources/ptDcRaw.cpp, 4041): m_Multi[1]          : 48.553005
(../../Sources/ptDcRaw.cpp, 4042): m_Multi[2]          : 46.972385
(../../Sources/ptDcRaw.cpp, 4043): m_Multi[3]          : 65.864319
(../../Sources/ptDcRaw.cpp, 4049): m_MinPreMulti       : 0.528872
(../../Sources/ptProcessor.cpp,  290): Done Highlights at 1453 ms.
(../../Sources/ptProcessor.cpp,  316): Found adobe profile : 
C:/Programme/Photivo/Profiles/Camera/Standard/Canon_PowerShot_G1.icc
(../../Sources/ptProcessor.cpp,  317): Found profile at 1453 ms.
(../../Sources/ptSettings.cpp, 1503): EOSExposureNorm     : 1.000000
(../../Sources/ptSettings.cpp, 1509): ExposureNorm(EV)    : 0.919008
(../../Sources/ptProcessor.cpp,  376): Done m_Image_AfterDcRaw transfer to GUI 
at 1687 ms.
(../../Sources/ptProcessor.cpp, 2326): RotateW             : 2088
(../../Sources/ptProcessor.cpp, 2327): RotateH             : 1548
(../../Sources/ptProcessor.cpp, 2373): CropW               : 2088
(../../Sources/ptProcessor.cpp, 2374): CropH               : 1548
Progress : Color Intensity
Progress : Correcting Exposure
(../../Sources/ptProcessor.cpp,  474): ExposureFactor      : 1.890815
Progress : Texture contrast 1
(../../Sources/ptProcessor.cpp,  695): Done conversion to LAB at 1906 ms.
(../../Sources/ptProcessor.cpp,  704): Done texture contrast 1 at 2343 ms.
Progress : Texture contrast 2
(../../Sources/ptProcessor.cpp,  725): Done texture contrast 2 at 2734 ms.
Progress : Wiener Filter
QObject::killTimers: timers cannot be stopped from another thread

Original issue reported on code.google.com by szalips...@googlemail.com on 7 Oct 2012 at 10:12

GoogleCodeExporter commented 9 years ago
Works for me with all the Wiener filters Photivo has. Could you try running 
ptClear to clear your settings and try again?

Original comment by brother.john.gm@googlemail.com on 12 Oct 2012 at 9:39

GoogleCodeExporter commented 9 years ago
Same with me.

Original comment by m...@mm-log.com on 13 Oct 2012 at 11:20

GoogleCodeExporter commented 9 years ago
Now I tried it, but it didn't help :(

Original comment by gabor.sz...@gmail.com on 14 Oct 2012 at 2:50

GoogleCodeExporter commented 9 years ago
Breaking news - strange things happen...
The problem vanished by itself after some time on my netbook. I upgraded 
Photivo - it's back. Cleared the settings, of course, it did not help. Removed, 
reinstalled, no change. Installed the older version, it works again.

My other machines were/are affected too. An only slightly better machine at my 
workplace crashed and resolved much like my netbook - now even the current 
version runs without problems. On my main computer only the most recent version 
has been installed - it crashes, no relief so far.

Strange....

"Progress : Wiener Filter
QObject::killTimers: timers cannot be stopped from another thread"

Maybe the underlying bug causes a crash only in certain timing situations. Even 
my main computer is a little slow by today's standards, maybe this is why the 
crash occurs for me but not for most people.

Original comment by szalips...@googlemail.com on 2 Jan 2013 at 9:44

GoogleCodeExporter commented 9 years ago
Issue 104 has been merged into this issue.

Original comment by brother.john.gm@googlemail.com on 5 Jan 2013 at 9:52

GoogleCodeExporter commented 9 years ago
Issue 105 has been merged into this issue.

Original comment by brother.john.gm@googlemail.com on 5 Jan 2013 at 9:53

GoogleCodeExporter commented 9 years ago
Issue 108 has been merged into this issue.

Original comment by brother.john.gm@googlemail.com on 5 Jan 2013 at 9:53

GoogleCodeExporter commented 9 years ago
The merged issues concerned the same bug. Let’s continue here only to not 
scatter all the information too much.

I’ve managed to reproduce the problem in a VM with a fresh Win XP Home 32bit 
SP3 installation. There the Photivo built with the older toolchain
https://code.google.com/p/photivo/downloads/detail?name=photivo-2012-12-27-win32
.zip
works. Please try if it helps on your system, too. If it does not even load try 
running ptClear to reset Photivo’s settings. Sometimes that helps.

I’ve tried a couple of things to get to the bottom of this problem but still 
don’t know what exactly causes the crash. A debug-enabled build unfortunately 
does not crash at all. I’ll update this issue as soon as have any news.

Original comment by brother.john.gm@googlemail.com on 5 Jan 2013 at 10:03

GoogleCodeExporter commented 9 years ago
The call to fftw_plan_dft_2d() in ptWiener.cpp line 129 seems to be the cause 
of the problem. The crash goes away when OpenMP is disabled for this file.

FOR EVERYONE AFFECTED I have another probable workaround:
First install the regular 2012-12-27 Win32 version, then replace its 
photivo.exe with the one from this archive:
https://code.google.com/p/photivo/downloads/detail?name=photivo_exe_xpbugfix.zip
It disables multithreading for the Wiener filter, so it will be slower. But at 
least on my test system it fixes the crash.

Original comment by brother.john.gm@googlemail.com on 6 Jan 2013 at 2:11

GoogleCodeExporter commented 9 years ago
The described and once already fixed problem is back in version 2013-12-09 rev 
855e46f0c06a!

Original comment by szalips...@googlemail.com on 16 Dec 2013 at 11:24