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 <[email protected]> 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 <[email protected]> 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 <
> [email protected]>:
>
>> 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 <[email protected]> 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 <[email protected]>
>>> 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
>>> [email protected]
>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>
>>>
>>> --
>>> Larry Gritz
>>> [email protected]
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Oiio-dev mailing list
>>> [email protected]
>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>
>> _______________________________________________
>> Oiio-dev mailing list
>> [email protected]
>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>
> _______________________________________________
> Oiio-dev mailing list
> [email protected]
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>
>
> --
> Larry Gritz
> [email protected]
>
>
>
>
> _______________________________________________
> Oiio-dev mailing list
> [email protected]
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>
_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to