Regression: Immediate Blender Crash in 4.0 when updating image data blocks during playback #109168

Closed
opened 2023-06-20 19:21:39 +02:00 by Julieta Riley · 27 comments

System Information
Operating system: Windows-10-10.0.19044-SP0 64 Bits
Graphics card: NVIDIA GeForce GTX 1070/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 535.98

Blender Version
Broken: version: 4.0.0 Alpha, branch: main, commit date: 2023-06-17 23:39, hash: 0b71a1f054c1
Caused by 65fc10bd33

Short description of error
Immediate crash when updating image data blocks from frame change handler & frame change handler is no longer visited after stopping playback (as it was in 3.6)

Exact steps for others to reproduce the error

IMPORTANT - The crash only happens if not debugging, so ensure Blender is launched from the exe directly, not from vs code etc

The addon has been reduced as much as possible from 8000 lines of code to a few hundred. The addon is doing the following:

  • frame change handler mutes render layer nodes
  • if playback and not scrubbing, handler calls scene_helpers.update_rendered_image_paths(scene.name) which loads the EXR for the current frame into the image node, then calls render.render to force the play head to wait until the compositor has finished processing ( render layer node muted to ensure 3d viewport not rendered (just compositor))
  • after playback muted nodes are unmuted (this doesn't appear to work in 4.0, is this a separate bug or an intentional handler change?)

test1

  1. download zip file https://www.dropbox.com/s/demp7a7it3h77jz/blend%20file%20and%20test%20addon.zip?dl=1
  2. unzip
  3. open blender 3.6
  4. install the addon (make sure no other addons are installed that use frame change handlers)
  5. open the included blend file titled 'testrel blender 3.6.blend'
  6. go to the compositor and ensure use nodes and backdrop are enabled.
  7. press play
  8. the image will update each frame and be shown in the compositor backdrop.

test 2

  1. Open Blender 4.0
  2. install the addon again
  3. open the blend file titled 'testrel blender 4.0.blend'
  4. go to the compositor
  5. press play
  6. will crash usually immediately but sometimes after several iterations of the timeline.
**System Information** Operating system: Windows-10-10.0.19044-SP0 64 Bits Graphics card: NVIDIA GeForce GTX 1070/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 535.98 **Blender Version** Broken: version: 4.0.0 Alpha, branch: main, commit date: 2023-06-17 23:39, hash: `0b71a1f054c1` Caused by 65fc10bd33fbe19a8beb2b7319b1b0bbdc52f1cb **Short description of error** Immediate crash when updating image data blocks from frame change handler & frame change handler is no longer visited after stopping playback (as it was in 3.6) **Exact steps for others to reproduce the error** **IMPORTANT - The crash only happens if not debugging, so ensure Blender is launched from the exe directly, not from vs code etc** The addon has been reduced as much as possible from 8000 lines of code to a few hundred. The addon is doing the following: - frame change handler mutes render layer nodes - if playback and not scrubbing, handler calls scene_helpers.update_rendered_image_paths(scene.name) which loads the EXR for the current frame into the image node, then calls render.render to force the play head to wait until the compositor has finished processing ( render layer node muted to ensure 3d viewport not rendered (just compositor)) - after playback muted nodes are unmuted (this doesn't appear to work in 4.0, is this a separate bug or an intentional handler change?) ### test1 1. download zip file https://www.dropbox.com/s/demp7a7it3h77jz/blend%20file%20and%20test%20addon.zip?dl=1 2. unzip 3. open blender 3.6 4. install the addon (make sure no other addons are installed that use frame change handlers) 5. open the included blend file titled 'testrel blender 3.6.blend' 6. go to the compositor and ensure use nodes and backdrop are enabled. 7. press play 8. the image will update each frame and be shown in the compositor backdrop. ### test 2 1. Open Blender 4.0 2. install the addon again 3. open the blend file titled 'testrel blender 4.0.blend' 4. go to the compositor 5. press play 6. will crash usually immediately but sometimes after several iterations of the timeline.
Julieta Riley added the
Type
Report
Status
Needs Triage
Priority
Normal
labels 2023-06-20 19:21:39 +02:00
Member

Related frame change handler bugs: #109127

Related frame change handler bugs: #109127
Member

Unable to repro a crash on linux in 4.0 hash c78ea4cefc

after playback muted nodes are unmuted (this doesn't appear to work in 4.0, is this a separate bug or an intentional handler change?)

Unable to repro this in 4.0 either, do you mean the Render Layer node is supposed to be unmuted after playback stopped?
(this does not appear to be working in 3.6 either).

then calls render.render to force the play head to wait until the compositor has finished processing ( render layer node muted to ensure 3d viewport not rendered (just compositor))

Could 16d329da28 help here in any way?

Unable to repro a crash on linux in 4.0 hash c78ea4cefcd3 >after playback muted nodes are unmuted (this doesn't appear to work in 4.0, is this a separate bug or an intentional handler change?) Unable to repro this in 4.0 either, do you mean the Render Layer node is supposed to be unmuted after playback stopped? (this does not appear to be working in 3.6 either). >then calls render.render to force the play head to wait until the compositor has finished processing ( render layer node muted to ensure 3d viewport not rendered (just compositor)) Could 16d329da284c20e9dcfc0a60dcfc9b6e213ad3e0 help here in any way?
Author

@lichtwerk just tried todays 4.0 build. It didn't crash immediately, but after leaving it to run for 30 seconds and stopping and starting playback a few times it did crash again, and then afterwards every time I opened Blender and tried again, it then crashed immediately each time. Perhaps windows related?

logs attached.

I don't think 16d329da28 will help, because in our case render.render is being used to force the playhead to not move to the next frame until the compositor has finished processing. Without doing that the playhead will move to the next frame with the backdrop only partially drawn.

For us the frame change handler is definitely being revisited when the playhead stops, and therefore able to unmute the render layer node. Video attached of 3.6 and below behaviour, render layer node is initially un-muted, then after pressing play it's muted, then when stopping playback it's once again un-muted by line 60 in handlers.py

@lichtwerk just tried todays 4.0 build. It didn't crash immediately, but after leaving it to run for 30 seconds and stopping and starting playback a few times it did crash again, and then afterwards every time I opened Blender and tried again, it then crashed immediately each time. Perhaps windows related? logs attached. I don't think 16d329da28 will help, because in our case render.render is being used to force the playhead to not move to the next frame until the compositor has finished processing. Without doing that the playhead will move to the next frame with the backdrop only partially drawn. For us the frame change handler is definitely being revisited when the playhead stops, and therefore able to unmute the render layer node. Video attached of 3.6 and below behaviour, render layer node is initially un-muted, then after pressing play it's muted, then when stopping playback it's once again un-muted by line 60 in handlers.py
Member

Checked 3.6 again, muted nodes dont get unmuted there for me.

Revisited 4.0 again as well, what I can say (without further checking yet) is that I indeed get a freeze if I

  • install the addon
  • open the file
  • playback (the Render Layers node get muted)
  • stop playback (the render Layer node remains muted)
  • mute the node by hand
  • playback
  • freeze
Checked 3.6 again, muted nodes dont get unmuted there for me. Revisited 4.0 again as well, what I can say (without further checking yet) is that I indeed get a freeze if I - install the addon - open the file - playback (the Render Layers node get muted) - stop playback (the render Layer node remains muted) - mute the node by hand - playback - freeze

I can not reproduce on macOS, neither in release nor debug+ASAN modes. Don't currently have access to Windows machine, maybe someone around the bug tracker can try testing it there? =

@Julieta-Riley You mentioned running Blender from outside of VS Code is crucial. Am I right that you have a Blender development environment? If so, maybe you can try building RelWithDebInfo configuration, run it, when it crashes make a dump, and open the dump with WinDbg to get a meaningful backtrace?

I can not reproduce on macOS, neither in release nor debug+ASAN modes. Don't currently have access to Windows machine, maybe someone around the bug tracker can try testing it there? = @Julieta-Riley You mentioned running Blender from outside of VS Code is crucial. Am I right that you have a Blender development environment? If so, maybe you can try building `RelWithDebInfo` configuration, run it, when it crashes make a dump, and open the dump with WinDbg to get a meaningful backtrace?
Author

@lichtwerk I've just retried in 3.6 starting in factory mode then re-enabled the addon, and the handler is still being hit one final time and successfully unmuting the render layer node when playback stops. Really strange that it's not happening for you. Possibly OS related? Although that would be strange because we have a few thousand users and non have reported this issue in 3.6 and below.

After you get the freeze, if you then force blender to close, and re-start/re-open the file and press play, do you then get an immediate crash the same as us?

@lichtwerk I've just retried in 3.6 starting in factory mode then re-enabled the addon, and the handler is still being hit one final time and successfully unmuting the render layer node when playback stops. Really strange that it's not happening for you. Possibly OS related? Although that would be strange because we have a few thousand users and non have reported this issue in 3.6 and below. After you get the freeze, if you then force blender to close, and re-start/re-open the file and press play, do you then get an immediate crash the same as us?
Author

@Sergey We're just using Jacques Lucke's VS code extension to allow us to debug the python addons. We're not set up for Blender development.

@Sergey We're just using Jacques Lucke's VS code extension to allow us to debug the python addons. We're not set up for Blender development.
Author

@Sergey we can try though if someone can provide us a link to step by step instructions to do what you've said?

@Sergey we can try though if someone can provide us a link to step by step instructions to do what you've said?

Can confirm, will bisect.

Can confirm, will bisect.
Richard Antalik changed title from Immediate Blender Crash in 4.0 when updating image data blocks during playback (works in 3.6 and below) & frame change handler is no longer visited after stopping playback to Immediate Blender Crash in 4.0 when updating image data blocks during playback 2023-06-21 20:36:25 +02:00
Richard Antalik changed title from Immediate Blender Crash in 4.0 when updating image data blocks during playback to Regression: Immediate Blender Crash in 4.0 when updating image data blocks during playback 2023-06-21 20:36:35 +02:00

CC @brecht

@Julieta-Riley

after playback muted nodes are unmuted (this doesn't appear to work in 4.0, is this a separate bug or an intentional handler change?)

This seems to be same in latest 3.6 build, so it is different issue. Can you create new report? That broke between c49a0fa474 and 43fe7bec4f

CC @brecht @Julieta-Riley > after playback muted nodes are unmuted (this doesn't appear to work in 4.0, is this a separate bug or an intentional handler change?) This seems to be same in latest 3.6 build, so it is different issue. Can you create new report? That broke between c49a0fa474de and 43fe7bec4fa5
Author

@iss Yes I'll recreate a new report for the frame change handler. I must have been using an older 3.6 build.

@iss Yes I'll recreate a new report for the frame change handler. I must have been using an older 3.6 build.
Member

@iss Yes I'll recreate a new report for the frame change handler. I must have been using an older 3.6 build.

For reference, this was reported in #109218

> @iss Yes I'll recreate a new report for the frame change handler. I must have been using an older 3.6 build. > For reference, this was reported in #109218

@Julieta-Riley I see. Since Richard managed to reproduce the crash perhaps the hassle of you setting up a development environment is not needed them :)

@iss Did you reproduce the original issue (with just playback, without muting and such) ? Can you share backtrace? And was that on Windows?

@Julieta-Riley I see. Since Richard managed to reproduce the crash perhaps the hassle of you setting up a development environment is not needed them :) @iss Did you reproduce the original issue (with just playback, without muting and such) ? Can you share backtrace? And was that on Windows?

@Sergey I've got this in .crash.txt file:

ExceptionCode         : EXCEPTION_ACCESS_VIOLATION
Exception Address     : 0x00007FF992CC832A
Exception Module      : tbbmalloc.dll
Exception Flags       : 0x00000000
Exception Parameters  : 0x2
	Parameters[0] : 0x0000000000000000
	Parameters[1] : 0x0000000000000040


Stack trace:
tbbmalloc.dll       :0x00007FF992CC832A  Symbols not available

But now I noticed Win32 Error# (170): Device or resource busy. in console (translated from czech)

Will try to get more info with what you suggested above

@Sergey I've got this in .crash.txt file: ``` ExceptionCode : EXCEPTION_ACCESS_VIOLATION Exception Address : 0x00007FF992CC832A Exception Module : tbbmalloc.dll Exception Flags : 0x00000000 Exception Parameters : 0x2 Parameters[0] : 0x0000000000000000 Parameters[1] : 0x0000000000000040 Stack trace: tbbmalloc.dll :0x00007FF992CC832A Symbols not available ``` But now I noticed `Win32 Error# (170): Device or resource busy.` in console (translated from czech) Will try to get more info with what you suggested above
Member

Checked 3.6 again, muted nodes dont get unmuted there for me.

Revisited 4.0 again as well, what I can say (without further checking yet) is that I indeed get a freeze if I

  • install the addon
  • open the file
  • playback (the Render Layers node get muted)
  • stop playback (the render Layer node remains muted)
  • mute the node by hand
  • playback
  • freeze

When I do this, I see the following:

cant update frame
/blender/intern/cycles/device/device.h:70:7: runtime error: load of value 267255572, which is not a valid value for type 'KernelOptimizationLevel'
/blender/intern/cycles/integrator/../util/tbb.h:36:57: runtime error: member call on address 0x613000b463c0 which does not point to an object of type 'task'
0x613000b463c0: note: object has invalid vptr
 00 00 00 00  be be be be be be be be  be be be be be be be be  be be be be be be be be  be be be be
              ^~~~~~~~~~~~~~~~~~~~~~~
              invalid vptr
/lib/linux_x86_64_glibc_228/tbb/include/tbb/task.h:881:49: runtime error: member call on address 0x613000b463c0 which does not point to an object of type 'task'
0x613000b463c0: note: object has invalid vptr
 00 00 00 00  be be be be be be be be  be be be be be be be be  be be be be be be be be  be be be be
              ^~~~~~~~~~~~~~~~~~~~~~~
              invalid vptr
 ^CKilled
> Checked 3.6 again, muted nodes dont get unmuted there for me. > > Revisited 4.0 again as well, what I can say (without further checking yet) is that I indeed get a freeze if I > - install the addon > - open the file > - playback (the Render Layers node get muted) > - stop playback (the render Layer node remains muted) > - mute the node by hand > - playback > - freeze > When I do this, I see the following: ``` cant update frame /blender/intern/cycles/device/device.h:70:7: runtime error: load of value 267255572, which is not a valid value for type 'KernelOptimizationLevel' /blender/intern/cycles/integrator/../util/tbb.h:36:57: runtime error: member call on address 0x613000b463c0 which does not point to an object of type 'task' 0x613000b463c0: note: object has invalid vptr 00 00 00 00 be be be be be be be be be be be be be be be be be be be be be be be be be be be be ^~~~~~~~~~~~~~~~~~~~~~~ invalid vptr /lib/linux_x86_64_glibc_228/tbb/include/tbb/task.h:881:49: runtime error: member call on address 0x613000b463c0 which does not point to an object of type 'task' 0x613000b463c0: note: object has invalid vptr 00 00 00 00 be be be be be be be be be be be be be be be be be be be be be be be be be be be be ^~~~~~~~~~~~~~~~~~~~~~~ invalid vptr ^CKilled ```

@lichtwerk I do not think it is really a freeze. Not sure if it is addon doing directly, or somehow indirectly triggers it, but following those steps makes Cycles to render the scene.

The vptr UBSAN error you'll see with starting --factory-startup and doing a Cycles render.

If you set the number of samples to 1 in the file from this report, following yours steps will make playback very slow, but it is not a freeze.

@iss Unfortunately, this is very generic place to crash. Having a backtrace will give more hints.

@lichtwerk I do not think it is really a freeze. Not sure if it is addon doing directly, or somehow indirectly triggers it, but following those steps makes Cycles to render the scene. The `vptr` UBSAN error you'll see with starting `--factory-startup` and doing a Cycles render. If you set the number of samples to 1 in the file from this report, following yours steps will make playback very slow, but it is not a freeze. @iss Unfortunately, this is very generic place to crash. Having a backtrace will give more hints.
Author

@Sergey when the render layers node is muted the 3d scene isn't rendered, only the compositor (historically at least). Prior to 4.0, we generally get around 30 fps for a simple compositor that just loads the new EXR to the existing image datablock, then calls render.render() to force the playhead to wait until the compositor has finished processing before moving onto the next frame.

@Sergey when the render layers node is muted the 3d scene isn't rendered, only the compositor (historically at least). Prior to 4.0, we generally get around 30 fps for a simple compositor that just loads the new EXR to the existing image datablock, then calls render.render() to force the playhead to wait until the compositor has finished processing before moving onto the next frame.
Author

i've managed to build and am running a RelWithDebInfo build of blender so that I can get a meaningful backtrace from the dump file using windbg (windows 10). Could anyone advise how I create a dump after blender crashes? Or is the dump created somewhere by that build automatically?

Sorry I only usually work with Python and VS code, so this is a bit outside of my comfort zone.

i've managed to build and am running a RelWithDebInfo build of blender so that I can get a meaningful backtrace from the dump file using windbg (windows 10). Could anyone advise how I create a dump after blender crashes? Or is the dump created somewhere by that build automatically? Sorry I only usually work with Python and VS code, so this is a bit outside of my comfort zone.
Author

OK, I couldn't find a dump after Blender crashes in the system directory or minidump directory, so I ran the RelWithDebInfo build from the file named 'blender_debug_log.cmd' and got the attached files generated:

OK, I couldn't find a dump after Blender crashes in the system directory or minidump directory, so I ran the RelWithDebInfo build from the file named 'blender_debug_log.cmd' and got the attached files generated:

I've got new error: GHOST_ContextWGL.cc:71: [::wglDeleteContext(m_hGLRC)] -> Win32 Error# (170): Resource is being used

Also crash doesn't happen when --debug-depsgraph is used.

I got trace now:

>	blender.exe!blender::imbuf::get_oiio_reader(const char * format, const OpenImageIO_v2_4::ImageSpec & config, OpenImageIO_v2_4::Filesystem::IOMemReader & mem_reader, OpenImageIO_v2_4::ImageSpec & r_newspec) Řádek 252	C++
 	blender.exe!blender::imbuf::imb_oiio_read(const blender::imbuf::ReadContext & ctx, const OpenImageIO_v2_4::ImageSpec & config, char * colorspace, OpenImageIO_v2_4::ImageSpec & r_newspec) Řádek 284	C++
 	blender.exe!imb_load_png(const unsigned char * mem, unsigned __int64 size, int flags, char * colorspace) Řádek 35	C++
 	blender.exe!IMB_ibImageFromMemory(const unsigned char * mem, unsigned __int64 size, int flags, char * colorspace, const char * descr) Řádek 103	C++
 	blender.exe!IMB_loadifffile(int file, int flags, char * colorspace, const char * descr) Řádek 143	C++
 	blender.exe!IMB_loadiffname(const char * filepath, int flags, char * colorspace) Řádek 161	C++
 	blender.exe!load_image_single(Image * ima, ImageUser * iuser, int cfra, const int view_id, const bool has_packed, const bool is_sequence, bool * r_cache_ibuf) Řádek 4170	C++
 	blender.exe!image_load_image_file(Image * ima, ImageUser * iuser, int entry, int cfra, bool is_sequence) Řádek 4236	C++
 	blender.exe!image_get_ibuf_multilayer(Image * ima, ImageUser * iuser) Řádek 4287	C++
 	blender.exe!image_acquire_ibuf(Image * ima, ImageUser * iuser, void * * r_lock) Řádek 4692	C++
 	blender.exe!BKE_image_acquire_ibuf(Image * ima, ImageUser * iuser, void * * r_lock) Řádek 4764	C++
 	blender.exe!cmp_node_image_create_outputs(bNodeTree * ntree, bNode * node, LinkNodePair * available_sockets) Řádek 151	C++
 	blender.exe!cmp_node_image_verify_outputs(bNodeTree * ntree, bNode * node, bool rlayer) Řádek 373	C++
 	blender.exe!blender::nodes::node_composite_image_cc::cmp_node_image_update(bNodeTree * ntree, bNode * node) Řádek 408	C++
 	blender.exe!blender::bke::NodeTreeMainUpdater::update_individual_nodes(bNodeTree & ntree) Řádek 550	C++
 	blender.exe!blender::bke::NodeTreeMainUpdater::update_tree(bNodeTree & ntree) Řádek 470	C++
 	blender.exe!blender::bke::NodeTreeMainUpdater::update_rooted(blender::Span<bNodeTree *> root_ntrees) Řádek 317	C++
 	[Vložený rámec] blender.exe!blender::bke::NodeTreeMainUpdater::update() Řádek 300	C++
 	blender.exe!BKE_ntree_update_main(Main * bmain, NodeTreeUpdateExtraParams * params) Řádek 1247	C++
 	blender.exe!BKE_image_signal(Main * bmain, Image * ima, ImageUser * iuser, int signal) Řádek 3247	C++
 	blender.exe!rna_Image_reload_update(Main * bmain, Scene * UNUSED_scene, PointerRNA * ptr) Řádek 105	C
 	blender.exe!rna_property_update(bContext * C, Main * bmain, Scene * scene, PointerRNA * ptr, PropertyRNA * prop) Řádek 2131	C++
 	blender.exe!RNA_property_update(bContext * C, PointerRNA * ptr, PropertyRNA * prop) Řádek 2195	C++
 	blender.exe!pyrna_py_to_prop(PointerRNA * ptr, PropertyRNA * prop, void * data, _object * value, const unsigned char * error_prefix) Řádek 2095	C
 	blender.exe!pyrna_struct_setattro(BPy_StructRNA * self, _object * pyname, _object * value) Řádek 4656	C
 	[Externí kód]	
 	blender.exe!bpy_app_generic_callback(Main * UNUSED_main, PointerRNA * * pointers, const int pointers_num, void * arg) Řádek 385	C
 	blender.exe!BKE_callback_exec(Main * bmain, PointerRNA * * pointers, const int num_pointers, eCbEvent evt) Řádek 39	C
 	blender.exe!BKE_callback_exec_id_depsgraph(Main * bmain, ID * id, Depsgraph * depsgraph, eCbEvent evt) Řádek 72	C
 	blender.exe!BKE_scene_graph_update_for_newframe_ex(Depsgraph * depsgraph, bool clear_recalc) Řádek 2837	C++
 	blender.exe!screen_animation_step_invoke(bContext * C, wmOperator * UNUSED_op, const wmEvent * event) Řádek 4774	C
 	blender.exe!wm_operator_invoke(bContext * C, wmOperatorType * ot, const wmEvent * event, PointerRNA * properties, ReportList * reports, const bool poll_only, bool use_last_properties) Řádek 1537	C++
 	blender.exe!wm_handler_operator_call(bContext * C, ListBase * handlers, wmEventHandler * handler_base, wmEvent * event, PointerRNA * properties, const char * kmi_idname) Řádek 2570	C++
 	blender.exe!wm_handlers_do_keymap_with_keymap_handler(bContext * C, wmEvent * event, ListBase * handlers, wmEventHandler_Keymap * handler, wmKeyMap * keymap, const bool do_debug_handler) Řádek 2970	C++
 	blender.exe!wm_handlers_do_intern(bContext * C, wmWindow * win, wmEvent * event, ListBase * handlers) Řádek 3296	C++
 	blender.exe!wm_handlers_do(bContext * C, wmEvent * event, ListBase * handlers) Řádek 3437	C++
 	blender.exe!wm_event_do_handlers(bContext * C) Řádek 4148	C++
 	blender.exe!WM_main(bContext * C) Řádek 635	C
 	blender.exe!main(int argc, const unsigned char * * UNUSED_argv_c) Řádek 579	C
 	[Externí kód]	

I've got new error: `GHOST_ContextWGL.cc:71: [::wglDeleteContext(m_hGLRC)] -> Win32 Error# (170): Resource is being used` Also crash doesn't happen when `--debug-depsgraph is used.` I got trace now: ``` > blender.exe!blender::imbuf::get_oiio_reader(const char * format, const OpenImageIO_v2_4::ImageSpec & config, OpenImageIO_v2_4::Filesystem::IOMemReader & mem_reader, OpenImageIO_v2_4::ImageSpec & r_newspec) Řádek 252 C++ blender.exe!blender::imbuf::imb_oiio_read(const blender::imbuf::ReadContext & ctx, const OpenImageIO_v2_4::ImageSpec & config, char * colorspace, OpenImageIO_v2_4::ImageSpec & r_newspec) Řádek 284 C++ blender.exe!imb_load_png(const unsigned char * mem, unsigned __int64 size, int flags, char * colorspace) Řádek 35 C++ blender.exe!IMB_ibImageFromMemory(const unsigned char * mem, unsigned __int64 size, int flags, char * colorspace, const char * descr) Řádek 103 C++ blender.exe!IMB_loadifffile(int file, int flags, char * colorspace, const char * descr) Řádek 143 C++ blender.exe!IMB_loadiffname(const char * filepath, int flags, char * colorspace) Řádek 161 C++ blender.exe!load_image_single(Image * ima, ImageUser * iuser, int cfra, const int view_id, const bool has_packed, const bool is_sequence, bool * r_cache_ibuf) Řádek 4170 C++ blender.exe!image_load_image_file(Image * ima, ImageUser * iuser, int entry, int cfra, bool is_sequence) Řádek 4236 C++ blender.exe!image_get_ibuf_multilayer(Image * ima, ImageUser * iuser) Řádek 4287 C++ blender.exe!image_acquire_ibuf(Image * ima, ImageUser * iuser, void * * r_lock) Řádek 4692 C++ blender.exe!BKE_image_acquire_ibuf(Image * ima, ImageUser * iuser, void * * r_lock) Řádek 4764 C++ blender.exe!cmp_node_image_create_outputs(bNodeTree * ntree, bNode * node, LinkNodePair * available_sockets) Řádek 151 C++ blender.exe!cmp_node_image_verify_outputs(bNodeTree * ntree, bNode * node, bool rlayer) Řádek 373 C++ blender.exe!blender::nodes::node_composite_image_cc::cmp_node_image_update(bNodeTree * ntree, bNode * node) Řádek 408 C++ blender.exe!blender::bke::NodeTreeMainUpdater::update_individual_nodes(bNodeTree & ntree) Řádek 550 C++ blender.exe!blender::bke::NodeTreeMainUpdater::update_tree(bNodeTree & ntree) Řádek 470 C++ blender.exe!blender::bke::NodeTreeMainUpdater::update_rooted(blender::Span<bNodeTree *> root_ntrees) Řádek 317 C++ [Vložený rámec] blender.exe!blender::bke::NodeTreeMainUpdater::update() Řádek 300 C++ blender.exe!BKE_ntree_update_main(Main * bmain, NodeTreeUpdateExtraParams * params) Řádek 1247 C++ blender.exe!BKE_image_signal(Main * bmain, Image * ima, ImageUser * iuser, int signal) Řádek 3247 C++ blender.exe!rna_Image_reload_update(Main * bmain, Scene * UNUSED_scene, PointerRNA * ptr) Řádek 105 C blender.exe!rna_property_update(bContext * C, Main * bmain, Scene * scene, PointerRNA * ptr, PropertyRNA * prop) Řádek 2131 C++ blender.exe!RNA_property_update(bContext * C, PointerRNA * ptr, PropertyRNA * prop) Řádek 2195 C++ blender.exe!pyrna_py_to_prop(PointerRNA * ptr, PropertyRNA * prop, void * data, _object * value, const unsigned char * error_prefix) Řádek 2095 C blender.exe!pyrna_struct_setattro(BPy_StructRNA * self, _object * pyname, _object * value) Řádek 4656 C [Externí kód] blender.exe!bpy_app_generic_callback(Main * UNUSED_main, PointerRNA * * pointers, const int pointers_num, void * arg) Řádek 385 C blender.exe!BKE_callback_exec(Main * bmain, PointerRNA * * pointers, const int num_pointers, eCbEvent evt) Řádek 39 C blender.exe!BKE_callback_exec_id_depsgraph(Main * bmain, ID * id, Depsgraph * depsgraph, eCbEvent evt) Řádek 72 C blender.exe!BKE_scene_graph_update_for_newframe_ex(Depsgraph * depsgraph, bool clear_recalc) Řádek 2837 C++ blender.exe!screen_animation_step_invoke(bContext * C, wmOperator * UNUSED_op, const wmEvent * event) Řádek 4774 C blender.exe!wm_operator_invoke(bContext * C, wmOperatorType * ot, const wmEvent * event, PointerRNA * properties, ReportList * reports, const bool poll_only, bool use_last_properties) Řádek 1537 C++ blender.exe!wm_handler_operator_call(bContext * C, ListBase * handlers, wmEventHandler * handler_base, wmEvent * event, PointerRNA * properties, const char * kmi_idname) Řádek 2570 C++ blender.exe!wm_handlers_do_keymap_with_keymap_handler(bContext * C, wmEvent * event, ListBase * handlers, wmEventHandler_Keymap * handler, wmKeyMap * keymap, const bool do_debug_handler) Řádek 2970 C++ blender.exe!wm_handlers_do_intern(bContext * C, wmWindow * win, wmEvent * event, ListBase * handlers) Řádek 3296 C++ blender.exe!wm_handlers_do(bContext * C, wmEvent * event, ListBase * handlers) Řádek 3437 C++ blender.exe!wm_event_do_handlers(bContext * C) Řádek 4148 C++ blender.exe!WM_main(bContext * C) Řádek 635 C blender.exe!main(int argc, const unsigned char * * UNUSED_argv_c) Řádek 579 C [Externí kód] ```
Member

Same as #109218, couldnt the avoidance of the extra DG update from d8388ef36a the culprit here?

@iss : could you check d8388ef36a and the previous commit?

Same as #109218, couldnt the avoidance of the extra DG update from d8388ef36a the culprit here? @iss : could you check d8388ef36a and the previous commit?
Author

Same as #109218, couldnt the avoidance of the extra DG update from d8388ef36a the culprit here?

@iss : could you check d8388ef36a and the previous commit?

Would that make a difference considering the crash usually happens during initial playback directly after opening the blend file? Or is Jacque's new code called once on file load perhaps?

> Same as #109218, couldnt the avoidance of the extra DG update from d8388ef36a the culprit here? > > @iss : could you check d8388ef36a and the previous commit? Would that make a difference considering the crash usually happens during initial playback directly after opening the blend file? Or is Jacque's new code called once on file load perhaps?

If this crash is caused by 65fc10bd33, then #108909 may fix it since it changes this code further. At least that GHOST_ContextWGL.cc:71 error is likely avoided, since the context will be persistent and not freed during animation playback.

I can not see a clear relation between 65fc10bd33 and the backtrace that points to a crash in image loading though. Is that really the thread that is crashing, or perhaps just whatever the main thread is doing while another thread crashes?

If this crash is caused by 65fc10bd33, then #108909 may fix it since it changes this code further. At least that `GHOST_ContextWGL.cc:71` error is likely avoided, since the context will be persistent and not freed during animation playback. I can not see a clear relation between 65fc10bd33 and the backtrace that points to a crash in image loading though. Is that really the thread that is crashing, or perhaps just whatever the main thread is doing while another thread crashes?

I can not see a clear relation between 65fc10bd33 and the backtrace that points to a crash in image loading though. Is that really the thread that is crashing, or perhaps just whatever the main thread is doing while another thread crashes?

The crash happened much deeper in stack, but I don't have symbols. will re-check just to be sure

> I can not see a clear relation between 65fc10bd33 and the backtrace that points to a crash in image loading though. Is that really the thread that is crashing, or perhaps just whatever the main thread is doing while another thread crashes? The crash happened much deeper in stack, but I don't have symbols. will re-check just to be sure

#108909 was merged by the way, though I would not expect that to address the root cause.

#108909 was merged by the way, though I would not expect that to address the root cause.
Author

Hi, I know you've yet to find the root cause, but I just wanted to say I'm no longer getting the crash in the tiled compositor or the full frame compositor in Blender 4.0.0

I am getting an immediate ACCESS violation during playback still if I set the compositor to 'Realtime GPU' execution mode (changing frames with the arrow keys doesn't produce the crash). I'm unsure if it's related to this report though, so I've created a separate report and modified the test addon a little:

#109676

Hi, I know you've yet to find the root cause, but I just wanted to say I'm no longer getting the crash in the tiled compositor or the full frame compositor in Blender 4.0.0 I am getting an immediate ACCESS violation during playback still if I set the compositor to 'Realtime GPU' execution mode (changing frames with the arrow keys doesn't produce the crash). I'm unsure if it's related to this report though, so I've created a separate report and modified the test addon a little: https://projects.blender.org/blender/blender/issues/109676

I looked into this a bit more but could not reproduce it anymore either. I did find another crash with the Full Frame compositor and fixed that in 4c6653274c.

I will considered this resolved unless someone encounters this problem again.

I looked into this a bit more but could not reproduce it anymore either. I did find another crash with the Full Frame compositor and fixed that in 4c6653274c95d1350770105f18d5bcda592fb6e1. I will considered this resolved unless someone encounters this problem again.
Blender Bot added
Status
Archived
and removed
Status
Confirmed
labels 2023-07-12 18:08:49 +02:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
6 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#109168
No description provided.