|
|
Encl. example textblock showing memory content instead of the intended textblock text. |
|
|
|
Hi, would it be possible to get access to your project to debug it ourselves? If not I could prepare a debug library for you to test, is this windows x64? |
|
|
|
A debug library is the way to go. I'll use it daily and send back any traces/debug information that you need. |
|
|
|
Windows x64. |
|
|
|
You can download the debug library here: https://drive.google.com/file/d/1tLvoyZj0KmxGC_VpQ1i0b6t1EaJe-ptP/view?usp=sharing
Please send us any crash dump and logs you could find with it. |
|
|
|
It's loaded -- will keep testing. |
|
|
|
Encl. crash w/ debug library. Happened when I turned off a Noesis UI layer used for the gaussian blur effect. As far as I can tell, it is not repeatable. |
|
|
|
Encl. crash w debug library. Happened when I clicked a button.
=================================================================
Native Crash Reporting
Got a UNKNOWN while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
Managed Stacktrace:
at <unknown> <0xffffffff>
at Noesis.View:Noesis_View_Update <0x0010c>
at Noesis.View:Update <0x00192>
at NoesisView:UpdateInternal <0x0062a>
at NoesisView:LateUpdate <0x000da>
at System.Object:runtime_invoke_void__this__ <0x00187>
=================================================================
Received signal SIGSEGV
Obtained 108 stack frames
0x00007ffb2783180b (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2785887e (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27858e25 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27759848 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2787c26c (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2775f08d (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb277588e9 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2775850f (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2775843f (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27753e79 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2791f806 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb279213d2 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2791804d (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb279170fe (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26f8e745 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2727d208 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa37f8 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27309c8c (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2724efcb (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2724e1b9 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2724d062 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa37f8 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27309c8c (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26ff817f (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26ff7f42 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa37f8 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27309c8c (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26ff9620 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26ff92ed (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26ff7f67 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa37f8 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27309c8c (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa1829 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2761532b (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa37f8 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27309c8c (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26ff817f (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26ff7f42 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa37f8 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27309c8c (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa1829 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa37f8 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27309c8c (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26e40898 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa37f8 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27309c8c (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa1829 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27617aeb (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa37f8 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27309c8c (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2724f48b (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2724e26c (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2724d062 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa37f8 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27309c8c (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2724efcb (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2724e1b9 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2724d062 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa37f8 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27309c8c (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26ff9620 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26ff9375 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26ff7f67 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa37f8 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27309c8c (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26ff817f (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26ff7f42 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa37f8 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27309c8c (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26ff817f (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26ff7f42 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2761586b (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa37f8 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27309c8c (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa1829 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb26fa37f8 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27309c8c (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb27350306 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2734fafe (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb2734f5bd (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb273444c0 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007ffb275132dc (Noesis) ArcSegment_SweepDirectionProperty_get
0x0000017a13ccaabd (Mono JIT Code) (wrapper managed-to-native) Noesis.View:Noesis_View_Update (System.Runtime.InteropServices.HandleRef,double)
0x0000017a13cc8f13 (Mono JIT Code) Noesis.View:Update (double) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.4/Runtime/API/Core/View.cs:379)
0x0000017a13cb589b (Mono JIT Code) NoesisView:UpdateInternal () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.4/Runtime/NoesisView.cs:1508)
0x0000017a13cb51db (Mono JIT Code) NoesisView:LateUpdate () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.4/Runtime/NoesisView.cs:1409)
0x00000179ad7d3328 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_voidthis (object,intptr,intptr,intptr)
0x00007ffb264a4b7e (mono-2.0-bdwgc) mono_jit_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/mini/mini-runtime.c:3445)
0x00007ffb263dd204 (mono-2.0-bdwgc) do_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/metadata/object.c:3068)
0x00007ffb263dd37c (mono-2.0-bdwgc) mono_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/metadata/object.c:3115)
0x00007ff714b7d564 (Unity) scripting_method_invoke
0x00007ff714b5b8e4 (Unity) ScriptingInvocation::Invoke
0x00007ff714b432c4 (Unity) MonoBehaviour::CallMethodIfAvailable
0x00007ff714b433ea (Unity) MonoBehaviour::CallUpdateMethod
0x00007ff7145dea4b (Unity) BaseBehaviourManager::CommonUpdate<LateBehaviourManager>
0x00007ff7145e60ca (Unity) LateBehaviourManager::Update
0x00007ff7148162bd (Unity) InitPlayerLoopCallbacks'::2'::PreLateUpdateScriptRunBehaviourLateUpdateRegistrator::Forward
0x00007ff7147f5a9c (Unity) ExecutePlayerLoop
0x00007ff7147f5c10 (Unity) ExecutePlayerLoop
0x00007ff7147fc4a5 (Unity) PlayerLoop
0x00007ff7157bd4cf (Unity) PlayerLoopController::InternalUpdateScene
0x00007ff7157ca2dd (Unity) PlayerLoopController::UpdateSceneIfNeededFromMainLoop
0x00007ff7157c85e1 (Unity) Application::TickTimer
0x00007ff715c3c20a (Unity) MainMessageLoop
0x00007ff715c41aa0 (Unity) WinMain
0x00007ff71701ef2e (Unity) __scrt_common_main_seh
0x00007ffc978c257d (KERNEL32) BaseThreadInitThunk
0x00007ffc98caaf28 (ntdll) RtlUserThreadStart |
|
|
|
We might found the source of the text and layout corruption, it could also be related to the mono state corruption crashes.
Could you please try the following library: https://drive.google.com/file/d/1N7zvd8krbyMjn3fY3lbaCB6BGlm_jb4l/view?usp=sharing |
|
|
|
Thanks, Sergio!
I installed and I'll continue to test with it.
I received an exception when clicking a button contained with a Worldspace UI Element. It's the ArcSegment call stack that we discussed earlier. I don't know which ticket this behavior is related to. If you would like me to, I can copy details to a different ticket.
========== OUTPUTTING STACK TRACE ==================
0x00007FF9CB757211 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB22FD3C (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB5B90CD (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB5B8E40 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB5B84FF (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB5AD325 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB5AD092 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB5AC014 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB5A8D81 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB5994B9 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB593E23 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CBAF8CD2 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CBAF2D61 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF7D313F379 (Unity) GfxDevice::InsertCustomMarkerCallbackAndDataWithFlags
0x00007FF7D4A2A226 (Unity) GfxDeviceWorker::RunCommand
0x00007FF7D4A31A2B (Unity) GfxDeviceWorker::RunExt
0x00007FF7D4A31B48 (Unity) GfxDeviceWorker::RunGfxDeviceWorker
0x00007FF7D307BBB6 (Unity) Thread::RunThreadWrapper
0x00007FFB2478257D (KERNEL32) BaseThreadInitThunk
0x00007FFB2572AF28 (ntdll) RtlUserThreadStart
update
I have a repeatable reproduction path for this particular exception.
I appear to only get an exception when the following code is invoked on a FrameworkElement after a button click:
public static Storyboard Grow(this FrameworkElement frameworkElement, FrameworkElement parent, TimeSpan durationTimeSpan, Action completed = null)
{
if (parent == null)
throw new NullReferenceException("parent");
if (BaseComponent.getCPtr(parent).Handle == IntPtr.Zero)
throw new NullReferenceException("parent");
ScaleTransform scaleTransform = new ScaleTransform();
frameworkElement.RenderTransform = scaleTransform;
frameworkElement.RenderTransformOrigin = new Point(0.5f, 0.5f);
string key = "Grow" + frameworkElement.GetHashCode();
StopStoryboard(key, parent);
if (parent.Resources.Contains(key))
{
UnityEngine.Debug.LogWarning("Resource already exists");
return null;
}
Duration duration = new Duration(durationTimeSpan);
DoubleAnimation animationX = new DoubleAnimation();
animationX.EasingFunction = new QuadraticEase() { EasingMode = EasingMode.EaseInOut };
animationX.Duration = duration;
animationX.AutoReverse = false;
animationX.FillBehavior = FillBehavior.Stop;
animationX.From = 0f;
animationX.To = 1;
DoubleAnimation animationY = new DoubleAnimation();
animationY.EasingFunction = new QuadraticEase() { EasingMode = EasingMode.EaseInOut };
animationY.Duration = duration;
animationY.AutoReverse = false;
animationY.FillBehavior = FillBehavior.Stop;
animationY.From = 0f;
animationY.To = 1;
Storyboard storyboard = new Storyboard();
storyboard.AutoReverse = false;
storyboard.Duration = duration;
storyboard.Children.Add(animationX);
storyboard.Children.Add(animationY);
parent.Resources.Add(key, storyboard);
Storyboard.SetTarget(animationX, frameworkElement);
Storyboard.SetTargetProperty(animationX, new PropertyPath("RenderTransform.ScaleX"));
Storyboard.SetTarget(animationY, frameworkElement);
Storyboard.SetTargetProperty(animationY, new PropertyPath("RenderTransform.ScaleY"));
storyboard.Completed += (sender2, e2) =>
{
parent.Resources.Remove(key);
scaleTransform.ScaleX = 1.0f;
scaleTransform.ScaleY = 1.0f;
completed?.Invoke();
};
storyboard.Begin();
return storyboard;
}
public static void StopStoryboard(string key, FrameworkElement parent)
{
Storyboard storyboard = parent.TryFindResource(key) as Storyboard;
if (storyboard != null)
{
storyboard.Stop();
parent.Resources.Remove(key);
}
}
*encl stack dump |
|
|
|
Yes please, create another ticket for the BackgroundEffectBehavior (VisualBrush) issue so it is easier to follow what is happening on each ticket. |
|
|
|
Sergio, I didn't see any errant behavior with textblock data corruption using this DLL. But to be honest, it was very hit or miss before, and it seemed to have some kind of association with XAML imports or domain reloads. |
|