Open eleanorjmorel opened 3 years ago
This turns out to be an extremely complicated recursion problem in the event engine. The problem is that in the broken case, it is recursing in to a function that manipulates the dictionary object, in the middle of an "Add key" action that itself manipulates the dictionary object. In other words you end up nesting 'Add key' actions, which the event system was not designed to support. The working case avoids this by first doing all the recursion and saving the result in a local variable, then doing a simple "Add key" action that does not involve recursion, so is guaranteed to work correctly.
I'll see if any changes can be made to the event engine to support this case, but I'd advise that the working case is the right way to do this anyway, since nesting recursive dictionary operations within one another is a mind-bendingly complicated thing to do.
did you try to add a wait 0.1sec between the data and the function? maybe it helps too
Problem description
I'm trying to make a fibonacci with the built in function if i do it like this:
the key that was just created in the add key action is not found in the set return value action and it returns 0
but if i do it like this
it'S basically the same thing, as far as I know, but it returns the correct key ( i think?)
Attach a .c3p
https://drive.google.com/file/d/19a5mE1WErW8TA1Oyb-XMQped05FWhFDB/view?usp=sharing
Steps to reproduce
Observed result
it returns 0
Expected result
it returns the correct number
More details
Affected browsers/platforms:
First affected release:
System details
View details
Platform information Browser: Chrome Browser version: 88.0.4324.150 Browser engine: Chromium Browser architecture: 64-bit Context: webapp Operating system: Windows Operating system version: 10 Operating system architecture: 64-bit Device type: desktop Device pixel ratio: 1 Logical CPU cores: 12 Approx. device memory: 8 GB User agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 C3 release: r234.4 (stable) Language setting: en-US Local storage Storage quota (approx): 251 gb Storage usage (approx): 705 mb (0.3%) Persistant storage: Yes Browser support notes This list contains missing features that are not required, but could improve performance or user experience if supported. Nothing is missing. Everything is OK! WebGL information Version string: WebGL 2.0 (OpenGL ES 3.0 Chromium) Numeric version: 2 Supports NPOT textures: yes Supports GPU profiling: yes Supports highp precision: yes Vendor: Google Inc. Renderer: ANGLE (NVIDIA GeForce GTX 980 Ti Direct3D11 vs_5_0 ps_5_0) Major performance caveat: no Maximum texture size: 16384 Point size range: 1 to 1024 Extensions: EXT_color_buffer_float EXT_color_buffer_half_float EXT_disjoint_timer_query_webgl2 EXT_float_blend EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic EXT_texture_norm16 KHR_parallel_shader_compile OES_texture_float_linear WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw OVR_multiview2 Audio information System sample rate: 48000 Hz Output channels: 2 Output interpretation: speakers Supported decode formats: WebM Opus (audio/webm; codecs=opus) Ogg Opus (audio/ogg; codecs=opus) WebM Vorbis (audio/webm; codecs=vorbis) Ogg Vorbis (audio/ogg; codecs=vorbis) MPEG-4 AAC (audio/mp4; codecs=mp4a.40.5) MP3 (audio/mpeg) FLAC (audio/flac) PCM WAV (audio/wav; codecs=1) Supported encode formats: WebM Opus (audio/webm; codecs=opus) Video information Supported decode formats: WebM AV1 (video/webm; codecs=av01.0.00M.08) MP4 AV1 (video/mp4; codecs=av01.0.00M.08) WebM VP9 (video/webm; codecs=vp9) WebM VP8 (video/webm; codecs=vp8) Ogg Theora (video/ogg; codecs=theora) H.264 (video/mp4; codecs=avc1.42E01E) Supported encode formats: WebM VP9 (video/webm; codecs=vp9) WebM VP8 (video/webm; codecs=vp8)