User Feedback: MRAlpha SW

Bug/Feature Tracking

Severity from highest to lowest: critical Major Minor

#

Bug/Notes/Details

Steps to Reproduce

Severity

Author

Owner

Status

1

15-Dec-2025 12:37:26.019 info: efem: LOCK LOAD WAFER-UP OK 15-Dec-2025 12:37:26.049 info: efem: Lock Requested 15-Dec-2025 12:37:27.188 error: Load Wafer Controls ERROR: 15-Dec-2025 12:37:27.248 error: Error using assert Move not allowed from state: SubSystems.MotionStateMachine.ValidateMove Error in SubSystems.Motion/moveToPosition (line 844) assert(obj.canMoveXYTZ, "MOTION:MOVENOTALLOWED", ... ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in SubSystems.Motion/lowerPinLift (line 191) obj.moveToPosition(position); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in . (line 126) [varargout{1:nargout}] = obj.subSystemStruct.(indexOp); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in Sequences.States.PinLift.Lower/entry (line 8) obj.env.system.motion.lowerPinLift(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in BaseState/privateEntry (line 152) obj.entry(); ^^^^^^^^^^^ Error in StateMachine/performTransition (line 271) obj.currentState.privateEntry(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in StateMachine/step (line 138) obj.performTransition(transition); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in Sequences.States.SubSequence/during (line 20) obj.subSequence.stateMachine.step(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in BaseState/privateDuring (line 157) obj.during(); ^^^^^^^^^^^^ Error in StateMachine/executeDuring (line 276) obj.currentState.privateDuring(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in StateMachine/step (line 140) obj.executeDuring(); ^^^^^^^^^^^^^^^^^^^ Error in BaseSequence/step (line 84) obj.stateMachine.step(); ^^^^^^^^^^^^^^^^^^^^^^^ Error in Sequences.States.EFEM.RunEFEMSequences/stepSequence (line 39) obj.sequence.step(); ^^^^^^^^^^^^^^^^^^^ Error in Sequences.States.EFEM.RunEFEMSequences/during (line 17) obj.stepSequence(); ^^^^^^^^^^^^^^^^^^ Error in BaseState/privateDuring (line 157) obj.during(); ^^^^^^^^^^^^ Error in StateMachine/executeDuring (line 276) obj.currentState.privateDuring(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in StateMachine/step (line 140) obj.executeDuring(); ^^^^^^^^^^^^^^^^^^^ Error in BaseSequence/step (line 84) obj.stateMachine.step(); ^^^^^^^^^^^^^^^^^^^^^^^ Error in Activities.ManualProcessControl.LoadWaferControls/sequenceUpdate (line 414) obj.sequence.step(); ^^^^^^^^^^^^^^^^^^^ Error in Activities.ManualProcessControl.LoadWaferControls/process (line 355) obj.sequenceUpdate(); ^^^^^^^^^^^^^^^^^^^^ Error in Activities.TabbedActivity/process (line 156) obj.currentActivity.process(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in ActivityRunnerState/during (line 73) obj.activity.process(); ^^^^^^^^^^^^^^^^^^^^^^ Error in BaseState/privateDuring (line 157) obj.during(); ^^^^^^^^^^^^ Error in StateMachine/executeDuring (line 276) obj.currentState.privateDuring(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in StateMachine/step (line 140) obj.executeDuring(); ^^^^^^^^^^^^^^^^^^^ Error in Process/doStep (line 128) obj.stateMachine.step(); ^^^^^^^^^^^^^^^^^^^^^^^ Error in Process/processTimerCallback (line 181) obj.doStep(); ^^^^^^^^^^^^ Error in Process>@(varargin)obj.processTimerCallback(varargin{:}) (line 174) obj.processTimer = SafeTimer(@obj.processTimerCallback, Period=1/obj.executionRate); ^^^^^^^^^^^^^^^^^^^^^^^^ Error in SafeTimer/onTimerFired (line 163) obj.userCallback(); ^^^^^^^^^^^^^^^^^^ Error in SafeTimer>@(~,~)weakObj.Handle.onTimerFired() (line 97) timerFunctionHandle = @(~,~)weakObj.Handle.onTimerFired(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in timer/timercb (line 90) feval(val{1}, obj, eventStruct, val{2:end}); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  1. Try to move pinlift to some illegal position, move is not validated.

  2. GOTO MPC->WaferLoad

  3. Click auto-lock.

  4. EFEM->overrideCommand(“LockLoadWaferUp”)

    1. Hypothesis:

      1. Fails because previous invalid move seems to have left the motion state machine in move validation mode after the last move was invalidated.

Major

@…



2

Subsystems register forever occasionally. Recovery is sometimes possible by registering just the pinlift, then registering everything together.

  1. Startup the app.

  2. Try to register.

  3. Frequently it registers forever, seems like the pinlift is fickle still.

  4. Register only the pinlift first works occasionally to recover from this.

Minor

@…



3

Matlab crashed during sequence cycling. The pinlift is engaged with the stage. Recovered via ACS SPI software, moved Y to 0. Keeping a random matlab crash count for this CR visit: 3 (2 during registration).

Same set of sequences did not cause the problem again. Chalking this up to Matlab’s random instability.

Critical

@…



4

Warning: Clock is not executing listener with properties: Source: {[1×1 CentralClock]} EventName: 'baseClock' Callback: @(~,~)onTick(obj) Enabled: 1 Recursive: 0 > In Clock/watchdogCallback (line 218) In Clock>@()watchdogCallback(obj) (line 200) In SafeTimer/onTimerFired (line 163) In SafeTimer>@(~,~)weakObj.Handle.onTimerFired() (line 97) In timer/timercb (line 90) In matlabshared.transportlib.internal.client/GenericClient/callbackFunction (line 981) In matlabshared.transportlib.internal.client.GenericClient>@(varargin)obj.callbackFunction(varargin{:}) (line 650) In matlabshared.transportclients.internal.StringClient/StringClient/DataAvailableCallback In matlabshared.transportclients.internal.StringClient.StringClient>@(varargin)obj.DataAvailableCallback(varargin{:}) In matlabshared.transportlib.internal/DataReceivedHandlerMixin/valuesWrittenUpdated In matlabshared.transportlib.internal.DataReceivedHandlerMixin>@(src,evt)obj.valuesWrittenUpdated(src,evt) In matlabshared.asyncio.internal/Channel/onPropertyChanged (line 603) In matlabshared.asyncio.internal.Channel>@(source,data)objWeakRef.Handle.onPropertyChanged(data.Name,data.Value) (line 498)

Warning in MATLAB console on application run.

Minor

@…



5

There is a case in which the snapshots are out of date and the interference checker won't allow a move. It seems like the interference checker doesn't allow us to recover after denying a move.

So a move gets denied, but we don't keep updating the snapshot and checking.

So, because the snapshot is behind by a bit, the move is requested before the snapshot reflects the updated efem state.

On Machine, open manual process control, click auto-lock, run repeating load then unload wafer face up commands from the EFEM side. There is no gap between the 1, 2, ... nth iteration, sometimes the snapshot is out of date and will not allow movement while the efem has control.

Major

@…




Resolved Items

#

Bug/Notes/Details

Resolution PR

Owner



1

04-Dec-2025 09:22:43.223 error: Display Stage Controls ERROR: 04-Dec-2025 09:22:43.455 error: Error using Futures.Future/getData (line 46)

Display stage controls error blowing away the log with futures issues. This needs fixing.

FIX: This happens when you open the activity without registering motion. I removed the logging of the error as we can just ignore this.

https://github.austin.utexas.edu/Texas-Institute-for-Electronics/MRAlphaController/pull/219

@…



2

04-Dec-2025 09:29:15.463 error: IR Moiré Measurement Main Activity ERROR: 04-Dec-2025 09:29:15.757 error: Error using Futures.Future/getData (line 46)

Similar stack trace to display stage controls error blowing away the log with futures issues. This needs fixing.

FIX: This happens when you open the activity without having registered motion. I removed the logging of the error as we can just ignore this.

https://github.austin.utexas.edu/Texas-Institute-for-Electronics/MRAlphaController/pull/219

@…



3


04-Dec-2025 14:03:55.604 error: Error using () Dimensions of the key and value must be the same, or the value must be scalar. Error in SubSystems.ACSIOController/readFuture/assembleValues (line 273) values(valueKey) = double(agg.futures(valueKey).getData()); ^^^^^^^^^^^^^^^^ Error in Futures.AggregatedFuture/checkCompletion (line 79) obj.setData(obj.aggregationCallback(obj)); % callback receives the aggregator ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in Futures.AggregatedFuture>@(~)obj.checkCompletion (line 55) futureDict.values.registerCallback(@(~)obj.checkCompletion); ^^^^^^^^^^^^^^^^^^^ Error in Futures.Future/doCompletionCallback (line 171) obj.completionCallback(obj); ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in Futures.Future>@(varargin)obj.doCompletionCallback(varargin{:}) (line 161) obj.completionTimer = SafeTimer(@obj.doCompletionCallback, ... ^^^^^^^^^^^^^^^^^^^^^^^^ Error in SafeTimer/onTimerFired (line 163) obj.userCallback(); ^^^^^^^^^^^^^^^^^^ Error in SafeTimer>@(~,~)weakObj.Handle.onTimerFired() (line 97) timerFunctionHandle = @(~,~)weakObj.Handle.onTimerFired(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in timer/timercb (line 90) feval(val{1}, obj, eventStruct, val{2:end}); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in timer/start (line 67) obj(lcv).coreBackend.start(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in SafeTimer/start (line 112) start(obj.internalTimer); ^^^^^^^^^^^^^^^^^^^^^^^^ Error in Futures.Future/launchCompletionCallback (line 163) obj.completionTimer.start(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in Futures.Future/setData (line 138) obj.launchCompletionCallback(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in SubSystems.ACSIOController/runIOMethodFuture/setFutureData (line 192) future.setData(pFuture.fetchOutputs);

Not sure what this was about. Needs attention.

“Dimensions of the key and value must be the same, or the value must be scalar.”

Run the app in the CR under normal configuration. Leave it running for a 10-20 minutes and this popped up once.


@…



4

ACSMotionController futures are hogging processing time and slowing down the application.

Run the application in the cleanroom under normal configuration. Minor delays to user input and lag between UI window loads.

@…



5

Warning: Period property is limited to 1 millisecond precision. Sub-millisecond precision will be ignored. > In timer/set.Period (line 324) In timer (line 148) In SafeTimer (line 98) In SubSystems/ACSIOController/startPollingTimer (line 318) In SubSystems/ACSIOController/initialize (line 291) In SubSystem/start (line 72) In BaseSystem/start (line 69) In System (line 75) In Environment (line 121) In Environment.instance (line 203) In MRalphaController/setupEnvironment (line 196) In MRalphaController/initializeApp (line 114) In MRalphaController/startupFcn (line 660) In appdesigner.internal.service.AppManagementService/runStartupFcn (line 27) In matlab.apps/AppBase/runStartupFcn (line 60) In MRalphaController (line 1273) Warning: Period property is limited to 1 millisecond precision. Sub-millisecond precision will be ignored. > In timer/set.Period (line 324) In timer (line 148) In SafeTimer (line 98) In SubSystems/ACSProgramController/startPollingTimer (line 417) In SubSystems/ACSProgramController/initialize (line 371) In SubSystem/start (line 72) In BaseSystem/start (line 69) In System (line 75) In Environment (line 121) In Environment.instance (line 203) In MRalphaController/setupEnvironment (line 196) In MRalphaController/initializeApp (line 114) In MRalphaController/startupFcn (line 660) In appdesigner.internal.service.AppManagementService/runStartupFcn (line 27) In matlab.apps/AppBase/runStartupFcn (line 60) In MRalphaController (line 1273)

Happens at startup in the disp() terminal

Eliminate run-time warning on polling loop timer by jrh7466 · Pull Request #51 · Texas-Institute-for-Electronics/TIEACS

@…



6

11-Dec-2025 09:58:01.861 error: Brace indexing is not supported for variables of this type. Error in SubSystems.ZaberMotionController.ZaberMotionController/enableAxisMotorPower (line 174) group = obj.axisGroups{groupIndex}; ^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in SubSystems.PinLift/enableMotorPower (line 209) obj.motionController.enableAxisMotorPower(obj.z) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in Activities.PinLift.Register/textInfoStart (line 18) obj.pinLift.enableMotorPower(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in Activities.TextInfoActivity/drawUIAndStart (line 69) obj.textInfoStart(); ^^^^^^^^^^^^^^^^^^^ Error in Activity>@(varargin)obj.drawUIAndStart(varargin{:}) (line 131) obj.errorHandlingWrapper(@obj.drawUIAndStart); ^^^^^^^^^^^^^^^^^^ Error in Activity/errorHandlingWrapper (line 150) [varargout{1:nargout}] = functionHandle(varargin{:}); ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in Activity/start (line 131) obj.errorHandlingWrapper(@obj.drawUIAndStart); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in ActivityRunnerState/entry (line 79) obj.activity.start(); ^^^^^^^^^^^^^^^^^^^^ Error in BaseState/privateEntry (line 152) obj.entry(); ^^^^^^^^^^^ Error in BaseProcessState/privateEntry (line 48) privateEntry@BaseState(obj); ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in StateMachine/enterStartingState (line 250) obj.currentState.privateEntry(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in StateMachine/step (line 132) obj.enterStartingState(); ^^^^^^^^^^^^^^^^^^^^^^^^ Error in Process/doStep (line 128) obj.stateMachine.step(); ^^^^^^^^^^^^^^^^^^^^^^^ Error in Process/start (line 80) obj.doStep(); ^^^^^^^^^^^^ Error in BaseProcesses/startSelectedProcess (line 132) obj.currentProcess.start(); ^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in MRalphaController/ExecuteButtonPushed (line 687) app.processes.startSelectedProcess(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in appdesigner.internal.service.AppManagementService/executeCallback (line 13) callback(appOrUserComponent, event); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in matlab.apps.AppBase>@(source,event)executeCallback(ams,app,callback,requiresEventData,event) (line 54) newCallback = @(source, event)executeCallback(ams, ... ^^^^^^^^^^^^^^^^^^^^^^^^
11-Dec-2025 10:20:57.593 error: Dot indexing is not supported for variables of this type. Error in SubSystems.ZaberMotionController.ZaberMotionController/enableAxisMotorPower (line 175) axes = group.getAxes(); ^^^^^^^^^^^^^^^ Error in SubSystems.PinLift/enableMotorPower (line 209) obj.motionController.enableAxisMotorPower(obj.z) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in Activities.PinLift.Register/textInfoStart (line 18) obj.pinLift.enableMotorPower(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in Activities.TextInfoActivity/drawUIAndStart (line 69) obj.textInfoStart(); ^^^^^^^^^^^^^^^^^^^ Error in Activity>@(varargin)obj.drawUIAndStart(varargin{:}) (line 131) obj.errorHandlingWrapper(@obj.drawUIAndStart); ^^^^^^^^^^^^^^^^^^ Error in Activity/errorHandlingWrapper (line 150) [varargout{1:nargout}] = functionHandle(varargin{:}); ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in Activity/start (line 131) obj.errorHandlingWrapper(@obj.drawUIAndStart); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in ActivityRunnerState/entry (line 79) obj.activity.start(); ^^^^^^^^^^^^^^^^^^^^ Error in BaseState/privateEntry (line 152) obj.entry(); ^^^^^^^^^^^ Error in BaseProcessState/privateEntry (line 48) privateEntry@BaseState(obj); ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in StateMachine/enterStartingState (line 250) obj.currentState.privateEntry(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in StateMachine/step (line 132) obj.enterStartingState(); ^^^^^^^^^^^^^^^^^^^^^^^^ Error in Process/doStep (line 128) obj.stateMachine.step(); ^^^^^^^^^^^^^^^^^^^^^^^ Error in Process/start (line 80) obj.doStep(); ^^^^^^^^^^^^ Error in BaseProcesses/startSelectedProcess (line 132) obj.currentProcess.start(); ^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in MRalphaController/ExecuteButtonPushed (line 687) app.processes.startSelectedProcess(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in appdesigner.internal.service.AppManagementService/executeCallback (line 13) callback(appOrUserComponent, event); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in matlab.apps.AppBase>@(source,event)executeCallback(ams,app,callback,requiresEventData,event) (line 54) newCallback = @(source, event)executeCallback(ams, ... ^^^^^^^^^^^^^^^^^^^^^^^^

Run manual control pinlift on the machine. Issue registering, bug using brackets instead of parentheses.

@…



7

Zaber java library error connection closed after successful init. Trying to access axis properties and failing.

Start the application


FIX: When the "zaber launcher" software has an active connection to the IP/port and then we run our app, the two apps are competing for the interface. If you delete the zaber launcher connection we get no issues in the app with connection

@…



8

Manual Process Control move stage and move zhead buttons disabled in bonding controls. Enable them so we can move from here.

image-20251211-174157.png

https://github.austin.utexas.edu/Texas-Institute-for-Electronics/MRAlphaController/pull/225

@…

@…

@…

9

Manual Pinlift Control not reporting true position correctly. It moves the pinlift fine, and main UI pinlift position is correct. Also display stage controls reports true position fine, just this activity reporting weird position.

image-20251211-174427.png


https://github.austin.utexas.edu/Texas-Institute-for-Electronics/MRAlphaController/pull/225

@…

@…

@…

10


https://github.austin.utexas.edu/Texas-Institute-for-Electronics/MRAlphaController/pull/225

@…

@…

@…


Backlog

#

Bug/Notes/Details

Rationale

Owner

1




2





Troubleshooting (Tips/Tricks/Gotchas)

  • IMPORTANT: The default configuration pasted in the /MRalpha_latest_release will not work off the shelf. You need to replace all the filepaths that contain my username “rh43278” with your own username.

    • e.g. "acsProgramsFolder": "C:\\Users\\rh43278\\AppData\\Local\\TIE\\MRalpha\\ACSPrograms",

  • Zaber connection issues with java library,

    • Delete the active connection in the zaber launcher application. These two may be competing for the interface.