App crashes when compiled with Xojo 2017r1

One of my app crashes when compiling with 2017r1 - works fine with 2016r4

The odd thing is that it works fine in debug mode but it doesn’t in build. So it is hard to pinpoint were it exactly crashes.
This is the part it crashes.
I Googled for CFRetain() called with NULL and it drops a lot of hits. But still cannot find were to look for.

So my question … what’s CFRetain?

Crash log:

Time Awake Since Boot: 8200 seconds

System Integrity Protection: enabled

Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY

Application Specific Information:
*** CFRetain() called with NULL ***

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.apple.CoreFoundation 0x00007fff8d167584 CFRetain + 180
1 com.xojo.XojoFramework 0x000000010ceea4f9 0x10ce6c000 + 517369
2 com.xojo.XojoFramework 0x000000010cee7b86 0x10ce6c000 + 506758
3 com.osxbytes.iffmpeg6 0x000000010ab385e8 REALbasic.InStr%i8%i8ss + 24
4 com.osxbytes.iffmpeg6 0x000000010ab2e6c7 HTTPSocket._DetermineEOLCharacter%s%os + 311
5 com.osxbytes.iffmpeg6 0x000000010ab2fda2 HTTPSocket._HandleNewData%%o + 722
6 com.osxbytes.iffmpeg6 0x000000010ab269d1 HTTPSocket.Event_DataAvailable%%o + 49
7 com.xojo.XojoFramework 0x000000010cee6c00 0x10ce6c000 + 502784
8 com.xojo.XojoFramework 0x000000010cee36c0 0x10ce6c000 + 489152
9 com.xojo.XojoFramework 0x000000010cee600c 0x10ce6c000 + 499724
10 com.xojo.XojoFramework 0x000000010d042c79 0x10ce6c000 + 1928313
11 com.xojo.XojoFramework 0x000000010cf01cf2 0x10ce6c000 + 613618
12 com.xojo.XojoFramework 0x000000010cf246f6 0x10ce6c000 + 755446
13 com.apple.CoreFoundation 0x00007fff8d1f2af4 CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION + 20
14 com.apple.CoreFoundation 0x00007fff8d1f2783 __CFRunLoopDoTimer + 1075
15 com.apple.CoreFoundation 0x00007fff8d1f22da __CFRunLoopDoTimers + 298
16 com.apple.CoreFoundation 0x00007fff8d1e97d1 __CFRunLoopRun + 1841
17 com.apple.CoreFoundation 0x00007fff8d1e8e38 CFRunLoopRunSpecific + 296
18 com.apple.HIToolbox 0x00007fff997e4935 RunCurrentEventLoopInMode + 235
19 com.apple.HIToolbox 0x00007fff997e476f ReceiveNextEventCommon + 432
20 com.apple.HIToolbox 0x00007fff997e45af _BlockUntilNextEventMatchingListInModeWithFilter + 71
21 com.apple.AppKit 0x00007fff98b8ddf6 _DPSNextEvent + 1067
22 com.apple.AppKit 0x00007fff98b8d226 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
23 com.xojo.XojoFramework 0x000000010ceaa7aa 0x10ce6c000 + 255914
24 com.xojo.XojoFramework 0x000000010ceaa7ee 0x10ce6c000 + 255982
25 com.osxbytes.iffmpeg6 0x000000010ab7c977 Delegate.Invoke%% + 7
26 com.osxbytes.iffmpeg6 0x000000010aa71e81 Application._CallFunctionWithExceptionHandling%%op + 273
27 com.xojo.XojoFramework 0x000000010d00f235 0x10ce6c000 + 1716789
28 com.xojo.XojoFramework 0x000000010ceaa747 0x10ce6c000 + 255815
29 com.apple.AppKit 0x00007fff98b81d80 -[NSApplication run] + 682
30 com.xojo.XojoFramework 0x000000010d00d5eb RuntimeRun + 40
31 com.osxbytes.iffmpeg6 0x000000010ab3ae38 REALbasic._RuntimeRun + 24
32 com.osxbytes.iffmpeg6 0x000000010c59a320 _Main + 480
33 com.osxbytes.iffmpeg6 0x000000010c5979f1 main + 65
34 com.osxbytes.iffmpeg6 0x000000010aa17724 start + 52

Could be related to https://forum.xojo.com/18780-kaju-self-updater-talk/239

Any fix for this?

CFRetain tells the OS that you want to keep this OS object around, once you’ve finished with it, you’d call CFRelease and if nothing else is using that Object, the OS releases it from memory.

Basically somewhere in the depths; it would appear that the Xojo framework is telling the OS, hey I want to keep this object and the OS then craps it’s pants as it’s not been given an object.

If you can reproduce this; file a private bug report and include the project so Xojo can run it.

4 com.osxbytes.iffmpeg6 0x000000010ab2e6c7 HTTPSocket._DetermineEOLCharacter%s%o<HTTPSocket>s + 311 5 com.osxbytes.iffmpeg6 0x000000010ab2fda2 HTTPSocket._HandleNewData%%o<HTTPSocket> + 722 6 com.osxbytes.iffmpeg6 0x000000010ab269d1 HTTPSocket.Event_DataAvailable%%o<HTTPSocket> + 49
Are you using the old sockets in your project or the new xojo.core.httpsocket?

I use the classic httpsocket. Will try with the new Xojo.core.httpsocket.

I did read in the other forum link, it only happens when the language is set to Japanese. On my system it is set to Dutch. If I set the OS language to English, it works fine. That may sound like a Xojo bug.

Or same bad assumption on size in your HandleNewData or DetermineEOLCharacter