preview window(emulator) blank 0.36.0 on mac

I’ve tried 0.36.0 on a mac book pro, imac & mac pro same problem

after updating to .36 non of my existing projects(yes uno clean) nor new (fuse) Example project are being displayed the preview window is white


clean new fuse project^

That’s very strange! We just made a pre-release version of Fuse 0.37, which has an entirely new preview engine. Maybe you could give that a try? https://www.fusetools.com/downloads/channel/qa

0.37 uses the same Uno and library versions as 0.36, it’s just the tooling is new, so no changes to your app is necessary.

Hi Anders loving the new look but unfortunately no luck


Could you please start fuse preview from the command line, and paste the full output here?

Last login: Fri Apr 7 17:42:51 on console
MMKs-iMac:~ Kevin$ cd “/Users/Kevin/Desktop/test”
MMKs-iMac:test Kevin$ fuse preview -t=Local
Fuse 0.37.0 (build 11974)
Configuring
(2.0 s)

Compiling syntax tree
(3.7 s)

Generating code and data
(6.1 s)

Build completed in 11.93 seconds

Have you tried previewing on iOS or Android? Do you get the same issue there?

Also, can you try uno build -tcmake -r and see if that has the same issue?

	macs-Mac-Pro:test_data mac$ uno clean
	Clean completed

	macs-Mac-Pro:test_data mac$ uno build -tcmake -r
	Uno 0.47.12 (build 5229) OS X 10.12 i386 55058c5

	Configuring (3.4 s)
	Installing dependencies
	stuff: GET https://az664292.vo.msecnd.net/files/UeOYUgbfESgEWZ5M-uno-base-0.8.668-OSX.zip
	(3.5 s)

	Compiling syntax tree (1.6 s)
	Generating code and data (5.1 s)
	Building Native app (19.2 s)

	Build completed in 32.89 seconds

	---
	/Users/mac/Desktop/test_data/build/Native/Debug/run.sh: line 23: 16832 Illegal instruction: 4  test_data.app/MacOS/test_data

	ERROR: Native run failed.
	macs-Mac-Pro:test_data mac$

Does uno build -tcmake -r always result in Illegal instruction: 4, or just in the case of one project? In particular, does it happen if you make an empty app with fuse create app <name>?

its a Example project

fuse build --target=iOS & fuse preview -t=iOS bought create a fully functioning app for ios looks like the mac emulator is broken?


fuse preview on ios^

Yes, there seems to be a problem with local builds on your computer.

Can you please check if uno build -tcmake -r always results in Illegal instruction: 4, or does that just happen in one specific project? In particular, does it happen if you make an empty app with fuse create app <name>?

	macs-Mac-Pro:~ mac$ cd "/Users/mac/Desktop/test_data"
	macs-Mac-Pro:test_data mac$ uno build -tcmake -r
	Uno 0.47.12 (build 5229) OS X 10.12 i386 55058c5

	Configuring
	Target is up-to-date -- stopping build (pass --force to override)

	Build completed in 0.24 seconds

	---
	/Users/mac/Desktop/test_data/build/Native/Debug/run.sh: line 23: 21563 Illegal instruction: 4  test_data.app/MacOS/test_data

	ERROR: Native run failed.
	macs-Mac-Pro:test_data mac$ 

	macs-Mac-Pro:Desktop mac$ fuse create app test_223
	Created project: 'test_223' at '/Users/mac/Desktop/test_223'
	macs-Mac-Pro:Desktop mac$ cd /Users/mac/Desktop/test_223 
	macs-Mac-Pro:test_223 mac$ uno build -tcmake -r
	Uno 0.47.12 (build 5229) OS X 10.12 i386 55058c5

	Configuring (3.0 s)
	Compiling syntax tree (1.9 s)
	Generating code and data (4.7 s)
	Building Native app
	/Users/mac/Desktop/test_223/build/Native/Debug/src/Implementation/Cpp/posix_semaphore.cpp:1:10: warning: non-portable path to file '<Implementation/Cpp/posix_semaphore.h>'; specified path differs in case from file name on disk [-Wnonportable-include-path]
	#include <Implementation/CPP/posix_semaphore.h>
	         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	         <Implementation/Cpp/posix_semaphore.h>
	/Users/mac/Desktop/test_223/build/Native/Debug/src/Implementation/Cpp/posix_reset_event.cpp:1:10: warning: non-portable path to file '<Implementation/Cpp/posix_reset_event.h>'; specified path differs in case from file name on disk [-Wnonportable-include-path]
	#include <Implementation/CPP/posix_reset_event.h>
	         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	         <Implementation/Cpp/posix_reset_event.h>
	1 warning generated.
	1 warning generated.
	In file included from /Users/mac/Desktop/test_223/build/Native/Debug/src/Uno.Threading.g.cpp:24:
	In file included from /Users/mac/Desktop/test_223/build/Native/Debug/include/Uno.Threading.AutoResetEvent.h:6:
	/Users/mac/Desktop/test_223/build/Native/Debug/include/Uno.Threading.EventWaitHandle.h:6:10: warning: non-portable path to file '<Implementation/Cpp/posix_reset_event.h>'; specified path differs in case from file name on disk [-Wnonportable-include-path]
	#include <Implementation/CPP/posix_reset_event.h>
	         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	         <Implementation/Cpp/posix_reset_event.h>
	1 warning generated.
	(13.2 s)

	Build completed in 22.79 seconds

	---
	/Users/mac/Desktop/test_223/build/Native/Debug/run.sh: line 23: 22046 Illegal instruction: 4  test_223.app/MacOS/test_223

	ERROR: Native run failed.

rolled back to 0.35.0 and works fine

Thanks a lot kevin, then I know a bit more how to investigate further! One final question though, which exact OS version are you on? Do you happen do be on a version of Mavericks?

macOS Sierra v10.12 (16A323)

Thanks! One more thing we need to check: What does it look like if you do uno build -tdotnetexe -r? Do you still get a blank window?

Note that .net builds on OS X only works in 0.36.1, so if you’re still on 0.36, please upgrade now https://www.fusetools.com/downloads/

For me it’s the same error. Just a blank screen on local Preview. When I do “uno build -tdotnetexe -r” I get the following output:

DEBUG: GL_VERSION: 2.1 ATI-10.0.51
DEBUG: GL_VENDOR: ATI Technologies Inc.
DEBUG: GL_RENDERER: ATI Radeon HD 4670 OpenGL Engine
ERROR: System.ExecutionEngineException: SIGILL
  at (wrapper managed-to-native) Fuse.Text.Implementation.FreeType:Init_FreeType (intptr&)
  at Fuse.Text.Implementation.FreeType.Init () <0x9ffb330 + 0x0001f> in <filename unknown>:0 
  at Fuse.Text.Implementation.FreeType.get_Library () <0x9ffb310 + 0x0000b> in <filename unknown>:0 
  at Fuse.Text.Implementation.FreeType.New_Memory_Face (System.Byte[] buffer, Int32 index, System.IntPtr& face) <0x9ffb2a8 + 0x0000b> in <filename unknown>:0 
  at Fuse.Text.Implementation.FreeTypeFontFace..ctor (System.Byte[] buffer, Int32 index, System.Predicate`1 stylePredicate) <0x9ffaf90 + 0x000ff> in <filename unknown>:0 
  at Fuse.Text.FontFace.Load (System.Byte[] data, Int32 index, System.Predicate`1 stylePredicate) <0x9ffaec0 + 0x00067> in <filename unknown>:0 
  at Fuse.Text.FontFace.Load (Fuse.Internal.FontFaceDescriptor descriptor) <0x9ffad60 + 0x00137> in <filename unknown>:0 
  at Fuse.Text.LazyFontFace.Force () <0x9ffac58 + 0x00053> in <filename unknown>:0 
  at Fuse.Text.LazyFont.Force () <0x9ffaac0 + 0x000b3> in <filename unknown>:0 
  at Fuse.Text.LazyFont.get_Ascender () <0x9ffaa90 + 0x00013> in <filename unknown>:0 
  at Fuse.Text.FallingBackFont.get_Ascender () <0x9ffaa50 + 0x0002b> in <filename unknown>:0 
  at Fuse.Controls.FuseTextRenderer.TextRenderer.UpdateFont () <0x9ff87a8 + 0x00187> in <filename unknown>:0 
  at Fuse.Controls.FuseTextRenderer.TextRenderer.GetContentSize (LayoutParams lp) <0x9ff8200 + 0x000d3> in <filename unknown>:0 
  at Fuse.Controls.TextControl.GetContentSize (LayoutParams lp) <0x9ff80d0 + 0x000df> in <filename unknown>:0 
  at Fuse.Elements.Element.InternGetContentSize (LayoutParams lp) <0x9ff5d70 + 0x00059> in <filename unknown>:0 
  at Fuse.Elements.StandardBoxSizing.CalcArrangePaddingSize (Fuse.Elements.Element element, LayoutParams lp) <0x9ff1de8 + 0x003a7> in <filename unknown>:0 
  at Fuse.Elements.Element.GetArrangePaddingSize (LayoutParams lp) <0x9ff1d68 + 0x00066> in <filename unknown>:0 
  at Fuse.Elements.StandardBoxSizing.CalcMarginSize (Fuse.Elements.Element element, LayoutParams lp) <0x9ff19d8 + 0x0024f> in <filename unknown>:0 
  at Fuse.Elements.Element.GetMarginSize (LayoutParams lp) <0x9ff1640 + 0x00222> in <filename unknown>:0 
  at Fuse.Layouts.StackLayout.GetElementsSize (IList`1 elements, LayoutParams lp) <0x9ff7b08 + 0x00176> in <filename unknown>:0 
  at Fuse.Layouts.StackLayout.GetContentSize (IList`1 elements, LayoutParams lp) <0x9ff7810 + 0x0010b> in <filename unknown>:0 
  at Fuse.Controls.LayoutControl.GetContentSize (LayoutParams lp) <0x9ff7350 + 0x00157> in <filename unknown>:0 
  at Fuse.Controls.Panel.GetContentSize (LayoutParams lp) <0x9ff7290 + 0x00097> in <filename unknown>:0 
  at Fuse.Elements.Element.InternGetContentSize (LayoutParams lp) <0x9ff5d70 + 0x00059> in <filename unknown>:0 
  at Fuse.Elements.StandardBoxSizing.CalcArrangePaddingSize (Fuse.Elements.Element element, LayoutParams lp) <0x9ff1de8 + 0x003a7> in <filename unknown>:0 
  at Fuse.Elements.Element.GetArrangePaddingSize (LayoutParams lp) <0x9ff1d68 + 0x00066> in <filename unknown>:0 
  at Fuse.Elements.StandardBoxSizing.CalcMarginSize (Fuse.Elements.Element element, LayoutParams lp) <0x9ff19d8 + 0x0024f> in <filename unknown>:0 
  at Fuse.Elements.Element.GetMarginSize (LayoutParams lp) <0x9ff1640 + 0x00222> in <filename unknown>:0 
  at Fuse.Layouts.DockLayout.ArrangePaddingBox (IList`1 elements, Float4 padding, LayoutParams lp) <0x9ff4e20 + 0x0052a> in <filename unknown>:0 
  at Fuse.Controls.LayoutControl.ArrangePaddingBox (LayoutParams lp) <0x9ff4138 + 0x0013c> in <filename unknown>:0 
  at Fuse.Controls.Panel.ArrangePaddingBox (LayoutParams lp) <0x9ff40a8 + 0x00073> in <filename unknown>:0 
  at Fuse.Elements.Element.OnArrangeMarginBox (Float2 position, LayoutParams lp) <0x9ff05e8 + 0x00205> in <filename unknown>:0 
  at Fuse.Visual.ArrangeMarginBox (Float2 position, LayoutParams lp) <0x9fefd18 + 0x00211> in <filename unknown>:0 
  at Fuse.Layouts.DefaultLayout.ArrangePaddingBox (IList`1 elements, Float4 padding, LayoutParams lp) <0x9ff4370 + 0x0035f> in <filename unknown>:0 
  at Fuse.Controls.LayoutControl.ArrangePaddingBox (LayoutParams lp) <0x9ff4138 + 0x0013c> in <filename unknown>:0 
  at Fuse.Controls.Panel.ArrangePaddingBox (LayoutParams lp) <0x9ff40a8 + 0x00073> in <filename unknown>:0 
  at Fuse.Elements.Element.OnArrangeMarginBox (Float2 position, LayoutParams lp) <0x9ff05e8 + 0x00205> in <filename unknown>:0 
  at Fuse.Visual.ArrangeMarginBox (Float2 position, LayoutParams lp) <0x9fefd18 + 0x00211> in <filename unknown>:0 
  at Fuse.Visual.OnArrangeMarginBox (Float2 position, LayoutParams lp) <0x9fefff0 + 0x000cf> in <filename unknown>:0 
  at Fuse.Visual.ArrangeMarginBox (Float2 position, LayoutParams lp) <0x9fefd18 + 0x00211> in <filename unknown>:0 
  at Fuse.Visual.PerformLayout (Float2 clientSize) <0x9fef8e0 + 0x00193> in <filename unknown>:0 
  at Fuse.Visual.PerformLayout () <0x9fef850 + 0x00043> in <filename unknown>:0 
  at Fuse.UpdateListener.Invoke () <0x9fee100 + 0x00053> in <filename unknown>:0 
  at Fuse.UpdateManager.ProcessListeners (Fuse.Stage stage, System.Collections.Generic.List`1& _exceptions) <0x9fedf40 + 0x00057> in <filename unknown>:0 
System.ExecutionEngineException: SIGILL
  at (wrapper managed-to-native) Fuse.Text.Implementation.FreeType:Init_FreeType (intptr&)
  at Fuse.Text.Implementation.FreeType.Init () <0x9ffb330 + 0x0001f> in <filename unknown>:0 
  at Fuse.Text.Implementation.FreeType.get_Library () <0x9ffb310 + 0x0000b> in <filename unknown>:0 
  at Fuse.Text.Implementation.FreeType.New_Memory_Face (System.Byte[] buffer, Int32 index, System.IntPtr& face) <0x9ffb2a8 + 0x0000b> in <filename unknown>:0 
  at Fuse.Text.Implementation.FreeTypeFontFace..ctor (System.Byte[] buffer, Int32 index, System.Predicate`1 stylePredicate) <0x9ffaf90 + 0x000ff> in <filename unknown>:0 
  at Fuse.Text.FontFace.Load (System.Byte[] data, Int32 index, System.Predicate`1 stylePredicate) <0x9ffaec0 + 0x00067> in <filename unknown>:0 
  at Fuse.Text.FontFace.Load (Fuse.Internal.FontFaceDescriptor descriptor) <0x9ffad60 + 0x00137> in <filename unknown>:0 
  at Fuse.Text.LazyFontFace.Force () <0x9ffac58 + 0x00053> in <filename unknown>:0 
  at Fuse.Text.LazyFont.Force () <0x9ffaac0 + 0x000b3> in <filename unknown>:0 
  at Fuse.Text.LazyFont.get_Ascender () <0x9ffaa90 + 0x00013> in <filename unknown>:0 
  at Fuse.Text.FallingBackFont.get_Ascender () <0x9ffaa50 + 0x0002b> in <filename unknown>:0 
  at Fuse.Controls.FuseTextRenderer.TextRenderer.UpdateFont () <0x9ff87a8 + 0x00187> in <filename unknown>:0 
  at Fuse.Controls.FuseTextRenderer.TextRenderer.GetContentSize (LayoutParams lp) <0x9ff8200 + 0x000d3> in <filename unknown>:0 
  at Fuse.Controls.TextControl.GetContentSize (LayoutParams lp) <0x9ff80d0 + 0x000df> in <filename unknown>:0 
  at Fuse.Elements.Element.InternGetContentSize (LayoutParams lp) <0x9ff5d70 + 0x00059> in <filename unknown>:0 
  at Fuse.Elements.StandardBoxSizing.CalcArrangePaddingSize (Fuse.Elements.Element element, LayoutParams lp) <0x9ff1de8 + 0x003a7> in <filename unknown>:0 
  at Fuse.Elements.Element.GetArrangePaddingSize (LayoutParams lp) <0x9ff1d68 + 0x00066> in <filename unknown>:0 
  at Fuse.Elements.StandardBoxSizing.CalcMarginSize (Fuse.Elements.Element element, LayoutParams lp) <0x9ff19d8 + 0x0024f> in <filename unknown>:0 
  at Fuse.Elements.Element.GetMarginSize (LayoutParams lp) <0x9ff1640 + 0x00222> in <filename unknown>:0 
  at Fuse.Layouts.StackLayout.GetElementsSize (IList`1 elements, LayoutParams lp) <0x9ff7b08 + 0x00176> in <filename unknown>:0 
  at Fuse.Layouts.StackLayout.GetContentSize (IList`1 elements, LayoutParams lp) <0x9ff7810 + 0x0010b> in <filename unknown>:0 
  at Fuse.Controls.LayoutControl.GetContentSize (LayoutParams lp) <0x9ff7350 + 0x00157> in <filename unknown>:0 
  at Fuse.Controls.Panel.GetContentSize (LayoutParams lp) <0x9ff7290 + 0x00097> in <filename unknown>:0 
  at Fuse.Elements.Element.InternGetContentSize (LayoutParams lp) <0x9ff5d70 + 0x00059> in <filename unknown>:0 
  at Fuse.Elements.StandardBoxSizing.CalcArrangePaddingSize (Fuse.Elements.Element element, LayoutParams lp) <0x9ff1de8 + 0x003a7> in <filename unknown>:0 
  at Fuse.Elements.Element.GetArrangePaddingSize (LayoutParams lp) <0x9ff1d68 + 0x00066> in <filename unknown>:0 
  at Fuse.Elements.StandardBoxSizing.CalcMarginSize (Fuse.Elements.Element element, LayoutParams lp) <0x9ff19d8 + 0x0024f> in <filename unknown>:0 
  at Fuse.Elements.Element.GetMarginSize (LayoutParams lp) <0x9ff1640 + 0x00222> in <filename unknown>:0 
  at Fuse.Layouts.DockLayout.ArrangePaddingBox (IList`1 elements, Float4 padding, LayoutParams lp) <0x9ff4e20 + 0x0052a> in <filename unknown>:0 
  at Fuse.Controls.LayoutControl.ArrangePaddingBox (LayoutParams lp) <0x9ff4138 + 0x0013c> in <filename unknown>:0 
  at Fuse.Controls.Panel.ArrangePaddingBox (LayoutParams lp) <0x9ff40a8 + 0x00073> in <filename unknown>:0 
  at Fuse.Elements.Element.OnArrangeMarginBox (Float2 position, LayoutParams lp) <0x9ff05e8 + 0x00205> in <filename unknown>:0 
  at Fuse.Visual.ArrangeMarginBox (Float2 position, LayoutParams lp) <0x9fefd18 + 0x00211> in <filename unknown>:0 
  at Fuse.Layouts.DefaultLayout.ArrangePaddingBox (IList`1 elements, Float4 padding, LayoutParams lp) <0x9ff4370 + 0x0035f> in <filename unknown>:0 
  at Fuse.Controls.LayoutControl.ArrangePaddingBox (LayoutParams lp) <0x9ff4138 + 0x0013c> in <filename unknown>:0 
  at Fuse.Controls.Panel.ArrangePaddingBox (LayoutParams lp) <0x9ff40a8 + 0x00073> in <filename unknown>:0 
  at Fuse.Elements.Element.OnArrangeMarginBox (Float2 position, LayoutParams lp) <0x9ff05e8 + 0x00205> in <filename unknown>:0 
  at Fuse.Visual.ArrangeMarginBox (Float2 position, LayoutParams lp) <0x9fefd18 + 0x00211> in <filename unknown>:0 
  at Fuse.Visual.OnArrangeMarginBox (Float2 position, LayoutParams lp) <0x9fefff0 + 0x000cf> in <filename unknown>:0 
  at Fuse.Visual.ArrangeMarginBox (Float2 position, LayoutParams lp) <0x9fefd18 + 0x00211> in <filename unknown>:0 
  at Fuse.Visual.PerformLayout (Float2 clientSize) <0x9fef8e0 + 0x00193> in <filename unknown>:0 
  at Fuse.Visual.PerformLayout () <0x9fef850 + 0x00043> in <filename unknown>:0 
  at Fuse.UpdateListener.Invoke () <0x9fee100 + 0x00053> in <filename unknown>:0 
  at Fuse.UpdateManager.ProcessListeners (Fuse.Stage stage, System.Collections.Generic.List`1& _exceptions) <0x9fedf40 + 0x00057> in <filename unknown>:0 

Which CPU do you have? What happens if you do uno build -r -tdotnet -DDISABLE_HARFBUZZ?

We’ve found out that there were several problems with the prebuilt libraries that we ship with Fuse when it comes to compatibility with older Mac models.

I’ve submitted a pull request for a fix, and you can follow its progress here. It’s too late for it to be included in the coming patch release since that’s already being tested, but it will likely be included in the release after that. If you’re feeling brave you can try a local checkout of the fuselibs branch in the pull request linked above in the meantime.