Giter Site home page Giter Site logo

Comments (10)

vpmedia avatar vpmedia commented on June 23, 2024

Hi,
I've tried to reproduce your problem and can confirm it exists..

Currently i'm doing some maintenance on the SDK,

you can find the fork here:
https://github.com/vpmedia/crossbridge
..and the project site here:
https://sourceforge.net/projects/crossbridge-community/
If you have some free time please try to build the SDK so I can have feedbacks.

Most of the thread impl. is in these files:
posix
C_Run.as
CModule.as
libcHack.c

I'll try to look more into it later..

from crossbridge.

vpmedia avatar vpmedia commented on June 23, 2024

I would start to enable the trace statements, so have some sense about the execution flow..
Also worth to try to enable the try catch exception here:
C_Run.as : 249 : public function threadArbCondWait(timo:Number):Boolean

from crossbridge.

vpmedia avatar vpmedia commented on June 23, 2024

Also i think the whole implementation should be reviewed according to AS3 API updates.

from crossbridge.

vpmedia avatar vpmedia commented on June 23, 2024

it looks like that the issue is quite old:
https://forums.adobe.com/message/5143791
any chance for Adobe support on this one?

from crossbridge.

shaul-yermol avatar shaul-yermol commented on June 23, 2024

Hi

Well, I'm a little frustrated.

  1. SDK build:
    I have cygwin, java, installed cygwin tools for autoconf and so on. But building SDK failes. Do you have a "how-to" explaining of enviroment setup on Windows or Linux?

  2. The traces and debugging.
    GDB does not work with SWC/SWF samples (it can not connect at all), and crashes with segfault with multithreaded swf.
    FDB does not work with multithreaded applications at all, or maybe I'm just missing something.

So even if I compile the C_Run.as file to ABC and somehow compile it into my SWF - how can I see the traces? Flash Scout maybe?

Sorry for the stupid questions, but my tech background is really miles away from Flash and Windows.

from crossbridge.

vpmedia avatar vpmedia commented on June 23, 2024

Some help for debugging SWFs:

  1. Download Flash Debug Player: https://www.adobe.com/support/flashplayer/downloads.html (I would recommend to setup both for browsers and standalone, second is essential for CrossBridge)
  2. Setup Flash Player logging/debugging: https://helpx.adobe.com/flash-player/kb/configure-debugger-version-flash-player.html (You will find a flashlog.txt if setup is succeeded, like: \Users\USERNAME\AppData\Roaming\Macromedia\Flash Player\Logs\ on Win7)
  3. Set FLASH_PLAYER_EXE environment variable pointing to Flash Player Standalone location, like:
    FLASH_PLAYER_EXE=C:\Work\tools\flashplayer.exe
  4. Set FLASCC_GDB_RUNTIME env. variable pointing to F.P. Standalone with Cygwin style path, like: FLASCC_GDB_RUNTIME=/cygdrive/c/Work/tools/flashplayer.exe
  5. Download Adobe AIR SDK from: https://www.adobe.com/devnet/air/air-sdk-download.html
  6. Set AIR_HOME env. variable pointing to SDK location, like: AIR_HOME=C:\Work\sdks\adobe-air\14.0
  7. Learn about FDB for CrossBridge debugging here: https://www.adobe.com/devnet-docs/flascc/docs/gdb_nonstop.html
  8. Learn more about FDB for Flex/Flash here: http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7ffb.html

from crossbridge.

vpmedia avatar vpmedia commented on June 23, 2024

Some help for building CrossBridge SDK from source:

  1. Download Cygwin pre-installed distribution from here (Needed only for Win.):
    http://sourceforge.net/projects/crossbridge-community/files/cygwin-for-sdk-devs.zip/download
  2. Take a look at README.md inside the ZIP package
  3. Take a look at: https://github.com/vpmedia/crossbridge/blob/master/INSTALL.md
  4. Check build logs at _\crossbridge\build\win\logs_
  5. Check config log at failing build target, like: \build\win\llvm-gcc-42\config.log
  6. Provide these logs if you cannot solve the issue by self

from crossbridge.

shaul-yermol avatar shaul-yermol commented on June 23, 2024

Thanks so much for the help!

from crossbridge.

vpmedia avatar vpmedia commented on June 23, 2024

Hi,

After decompiling two different versions of the test program I've found out that the following statement causes the issue:

\posix\CModule.as

public static function startAsync

// try to set us as the ui thread
try {
C_Run.workerClass["current"].setSharedProperty("flascc.uiThread.threadId", realThreadId);
} catch(e:*) {}

If I comment this out I can run the embedded SWCs spawnThread method in my application (If I run it using startAsync rather than startBackground).

I'll release soon a new version of CrossBridge here with the fix:
http://sourceforge.net/projects/crossbridge-community/files/1.0.4/

Anyway some feedback from the previous maintainers would be awesome, why this change has been applied since Flascc (CrossBridge) 1.0.0

  • Edit:

Reviewing the changelist from 1.0.1 this one is a candidate:

  • avm2_uithunk no longer fails when content was started using CModule.startAsync() due to incorrect assignment of thread ids
  • Edit 2:

crossbridge-community@294c54f

from crossbridge.

vpmedia avatar vpmedia commented on June 23, 2024

Hi, I've uploaded a release with the fix for the issue:
http://sourceforge.net/projects/crossbridge-community/files/1.0.4/CrossBridge_1.0.4.2.zip/download

from crossbridge.

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.