MLVFS - a FUSE based, "on the fly" MLV to CDNG converter

Started by dmilligan, August 31, 2014, 02:01:24 AM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

mothaibaphoto

Am I the first one who really tried?
Dokany installed. I see mounter.exe process launched from Dokany install dir.
Here is my attempts to launch mlvfs:

Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:\Users\VOLD>D:\_soft\4\MLVFS\MLVFS_x86\mlvfs.exe
MLVFS: no mlv path specified


MLVFS options:
    --mlv-dir=%s
    --port=%s
    --resolve-naming
    --cs2x2
    --cs3x3
    --cs5x5
    --bad-pix
    --really-bad-pix
    --stripes
    --dual-iso-preview
    --dual-iso
    --amaze-edge
    --mean23
    --no-alias-map
    --alias-map
    --prefetch=%d
    --fps=%f
    --deflicker=%d
    --fix-pattern-noise
    --version


C:\Users\VOLD>D:\_soft\4\MLVFS\MLVFS_x86\mlvfs.exe Z:\MLVFS --mlv-dir=Z:\out

C:\Users\VOLD>D:\_soft\4\MLVFS\MLVFS_x86\mlvfs.exe Z:\MLVFS
MLVFS: no mlv path specified


MLVFS options:
    --mlv-dir=%s
    --port=%s
    --resolve-naming
    --cs2x2
    --cs3x3
    --cs5x5
    --bad-pix
    --really-bad-p --dual-iso-preview
    --dual-iso
    --amaze-edge
    --mean23
    --no-alias-map
    --alias-map
    --prefetch=%d
    --fps=%f
    --deflicker=%d
    --fix-pattern-noise
    --version


C:\Users\VOLD>D:\_soft\4\MLVFS\MLVFS_x86\mlvfs.exe Z:\MLVFS --mlv-dir=Z:\out

C:\Users\VOLD>

If I try to start the exe with all requered params it just exits silently:(


mothaibaphoto

@surami: It makes me wonder, why, but I tried with no difference. Did you get it working this way? If no, please, don't advice just guessing.

surami

@mothaibaphoto: Sorry, I just guessed. I can't get it working till now, let's wait for a pro...
550D + nightly ML

g3gg0

mlvfs <mount point> --mlv_dir=<directory with MLV files>
for windows there is only the possibility to mount as drive, so the path must be a drive letter

e.g.
mlvfs x: --mlv-dir=d:\raw
to mount on X:


edit:
clarified my post, didnt see that you've tried to mount into a dir.
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

mothaibaphoto

Great, it works!!! Thanks to g3gg0, MLVFS for us, windowsers just around the corner !!!
Issues:
1. I can browse with explorer, but Bridge prompts that there is no free space on disc. If enter to folder with Bridge anyway, mlvfs.exe crashes:
Problem signature:
  Problem Event Name: APPCRASH
  Application Name: mlvfs.exe
  Application Version: 0.0.0.0
  Application Timestamp: 56b6ad0b
  Fault Module Name: VCRUNTIME140.dll
  Fault Module Version: 14.0.23026.0
  Fault Module Timestamp: 558ce3d9
  Exception Code: c0000005
  Exception Offset: 0000d960
  OS Version: 6.3.9600.2.0.0.256.4
  Locale ID: 1049
  Additional Information 1: 5861
  Additional Information 2: 5861822e1919d7c014bbb064c64908b2
  Additional Information 3: a10f
  Additional Information 4: a10ff7d2bb2516fdc753f9c34fc3b069

And Resolve crashes mlvfs.exe too, without promps.

2. If I try to open http://localhost:8000/ I get messages in cmd window with started mlvfs:
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:\Users\VOLD>D:\_soft\4\MLVFS\MLVFS_x86\mlvfs.exe X: --mlv-dir=Z:\out
webgui: scanning Z:\out/...
load_resource: fopen error
webgui: scanning Z:\out/favicon.ico...
load_resource: fopen error
webgui: scanning Z:\out/favicon.ico...
load_resource: fopen error

Page in browser stays empty.
I tried AE too: it imports and renders without problems...

bouncyball

For windows version Web based GUI works but strangely all fields in "Configuration Options" are empty or not checked. If you try to check any radio button the "Configuration Options" table looses it's last three lines (e.g. "Interpolation" and below, same in firefox, internet explorer and microsoft edge). Refreshing page gives all blank fields again. MLV files info is working, previews are working as well.

So the paratemets can not be changed from the web I guess. Did not try from CLI switches though.

Thanx for the great solution for ml raw editing :)
bb

g3gg0

@mothaibaphoto:
i am using it on a folder with a dozen of faulty, old, new and weird MLVs without any crash or (unexpected) error.
but i am only using the windows explorer and picture viewer.

can you nail it down to either a specific MLV file that causes trouble or the tool that raises that errors?
maybe its a combination of two things, idk

you can add the option -d to mlvfs to show a debug log, please post/upload one when it's crashing.
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

mothaibaphoto

It's a fresh and correct MLVs shot with last MKIII build, non-crop mode, nothing special. Windows explorer and even Adobe AE works flawlessly for me too. Here is what happens with Bridge:
        Attributes: 0 (0x0)
        Options: 96 (0x60)
CreateFile status = 0 - lastError = 2
###GetFileInfo 13838
GetFileInfo : \M05-1619.MLV\M05-1619_000005.dng
        result =  0
        FileStandardInformation
###Read 13838
ReadFile : \M05-1619.MLV\M05-1619_000005.dng from 4210688 len 2048
###Cleanup 13838
Cleanup: \M05-1619.MLV\M05-1619_000005.dng

###Close 13838
Close: \M05-1619.MLV\M05-1619_000005.dng

###Read 13834
ReadFile : \M05-1619.MLV\M05-1619_000005.dng from 65536 len 1040384
###Read 13834
ReadFile : \M05-1619.MLV\M05-1619_000005.dng from 1105920 len 1040384
###Read 13834
ReadFile : \M05-1619.MLV\M05-1619_000005.dng from 2146304 len 1040384
###Read 13834
ReadFile : \M05-1619.MLV\M05-1619_000005.dng from 3186688 len 1026048
###Create 13839
CreateFile : \M05-1619.MLV\M05-1619_000005.dng
        DesiredAccess: FILE_READ_ATTRIBUTES
        ShareAccess: FILE_SHARE_DELETE|FILE_SHARE_WRITE|FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 0 (0x0)
        Options: 2097152 (0x200000)
CreateFile status = 0 - lastError = 18
###GetFileInfo 13839
GetFileInfo : \M05-1619.MLV\M05-1619_000005.dng
        result =  0
        FileBasicInformation
###Cleanup 13839
Cleanup: \M05-1619.MLV\M05-1619_000005.dng

###Close 13839
Close: \M05-1619.MLV\M05-1619_000005.dng

###Create 13840
CreateFile : \M05-1619.MLV\M05-1619_000005.dng
        DesiredAccess: FILE_READ_ATTRIBUTES
        ShareAccess: FILE_SHARE_DELETE|FILE_SHARE_WRITE|FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 0 (0x0)
        Options: 2097152 (0x200000)
CreateFile status = 0 - lastError = 3
###GetFileInfo 13840
GetFileInfo : \M05-1619.MLV\M05-1619_000005.dng
        result =  0
        FileNetworkOpenInformation
###Cleanup 13840
Cleanup: \M05-1619.MLV\M05-1619_000005.dng

###Close 13840
Close: \M05-1619.MLV\M05-1619_000005.dng

###Create 13841
CreateFile : \M05-1619.MLV\M05-1619_000005.xmp
        DesiredAccess: FILE_READ_ATTRIBUTES
        ShareAccess: FILE_SHARE_DELETE|FILE_SHARE_WRITE|FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 0 (0x0)
        Options: 2097152 (0x200000)
CreateFile status = 1073741772 - lastError = 3
###GetFileInfo 13841
GetFileInfo : \M05-1619.MLV\M05-1619_000005.xmp
        result =  3221225524
###Cleanup 13841
Cleanup: \M05-1619.MLV\M05-1619_000005.xmp

###Close 13841
Close: \M05-1619.MLV\M05-1619_000005.xmp

###Create 13842
CreateFile : \M05-1619.MLV\M05-1619_000005.dng
        DesiredAccess: FILE_READ_ATTRIBUTES
        ShareAccess: FILE_SHARE_DELETE|FILE_SHARE_WRITE|FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 0 (0x0)
        Options: 2097152 (0x200000)
CreateFile status = 0 - lastError = 3
###GetFileInfo 13842
GetFileInfo : \M05-1619.MLV\M05-1619_000005.dng
        result =  0
        FileBasicInformation
###Cleanup 13842
Cleanup: \M05-1619.MLV\M05-1619_000005.dng

###Close 13842
Close: \M05-1619.MLV\M05-1619_000005.dng

###Create 13843
CreateFile : \M05-1619.MLV\M05-1619_000005.dng
        DesiredAccess: FILE_READ_ATTRIBUTES
        ShareAccess: FILE_SHARE_DELETE|FILE_SHARE_WRITE|FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 0 (0x0)
        Options: 2097152 (0x200000)
CreateFile status = 0 - lastError = 2
###GetFileInfo 13843
GetFileInfo : \M05-1619.MLV\M05-1619_000005.dng
        result =  0
        FileBasicInformation
###Cleanup 13843
Cleanup: \M05-1619.MLV\M05-1619_000005.dng

###Close 13843
Close: \M05-1619.MLV\M05-1619_000005.dng

###Create 13844
CreateFile : \
        DesiredAccess: SYNCHRONIZE|FILE_READ_ATTRIBUTES|FILE_READ_DATA
        ShareAccess: FILE_SHARE_DELETE|FILE_SHARE_WRITE|FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 0 (0x0)
        Options: 32 (0x20)
CreateFile status = 0 - lastError = 0
###GetFileInfo 13844
GetFileInfo : \
        result =  0
  unknown type:55
###FindFiles 13844
FindFiles :\
index from 0
FileMatch? : . (M05-1619.MLV,0,0)
FileMatch? : .. (M05-1619.MLV,0,0)
FileMatch? : M05-1617.MLV (M05-1619.MLV,0,0)
FileMatch? : M05-1619.MLV (M05-1619.MLV,0,0)
  =>return single entry
index to 1
###Cleanup 13844
Cleanup: \

###Close 13844
Close: \

###Create 13845
CreateFile : \M05-1619.MLV
        DesiredAccess: SYNCHRONIZE|FILE_READ_ATTRIBUTES|FILE_READ_DATA
        ShareAccess: FILE_SHARE_DELETE|FILE_SHARE_WRITE|FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 0 (0x0)
        Options: 32 (0x20)
CreateFile status = 0 - lastError = 2
###GetFileInfo 13845
GetFileInfo : \M05-1619.MLV
        result =  0
  unknown type:55
###FindFiles 13845
FindFiles :\M05-1619.MLV
index from 0
FileMatch? : . (M05-1619_000006.dng,0,0)
FileMatch? : .. (M05-1619_000006.dng,0,0)
FileMatch? : M05-1619.wav (M05-1619_000006.dng,0,0)
FileMatch? : M05-1619.log (M05-1619_000006.dng,0,0)
FileMatch? : M05-1619_000000.dng (M05-1619_000006.dng,0,0)
FileMatch? : M05-1619_000001.dng (M05-1619_000006.dng,0,0)
FileMatch? : M05-1619_000002.dng (M05-1619_000006.dng,0,0)
FileMatch? : M05-1619_000003.dng (M05-1619_000006.dng,0,0)
FileMatch? : M05-1619_000004.dng (M05-1619_000006.dng,0,0)
FileMatch? : M05-1619_000005.dng (M05-1619_000006.dng,0,0)
FileMatch? : M05-1619_000006.dng (M05-1619_000006.dng,0,0)
  =>return single entry
index to 1
###Cleanup 13845
Cleanup: \M05-1619.MLV

###Close 13845
Close: \M05-1619.MLV

###Create 13846
CreateFile : \
        DesiredAccess: SYNCHRONIZE|FILE_READ_ATTRIBUTES|FILE_READ_DATA
        ShareAccess: FILE_SHARE_DELETE|FILE_SHARE_WRITE|FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 0 (0x0)
        Options: 32 (0x20)
CreateFile status = 0 - lastError = 0
###GetFileInfo 13846
GetFileInfo : \
        result =  0
  unknown type:55
###FindFiles 13846
FindFiles :\
index from 0
FileMatch? : . (M05-1619.MLV,0,0)
FileMatch? : .. (M05-1619.MLV,0,0)
FileMatch? : M05-1617.MLV (M05-1619.MLV,0,0)
FileMatch? : M05-1619.MLV (M05-1619.MLV,0,0)
  =>return single entry
index to 1
###Cleanup 13846
Cleanup: \

###Close 13846
Close: \

###Create 13847
CreateFile : \M05-1619.MLV
        DesiredAccess: SYNCHRONIZE|FILE_READ_ATTRIBUTES|FILE_READ_DATA
        ShareAccess: FILE_SHARE_DELETE|FILE_SHARE_WRITE|FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 0 (0x0)
        Options: 32 (0x20)
CreateFile status = 0 - lastError = 2
###GetFileInfo 13847
GetFileInfo : \M05-1619.MLV
        result =  0
  unknown type:55
###FindFiles 13847
FindFiles :\M05-1619.MLV
build_index: fopen error: Too many open files
###Create 13848
CreateFile : \M05-1619.MLV\M05-1619_000005.dng
        DesiredAccess: FILE_READ_ATTRIBUTES
        ShareAccess: FILE_SHARE_DELETE|FILE_SHARE_WRITE|FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 0 (0x0)
        Options: 2097152 (0x200000)
CreateFile status = 0 - lastError = 3
###GetFileInfo 13848
GetFileInfo : \M05-1619.MLV\M05-1619_000005.dng
        result =  0
        FileBasicInformation
###Cleanup 13848
Cleanup: \M05-1619.MLV\M05-1619_000005.dng

###Create 13849
CreateFile : \M05-1619.MLV\M05-1619_000005.dng
###Close 13848
        DesiredAccess: Close: \M05-1619.MLV\M05-1619_000005.dng

FILE_READ_ATTRIBUTES
        ShareAccess: FILE_SHARE_DELETE|FILE_SHARE_WRITE|FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 0 (0x0)
        Options: 2097152 (0x200000)
CreateFile status = 0 - lastError = 18
###GetFileInfo 13849
GetFileInfo : \M05-1619.MLV\M05-1619_000005.dng
        result =  0
        FileNetworkOpenInformation
###Cleanup 13849
Cleanup: \M05-1619.MLV\M05-1619_000005.dng

###Create 13850
###Close 13849
CreateFile : \M05-1619.MLV\M05-1619_000005.xmp
Close: \M05-1619.MLV\M05-1619_000005.dng

        DesiredAccess: FILE_READ_ATTRIBUTES
        ShareAccess: FILE_SHARE_DELETE|FILE_SHARE_WRITE|FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 0 (0x0)
        Options: 2097152 (0x200000)
CreateFile status = 1073741772 - lastError = 3
###GetFileInfo 13850
GetFileInfo : \M05-1619.MLV\M05-1619_000005.xmp
        result =  3221225524
###Cleanup 13850
Cleanup: \M05-1619.MLV\M05-1619_000005.xmp

###Close 13850
Close: \M05-1619.MLV\M05-1619_000005.xmp

ReturnedLength 0
ReturnedLength 0
ReturnedLength 0
ReturnedLength 0
ReturnedLength 0
###Cleanup 13834
Cleanup: \M05-1619.MLV\M05-1619_000005.dng

ReturnedLength 0
ReturnedLength 0
Ioctl failed for wait with code 55.
Ioctl failed for wait with code 55.
Ioctl failed for wait with code 55.
Thread will be terminated
Ioctl failed for wait with code 55.
Thread will be terminated
Dokan Error: Ioctl failed with code 55
Ioctl failed for wait with code 55.
Thread will be terminated
Thread will be terminated
Thread will be terminated
Ioctl failed for wait with code 55.
ReturnedLength 0
Ioctl failed for wait with code 55.
Thread will be terminated
Thread will be terminated
Ioctl failed for wait with code 55.
Ioctl failed for wait with code 55.
Thread will be terminated
Thread will be terminated

C:\Users\VOLD>


And with Resolve:

FileMatch? : M05-1617_000572.dng (_PREVIEW.gif,0,0)
FileMatch? : M05-1617_000573.dng (_PREVIEW.gif,0,0)
FileMatch? : M05-1617_000574.dng (_PREVIEW.gif,0,0)
FileMatch? : M05-1617_000575.dng (_PREVIEW.gif,0,0)
FileMatch? : M05-1617_000576.dng (_PREVIEW.gif,0,0)
FileMatch? : M05-1617_000577.dng (_PREVIEW.gif,0,0)
FileMatch? : _PREVIEW.gif (_PREVIEW.gif,0,0)
  =>return single entry
index to 1
###Cleanup 0173
Cleanup: \M05-1617.MLV

###Close 0173
Close: \M05-1617.MLV

###Create 0174
CreateFile : \M05-1617.MLV
        DesiredAccess: SYNCHRONIZE|FILE_READ_DATA
        ShareAccess: FILE_SHARE_DELETE|FILE_SHARE_WRITE|FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 0 (0x0)
        Options: 33 (0x21)
CreateFile status = 0 - lastError = 2
###FindFiles 0174
FindFiles :\M05-1617.MLV
index from 0
FileMatch? : . (M05-1617_000000.dng,0,0)
FileMatch? : .. (M05-1617_000000.dng,0,0)
FileMatch? : M05-1617.wav (M05-1617_000000.dng,0,0)
FileMatch? : M05-1617.log (M05-1617_000000.dng,0,0)
FileMatch? : M05-1617_000000.dng (M05-1617_000000.dng,0,0)
  =>return single entry
index to 1
###Cleanup 0174
Cleanup: \M05-1617.MLV

###Close 0174
Close: \M05-1617.MLV

###Create 0175
CreateFile : \M05-1617.MLV\M05-1617_000000.dng
        DesiredAccess: FILE_GENERIC_READ
        ShareAccess: FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 128 (0x80)
        Options: 96 (0x60)
CreateFile status = 0 - lastError = 2
###Read 0175
ReadFile : \M05-1617.MLV\M05-1617_000000.dng from 0 len 4212736
###Cleanup 0175
Cleanup: \M05-1617.MLV\M05-1617_000000.dng

###Close 0175
###Create 0176
CreateFile : \M05-1617.MLV
        DesiredAccess: SYNCHRONIZE|FILE_READ_DATA
        ShareAccess: FILE_SHARE_DELETE|FILE_SHARE_WRITE|FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 0 (0x0)
        Options: 33 (0x21)
Close: \M05-1617.MLV\M05-1617_000000.dng

CreateFile status = 0 - lastError = 2
###FindFiles 0176
FindFiles :\M05-1617.MLV
index from 0
FileMatch? : . (M05-1617_000000.dng,0,0)
FileMatch? : .. (M05-1617_000000.dng,0,0)
FileMatch? : M05-1617.wav (M05-1617_000000.dng,0,0)
FileMatch? : M05-1617.log (M05-1617_000000.dng,0,0)
FileMatch? : M05-1617_000000.dng (M05-1617_000000.dng,0,0)
  =>return single entry
index to 1
###Cleanup 0176
Cleanup: \M05-1617.MLV

###Close 0176
Close: \M05-1617.MLV

###Create 0177
CreateFile : \M05-1617.MLV
        DesiredAccess: SYNCHRONIZE|FILE_READ_DATA
        ShareAccess: FILE_SHARE_DELETE|FILE_SHARE_WRITE|FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 0 (0x0)
        Options: 33 (0x21)
CreateFile status = 0 - lastError = 2
###FindFiles 0177
FindFiles :\M05-1617.MLV
index from 0
FileMatch? : . (M05-1617_000000.dng,0,0)
FileMatch? : .. (M05-1617_000000.dng,0,0)
FileMatch? : M05-1617.wav (M05-1617_000000.dng,0,0)
FileMatch? : M05-1617.log (M05-1617_000000.dng,0,0)
FileMatch? : M05-1617_000000.dng (M05-1617_000000.dng,0,0)
  =>return single entry
index to 1
###Cleanup 0177
Cleanup: \M05-1617.MLV

###Create 0178
CreateFile : \M05-1617.MLV\M05-1617_000000.dng
        DesiredAccess: FILE_GENERIC_READ
        ShareAccess: FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 128 (0x80)
        Options: 96 (0x60)
###Close 0177
Close: \M05-1617.MLV

CreateFile status = 0 - lastError = 2
###Read 0178
ReadFile : \M05-1617.MLV\M05-1617_000000.dng from 0 len 4212736
###Cleanup 0178
Cleanup: \M05-1617.MLV\M05-1617_000000.dng

###Close 0178
###Create 0179
CreateFile : \M05-1617.MLV
        DesiredAccess: SYNCHRONIZE|FILE_READ_DATA
        ShareAccess: FILE_SHARE_DELETE|FILE_SHARE_WRITE|FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 0 (0x0)
        Options: 33 (0x21)
Close: \M05-1617.MLV\M05-1617_000000.dng

CreateFile status = 0 - lastError = 2
###FindFiles 0179
FindFiles :\M05-1617.MLV
index from 0
FileMatch? : . (M05-1617_000000.dng,0,0)
FileMatch? : .. (M05-1617_000000.dng,0,0)
FileMatch? : M05-1617.wav (M05-1617_000000.dng,0,0)
FileMatch? : M05-1617.log (M05-1617_000000.dng,0,0)
FileMatch? : M05-1617_000000.dng (M05-1617_000000.dng,0,0)
  =>return single entry
index to 1
###Cleanup 0179
Cleanup: \M05-1617.MLV

###Close 0179
Close: \M05-1617.MLV

###Create 0180
CreateFile : \M05-1617.MLV\M05-1617.wav
        DesiredAccess: FILE_GENERIC_READ
        ShareAccess: FILE_SHARE_WRITE|FILE_SHARE_READ
        Disposition: FILE_OPEN (1)
        Attributes: 128 (0x80)
        Options: 96 (0x60)
CreateFile status = 0 - lastError = 0
###GetFileInfo 0180
GetFileInfo : \M05-1617.MLV\M05-1617.wav
        result =  0
        FileStandardInformation
###Read 0180
ReadFile : \M05-1617.MLV\M05-1617.wav from 0 len 4096
###Read 0180
ReadFile : \M05-1617.MLV\M05-1617.wav from 630 len 512

C:\Users\VOLD>

dmilligan

@bouncyball

What browser? IE? I noticed this too, there's something wrong with the jquery that reads the initial values, it still works to set the values of options though. The last three options are actually supposed to be hidden unless dual ISO is turned on, since they only apply to dual ISO.

Does it work with other browsers?

@g3gg0
I actually managed to mount into an empty directory (Win7 x86 VM)

@mothaibaphoto
You need to start MLVFS from the directory it's in (cd to mlvfs.exe dir before launching it) so it can find it's support files. That's why the webgui is blank.

mothaibaphoto

Quote from: dmilligan on February 07, 2016, 02:14:11 PM
@mothaibaphoto
You need to start MLVFS from the directory it's in (cd to mlvfs.exe dir before launching it) so it can find it's support files. That's why the webgui is blank.
I suspect I did something dumb :)
Ok, now webgui behaves exactly as @bouncyball described with Firefox and MSIE.
Command-line parameters seems works - I successfully tested --stripes on file with vertical stripes.
It's possible to open files one by one.
Attempt to select all files and copy to another disc - crashes mlvfs.exe, such as Bridge and Resolve.

g3gg0

@dmilligan:
repeated copying several times, worked properly for a while. selectively copying files is fine.

after maybe about 2k DNGs i got:
build_index: fopen error: Too many open files

so there is something troublesome indeed.
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

g3gg0

ok think i've found the reason.
it doesnt always close chunks. prepared a patch.
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

g3gg0

@dmilligan:
https://bitbucket.org/g3gg0/mlvfs/commits/48aa2f6f7434df7bdf05b33b33d1e6fe5621b8fb
https://bitbucket.org/g3gg0/mlvfs/commits/a6602a4b9cf649cfa58db3bc1db6e86946430e9c

those two address some issues that cause the mlvfs.exe to crash.
e.g. the .gif reading crashed in a reproducable manner when offsets were beyond end and debugging was enabled.
so i also sanitized parameters in .dng reading.

it also adds a lot of checks to malloc'ed areas to play safe.
i hope it will fix the reported problems.


still i am wondering how it will free allocated image buffers.
the memory footprint raises slowly but continuously when copying files.
memory is allocated via get_or_create_image_buffer and never free'd.
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

g3gg0

Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

g3gg0

Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

bouncyball

@dmilligan
the problem shows up in every browser: firefox, msie, chrome, microsoft edge.

dmilligan

@g3gg0

Image buffers should be getting marked when the file is closed and then disposed when new image buffers are needed. I recently changed some of this behavior so there may be some issues. All this code is rather convoluted b/c we try to be efficient as possible. For example if some program opens a file, reads part of it, closes it and then opens it again, we don't want to have to reprocess the frame, so we try to to be smart about keeping processed frames around for a bit after being closed. MLVFS was much simpler and efficient when we could just process the requested section of the file, but now we have processing options that need to process the whole frame at once (decompression, dual ISO, etc).

g3gg0

yeah, makes sense and fits to what ive seen.

proposal:
check if image buffers that are already allocated > x MiB and free the oldest ones to get < y MiB
every buffer has an age field (timestamp of the last access using time()? or some counter?)
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

mothaibaphoto

With last exe browsed some folders with Bridge(!!!), than run Resolve ... and get smiley bsod never seen before...

g3gg0

no troubles here with LR :(

but when stumbling through the code, i found another thing that can be troublesome.
can you redownload the mlvfs.exe from the last link and try if its better?
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

dmilligan

Quote from: g3gg0 on February 07, 2016, 06:34:27 PM
proposal:
check if image buffers that are already allocated > x MiB and free the oldest ones to get < y MiB
every buffer has an age field (timestamp of the last access using time()? or some counter?)
I've cleaned up and simplified that code quite a bit. Since its a linked list we just delete from the beginning of the list and add on to the end, so the oldest buffers are always at the beginning. Haven't verified that there aren't any leaks, so there could still be some, or leaks from other places.

Just curious, which version of dokany are you compiling against? I was using 0.8.0 and provided links for that version. Just want to make sure we're on the same page.

g3gg0

yeah it's the oldest one, but is it also the LRU one? hehe.

right, i am using 0.8.0
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

dmilligan

Yeah I know, but vast majority of the time programs access frame sequentially. I think KISS applies.

g3gg0

Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!