Skip to content

catch invalid opts in mex/mexcuda (MATLAB) more gracefully #718

@ahbarnett

Description

@ahbarnett

When an invalid opts.gpu_method is given from matlab, it crashes the whole thing, annoyingly.

Here I added o.gpu_meth=4 (an invalid setting) into test/fullmathtest.m and it crashes matlab:

NVIDIA RTX A6000	prec=single	tol=0.001, M=1000, Ntot=1000, ntrans=3
err: invalid method 
[allocgpumem1d_nupts] error: invalid method
CUDA error at /mnt/home/ahb/numerics/finufft/src/cuda/1d/cufinufft1d.cu:52 code=1(cudaErrorInvalidValue) "cudaMemsetAsync( d_plan->fw, 0, d_plan->batchsize * d_plan->nf1 * sizeof(cuda_complex<T>), stream)" 
Rel l2 errs:	1D type 1:	NaN
yesempt to restart MATLAB? [y or n]>>nn
--------------------------------------------------------------------------------
          Segmentation violation detected at 2025-08-06 19:07:40 -0400
--------------------------------------------------------------------------------

Configuration:
  Crash Decoding           : Disabled - No sandbox or build area path
  Crash Mode               : continue (default)
  Default Encoding         : UTF-8
  Deployed                 : false
  GNU C Library            : 2.28 stable
  Graphics Driver          : Uninitialized software 
  Graphics card 1          : 0x10de ( 0x10de ) 0x2230 Version 570.172.8.0 (0-0-0)
  Interpreter 0            : Executing request: 696F6C69622F494F436D64526571756573742E637070
  Java Version             : Java 1.8.0_202-b08 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
  MATLAB Architecture      : glnxa64
  MATLAB Entitlement ID    : 5708323
  MATLAB Root              : /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b
  MATLAB Version           : 23.2.0.2515942 (R2023b) Update 7
  OpenGL                   : software
  Operating System         : Linux 4.18.0-553.63.1.el8_10.x86_64 #1 SMP Thu Jul 24 11:45:38 UTC 2025 x86_64
  Process ID               : 243271
  Processor ID             : x86 Family 6 Model 85 Stepping 7, GenuineIntel
  Session Key              : bb8d7ba2-dfd5-47c0-aa45-b6e394b1a188
  Window System            : No active display

Fault Count: 1


Abnormal termination:
Segmentation violation

Current Thread: 'MCR 0 interpret' id 22700177225472

Register State (from fault):
  RAX = 00000000000003e8  RBX = 0000000000000000
  RCX = 0000000000000000  RDX = 0000000000000000
  RSP = 000014a54bff9960  RBP = 000014a54bffa540
  RSI = 000014a32c622000  RDI = 00000000000003e8

   R8 = 0000000000000000   R9 = 0000000000000000
  R10 = 0000000000000000  R11 = 0000000000000000
  R12 = 000014a307477790  R13 = 000014a307508c08
  R14 = 000014a54bffad40  R15 = 00000000000003e8

  RIP = 000014a3d044b529  EFL = 0000000000010206

   CS = 0033   FS = 0000   GS = 0000

Stack Trace (from fault):
[  0] 0x000014a3d044b529 /mnt/home/ahb/numerics/finufft/build/libcufinufft.so+02733353 _Z21cufinufft_setpts_implIfEiiPT_S1_S1_iS1_S1_S1_P16cufinufft_plan_tIS0_E+00000041
[  1] 0x000014a42c073eeb /mnt/home/ahb/numerics/finufft/matlab/cufinufft.mexa64+00024299
[  2] 0x000014a42c0750ab /mnt/home/ahb/numerics/finufft/matlab/cufinufft.mexa64+00028843 mexFunction+00000971
[  3] 0x000014a623cbea1f /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmex.so+00956959
[  4] 0x000014a623cbea97 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmex.so+00957079
[  5] 0x000014a623cbeb07 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmex.so+00957191
[  6] 0x000014a623cc00ba /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmex.so+00962746
[  7] 0x000014a623caba70 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmex.so+00879216
[  8] 0x000014a63055c976 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_dispatcher.so+01579382 _ZN8Mfh_file20dispatch_file_commonEMS_FviPP11mxArray_tagiS2_EiS2_iS2_+00000166
[  9] 0x000014a63055da6c /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_dispatcher.so+01583724
[ 10] 0x000014a63055ddae /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_dispatcher.so+01584558 _ZN8Mfh_file8dispatchEiPSt10unique_ptrI11mxArray_tagN6matrix6detail17mxDestroy_deleterEEiPPS1_+00000030
[ 11] 0x000014a623804b32 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwlxemainservices.so+02550578
[ 12] 0x000014a623804e34 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwlxemainservices.so+02551348
[ 13] 0x000014a61ebac55f /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_lxe.so+11314527
[ 14] 0x000014a61eb9e200 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_lxe.so+11256320
[ 15] 0x000014a61eb2e992 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_lxe.so+10799506
[ 16] 0x000014a61e9bd3c1 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_lxe.so+09286593
[ 17] 0x000014a61e9a288a /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_lxe.so+09177226
[ 18] 0x000014a61e9a7fa1 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_lxe.so+09199521
[ 19] 0x000014a62398b118 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwlxemainservices.so+04149528
[ 20] 0x000014a6237f1126 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwlxemainservices.so+02470182
[ 21] 0x000014a6237f43a5 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwlxemainservices.so+02483109
[ 22] 0x000014a63055c976 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_dispatcher.so+01579382 _ZN8Mfh_file20dispatch_file_commonEMS_FviPP11mxArray_tagiS2_EiS2_iS2_+00000166
[ 23] 0x000014a63055da6c /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_dispatcher.so+01583724
[ 24] 0x000014a63055ddae /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_dispatcher.so+01584558 _ZN8Mfh_file8dispatchEiPSt10unique_ptrI11mxArray_tagN6matrix6detail17mxDestroy_deleterEEiPPS1_+00000030
[ 25] 0x000014a623804b32 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwlxemainservices.so+02550578
[ 26] 0x000014a623804e34 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwlxemainservices.so+02551348
[ 27] 0x000014a61ebac55f /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_lxe.so+11314527
[ 28] 0x000014a61eb9e55d /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_lxe.so+11257181
[ 29] 0x000014a61eb2e9e2 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_lxe.so+10799586
[ 30] 0x000014a61e85bd20 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_lxe.so+07839008
[ 31] 0x000014a61e85e064 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_lxe.so+07848036
[ 32] 0x000014a61e85b589 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_lxe.so+07837065
[ 33] 0x000014a61e86ce5f /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_lxe.so+07908959
[ 34] 0x000014a61e86d8b9 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_lxe.so+07911609
[ 35] 0x000014a61e85b394 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_lxe.so+07836564
[ 36] 0x000014a61e85b496 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_lxe.so+07836822
[ 37] 0x000014a61e9a3e3c /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_lxe.so+09182780
[ 38] 0x000014a61e9a7fa1 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwm_lxe.so+09199521
[ 39] 0x000014a62398b118 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwlxemainservices.so+04149528
[ 40] 0x000014a62386679f /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwlxemainservices.so+02951071
[ 41] 0x000014a62386d937 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwlxemainservices.so+02980151
[ 42] 0x000014a62392df65 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwlxemainservices.so+03768165
[ 43] 0x000014a62392e3ce /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwlxemainservices.so+03769294
[ 44] 0x000014a63085e322 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwiqm.so+01028898 _ZN3iqm14UserEvalPlugin7executeEP15inWorkSpace_tag+00000754
[ 45] 0x000014a630836f20 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwiqm.so+00868128
[ 46] 0x000014a63084488b /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwiqm.so+00923787
[ 47] 0x000014a63080292b /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwiqm.so+00653611
[ 48] 0x000014a623d93b09 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwbridge.so+00498441
[ 49] 0x000014a623d93f93 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwbridge.so+00499603
[ 50] 0x000014a623daf702 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwbridge.so+00612098 _Z22mnGetCommandLineBufferbRbN7mwboost8optionalIKP15inWorkSpace_tagEEbRKNS0_9function2IN6mlutil14cmddistributor17inExecutionStatusERKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEES4_EE+00000210
[ 51] 0x000014a623dafa9c /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwbridge.so+00613020 _Z8mnParserv+00000572
[ 52] 0x000014a6306cf57f /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwmcr.so+00890239
[ 53] 0x000014a647f405b4 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwmvm.so+03360180 _ZN14cmddistributor15PackagedTaskIIP10invokeFuncIN7mwboost8functionIFvvEEEEENS2_10shared_ptrINS2_6futureIDTclfp_EEEEEERKT_+00000068
[ 54] 0x000014a647f40869 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwmvm.so+03360873 _ZNSt17_Function_handlerIFN7mwboost3anyEvEZN14cmddistributor15PackagedTaskIIP10createFuncINS0_8functionIFvvEEEEESt8functionIS2_ET_EUlvE_E9_M_invokeERKSt9_Any_data+00000025
[ 55] 0x000014a63085839d /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwiqm.so+01004445 _ZN3iqm18PackagedTaskPlugin7executeEP15inWorkSpace_tag+00000093
[ 56] 0x000014a6306cb1a5 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwmcr.so+00872869
[ 57] 0x000014a630836f20 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwiqm.so+00868128
[ 58] 0x000014a630800d92 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwiqm.so+00646546
[ 59] 0x000014a6308016e3 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwiqm.so+00648931
[ 60] 0x000014a6306ba65e /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwmcr.so+00804446
[ 61] 0x000014a6306ba255 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwmcr.so+00803413
[ 62] 0x000014a6306ba4ad /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwmcr.so+00804013
[ 63] 0x000014a6469aa277 /mnt/sw/nix/store/bsnqcw78a7a935him01gvlnyxf54ihny-matlab-R2023b/bin/glnxa64/libmwboost_thread.so.1.78.0+00045687
[ 64] 0x000014a64740f1ca                             /lib64/libpthread.so.0+00033226
[ 65] 0x000014a646e798d3                                   /lib64/libc.so.6+00235731 clone+00000067


This error was detected while a MEX-file was running. If the MEX-file
is not an official MathWorks function, please examine its source code
for errors. Please consult the External Interfaces Guide for information
on debugging MEX-files.
** This crash report has been saved to disk as /mnt/home/ahb/matlab_crash_dump.243271-1 **



MATLAB is exiting because of fatal error

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions