What causes lldb_unnamed_symbol

Hello:

I'm linking my Swift app against an Objective-c framework. I can call all the methods within the class in the framework, except for one.

When I try and call it, I get an exception:

#0 0x00007fff2037b829 in objc_msgSend () #1 0x000000010f856df4 in ___lldb_unnamed_symbol147$$MyFramework ()

I don't think it's the signature of the method, I can jump to the definition in the header file and the definition of the parameters the method needs. And even if it was a signature mismatch, that's a compile error.

So what would cause an error like this.

Thanks in advance for your time

John

Replies

When I try and call it, I get an exception

Can you post a full Apple crash report for this?

See Posting a Crash Report for advice on how to do that.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Quinn:

(Where's my Manfred Mann (or Bob Dylan)? It used to be around here someplace...).

I've attached a crash log. Doesn't make much sense - isKindOfClass is failing. Could it be the return type, it's a 'long long' that's been typedef'd.

Any pointers would be appreciated.

John

PS: I remember that you rang me a long time ago about some AD stuff I was having a problem with...

Where's my Manfred Mann (or Bob Dylan)?

We’re definitely Team Manfred Mann™ here at Chez Quinn (-: [1]

I've attached a crash log.

Thanks.

Consider this:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib                  … objc_msgSend + 41
1   org.libsdl.SDL2                  … 0x1065e0000 + 974011
2   org.libsdl.SDL2                  … 0x1065e0000 + 994739
3   us.zoom.VideoSDKRender           … 0x106160000 + 24052
4   us.zoom.VideoSDKRender           … 0x106160000 + 15869
5   us.zoom.VideoSDKRender           … 0x106160000 + 27173
6   com.Olivers.Olivers-Digital-Lock … ZoomVideoHelper.createAnItemHandle(theRect:theRenderMode:) + 2988
7   com.Olivers.Olivers-Digital-Lock … ZoomVideoHelper.finishInitialization() + 4391
8   com.Olivers.Olivers-Digital-Lock … AppDelegate.applicationDidFinishLaunching(_:) + 2724 (AppDelegate.swift:100)
9   com.Olivers.Olivers-Digital-Lock … @objc AppDelegate.applicationDidFinishLaunching(_:) + 141
10  com.apple.CoreFoundation      	 … __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12

Frame 0 is the immediate crash site. As you say, having -isKindOfClass: fail doesn’t make a lot of sense. What this actually means is that you’ve passed it something that’s not an object.

Frames 1 through 5 have no symbols, so it’s hard to say what’s going on. You may be able to learn more by symbolicating these. See Adding Identifiable Symbol Names to a Crash Report.

Frames 6 through 9 are your code. Clearly your applicationDidFinishLaunching(…) method is called and you’re in the process of setting up a ZoomVideoHelper. Notably you’re missing a line number these frames, which again suggests that further symbolication is needed.

So, in summary, your app is in the process of being launched and some call from ZoomVideoHelper.createAnItemHandle(…) in to ZoomVideoSDKRender framework has eventually resulted in a call into the SDL2 framework which has managed to pass a bogus object to the Objective-C runtime.


This is clearly some sort of memory management problem. In many cases you can make the problem more reproducible, and get some idea as to what’s triggering it, by using the standard memory debugging tools.

This may point to ZoomVideoSDKRender, or the SDL2 framework it contains, being the culprit. Is that code open source? If not, you may need to ask the vendor for help tracking down this issue.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] In this case only. I love me some Dylan in other contexts (-:

  • Quinn:

    It was an execution order thing. There's a metric tonne[1] of objects that have to be created, and I got one out of order.

    Thanks for your explanation and patience.

    John

    [1]: In Canada, for those on the Imperial System, one thousand pounds?

  • Actually a tonne is 1,000 kg and thus (close to) 2,200 pounds — Quinn (who grew up in Australia and thus has waged a life-long war against Imperial)

Add a Comment