crossbridge-community / crossbridge

C/C++ Compiler for the ActionScript Virtual Machine (AVM2)
http://sourceforge.net/projects/crossbridge-community/
Other
151 stars 35 forks source link

Threading issue on OS X #92

Open rainbowcreatures opened 8 years ago

rainbowcreatures commented 8 years ago

This is something I didn't have a chance to investigate yet, but got reports that it started to appear (on OS X only) when using my lib. I guess it has to do with the recent Flash Player release(s), because before it was fine:

'CModule::startAsync console: [object FWVideoEncoder] args: null env: null preserveStack: true isAutoSetRealThreadId: true CModule::start console: [object FWVideoEncoder] args: env: preserveStack: true terminate called after throwing an instance of ' __gnu_cxx::__concurrence_unlock_error '

what():

__gnu_cxx::__concurrence_unlock_error'

Does this ring a bell, any hints on how to fix it? Thanks!

Ugh, sorry for the huge fonts.

vpmedia commented 8 years ago

I can only guess that while Adobe is fixing security vulnerabilities they are breaking compatibility with CrossBridge. Your best bet is to post this issue in the FlashPlayer bugtracker.

Also I'm sorry to tell that my actual and future work does not involve actionscript or crossbridge at all, so I do not plan any further updates in this or any of my flash projects. While I understand that in some situations it is not possible - I strongly urge you to make strategies falling back from flash to html5 or to any other alternatives (are there any?:).

I think the past and most the last years track record of security issues really highlighted that the flash player vm is not made security in mind so many vendors have started to block it by default, also its a higher risk for clients.

rainbowcreatures commented 8 years ago

Hey there, yeah definitely I'll have to use bugtracker if I can't pinpoint it, was just curious if this doesn't ring a bell..

Myself I would go away from Flash(at least web Flash) with this project already, I really don't like their updates breaking Alchemy stuff at least several times per year.

The problem is there seems no reliable way to do video encoding on client side, in web browser. I was researching a bit if it would be sensible to port the code to emscripten, but I do not think it would be fast enough compared to AS3 (correct me if I'm wrong). Also I'm using pthreads to encode on background thread. From what I last saw pthreads were still experimental.

I still do have customers for Flash too so I'm stuck with it unless I just abandon support for it. Otherwise I'm also working on other projects which are HTML5 / JS based, so hopefully in time I'll just move activities there but until the I hope that I can keep the encoder alive if it isn't a huge effort.

jasonsturges commented 8 years ago

Brutal time for Flash, or Animate as it has been renamed: https://blogs.adobe.com/flashpro/welcome-adobe-animate-cc-a-new-era-for-flash-professional/

While you could transpile to other alternatives, leveraging Haxe for JavaScript or even native assembly, perhaps you could offload encoding to a backend server or standalone app?

rainbowcreatures commented 8 years ago

Yes, I've heard about the rename :/ Like honestly I don't even mind web Flash going away, I don't think it has much place with HTML5 / JS around. I still do like AIR and think it should have more support ...

I'm already supplying standalones (AIR ANE for all platforms).

I was considering offloading encoding to server too, creating a service for that, but that defeats the point of client side encoding. While Flash is fading away I don't think it would have much sense to invest time into creating such new service. Maybe for HTML5 apps it would be a good idea, but that doesn't align with my current goals so I guess I'll need to keep the zombie alive for a while if possible & keep the server side to others.

jasonsturges commented 8 years ago

There are Chrome browser apps and extensions that record and encode client-side, as another option.

rainbowcreatures commented 8 years ago

Yep, I bet..the thing with Flash is nobody needs to install anything, it just works. Anyway my problem now i guess :O I'll try to see what the issue is, I'll ping Chris Campbell again if its issue in FP, hopefully they fix it like they did few times before. If its something in Crossbridge that needs to be also changed it would be cool to get at least hints where to look, I could try to do it myself and recompile Crossbridge if I need to...anyway getting ahead of myself.

Thanks, Pavel

trzecieu commented 8 years ago

Also I'm sorry to tell that my actual and future work does not involve actionscript or crossbridge at all, so I do not plan any further updates in this or any of my flash projects.

Thank you @vpmedia for supporting this project up to current state!