[gme-users] Fwd: Windows connection issue

Peter Volgyesi peter.volgyesi at vanderbilt.edu
Tue Oct 6 10:33:18 CDT 2009


I have some questions regarding your problem (it seems a tricky issue,
so I'm just trying to filter out the trivial causes now):
- while GME hangs (server busy... dialog) can you work  with MATLAB ?
Is the MATLAB GUI responsive ? Are you sure, that no modal dialog is
opened by MATLAB ?
- is it "pure" MATLAB or Simulink that you access from GME via COM ?
- is it a 32-bit OS (if not, is MATLAB 32-bit ?)
- did you see this (intermittent) problem only one computer, or
multiple computers with Vista ?

(Background - in case you managed to avoid COM programing in the past:
when you access MATLAB from a GME component, the main GME GUI thread
which initiates the call to the MATLAB COM object is blocked in GME
(in ole32.dll)  while issuing an RPC call to the MATLAB process. There
is a dedicated RPC thread in MATLAB waiting for these calls. When the
RPC call has been received by this MATLAB thread, it sends a GUI
(Window) message to the main (GUI) thread in MATLAB to call/execute
the real COM object method. This is the critical point most of the
time in the chain. If for some reason the GUI thread in MATLAB does
not process this message - eg.: due to a modal dialog message loop -
the RPC thread and the main GUI thread in GME remains blocked. After
some time the OLE/COM library on the GME side notices this long
blocking and shows the dialog message (server busy...) but the thread
remains blocked. The main reason for the "switch to..." option is to
give a chance to the COM server (MATLAB) GUI thread to process the
windows message generated by its own RPC thread.)

Anyway, if you can show me a freezed situation on your computer, I
would look at it with some debugging tools.


On Fri, Oct 2, 2009 at 3:43 PM, Joe Porter <joe.porter at gmail.com> wrote:
> We're having a problem with GME connecting to Matlab and sending it commands
> on Windows Vista.  The error message is something like this:
> "Server busy This action cannot be completed because the other program is
> busy. Choose Switch To to activate the busy program and correct the
> problem."
> My knowledge of Windows is pretty scant at this level.  Here's what we have
> tried so far:
> 1. Make sure Matlab is already loaded (it can take a long time the first
> time after startup).
> 2. Make sure we ran "matlab /regserver" to register Matlab as a COM
> component.
> 3. Tried selecting "Switch To", which didn't work.
> The problem is intermittent, but significant enough to be an obstacle.  If
> anyone has any suggestions they would be greatly appreciated.  Getting rid
> of Vista is not an option at this stage.
> Thanks,
> -Joe
> _______________________________________________
> gme-users mailing list
> gme-users at list.isis.vanderbilt.edu
> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users

More information about the gme-users mailing list