Date: 2021-01-10 13:11 Sender: Benjamin TynerI also don't have a lot of free time for debugging these days, but for grins fired up valgrind on my Ubuntu machine and after the segfault it says:
Sorry, the program "memcheck-amd64-linux" closed unexpectedly
Your computer does not have enough free memory to automatically analyze the problem and send a report to the developers.
but will continue to look at this, time permitting. |
Date: 2021-01-05 16:16 Sender: Martin MaechlerThe "problem too large" is currently "as good as it gets".
I had tried in the past to use "cholmod_l_*()" routines everywhere but did not succeed, and gave up ... for the time being.
I'm glad for help -- you must be able to program in C (and more importantly, to understand the SuiteSparse C code and setup). |
Date: 2017-08-15 18:45 Sender: Benjamin TynerAs of Matrix 1.2-10, I no longer get a segfault, but instead:
Error in .local(x, y, ...) :
Cholmod error 'problem too large' at file ../Core/cholmod_aat.c, line 173 |
Date: 2016-04-27 00:41 Sender: Benjamin Tynervalgrind had this to say
==22227== Warning: set address range perms: large range [0x3aeed040, 0x18b592320) (undefined)
==22227== Warning: set address range perms: large range [0x40ac87040, 0x6ab9d1600) (undefined)
==22227== Invalid write of size 4
==22227== at 0x128BAC48: cholmod_aat (cholmod_aat.c:231)
==22227== by 0x1288CF9D: Csparse_crossprod (Csparse.c:766)
==22227== by 0x4CE8BCF: do_dotcall (dotcode.c:1251)
==22227== by 0x4D279EA: Rf_eval (eval.c:655)
==22227== by 0x4D28BE6: Rf_applyClosure (eval.c:1046)
==22227== by 0x4D1EE89: bcEval (eval.c:5465)
==22227== by 0x4D2744F: Rf_eval (eval.c:558)
==22227== by 0x4D29090: R_execClosure (eval.c:1150)
==22227== by 0x4D294E2: R_execMethod (eval.c:1313)
==22227== by 0xD7B3D99: R_dispatchGeneric (methods_list_dispatch.c:1035)
==22227== by 0x4D5D502: do_standardGeneric (objects.c:1125)
==22227== by 0x4D1B946: bcEval (eval.c:5493)
==22227== Address 0x18b592320 is 0 bytes after a block of size 5,644,112,608 alloc'd
==22227== at 0x4A069EE: malloc (vg_replace_malloc.c:270)
==22227== by 0x128C594E: cholmod_malloc (cholmod_memory.c:143)
==22227== by 0x128C5D24: cholmod_realloc (cholmod_memory.c:323)
==22227== by 0x128C5E0D: cholmod_realloc_multiple (cholmod_memory.c:445)
==22227== by 0x128C6571: cholmod_allocate_sparse (cholmod_sparse.c:142)
==22227== by 0x128BA89C: cholmod_aat (cholmod_aat.c:183)
==22227== by 0x1288CF9D: Csparse_crossprod (Csparse.c:766)
==22227== by 0x4CE8BCF: do_dotcall (dotcode.c:1251)
==22227== by 0x4D279EA: Rf_eval (eval.c:655)
==22227== by 0x4D28BE6: Rf_applyClosure (eval.c:1046)
==22227== by 0x4D1EE89: bcEval (eval.c:5465)
==22227== by 0x4D2744F: Rf_eval (eval.c:558)
==22227==
==22227== Invalid read of size 4
==22227== at 0x128BACCF: cholmod_aat (cholmod_aat.c:238)
==22227== by 0x1288CF9D: Csparse_crossprod (Csparse.c:766)
==22227== by 0x4CE8BCF: do_dotcall (dotcode.c:1251)
==22227== by 0x4D279EA: Rf_eval (eval.c:655)
==22227== by 0x4D28BE6: Rf_applyClosure (eval.c:1046)
==22227== by 0x4D1EE89: bcEval (eval.c:5465)
==22227== by 0x4D2744F: Rf_eval (eval.c:558)
==22227== by 0x4D29090: R_execClosure (eval.c:1150)
==22227== by 0x4D294E2: R_execMethod (eval.c:1313)
==22227== by 0xD7B3D99: R_dispatchGeneric (methods_list_dispatch.c:1035)
==22227== by 0x4D5D502: do_standardGeneric (objects.c:1125)
==22227== by 0x4D1B946: bcEval (eval.c:5493)
==22227== Address 0x18b592320 is 0 bytes after a block of size 5,644,112,608 alloc'd
==22227== at 0x4A069EE: malloc (vg_replace_malloc.c:270)
==22227== by 0x128C594E: cholmod_malloc (cholmod_memory.c:143)
==22227== by 0x128C5D24: cholmod_realloc (cholmod_memory.c:323)
==22227== by 0x128C5E0D: cholmod_realloc_multiple (cholmod_memory.c:445)
==22227== by 0x128C6571: cholmod_allocate_sparse (cholmod_sparse.c:142)
==22227== by 0x128BA89C: cholmod_aat (cholmod_aat.c:183)
==22227== by 0x1288CF9D: Csparse_crossprod (Csparse.c:766)
==22227== by 0x4CE8BCF: do_dotcall (dotcode.c:1251)
==22227== by 0x4D279EA: Rf_eval (eval.c:655)
==22227== by 0x4D28BE6: Rf_applyClosure (eval.c:1046)
==22227== by 0x4D1EE89: bcEval (eval.c:5465)
==22227== by 0x4D2744F: Rf_eval (eval.c:558)
==22227==
==22227== Invalid write of size 8
==22227== at 0x128BACBC: cholmod_aat (cholmod_aat.c:241)
==22227== by 0x1288CF9D: Csparse_crossprod (Csparse.c:766)
==22227== by 0x4CE8BCF: do_dotcall (dotcode.c:1251)
==22227== by 0x4D279EA: Rf_eval (eval.c:655)
==22227== by 0x4D28BE6: Rf_applyClosure (eval.c:1046)
==22227== by 0x4D1EE89: bcEval (eval.c:5465)
==22227== by 0x4D2744F: Rf_eval (eval.c:558)
==22227== by 0x4D29090: R_execClosure (eval.c:1150)
==22227== by 0x4D294E2: R_execMethod (eval.c:1313)
==22227== by 0xD7B3D99: R_dispatchGeneric (methods_list_dispatch.c:1035)
==22227== by 0x4D5D502: do_standardGeneric (objects.c:1125)
==22227== by 0x4D1B946: bcEval (eval.c:5493)
==22227== Address 0x6ab9d1600 is 0 bytes after a block of size 11,288,225,216 alloc'd
==22227== at 0x4A069EE: malloc (vg_replace_malloc.c:270)
==22227== by 0x128C594E: cholmod_malloc (cholmod_memory.c:143)
==22227== by 0x128C5D24: cholmod_realloc (cholmod_memory.c:323)
==22227== by 0x128C5F38: cholmod_realloc_multiple (cholmod_memory.c:460)
==22227== by 0x128C6571: cholmod_allocate_sparse (cholmod_sparse.c:142)
==22227== by 0x128BA89C: cholmod_aat (cholmod_aat.c:183)
==22227== by 0x1288CF9D: Csparse_crossprod (Csparse.c:766)
==22227== by 0x4CE8BCF: do_dotcall (dotcode.c:1251)
==22227== by 0x4D279EA: Rf_eval (eval.c:655)
==22227== by 0x4D28BE6: Rf_applyClosure (eval.c:1046)
==22227== by 0x4D1EE89: bcEval (eval.c:5465)
==22227== by 0x4D2744F: Rf_eval (eval.c:558)
==22227==
==22227== Invalid read of size 4
==22227== at 0x128BACB0: cholmod_aat (cholmod_aat.c:241)
==22227== by 0x1288CF9D: Csparse_crossprod (Csparse.c:766)
==22227== by 0x4CE8BCF: do_dotcall (dotcode.c:1251)
==22227== by 0x4D279EA: Rf_eval (eval.c:655)
==22227== by 0x4D28BE6: Rf_applyClosure (eval.c:1046)
==22227== by 0x4D1EE89: bcEval (eval.c:5465)
==22227== by 0x4D2744F: Rf_eval (eval.c:558)
==22227== by 0x4D29090: R_execClosure (eval.c:1150)
==22227== by 0x4D294E2: R_execMethod (eval.c:1313)
==22227== by 0xD7B3D99: R_dispatchGeneric (methods_list_dispatch.c:1035)
==22227== by 0x4D5D502: do_standardGeneric (objects.c:1125)
==22227== by 0x4D1B946: bcEval (eval.c:5493)
==22227== Address 0x18b592324 is 4 bytes after a block of size 5,644,112,608 alloc'd
==22227== at 0x4A069EE: malloc (vg_replace_malloc.c:270)
==22227== by 0x128C594E: cholmod_malloc (cholmod_memory.c:143)
==22227== by 0x128C5D24: cholmod_realloc (cholmod_memory.c:323)
==22227== by 0x128C5E0D: cholmod_realloc_multiple (cholmod_memory.c:445)
==22227== by 0x128C6571: cholmod_allocate_sparse (cholmod_sparse.c:142)
==22227== by 0x128BA89C: cholmod_aat (cholmod_aat.c:183)
==22227== by 0x1288CF9D: Csparse_crossprod (Csparse.c:766)
==22227== by 0x4CE8BCF: do_dotcall (dotcode.c:1251)
==22227== by 0x4D279EA: Rf_eval (eval.c:655)
==22227== by 0x4D28BE6: Rf_applyClosure (eval.c:1046)
==22227== by 0x4D1EE89: bcEval (eval.c:5465)
==22227== by 0x4D2744F: Rf_eval (eval.c:558)
==22227==
*** caught segfault ***
address 0x18b593000, cause 'memory not mapped' |