libc++abi.dylib: terminating with uncaught exception of type uThrowable: Uno.Exception

Version fuse and so

fuse v 1.4.0
mac sierra hight

What do I expect?

I expect to have the string represented in the observable in uppercase

What’s going on?

The build ios and android version crash but the preview version instead works correctly.

libc++abi.dylib: terminating with uncaught exception of type uThrowable: Uno.Exception

Reproduce the issue

<App>

	<JavaScript>
	var Observable = require("FuseJS/Observable");
	var obj = Observable("Hello");
	module.exports={
		obj:obj
	}
	</JavaScript>
	<Panel ux:Class="MyText">
		<string ux:Property="Value"/>
		<Text Value="{=toUpper({ReadProperty Value})}"/>
	</Panel>

	<MyText Value="{obj}"/>
</App>

ERROR BUILD IOS E ANDROID


(lldb) command source -s 0 '/tmp/EA156F0A-E9E3-4CDD-8992-483FEAF0E37E/fruitstrap-lldb-prep-cmds-42ce3449082afdfbb89718db203e6c317ce33a8e'
Executing commands in '/tmp/EA156F0A-E9E3-4CDD-8992-483FEAF0E37E/fruitstrap-lldb-prep-cmds-42ce3449082afdfbb89718db203e6c317ce33a8e'.
(lldb)     platform select remote-ios --sysroot '/Users/r0xstation/Library/Developer/Xcode/iOS DeviceSupport/11.0.3 (15A432)/Symbols'
  Platform: remote-ios
 Connected: no
  SDK Path: "/Users/r0xstation/Library/Developer/Xcode/iOS DeviceSupport/11.0.3 (15A432)/Symbols"
(lldb)     target create "/Users/r0xstation/Fuse/App6/build/iOS/Debug/build/Release-iphoneos/App6.app"

Current executable set to '/Users/r0xstation/Fuse/App6/build/iOS/Debug/build/Release-iphoneos/App6.app' (arm64).
(lldb)     script fruitstrap_device_app="/private/var/containers/Bundle/Application/913BDFB8-F5FE-4EB9-B5C6-9E5BC5A1AFE8/App6.app"
(lldb)     script fruitstrap_connect_url="connect://127.0.0.1:57513"
(lldb)     target modules search-paths add /usr "/Users/r0xstation/Library/Developer/Xcode/iOS DeviceSupport/11.0.3 (15A432)/Symbols/usr" /System "/Users/r0xstation/Library/Developer/Xcode/iOS DeviceSupport/11.0.3 (15A432)/Symbols/System" "/private/var/containers/Bundle/Application/913BDFB8-F5FE-4EB9-B5C6-9E5BC5A1AFE8" "/Users/r0xstation/Fuse/App6/build/iOS/Debug/build/Release-iphoneos" "/var/containers/Bundle/Application/913BDFB8-F5FE-4EB9-B5C6-9E5BC5A1AFE8" "/Users/r0xstation/Fuse/App6/build/iOS/Debug/build/Release-iphoneos" /Developer "/Users/r0xstation/Library/Developer/Xcode/iOS DeviceSupport/11.0.3 (15A432)/Symbols/Developer"

(lldb)     command script import "/tmp/EA156F0A-E9E3-4CDD-8992-483FEAF0E37E/fruitstrap_42ce3449082afdfbb89718db203e6c317ce33a8e.py"
(lldb)     command script add -f fruitstrap_42ce3449082afdfbb89718db203e6c317ce33a8e.connect_command connect
(lldb)     command script add -s asynchronous -f fruitstrap_42ce3449082afdfbb89718db203e6c317ce33a8e.run_command run
(lldb)     command script add -s asynchronous -f fruitstrap_42ce3449082afdfbb89718db203e6c317ce33a8e.autoexit_command autoexit
(lldb)     command script add -s asynchronous -f fruitstrap_42ce3449082afdfbb89718db203e6c317ce33a8e.safequit_command safequit
(lldb)     connect

(lldb)     run

success
(lldb)     autoexit

libc++abi.dylib: terminating with uncaught exception of type uThrowable: Uno.Exception


PROCESS_STOPPED
Process 1417 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
    frame #0: 0x0000000180c09348 libsystem_kernel.dylib`__pthread_kill + 8
libsystem_kernel.dylib`__pthread_kill:
->  0x180c09348 <+8>:  b.lo   0x180c09360               ; <+32>
    0x180c0934c <+12>: stp    x29, x30, [sp, #-0x10]!
    0x180c09350 <+16>: mov    x29, sp
    0x180c09354 <+20>: bl     0x180bea238               ; cerror_nocancel
Target 0: (App6) stopped.

* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
  * frame #0: 0x0000000180c09348 libsystem_kernel.dylib`__pthread_kill + 8
    frame #1: 0x0000000180d1d354 libsystem_pthread.dylib`pthread_kill$VARIANT$mp + 396
    frame #2: 0x0000000180b78fd8 libsystem_c.dylib`abort + 140
    frame #3: 0x00000001805dc068 libc++abi.dylib`abort_message + 132
    frame #4: 0x00000001805dc1f8 libc++abi.dylib`default_terminate_handler() + 280
    frame #5: 0x0000000180604820 libobjc.A.dylib`_objc_terminate() + 140
    frame #6: 0x00000001805f454c libc++abi.dylib`std::__terminate(void (*)()) + 16
    frame #7: 0x00000001805f45b8 libc++abi.dylib`std::terminate() + 60
    frame #8: 0x000000018060476c libobjc.A.dylib`objc_terminate + 12
    frame #9: 0x0000000180a7505c libdispatch.dylib`_dispatch_client_callout + 36
    frame #10: 0x0000000180a7c6c8 libdispatch.dylib`_dispatch_block_invoke_direct$VARIANT$mp + 288
    frame #11: 0x00000001837c5a04 FrontBoardServices`__FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 36
    frame #12: 0x00000001837c56a8 FrontBoardServices`-[FBSSerialQueue _performNext] + 404
    frame #13: 0x00000001837c5c44 FrontBoardServices`-[FBSSerialQueue _performNextFromRunLoopSource] + 56
    frame #14: 0x0000000181098358 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
    frame #15: 0x00000001810982d8 CoreFoundation`__CFRunLoopDoSource0 + 88
    frame #16: 0x0000000181097b60 CoreFoundation`__CFRunLoopDoSources0 + 204
    frame #17: 0x0000000181095738 CoreFoundation`__CFRunLoopRun + 1048
    frame #18: 0x0000000180fb62d8 CoreFoundation`CFRunLoopRunSpecific + 436
    frame #19: 0x0000000182e47f84 GraphicsServices`GSEventRunModal + 100
    frame #20: 0x000000018a563880 UIKit`UIApplicationMain + 208
    frame #21: 0x000000010094983c App6`main(argc=<unavailable>, argv=<unavailable>) at Main.mm:14 [opt]
    frame #22: 0x0000000180ada56c libdyld.dylib`start + 4

Thanks for a simply excellent bug report!

I’ve now logged an internal ticket and this will be investigated.

As a temporary workaround, you can try setting a default value for the property on the class:

<Panel ux:Class="MyText" Value="default value">
    <string ux:Property="Value" />

Just thought I’d point out that this one has been fixed a long time ago.