Blender crash with cycles rendered viewport shading when changing settings of material with external jpg texture
Open, ConfirmedPublic

Description

System Information
Windows 10x64 Home Ru Version 1607 Build 14393.639 + latest autoupdates
NVIDIA GeForce GTX 970 with 378.66 NVIDIA drivers (latest)

Blender Version
Broken:
Nightly 2.78 6b9d73e x64
2.78c e92f235283 x64, x32
2.78b 3c04373 x64
2.78a e8299c8 x64
2.77a abf6f08 x64
2.76b 337fea x64
2.70a f93bc76 x64
2.61 r42615

Worked:
Not found

Short description of error
Blender crashes when cycles rendered viewport shading is on and any settings of material with external jpg texture are changing

Exact steps for others to reproduce the error

  • Turn viewport shading to "Rendered"
  • Start to change any material options (move roughness left-right or mute/unmute texture node e.t.c.)
  • Blender crashes (sometimes in few seconds, sometimes in one-two minutes, sometimes immediately after switch shading)


Archive with blend file and textures (original and scaled down):

Additional info
Blender crashes:

  • With CPU and GPU rendering
  • With opengl32.dll placed in blender folder
  • With scaled down to 256x256 version of same texture (in archive)
  • Without latest windows updates (i turns autoupdates on after this bug appears)
  • With previous version (361.43) of videocard drivers
  • Blender 2.61 always crashes immediately after switch shading
  • Blender 2.61 crashes with any textures - jpg, png and packed

Blender is NOT crashes:

  • With other jpg textures (it looks like original jpg file is broken, but any resaved version of it also crashes blender)
  • With this texture saved in PNG format with original size (2000x2000)
  • With same texture packed into .blend file (with "Pack as PNG" option "on" and "off")
  • Blender 2.61 works fine if material has no any texture nodes at all

Details

Type
Bug

Also blender is not crashes:

  • on F12 render
  • with same jpg saved without EXIF

There is no crash log file in my tmp directory. Should I turn on any specific option or start blender with some command line parameters?
This is my blender temp directory prefs:


Windows environment vars:

Temp directory is empty:


Also file search on my disk C: and D: found nothing.

And again there is no any automatically created fie.
This is console output written to file:

I'll leave it to expert from now on. However, looking at your specification above, getting this message is interesting.

I0306 19:23:31.171677 5604 opencl_util.cpp:741] Enumerating devices for platform NVIDIA CUDA.
I0306 19:23:31.171677 5604 opencl_util.cpp:812] Ignoring device GeForce GTX 970, not officially supported yet.
I0306 19:23:31.172178 5604 util_system.cpp:77] Detected 1 CPU groups.
Error: EXCEPTION_ACCESS_VIOLATION

Blender 2.70a (f93bc76) also don't write info file, but it crashed with standard system error message, and windows write it's own crash report.
Windows report from c:\Users\All users\Microsoft\Windows\WER\ReportQueue\AppCrash_blender.exe:

Sergey Sharybin (sergey) triaged this task as "Confirmed" priority.Wed, Mar 8, 3:36 PM

Can reproduce the issue. @LazyDodo (LazyDodo) is looking in details of the crash. From quick investigation seems a bug in OIIO.

@LazyDodo (LazyDodo), feel free to bounds this back on me.

This is indeed an OIIO bug, which is now reported to upstream: https://github.com/OpenImageIO/oiio/issues/1635

At the meantime, you can just strip EXIF header from your texture to workaround the crash.

Stealing the report back to me so i can keep track of it.

Just a quick update. The issue was fixed in b91db51 of upstream OIIO.

There are few more fixes we are waiting to happen in upstream. Once those are in we can look into possibly branching OIIO for Blender 2.79 (if OIIO release doesn't happen any time soon) or check on updating OIIO update.