Giter Site home page Giter Site logo

Comments (6)

Shabinder avatar Shabinder commented on August 26, 2024
image

from zipline.

Shabinder avatar Shabinder commented on August 26, 2024

Thread with all details.
https://kotlinlang.slack.com/archives/C5HT9AL7Q/p1700181390990159?thread_ts=1691432897.694099&cid=C5HT9AL7Q

from zipline.

Shabinder avatar Shabinder commented on August 26, 2024

Any update ?

have been stuck on kotlin 1.9.10 and zipline 1.2.0, since above doesnt work. I am more than happy to provide info in any way possible or do a brief sync explaining the steps to repro same.

Case 1: ✅

  • Using zipline 1.2.0 host and jsSource both works fine.

Case 2: 🔴

  • used zipline 1.8.0 in host(android) and jsSources built with 1.2.0: StackOverflow (looped on below trace)
    • ZiplineServiceAdapterKt.descriptorName refer below image for full trace
      - So this breaks the promise done in readme for 1.x host and binary compatibility ⚠️
      image

Case 3: 🔴

  • used zipine 1.8.0 for both host and runtime jsBinaries, gave below hard crash
    • Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x7b7f130ff8 in tid 30292 (DefaultDispatch), pid 30209 (ndbound.preview) refer below image for full trace
image

from zipline.

Shabinder avatar Shabinder commented on August 26, 2024

After many iteration on finding out what works and what doesnt,

Below Commit is what makes the difference, with commit, plugins are loaded as expected, without, get stackOverflow error as shown.

Shabinder@801b3d6

Shortlisted as much as I could, lmk if I can help or diagnose it more in any other way

from zipline.

JakeWharton avatar JakeWharton commented on August 26, 2024

So it seems like a type with a recursive descriptor. We can change the calculation to put in a placeholder character for when it recurses by keeping a set of seen types. Will have to try and reproduce, but should be pretty easy give what you've found out so far.

from zipline.

minteemer avatar minteemer commented on August 26, 2024

Got the same exception when using JsonElement as return type of a suspending ZiplineService method:

interface ExampleService : ZiplineService {

  suspend fun example(): JsonElement
}

JsonElement might be JsonArray or JsonObject, which in turn contains List<JsonElement> or Map<String, JsonElement>, thus recursion appears.
A big problem for us, as we wanted to use JsonElement as a return type to get abstract tree of analytics params this way.

This exception does not seem to appear when using JsonElement in return type of non-suspending functions or when using it in function parameters.

from zipline.

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.