View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001397 | NoesisGUI | Unity | public | 2019-01-22 06:11 | 2019-01-22 14:09 |
| Reporter | nokola | Assigned To | jsantos | ||
| Priority | normal | Severity | crash | ||
| Status | assigned | Resolution | open | ||
| Product Version | 2.1.0f1 | ||||
| Summary | 0001397: Noesis crashes when changing control.Width during screen rotation | ||||
| Description | Unfortunately doesn't reproduce with all controls, just this one. But reproduces always with this one on Android. Does not reproduce in Unity Editor. I have this code that sets a UserControl's width/height when the user rotates the screen. The width/height are valid values. Results in this crash:
2019-01-21 21:06:08.434 6773-6976/com.android.systemui W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
2019-01-21 21:06:08.609 20129-20353/com.microsoft.office.outlook D/ClClient: Not sending keepalive. Current connection state=STOPPED
2019-01-21 21:06:08.692 21592-21234/? A/google-breakpad: Microdump skipped (uninteresting) | ||||
| Steps To Reproduce | See description | ||||
| Attached Files | |||||
| Platform | Any | ||||
|
Figured out how to work around the crash. I was assigning _adorner.Width and other controls' properties (e.g. border.Thickness = new Thickness(...)) twice to the same value in two consecutive frames. Once I changed my code to assign only once, the crash stopped. Likely crash is caused due to combination of calling UpdateLayout() and assigning values to controls' properties from C# in two consecutive frames. The code in question is handling orientation change (portrait to landscape and vice versa). Hope that helps pinpoint the crash! Currently I'm not blocked anymore, just very cautious with assigning properties to Noesis controls. |
|
|
@jsantos Could you help here, the stack points to a crash inside the tessellator: CALL_ERROR_OR_ERROR_DATA( GLU_TESS_COORD_TOO_LARGE ); stack.txt (14,307 bytes)
********** Crash dump: ********** Build fingerprint: 'oneplus/bacon/A0001:6.0.1/MHC19Q/ZNH2KAS1KN:user/release-keys' pid: 21207, tid: 21234, name: UnityGfxDeviceW >>> com.datcompany.fantasiapainter <<< Stack frame E/CRASH: #00 pc 00157182 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine ~Tessellator2D at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Drawing/VGL/Src/Tessellator2d.cpp:176 Stack frame E/CRASH: #01 pc 001515bd /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine internal_gluTessVertex at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/3rdParty/LibTess/local/libtess/tess.c:446 (discriminator 2) Stack frame E/CRASH: #02 pc 00157245 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::Tessellator2D::Tessellate(unsigned short const*, unsigned int, eastl::vector<Noesis::Vector2<float>, eastl::NsAllocator>&, eastl::vector<unsigned short, eastl::NsAllocator>&) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Drawing/VGL/Src/Tessellator2d.cpp:211 Stack frame E/CRASH: #03 pc 00151c75 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::PathFiller::DoProcessPath(Noesis::PathTessellator::Path const&, Noesis::Transform2<float> const&) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Drawing/VGL/Src/PathFiller.cpp:31 (discriminator 3) Stack frame E/CRASH: #04 pc 00153cb1 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::PathTessellator::ProcessPath(Noesis::PathTessellator::Path const&, Noesis::Transform2<float> const&, bool) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Drawing/VGL/Src/PathTessellator.cpp:42 Stack frame E/CRASH: #05 pc 0015842d /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::VGLContext::CacheFillPath(Noesis::PathTessellator::Path const&, float, bool, Noesis::Transform2<float> const&) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Drawing/VGL/Src/VGLContext.cpp:1146 Stack frame E/CRASH: #06 pc 00158537 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine non-virtual thunk to Noesis::VGLContext::CacheFillPath(Noesis::IVGLPath*, float, bool, Noesis::Transform2<float> const&) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Drawing/VGL/Src/VGLContext.cpp:288 Stack frame E/CRASH: #07 pc 002310cf /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::DrawFill(Noesis::GeometryProxy*, Noesis::RenderNode*, Noesis::BrushProxy*, Noesis::Rect const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, float) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelperDraw.cpp:341 (discriminator 1) Stack frame E/CRASH: #08 pc 00230c8f /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::DrawCommands(Noesis::RenderNode*, Noesis::Sizei const&, Noesis::DrawingCommandsProxy*, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelperDraw.cpp:229 Stack frame E/CRASH: #09 pc 0022e52f /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderDraw(Noesis::RenderNode*, Noesis::Sizei const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:935 Stack frame E/CRASH: #10 pc 0022e597 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #11 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #12 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #13 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #14 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #15 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #16 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #17 pc 0022e597 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #18 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #19 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #20 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #21 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #22 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #23 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #24 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #25 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #26 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #27 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #28 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #29 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #30 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 Stack frame E/CRASH: #31 pc 0022e567 /data/app/com.datcompany.fantasiapainter-qKNTFhmucC1vR_iin3txeg==/lib/arm/libNoesis.so: Routine Noesis::RenderTreeHelper::RenderChildren(Noesis::RenderNode*, Noesis::Recti const&, Noesis::Transform2<float> const&, Noesis::Matrix4<float> const&, bool, float, unsigned int) at D:/Builds/Slave/build/NoesisSDK/../_build/Projects/android_arm/Noesis/../../../../NoesisSDK/Src/Packages/Gui/Core/Src/RenderTreeHelper.cpp:952 |
|
|
Sure, I will analyze it |
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2019-01-22 06:11 | nokola | New Issue | |
| 2019-01-22 07:47 | nokola | Note Added: 0005406 | |
| 2019-01-22 13:12 | sfernandez | Assigned To | => jsantos |
| 2019-01-22 13:12 | sfernandez | Status | new => assigned |
| 2019-01-22 13:14 | sfernandez | File Added: stack.txt | |
| 2019-01-22 13:14 | sfernandez | Note Added: 0005408 | |
| 2019-01-22 14:09 | jsantos | Note Added: 0005409 | |
| 2025-10-10 13:29 | jsantos | Category | Unity3D => Unity |