Yes, the latest night build. I added the whole ffmpeg binaries in the
shared folder,

or you can get just ffmpeg.zip here:
https://1drv.ms/u/s!AlUmbfQiLoTZhFkvGOhIjESNuCQH



Le jeu. 25 avr. 2019 à 17:17, till dechent <till.dech...@gmail.com> a
écrit :

> I tried running your project but I am missing avcodec-58.dll.
>
> That is probably coming from FFMpeg?
>
> Am Do., 25. Apr. 2019 um 14:44 Uhr schrieb Mathieu Prevot <
> mathieu.pre...@gmail.com>:
>
>> In the oiioTest project, there is no test framework, no specific c++
>> standard is specified (an noe was specified at oiio build).
>> I'm using v141 toolset in both (the default VS2017 toolset).
>> The truly minimal program fails too.
>> Can you use the source and script I provided to reproduce the memory
>> error ?
>>
>> M
>>
>>
>> Le mer. 24 avr. 2019 à 23:59, Larry Gritz <l...@larrygritz.com> a écrit :
>>
>>> That's interesting. Definitely makes me think it's some kind of mismatch
>>> between your module and OIIO, since the all-OIIO code (using oiiotool,
>>> which calls the same libOpenImageIO APIs underneath) seems fine.
>>>
>>> Are you sure that OIIO and your code was definitely built with the same
>>> compiler version? Same flags indicating the C++ standard to use or any
>>> other such things that may be relevant for MSVS?
>>>
>>> What I would recommend next is trying to find the *minimal*
>>> separately-compiled program that exhibits the problem. Eliminate your
>>> testing framework and all other cruft. Would the following truly minimal
>>> program also fail?
>>>
>>> #include <OpenImageIO/imageio.h>
>>> int main (int argc, char *argv[]);
>>> {
>>>     const char* filename =
>>> "C:\sensomovie\C200\A011C118_19041345_CANON\A011C118_19041345_CANON_00000001.DPX"
>>>     auto in = ImageInput::open(filename);
>>>     if (in) {
>>>         printf ("Opened successfully\n");
>>>         printf ("Opened successfully, format is %s\n",
>>> in->format_name());
>>>     } else {
>>>         printf ("Fail\n");
>>>         return 1;
>>>     }
>>>     return 0;
>>> }
>>>
>>>
>>> On Apr 24, 2019, at 2:27 PM, Mathieu Prevot <mathieu.pre...@gmail.com>
>>> wrote:
>>>
>>> No, it only crashes when I use the API in release, I use the API in
>>> debug it works too. The output:
>>>
>>> .\oiiotool.exe -info -v
>>> C:\sensomovie\C200\A011C118_19041345_CANON\A011C118_19041345_CANON_00000001.
>>> DPX
>>> Reading
>>> C:\sensomovie\C200\A011C118_19041345_CANON\A011C118_19041345_CANON_00000001.DPX
>>> C:\sensomovie\C200\A011C118_19041345_CANON\A011C118_19041345_CANON_00000001.DPX
>>> : 4096 x 2160, 3 channel, uint10 dpx
>>>     channel list: R, G, B
>>>     DateTime: "2019:04:13 16:14:30"
>>>     Orientation: 1 (normal)
>>>     PixelAspectRatio: 1
>>>     Software: "CANON"
>>>     dpx:Colorimetric: "Unspecified video"
>>>     dpx:DittoKey: 1
>>>     dpx:EndOfImagePadding: 0
>>>     dpx:EndOfLinePadding: 0
>>>     dpx:FramePosition: 1
>>>     dpx:FrameRate: 59.9401
>>>     dpx:HeldCount: 1
>>>     dpx:ImageDescriptor: "RGB"
>>>     dpx:InputDeviceSerialNumber: "373449900026"
>>>     dpx:Interlace: 0
>>>     dpx:Packing: "Filled, method A"
>>>     dpx:SequenceLength: 2931
>>>     dpx:ShutterAngle: 0
>>>     dpx:SourceDateTime: "2019:04:13 16:14:30"
>>>     dpx:SourceImageFileName: "A011C118_19041345_CANON.CRM"
>>>     dpx:TemporalFrameRate: 59.9401
>>>     dpx:TimeCode: "00:42:11;23"
>>>     dpx:Transfer: "Unspecified video"
>>>     dpx:UserBits: 0
>>>     dpx:UserData: 67, 65, 78, 79, 78, 95, 82, 65, 87, 95, 68, 69, 86,
>>> 69, 76, 79, ... [63488 x uint8]
>>>     dpx:Version: "V2.0"
>>>     oiio:BitsPerSample: 10
>>>     smpte:TimeCode: 00:42:11:23
>>>
>>> Mathieu
>>>
>>> Le mer. 24 avr. 2019 à 23:24, Larry Gritz <l...@larrygritz.com> a écrit :
>>>
>>>> Matthieu, can you confirm:
>>>>
>>>> * Does `oiiotool -info -v yourfile.dpx` also crash (with the same
>>>> filename as you used before, of course)? Or does it only crash when the
>>>> OIIO API calls are made from your program?
>>>>
>>>>
>>>>
>>>> On Apr 24, 2019, at 1:51 PM, Mathieu Prevot <mathieu.pre...@gmail.com>
>>>> wrote:
>>>>
>>>> Hello. Many thanks Till for your previous posts and proposition.
>>>>
>>>> I'm curious to know if the problems can be reproduced.
>>>> Here are the binaries of oiio, openexr and few dependencies, as well as
>>>> their source and the powershell script I use to configure/build/install
>>>> those libraries.
>>>> There is also the oiioTest project which I use to open the DPX 10bits
>>>> image.
>>>> The debug and release configuration are those I used to far. The debug
>>>> should work and the release should trigger the memory exception, at least
>>>> certainly when you ask to inline whenever possible.
>>>> I'm using boost 1.70, the available for download binaries. Everything
>>>> in x64.
>>>>
>>>> https://1drv.ms/f/s!AlUmbfQiLoTZhFUTthzeUkWoB3rc
>>>>
>>>> I built the libraries with the v141 toolset (the latest that comes with
>>>> VS2017; it also comes with VS2019).
>>>> I built the oiioTest with v142 as well as  v141, and I observed the
>>>> same result in both cases.
>>>> I'll do them again to be certain.
>>>> I'll try Larry's patches to get to know more, and then post here again.
>>>>
>>>> I'll also try Till's binaries, but I can tell already that those
>>>> binaries are missing:
>>>> RAW_R.DLL (?)
>>>> BOOST_FILESYSTEM-VC141-MT-X64-1_66.DLL (no problem to get those boost
>>>> libraries)
>>>> BOOST_THREAD-VC141-MT-X64-1_66.DLL
>>>> LZMA.DLL (?)
>>>> Maybe a script would be easier to use than binaries.
>>>>
>>>> M
>>>>
>>>>
>>>> Le mer. 24 avr. 2019 à 20:30, till dechent <till.dech...@gmail.com> a
>>>> écrit :
>>>>
>>>>> My guess would be that VS2019 being the problem is unlikely since
>>>>> Mathieu also tried with the vs141 toolset.
>>>>>
>>>>> To narrow things down between a compile issue and a code issue you
>>>>> could grab my binaries and see if your code works with them:
>>>>> https://github.com/ttddee/oiio-msvc2017
>>>>>
>>>>> Or maybe try a build without the command line and go straight from
>>>>> CMake to Visual Studio to compile from there.
>>>>>
>>>>> I have a Windows machine here so if you need me to try anything, happy
>>>>> to help!
>>>>>
>>>>>
>>>>>
>>>>> Am Mi., 24. Apr. 2019 um 18:41 Uhr schrieb Larry Gritz <
>>>>> l...@larrygritz.com>:
>>>>>
>>>>>> I'm sorry to ask you to be my debugging robot, but since I can't seem
>>>>>> to reproduce on my end...
>>>>>>
>>>>>>
>>>>>> So let's try another thing. At the call site,
>>>>>>
>>>>>>     std::cout << "reading (float) file: " << filename << "\n";
>>>>>>     string filename2 = filename;
>>>>>>     std::cout << "filename2 addr = " << (void*)&filename2 <<
>>>>>> std::endl;
>>>>>>     std::cout << "filename2 len = " << filename2.size() << std::endl;
>>>>>>     std::cout << "filename2 = '" << filename2 << "'\n";
>>>>>>     auto in = ImageInput::open(filename2);
>>>>>>
>>>>>> And inside get_rest_arguments:
>>>>>>
>>>>>> bool
>>>>>> Strutil::get_rest_arguments(const std::string& str, std::string& base,
>>>>>>                             std::map<std::string, std::string>&
>>>>>> result)
>>>>>> {
>>>>>>     std::cout << "str addr = " << (void*)&str << std::endl;
>>>>>>     std::cout << "str len " << str.size() << std::endl;
>>>>>>     std::cout << "str chars = '" << str << "'" << std::endl;
>>>>>>     std::string::size_type mark_pos = str.find_first_of("?");
>>>>>>     std::cout << "result of find_first_of is " << mark_pos <<
>>>>>> std::endl;
>>>>>>     ... rest of function as before ...
>>>>>>
>>>>>> So I'm just trying to establish that we're really getting a reference
>>>>>> to the same string we thing we were passing, and also whether any access 
>>>>>> to
>>>>>> str (including the length) is problematic, or just accessing the 
>>>>>> characters.
>>>>>>
>>>>>>
>>>>>> Now, I have one other hypothesis in the back of my mind. You said you
>>>>>> were using VS2019. I know that people have been using 2015 and 2017, but
>>>>>> I'm wondering if 2019 is the issue here. In particular, is there any 
>>>>>> chance
>>>>>> that VS2019 has changed the representation of std::string (akin to how 
>>>>>> gcc
>>>>>> changed its std::string representation in the ~gcc5 time frame)? And
>>>>>> perhaps is it possible that OIIO's dll itself was compiled with one 
>>>>>> string
>>>>>> representation but your program (separate compilation unit) used an
>>>>>> incompatible one, so that you are passing what you think is a reference 
>>>>>> to
>>>>>> a std::string but the OIIO code it's calling has a different idea of the
>>>>>> internal layout of a std::string?
>>>>>>
>>>>>> Or is there any other way that the caller and callee (which are in
>>>>>> different compilation units and different dlls) might have a different 
>>>>>> idea
>>>>>> of what a std::string means?
>>>>>>
>>>>>> Ring any bells for anyone?
>>>>>>
>>>>>>
>>>>>> On Apr 24, 2019, at 1:22 AM, Mathieu Prevot <mathieu.pre...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>> Yes, there might be something wrong in my locales, `str` could not be
>>>>>> read ( "error reading characters of string" , in my previous post) and
>>>>>> `filename` was undefined.
>>>>>> However, that's not necessarily the problem, the memory is allocated
>>>>>> and I have the same size as in debug (79 characters).
>>>>>> Before ImageInput::open, I print filename to stdout, and I see a
>>>>>> correct result.
>>>>>>
>>>>>>     cout << "reading (float) file: " << filename;
>>>>>>     auto in = ImageInput::open(filename);
>>>>>>
>>>>>> The right way to be able to read filename is to make a local copy;
>>>>>> also I make certain that I got the correct type (string), even though
>>>>>> string has a default constructor from const char.
>>>>>>
>>>>>>     cout << "reading (float) file: " << filename;
>>>>>>     string filename2 = filename;
>>>>>>     auto in = ImageInput::open(filename2);
>>>>>>
>>>>>> It might be related to the character set, but I don't think since it
>>>>>> did not change from debug to release.
>>>>>>
>>>>>> https://stackoverflow.com/questions/9349342/about-the-character-set-option-in-visual-studio
>>>>>>
>>>>>> In order to acertain this, I did set the character set to "not set"
>>>>>> and tried also "unicode", but I stil got the same memory error.
>>>>>> Here the compile command with "not set" ( /D "_UNICODE" /D "UNICODE"
>>>>>> are removed):
>>>>>>
>>>>>> /permissive- /Yu"pch.h" /GS /GL /W3 /Gy /Zc:wchar_t
>>>>>> /I"c:\lib\tiff\include" /I"c:\lib\openexr\include" 
>>>>>> /I"c:\lib\oiio\include"
>>>>>> /Zi /Gm- /O2 /sdl /Fd"x64\Release\vc142.pdb" /Zc:inline /fp:precise /D
>>>>>> "NDEBUG" /D "_CONSOLE" /errorReport:prompt /WX- /Zc:forScope /Gd /Oi /MD
>>>>>> /std:c++17 /FC /Fa"x64\Release\" /EHsc /nologo /Fo"x64\Release\"
>>>>>> /Fp"x64\Release\oiioTest.pch" /diagnostics:classic
>>>>>>
>>>>>> `auto` was `const char*`, therefore did not change a thing.
>>>>>>
>>>>>> With the new lines you suggested, the memory error happens at the
>>>>>> first str usage, ie., str.size().
>>>>>>
>>>>>>   std::cout << "str len " << str.size() << " = '" << str << "'" <<
>>>>>> std::endl; // memory error here
>>>>>>   std::string::size_type mark_pos = str.find_first_of("?");
>>>>>>   std::cout << "result of find_first_of is " << mark_pos << std::endl;
>>>>>>
>>>>>> I tried the local copy with:
>>>>>>
>>>>>>     std::string str2 = str; // memory error here
>>>>>>     std::string::size_type mark_pos2 = str2.find_first_of("?");
>>>>>>     std::string::size_type mark_pos = str.find_first_of("?");
>>>>>>
>>>>>> The memory error happens at the str2 affectation; str has size 79
>>>>>> (expected), and cannot be read, str2 has size 0, allocated 0.
>>>>>>
>>>>>> Not sure where to go next.
>>>>>> Mathieu
>>>>>>
>>>>>>
>>>>>> Le mer. 24 avr. 2019 à 08:26, Larry Gritz <l...@larrygritz.com> a
>>>>>> écrit :
>>>>>>
>>>>>>> Do you know what your "locale" is? Anything unusual?
>>>>>>>
>>>>>>> I'm also wondering about the /D "_UNICODE" /D "UNICODE"
>>>>>>> What happens if you don't do that?
>>>>>>>
>>>>>>> Your line,
>>>>>>>
>>>>>>>   auto path =
>>>>>>> "C:/sensomovie/C200/A011C118_19041345_CANON/A011C118_19041345_CANON_00001926.DPX";
>>>>>>>
>>>>>>>
>>>>>>> I wonder if you instead used
>>>>>>>
>>>>>>>     const char* path =
>>>>>>> "C:/sensomovie/C200/A011C118_19041345_CANON/A011C118_19041345_CANON_00001926.DPX";
>>>>>>>
>>>>>>> if that changes anything?
>>>>>>>
>>>>>>> The other idea I had is in get_rest_arguments
>>>>>>> (src/libutil/strutil.cpp), could you instrument it like this just to see
>>>>>>> what happens:
>>>>>>>
>>>>>>> bool
>>>>>>> Strutil::get_rest_arguments(const std::string& str, std::string&
>>>>>>> base,
>>>>>>>                             std::map<std::string, std::string>&
>>>>>>> result)
>>>>>>> {
>>>>>>>     std::cout << "str len " << str.size() << " = '" << str << "'" <<
>>>>>>> std::endl;
>>>>>>>     std::string::size_type mark_pos = str.find_first_of("?");
>>>>>>>     std::cout << "result of find_first_of is " << mark_pos <<
>>>>>>> std::endl;
>>>>>>>     ... rest of function as before ...
>>>>>>>
>>>>>>> and see if there is anything interesting printed immediately prior
>>>>>>> to the crash?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Apr 23, 2019, at 2:53 PM, Mathieu Prevot <
>>>>>>> mathieu.pre...@gmail.com> wrote:
>>>>>>>
>>>>>>> I use a debug oiio, and release project; in that case I managed to
>>>>>>> get a call stack.
>>>>>>>
>>>>>>> `str` in `bool Strutil::get_rest_arguments(const std::string& str,
>>>>>>> std::string& base, std::map<std::string, std::string>& result)`
>>>>>>> has a problem ("error reading characters of string").
>>>>>>>
>>>>>>>
>>>>>>> OpenImageIO.dll!OpenImageIO_v2_1::Strutil::get_rest_arguments(const
>>>>>>> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & 
>>>>>>> str,
>>>>>>> std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
>>>>>>> base,
>>>>>>> std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>>>>>>> >,std::basic_string<char,std::char_traits<char>,std::allocator<char>
>>>>>>> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>>>>>>> >
>>>>>>> >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>>>>>>> > const 
>>>>>>> > ,std::basic_string<char,std::char_traits<char>,std::allocator<char>
>>>>>>> > > > > & result) Line 270    C++
>>>>>>>
>>>>>>>      OpenImageIO.dll!OpenImageIO_v2_1::ImageInput::create(const
>>>>>>> std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
>>>>>>> filename, bool do_open, const OpenImageIO_v2_1::ImageSpec * config,
>>>>>>> OpenImageIO_v2_1::string_view plugin_searchpath) Line 512    C++
>>>>>>>
>>>>>>>      OpenImageIO.dll!OpenImageIO_v2_1::ImageInput::open(const
>>>>>>> std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
>>>>>>> filename, const OpenImageIO_v2_1::ImageSpec * config) Line 106    C++
>>>>>>> >    oiioTest.exe!DPXio::ReadFloat(char *) Line 31    C++
>>>>>>>
>>>>>>> Here my function:
>>>>>>>
>>>>>>> auto DPXio::ReadFloat(const char* filename) -> SparseArray<float>*
>>>>>>> {
>>>>>>>     auto in = ImageInput::open(filename);
>>>>>>>     if (!in) return nullptr;
>>>>>>>
>>>>>>>     auto spec = in->spec();
>>>>>>>     DPXfloat.SetSize(spec);
>>>>>>>     in->read_image(TypeDesc::FLOAT, DPXfloat.Values);
>>>>>>>     in->close();
>>>>>>>
>>>>>>>     return &DPXfloat;
>>>>>>> }
>>>>>>>
>>>>>>> and it is called this way:
>>>>>>>
>>>>>>>     auto sut = new DPXio();
>>>>>>>     auto path =
>>>>>>> "C:/sensomovie/C200/A011C118_19041345_CANON/A011C118_19041345_CANON_00001926.DPX";
>>>>>>>     //auto path =
>>>>>>> "C:/sensomovie/C200/A014C203_190414BL_CANON_16bits/A014C203_190414BL_CANON_00001331.DPX";
>>>>>>>
>>>>>>>     std::cout << (FileExist(path) ? "File OK: " : "No such file: ")
>>>>>>> << path << "." << endl;
>>>>>>>
>>>>>>>     auto result = sut->ReadFloat(path);
>>>>>>>     if (result == nullptr)
>>>>>>>         cout << "null result" << endl;
>>>>>>>     else
>>>>>>>     {
>>>>>>>         cout << "colors: " << result->Colors << endl;
>>>>>>>         cout << "width: " << result->Width << endl;
>>>>>>>         cout << "height: " << result->Height << endl;
>>>>>>>     }
>>>>>>>
>>>>>>> The compilation arguments (I'm using VS2019 enterprise, toolset
>>>>>>> Visual Studio 2019 (v142), but I have the same with v141):
>>>>>>>
>>>>>>> /permissive- /Yu"pch.h" /GS /GL /W3 /Gy /Zc:wchar_t
>>>>>>> /I"c:\lib\tiff\include" /I"c:\lib\openexr\include" 
>>>>>>> /I"c:\lib\oiio\include"
>>>>>>> /Zi /Gm- /O2 /sdl /Fd"x64\Release\vc142.pdb" /Zc:inline /fp:precise /D
>>>>>>> "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /errorReport:prompt 
>>>>>>> /WX-
>>>>>>> /Zc:forScope /Gd /Oi /MD /FC /Fa"x64\Release\" /EHsc /nologo
>>>>>>> /Fo"x64\Release\" /Fp"x64\Release\oiioTest.pch" /diagnostics:classic
>>>>>>>
>>>>>>> M
>>>>>>>
>>>>>>>
>>>>>>> Le mar. 23 avr. 2019 à 23:39, till dechent <till.dech...@gmail.com>
>>>>>>> a écrit :
>>>>>>>
>>>>>>>> Yes I built version 2.0.6 as a release (x64) and it worked. I also
>>>>>>>> tried the DPX you provided and all was good.
>>>>>>>>
>>>>>>>> Am Di., 23. Apr. 2019 um 21:44 Uhr schrieb Mathieu Prevot <
>>>>>>>> mathieu.pre...@gmail.com>:
>>>>>>>>
>>>>>>>>> Please, can those who could open images with
>>>>>>>>> `ImageInput::open(filename)`
>>>>>>>>> tell if it was a release or debug build (of their own binary, not
>>>>>>>>> oiio's) ? If it was a debug, can you test with a release build ?
>>>>>>>>>
>>>>>>>>> Many thanks
>>>>>>>>> M
>>>>>>>>>
>>>>>>>>> Le lun. 22 avr. 2019 à 16:35, Mathieu Prevot <
>>>>>>>>> mathieu.pre...@gmail.com> a écrit :
>>>>>>>>>
>>>>>>>>>> Tested with boost 1.68 and 1.70, both are OK with oiio debug, and
>>>>>>>>>> opening the DPX file works correctly in that configuration.
>>>>>>>>>> Only when I build and use oiio *release*, it fails (with both
>>>>>>>>>> boost versions).
>>>>>>>>>>
>>>>>>>>>> I'm not sure where to go to continue the investigation.
>>>>>>>>>>
>>>>>>>>>> For repro, my build script; which needs to be run in the
>>>>>>>>>> ooio-master folder as is. msbuild needs to be in $path.
>>>>>>>>>>
>>>>>>>>>> $target = "Visual Studio 15 2017 Win64"
>>>>>>>>>>
>>>>>>>>>> function configure {
>>>>>>>>>>     I:\IntelSWTools\compilers_and_libraries_2019.3.203
>>>>>>>>>> \windows\tbb\bin\tbbvars.bat intel64 vs2017
>>>>>>>>>>     cmake.exe -G $target -T v141, host=x64 -j16 `
>>>>>>>>>>         -DCMAKE_PREFIX_PATH=
>>>>>>>>>> "I:/lib/tiff;I:\lib\boost-1.70;I:/lib/zlib;I:/lib/libpng;I:/lib/openexr;I:/lib/libjpegturbo"
>>>>>>>>>> `
>>>>>>>>>>         -DTBB_ROOT_DIR=
>>>>>>>>>> "I:/IntelSWTools/compilers_and_libraries/windows/tbb" `
>>>>>>>>>>         -DCMAKE_INSTALL_PREFIX="I:/lib/oiio-release" `
>>>>>>>>>>         -DJPEGTURBO_PATH="i:/lib/libjpegturbo" `
>>>>>>>>>>         -DUSE_QT=0 -DOIIO_BUILD_TESTS=1 -DUSE_PYTHON=0 `
>>>>>>>>>>         -DPYTHON_EXECUTABLE="I:/intelpython2/python.exe" `
>>>>>>>>>>         ..
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> function build {
>>>>>>>>>>     #"build oiio debug"
>>>>>>>>>>     #MSBuild.exe OpenImageIO.sln /verbosity:m /m
>>>>>>>>>>     "build oiio release"
>>>>>>>>>>     MSBuild.exe OpenImageIO.sln /p:Configuration=Release /verbosity:m
>>>>>>>>>> /m
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> function install {
>>>>>>>>>>     #"install oiio debug"
>>>>>>>>>>     #MSBuild.exe INSTALL.vcxproj /verbosity:m /m
>>>>>>>>>>     "install oiio release"
>>>>>>>>>>     MSBuild.exe INSTALL.vcxproj /p:Configuration=Release /verbosity:m
>>>>>>>>>> /m
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> function clean {
>>>>>>>>>>     if (test-path build) {
>>>>>>>>>>         remove-item -recurse -force build
>>>>>>>>>>     }
>>>>>>>>>>     New-Item -ItemType Directory build
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> clean
>>>>>>>>>> Set-Location build
>>>>>>>>>> configure
>>>>>>>>>> build
>>>>>>>>>> install
>>>>>>>>>> Set-Location ..
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Regards
>>>>>>>>>> M
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Le sam. 20 avr. 2019 à 19:10, Larry Gritz <l...@larrygritz.com> a
>>>>>>>>>> écrit :
>>>>>>>>>>
>>>>>>>>>>> I'm not sure what else I can do unless I either have a case I
>>>>>>>>>>> can reproduce on my end, or a more full stack trace or at least 
>>>>>>>>>>> indication
>>>>>>>>>>> of what specific line in the OIIO is where the exception is thrown 
>>>>>>>>>>> (just
>>>>>>>>>>> knowing precisely where the crash happens may be enough do diagnose 
>>>>>>>>>>> or
>>>>>>>>>>> defensively program around).
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Apr 19, 2019, at 2:11 AM, till dechent <
>>>>>>>>>>> till.dech...@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>> ImageInput::open() works for me with the downloaded DPX on
>>>>>>>>>>> version 2.0.6.
>>>>>>>>>>>
>>>>>>>>>>> Am Do., 18. Apr. 2019 um 18:41 Uhr schrieb Stephen Blair <
>>>>>>>>>>> step...@solidangle.com>:
>>>>>>>>>>>
>>>>>>>>>>>> It doesn't crash on Windows for me, but that's
>>>>>>>>>>>> with OpenImageIO-Arnold 2.1.0dev
>>>>>>>>>>>>
>>>>>>>>>>>> On Thu, Apr 18, 2019 at 1:07 PM Larry Gritz <l...@larrygritz.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi, thanks. I'm able to open that DPX file on my end (not on
>>>>>>>>>>>>> Windows), so I don't think it's a corrupt file.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Can you build all of OIIO in Debug mode (not Release) and use
>>>>>>>>>>>>> the debugger to find out what file and line is where the actual 
>>>>>>>>>>>>> crash is
>>>>>>>>>>>>> occurring? The screenshot you provided only shows where in your 
>>>>>>>>>>>>> unit test
>>>>>>>>>>>>> it was, so the actual crash could be practically anywhere inside 
>>>>>>>>>>>>> what
>>>>>>>>>>>>> happens within the open() call.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'm sorry I'm not easily able to help, I don't have access to
>>>>>>>>>>>>> a Windows machine.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Can somebody else out there who uses OIIO on Windows please do
>>>>>>>>>>>>> us a favor and download this DPX file in the links below, then 
>>>>>>>>>>>>> try anything
>>>>>>>>>>>>> that forces an open (e.g., 'iinfo -v -stats blah.dpx') and report 
>>>>>>>>>>>>> what
>>>>>>>>>>>>> happens? Does this crash for everybody? If anyone can reproduce, 
>>>>>>>>>>>>> do you
>>>>>>>>>>>>> have any ideas or can you get closer to finding what line within 
>>>>>>>>>>>>> the OIIO
>>>>>>>>>>>>> code is the source of the problem?
>>>>>>>>>>>>>
>>>>>>>>>>>>> -- lg
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Apr 18, 2019, at 1:16 AM, Mathieu Prevot <
>>>>>>>>>>>>> mathieu.pre...@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Following the documentation "4.1 Image Input Made Simple";
>>>>>>>>>>>>> I'm having an exception at opening a dpx file and tiff file
>>>>>>>>>>>>> from simple code:
>>>>>>>>>>>>>
>>>>>>>>>>>>>     auto in = ImageInput::open(filename); // here
>>>>>>>>>>>>>     if (!in) return;
>>>>>>>>>>>>>
>>>>>>>>>>>>> Exception thrown at 0x00007FFDBEBDA388 in testhost.exe:
>>>>>>>>>>>>> Microsoft C++ exception:
>>>>>>>>>>>>> Microsoft::VisualStudio::CppUnitTestFramework::CSEException
>>>>>>>>>>>>>
>>>>>>>>>>>>> More detailed information:
>>>>>>>>>>>>> https://1drv.ms/u/s!AlUmbfQiLoTZhFQir--TvMglJ0iT
>>>>>>>>>>>>>
>>>>>>>>>>>>> Images:
>>>>>>>>>>>>> https://1drv.ms/f/s!AlUmbfQiLoTZhFKpXHJcchpi0hBY
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'm using the master version of oiio in windows with tiff
>>>>>>>>>>>>> 4.0.10, openexr 2.3.0, zlib 1.2.11, libpng 1.6.35, boost 1.70, 
>>>>>>>>>>>>> libjpegturbo
>>>>>>>>>>>>> 2.0.3, tbb 2019.3; cmake 3.13.4, VS2017.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'm running this in a c++ unit test, (with some c code since
>>>>>>>>>>>>> data will be used in an interop context).
>>>>>>>>>>>>>
>>>>>>>>>>>>> TEST_CLASS(DPXioTests)
>>>>>>>>>>>>>     {
>>>>>>>>>>>>>     public:
>>>>>>>>>>>>>         TEST_METHOD(Instance)
>>>>>>>>>>>>>         {
>>>>>>>>>>>>>             auto sut = new DPXio();
>>>>>>>>>>>>>             Assert::IsNotNull(sut);
>>>>>>>>>>>>>         }
>>>>>>>>>>>>>
>>>>>>>>>>>>>         TEST_METHOD(ReadDPX)
>>>>>>>>>>>>>         {
>>>>>>>>>>>>>             auto sut = new DPXio();
>>>>>>>>>>>>>             auto path =
>>>>>>>>>>>>> "C:/sensomovie/C200/A011C118_19041345_CANON/A011C118_19041345_CANON_00001926.DPX";
>>>>>>>>>>>>>             if(!FileExist(path))
>>>>>>>>>>>>>             {
>>>>>>>>>>>>>                 wstringstream s;
>>>>>>>>>>>>>                 s << "No such file: " << path << ".";
>>>>>>>>>>>>>                 Logger::WriteMessage(s.str().c_str());
>>>>>>>>>>>>>                 return;
>>>>>>>>>>>>>             }
>>>>>>>>>>>>>             try
>>>>>>>>>>>>>             {
>>>>>>>>>>>>>                 auto result = sut->Read(path);
>>>>>>>>>>>>>                 Assert::IsNotNull(result);
>>>>>>>>>>>>>                 Assert::IsTrue(result->Colors >= 3);
>>>>>>>>>>>>>                 Assert::IsTrue(result->Height == 2160);
>>>>>>>>>>>>>                 Assert::IsTrue(result->Width == 4096);
>>>>>>>>>>>>>             }
>>>>>>>>>>>>>             catch (Exception& e)
>>>>>>>>>>>>>             {
>>>>>>>>>>>>>                 auto lastErrorID = GetLastError();
>>>>>>>>>>>>>                 if (lastErrorID != 0)
>>>>>>>>>>>>>                 {
>>>>>>>>>>>>>                     LPVOID errorBuffer{};
>>>>>>>>>>>>>
>>>>>>>>>>>>> FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | 
>>>>>>>>>>>>> FORMAT_MESSAGE_FROM_SYSTEM |
>>>>>>>>>>>>> FORMAT_MESSAGE_IGNORE_INSERTS,
>>>>>>>>>>>>>                         nullptr, lastErrorID,
>>>>>>>>>>>>> MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&errorBuffer, 
>>>>>>>>>>>>> 0,
>>>>>>>>>>>>> nullptr);
>>>>>>>>>>>>>                     wstringstream s;
>>>>>>>>>>>>>                     s << "Exception: " << e.what() << ". ID:
>>>>>>>>>>>>> "<< lastErrorID << ". Message: " <<  errorBuffer<< ".";
>>>>>>>>>>>>>                     Logger::WriteMessage(s.str().c_str());
>>>>>>>>>>>>>                 }
>>>>>>>>>>>>>                 else
>>>>>>>>>>>>>                 {
>>>>>>>>>>>>>                     wstringstream s;
>>>>>>>>>>>>>                     s << "Exception: " << e.what();
>>>>>>>>>>>>>                     Logger::WriteMessage(s.str().c_str());
>>>>>>>>>>>>>                 }
>>>>>>>>>>>>>             }
>>>>>>>>>>>>>         }
>>>>>>>>>>>>>     };
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Mathieu
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> Oiio-dev mailing list
>>>>>>>>>>>>> Oiio-dev@lists.openimageio.org
>>>>>>>>>>>>>
>>>>>>>>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Larry Gritz
>>>>>>>>>>>>> l...@larrygritz.com
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> Oiio-dev mailing list
>>>>>>>>>>>>> Oiio-dev@lists.openimageio.org
>>>>>>>>>>>>>
>>>>>>>>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Oiio-dev mailing list
>>>>>>>>>>>> Oiio-dev@lists.openimageio.org
>>>>>>>>>>>>
>>>>>>>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Oiio-dev mailing list
>>>>>>>>>>> Oiio-dev@lists.openimageio.org
>>>>>>>>>>>
>>>>>>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Larry Gritz
>>>>>>>>>>> l...@larrygritz.com
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Oiio-dev mailing list
>>>>>>>>>>> Oiio-dev@lists.openimageio.org
>>>>>>>>>>>
>>>>>>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>> Oiio-dev mailing list
>>>>>>>>> Oiio-dev@lists.openimageio.org
>>>>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Oiio-dev mailing list
>>>>>>>> Oiio-dev@lists.openimageio.org
>>>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Oiio-dev mailing list
>>>>>>> Oiio-dev@lists.openimageio.org
>>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Larry Gritz
>>>>>>> l...@larrygritz.com
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Oiio-dev mailing list
>>>>>>> Oiio-dev@lists.openimageio.org
>>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>>>>>
>>>>>> _______________________________________________
>>>>>> Oiio-dev mailing list
>>>>>> Oiio-dev@lists.openimageio.org
>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Larry Gritz
>>>>>> l...@larrygritz.com
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Oiio-dev mailing list
>>>>>> Oiio-dev@lists.openimageio.org
>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>>>>
>>>>> _______________________________________________
>>>>> Oiio-dev mailing list
>>>>> Oiio-dev@lists.openimageio.org
>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>>>
>>>> _______________________________________________
>>>> Oiio-dev mailing list
>>>> Oiio-dev@lists.openimageio.org
>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>>
>>>>
>>>> --
>>>> Larry Gritz
>>>> l...@larrygritz.com
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Oiio-dev mailing list
>>>> Oiio-dev@lists.openimageio.org
>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>>
>>> _______________________________________________
>>> Oiio-dev mailing list
>>> Oiio-dev@lists.openimageio.org
>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>
>>>
>>> --
>>> Larry Gritz
>>> l...@larrygritz.com
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Oiio-dev mailing list
>>> Oiio-dev@lists.openimageio.org
>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>
>> _______________________________________________
>> Oiio-dev mailing list
>> Oiio-dev@lists.openimageio.org
>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>
> _______________________________________________
> Oiio-dev mailing list
> Oiio-dev@lists.openimageio.org
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>
_______________________________________________
Oiio-dev mailing list
Oiio-dev@lists.openimageio.org
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to