Anfang der weitergeleiteten Nachricht:

> Von: "Michael Haberler" <[email protected]>
> Betreff: [emc:bugs] #328 Problem using AXIS together with HALUI
> Datum: 02. August 2013 11:45:10 MESZ
> An: "[emc:bugs] " <[email protected]>
> Antwort an: "[emc:bugs] " <[email protected]>
> 
> Let's establish a baseline first - by applying your patch to the proper base 
> version and make sure all regression tests run OK.
> 
> I took your patch and applied it to the current origin/v2.5_branch
> the result is here: 
> https://github.com/mhaberler/linuxcnc/tree/sittner-patch-onto-6ff9451b
> 
> I build with --enable-simulator and did a runtests
> 
> tests/linuxcncrsh hangs (the linuxcncrsh binary actually) in a busy loop:
> 
> #0 emcCommandWaitDone () at emc/usr_intf/shcom.cc:282
> #1 0x080531a4 in sendManual () at emc/usr_intf/shcom.cc:501
> #2 0x0804a9f0 in setMode (s=0x8b43919 "MANUAL", context=0x8b438a8) at 
> emc/usr_intf/emcrsh.cc:885
> #3 0x0804b8e1 in commandSet (context=0x8b438a8) at emc/usr_intf/emcrsh.cc:1243
> #4 0x08050f8b in parseCommand (context=0x8b438a8) at 
> emc/usr_intf/emcrsh.cc:2625
> #5 0x080511b5 in readClient (arg=0x8b438a8) at emc/usr_intf/emcrsh.cc:2691
> #6 0xb76b096e in start_thread (arg=0xb6c0eb70) at pthread_create.c:300
> #7 0xb74e53fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
> 
> in the for loop and the first continue: int emcCommandWaitDone()
> {
> double end;
> for (end = 0.0; emcTimeout <= 0.0 || end < emcTimeout; end += 
> EMC_COMMAND_DELAY) {
> int serial_diff = emcStatus->echo_serial_number - emcCommandSerialNumber;
> if (serial_diff < 0) {
> continue;
> }
> emcTimeout = 0.
> 
> This result is not unlikely as there have been various patches to linuxcncrsh 
> recently
> 
> Maybe we better start with the exact same commit - on which sha1 did you base 
> this patch on?
> 
> Michael
> [bugs:#328] Problem using AXIS together with HALUI
> 
> Status: open
> Created: Wed Jul 31, 2013 10:19 PM UTC by Sascha Ittner
> Last Updated: Thu Aug 01, 2013 04:45 PM UTC
> Owner: nobody
> 
> I've found a problem in using AXIS together with HALUI, but it seems a 
> general problem when two or more user interfaces are used the same time.
> 
> If I use HALUI excessively I've found that axis is blocked some times. Even 
> more problematic for me is the fact that in some cases the HALUI action get 
> lost. After investigating the involved code I've found the reason. I'll try 
> to describe my thoughts:
> 
> The communication between UI and EMCTASK is done by shared mem buffers (cmd + 
> status). If a command is issued, the command object is copied to the cmd 
> buffer (including a command serial number). Then the sender (the UI) waits 
> for the reception and optionaly for the completion of the command. The wait 
> is relized by waiting for the appearance of the issued serial number in 
> echo_serial_number of the status buffer. The serial number generator is local 
> to the ui process and no sync methods (except from a semaphore on the buffer 
> read/write functions) is involved. This causes two problems:
> 
> the first issued command (by AXIS for example) can get overwritten by the 
> second one (e.g. HALUI) before EMCTASK has processed it
> even if both commands are processed correctly, one of the wait functions will 
> time out because the serial number does not match.
> As I needed a quick (hopefully not (so) dirty) fix I've created a patch that 
> allows to generate the serial number in an atomic way on the cms write and 
> also configures emcCommand as a queue instead of a buffer.
> 
> I will enjoy your feedback
> 
> Sascha
> 
> Sent from sourceforge.net because you indicated interest in 
> https://sourceforge.net/p/emc/bugs/328/
> 
> To unsubscribe from further messages, please visit 
> https://sourceforge.net/auth/subscriptions/
> 

------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent 
caught up. So what steps can you take to put your SQL databases under 
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to