Giter VIP home page Giter VIP logo

Comments (3)

bzbarsky-apple avatar bzbarsky-apple commented on June 10, 2024

Some more data:

(lldb) f 2
frame #2: 0x00000001181d2a10 Matter`chip::System::TLVPacketBufferBackingStore::FinalizeBuffer(this=0x000000016dc40838, writer=0x000000016dc407f8, bufStart="\U000000150\U00000001 }A\xc7N\xa8\U00000012\xaa\x97\xfd\xc2\xda`)+N\xeb\xb5\U0000001bF#C+\xe7\U0000001f\x9b\U0000000eS\xcd", dataLen=76) at TLVPacketBufferBackingStore.cpp:82:21
(lldb) p sizeof(chip::System::PacketBuffer)
(unsigned long) 24
(lldb) f 1
frame #1: 0x00000001181616a0 Matter`chip::System::PacketBuffer::SetDataLength(this=0x00000001095028a0, aNewLen=76, aChainHead=0x000000016dc40840) at SystemPacketBuffer.h:703:19
(lldb) p sizeof(chip::System::PacketBuffer)
error: <user expression 14>:1:22: reference to 'PacketBuffer' is ambiguous
sizeof(chip::System::PacketBuffer)
                     ^
note: candidate found by name lookup is 'chip::System::PacketBuffer'

note: candidate found by name lookup is 'chip::System::PacketBuffer'

which seems like for some reason we have two definitions of chip::System::PacketBuffer around, and different objects end up linking different ones...

from connectedhomeip.

bzbarsky-apple avatar bzbarsky-apple commented on June 10, 2024

I wonder whether we have a copy from libCHIP.a and another copy from the direct uses in Matter.framework (included by MTRBaseDevice_Internal.h and used in MTRCommandPayloadsObjc.mm and MTRBaseDevice.mm). And the latter is not getting recompiled when the header changes, leading to link-time randomness depending on which things end up finding which version of the class to link to.

from connectedhomeip.

bzbarsky-apple avatar bzbarsky-apple commented on June 10, 2024

OK, so running

touch src/darwin/Framework/CHIP/MTRBaseDevice.mm src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm

when in the broken state makes things work.

from connectedhomeip.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.