Acknowledged receipt of canvas death jme3 - lwjgl

I am using JmonkeyEngine SDk 3 to develop a software simulation program.
To cut the story short, I created a canvas in an internal frame inside a swing Jframe object.
when I close the internal frame I remove all its components, then I get that message in the log screen
"May 29, 2013 2:48:29 PM com.jme3.system.lwjgl.LwjglCanvas$GLCanvas removeNotify
INFO: EDT: Acknowledged receipt of canvas death"
and then my java application stops responding to any other commands.
Any help with removing the canvas safely?

Related

Autodesk Forge Design Automation Freeze

We are running an application using Forge Design Automation for Revit and have an issue I can't fully explain. Our tests have been working just fine but we got a couple lately that seem to freeze inside Revit as far as I can tell. Here is the OnStartup method of my external application:
public ExternalDBApplicationResult OnStartup(ControlledApplication application)
{
SharedData.Initialize(new LoggerConsole());
// Startup is only for registering the DA ready event
SharedData.Log.AddLine("Design automation startup in App");
DesignAutomationBridge.DesignAutomationReadyEvent += DesignAutomationBridge_DesignAutomationReadyEvent;
SharedData.Log.AddLine("Design automation event registered");
return ExternalDBApplicationResult.Succeeded;
}
Here is the outline of the event handler referenced:
void DesignAutomationBridge_DesignAutomationReadyEvent(object sender, DesignAutomationReadyEventArgs e)
{
// Start the actual processing here
SharedData.Log.AddLine($"Into automation ready event, working directory is: {Environment.CurrentDirectory}");
...Other Code...
}
The log for one of the jobs I'm talking about (clipped to relevant portion) looks as follows:
[12/10/2020 01:34:42] Design automation startup in App
[12/10/2020 01:34:42] Design automation event registered
[12/10/2020 01:34:42] Initialize and get RCE: (VersionBuild) 21.1.10.26 (VersionNumber) 2021 (SubVersionNumber) 2021.2
[12/10/2020 04:34:33] Error: Revit Core Engine Core Console is shut down due to process time limit.
[12/10/2020 04:34:33] End script phase.
As you can see, it makes it to the log line about event registered so the only thing left to do after that is return success. It does seem to get that success because the next log line is from inside Revit (the one that starts with 'Initialize and get'). Then after that it seems to wait 3 hours and then error because of time out. It never logs the very first line of the event handler so as far as I can tell that's not getting called.
Anyone else experienced this? How would you even go about debugging it?

Chrome launched from service freeze with ^#^#^#^# output

We are running a Chrome from a linux service and sometimes the instance of chrome freeze (and all the computer too) unexpectedly with the following error :
May 27 21:57:51 Q190N-prototype google-chrome[24703]: [24703:24703:0527/215751.950576:INFO:CONSOLE(342)] "nextVideo()", source: http://192.168.22.16/animatic/static/js/player/index.js?ver=1558013787 (342)
May 27 21:57:51 Q190N-prototype google-chrome[24703]: [24703:24703:0527/215751.952062:INFO:CONSOLE(342)] "nextVideo()", source: http://192.168.22.16/animatic/static/js/player/index.js?ver=1558013787 (342)
May 27 21:58:03 Q190N-prototype google-chrome[24703]: [24703:24703:0527/215803.050265:INFO:CONSOLE(342)] "nextVideo()", source: http://192.168.22.16/animatic/static/js/player/index.js?ver=1558013787 (342)
May 27 21:58:03 Q190N-prototype google-chrome[24703]: [24703:24703:0527/215803.051856:INFO:CONSOLE(342)] "nextVideo()", source: http://192.168.22.16/animatic/static/js/player/index.js?ver=1558013787 (342)
^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#
^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#
^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#
^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#May 28 10:33:49 Q190N
-prototype lvm[213]: 2 logical volume(s) in volume group "debian-vg" monitored
May 28 10:33:49 Q190N-prototype keyboard-setup.sh[211]: Impossible d'ouvrir le fichier /tmp/tmpkbd.k7WSzt
Any idea in order to solve this problem is welcome...
You probably have a problem on index.js or another imported script.
There are a list of possibilities, but most times freeze is caused by while(true) or long loops.
If this is the problem, try:
You can break the calculation up into pieces and do a piece at a time on a
setTimeout(). On each setTimeout() call, the browser will be free to serve other
events and will keep the page alive and responive. When you finish the last piece of the calculation, you can then carry out the result.
You can run the calculation in the background using a webworker in modern browsers. When the calcuation is done in the webworker, it sends a message back to the main thread and you can then update the DOM with the result.
This answer might help: https://stackoverflow.com/a/49961782/11578778
I hope this helps!
Brhaka
This seems like a buffer overflow to me, Q190N-prototype keyboard-setup.sh is the linux keyboard map and stores the map file in /tmp.
/tmp/tmpkbd.k7WSz seems like the map file for keyboard binding.
^#^#^#^#^#^#^#^#^#^#^#^# is definitely garbage from memory. Now the question is what are how is your player jumping to this address. Is it waiting for some keyboard input at some point of time while playing media. May be at the end when to play next or something.
Its either a permission or file not found issue
try it with sudo once and see if you can reproduce the error

iOS 8 - Starling context loss on open camera roll gallery

I am creating an app on iOS in Flash Builder, with as3.
The app uses the Starling plugin: http://wiki.starling-framework.org/start
My app allows users to take photos and customise them. When attempting to access the camera or camera roll on iOS 8, I get the error message "The application lost the device context!".
On Android, I can get around this problem with this line:
Starling.handleLostContext = true;
But I am told that iOS should never lose context (and I haven't seen it lose context on iOS 7 or below).
If I include that line in iOS 8, the application crashes at around the same point, but in this case the app crashes completely, and returns me to the home screen rather than displaying the previous message.
I have heard there are restrictions on iOS 8 with regards to the use of 64 bit/32 bit plugins and extensions, but I am not using any ANEs in this particular app. Are there any other areas where 32-bit could be causing problems or is that strictly related to ANEs?
I don't get this error on iOS 7 or below or Android, unless I set handleLostContext to false.
Adobe Scout provides no error message.
Any help would be appreciated.
UPDATE:
This code calls in the camera functionality:
var cameraRoll:CameraRoll = new CameraRoll();
if(CameraRoll.supportsBrowseForImage) {
trace("camera rolling");
cameraRoll.addEventListener(MediaEvent.SELECT, imageSelected);
cameraRoll.addEventListener(flash.events.Event.CANCEL, browseCanceled);
cameraRoll.addEventListener(flash.events.ErrorEvent.ERROR, galleryMediaError);
cameraRoll.browseForImage();
} else {
var alert:Alert = Alert.show("Image browsing is not supported on this device.", "Error", new ListCollection([{label:"OK"}]));
}
UPDATE 2:
I've switched from AIR SDK 17 to 16, and it is now more stable but has similar issues
There is a known issue with the camera roll in iOS which will cause stage3d to lose context. Your options:
Set Starling.handleLostContext = true, it is possible to lose context in iOS.
Find an ANE (Supposedly these exist) that handles the camera roll without losing context.
More Information:
http://forum.starling-framework.org/topic/starling-and-cameraui#post-77339
I can confirm on ios 8.3 a Context3D is not lost when opening the CameraRoll using AIR 18.
Make sure you are using AIR 18.
Make sure you are using the latest Starling Version.
If the problem persist it's likely Starling is the cause.
Either report the problem and wait for an update.
Do not use Starling when requesting the CameraRoll (turn Starling off and Display normal Bitmaps).
Don't use Starling and use another engine or create your own.

Speex AEC on WP8

I'm working on a VoIP application for Windows Phone 8, and I want to cancel the echo produced when using speakerphone. Speex offers an AEC module, which I have tried to integrate into my application, but to no avail. My application works fine, but the echo persists. My code is based off the MS Chatterbox VoIP application, using WASAPI for capture and render. This is the form of the relevant sections (I tried to indicate what already existed and worked, and what was new):
Init:
// I've tried tail lengths between 100-500ms (800-4000 samples # 8KHz)
echoState = speex_echo_state_init (80, 800)
speex_echo_ctl(echoState, SPEEX_ECHO_SET_SAMPLING_RATE, 8000);
Render (runs every 10ms):
Read 10ms (80 samples) data from network (8KHz, 16 bit, mono)
NEW - speex_echo_playback(echoState, networkData)
Upsample data to 48KHz
Render data
Capture (runs every 10ms):
Capture 10ms of data (48KHz, 16 bit, mono)
Downsample to 8KHz
NEW - speex_echo_capture(echoState, downsampledData, echoCancelledData)
Send echoCancelledData to network
After reading the Speex documentation and looking at some posts on this site (not a lot of speex for Wp8 questions, but a few for android), I'm under the impression that this is, or is close to, the proper implementatinon of their API. So why isn't it working?
Thanks in advance

Is it possible to know whether Windows widget totally covered by other windows?

We want to create a Windows desktop version of our weather widget
There are 2 special things about the widget.
It consumes a lot of processor time
while active - it displays an
animated picture (Flash without GPU acceleration, unfortunately).
It updates the weather from our
server (frequent server requests from all widget users).
When the user does not look at the widget there is no need for animation and weather loading.
So I have an idea of putting my widget to sleep when it is not visible and hense not used.
Is it possible to detect whether the widget is used or not.
Speaking precisely I need to know whether the widget is covered by other windows?
I mostly interested in Vista/7 gadgets engine, however I also would like to know if this problem is solved in these widget engines
Yahoo widgets
Google desktop
Hope to find some desktop widget guru here.
Pasha
If you InvalidateRect and don't get a subsequent WM_PAINT message, than your window is hidden. You can call UpdateWindow after InvalidateRect to force the WM_PAINT message to happen (or not happen) right away.
So you could do something like this
request server data (and cancel request timer if any)
when data arrives InvalidateRect
when WM_PAINT message arrives, draw the data and set a timer for next request
when timer arrives, goto 1
When you stop getting WM_PAINT messages, you stop re-setting your timer, and you therefor stop requesting updates from the server. When the WM_PAINT message happens (because you are no longer covered). You start requesting data again.