freem issueshttps://gitlab.coherent-logic.com/jpw/freem/-/issues2023-12-08T14:16:06Zhttps://gitlab.coherent-logic.com/jpw/freem/-/issues/135Integrate grestore functionality for global repair into fmadm2023-12-08T14:16:06ZSerena WillisIntegrate grestore functionality for global repair into fmadmNeed to make `fmadm repair global` work in `fmadm`. The repair functionality is currently in `grestore.c`, but it will need to be refactored into a function in `fma_globals.c`. The functionality of this one is currently all in the `main` function, so we'll need to figure out how to split out argument parsing logic from actual global repair.
Also, the existing utility does not repair a global in-place, and instead will apply repairs to a brand-new global database file, so this really must require the user to put FreeM into maintenance mode before proceeding.Need to make `fmadm repair global` work in `fmadm`. The repair functionality is currently in `grestore.c`, but it will need to be refactored into a function in `fma_globals.c`. The functionality of this one is currently all in the `main` function, so we'll need to figure out how to split out argument parsing logic from actual global repair.
Also, the existing utility does not repair a global in-place, and instead will apply repairs to a brand-new global database file, so this really must require the user to put FreeM into maintenance mode before proceeding.Serena WillisSerena Willishttps://gitlab.coherent-logic.com/jpw/freem/-/issues/134Add function to get routine/tag/offset from current routine buffer2023-11-14T14:15:46ZSerena WillisAdd function to get routine/tag/offset from current routine bufferThis is necessary in order to support standard error handling due to the `PLACE` value returned by the `$STACK` pseudo-function.This is necessary in order to support standard error handling due to the `PLACE` value returned by the `$STACK` pseudo-function.Serena WillisSerena Willishttps://gitlab.coherent-logic.com/jpw/freem/-/issues/133Fix standard error handling2023-11-14T14:14:28ZSerena WillisFix standard error handlingNeed to make sure `$STACK` is correct and that `$ETRAP` is solid. This should be easier once we finish replacing direct access to `ierr` with function calls to `merr_raise` and `merr`, this should be easier, as the values for the `$STACK` pseudo-function should be able to be populated in `merr_raise`, based on the `nstx` stack index, rather than being populated unreliably in other scattered locations in the FreeM codebase.Need to make sure `$STACK` is correct and that `$ETRAP` is solid. This should be easier once we finish replacing direct access to `ierr` with function calls to `merr_raise` and `merr`, this should be easier, as the values for the `$STACK` pseudo-function should be able to be populated in `merr_raise`, based on the `nstx` stack index, rather than being populated unreliably in other scattered locations in the FreeM codebase.Serena WillisSerena Willishttps://gitlab.coherent-logic.com/jpw/freem/-/issues/131macOS port issues2023-08-29T13:03:48ZSerena WillismacOS port issuesThe `macos-fixes` branch will compile on macOS Monterey (12.6.8) on Intel, but the default shared memory size on this operating system is too small to accommodate the default FreeM shared memory segment size. Reducing the segment size results in the following error when running `freem -dkS 200000`:
```
freem [FATAL]: memory allocation failure in job_init [errno 2 No such file or directory]
```The `macos-fixes` branch will compile on macOS Monterey (12.6.8) on Intel, but the default shared memory size on this operating system is too small to accommodate the default FreeM shared memory segment size. Reducing the segment size results in the following error when running `freem -dkS 200000`:
```
freem [FATAL]: memory allocation failure in job_init [errno 2 No such file or directory]
```Serena WillisSerena Willishttps://gitlab.coherent-logic.com/jpw/freem/-/issues/130Create SMF service definition for Solaris2023-07-19T13:12:28ZSerena WillisCreate SMF service definition for SolarisSerena WillisSerena Willishttps://gitlab.coherent-logic.com/jpw/freem/-/issues/129Widen search for memory issues with valgrind2023-07-14T22:41:40ZSerena WillisWiden search for memory issues with valgrindSerena WillisSerena Willishttps://gitlab.coherent-logic.com/jpw/freem/-/issues/123Fix FreeBSD port2023-07-14T22:36:01ZSerena WillisFix FreeBSD portSerena WillisSerena Willishttps://gitlab.coherent-logic.com/jpw/freem/-/issues/121Remove GTK-based MWAPI code2023-07-14T22:35:23ZSerena WillisRemove GTK-based MWAPI codeSerena WillisSerena Willishttps://gitlab.coherent-logic.com/jpw/freem/-/issues/119Corrupt subscripts introduced in certain LOCK invocations2023-04-07T22:42:23ZSerena WillisCorrupt subscripts introduced in certain LOCK invocationsSerena WillisSerena Willishttps://gitlab.coherent-logic.com/jpw/freem/-/issues/118Segfaults and shared memory failures on RPi2022-01-11T15:19:01ZSerena WillisSegfaults and shared memory failures on RPiSerena WillisSerena Willishttps://gitlab.coherent-logic.com/jpw/freem/-/issues/105Move TP, journaling, and naked indicator processing into global dispatch code2021-12-22T21:39:39ZSerena WillisMove TP, journaling, and naked indicator processing into global dispatch codeSerena WillisSerena Willishttps://gitlab.coherent-logic.com/jpw/freem/-/issues/103Add breakpoints2021-09-02T19:44:44ZSerena WillisAdd breakpointsSerena WillisSerena Willishttps://gitlab.coherent-logic.com/jpw/freem/-/issues/102Figure out extended pattern matching2021-09-02T19:44:09ZSerena WillisFigure out extended pattern matchingSerena WillisSerena Willishttps://gitlab.coherent-logic.com/jpw/freem/-/issues/90Investigate symtab support for MWAPI extended string lengths2020-09-19T18:52:48ZSerena WillisInvestigate symtab support for MWAPI extended string lengthsInvestigate symtab support for MWAPI extended string lengths. We need to support 64K strings for the `CLIPBOARD` node of `^$DISPLAY` to hold the system clipboard contents, as well as 32K strings for text field contents.
We may be able to fake this by making certain nodes special cases within their specific SSVN handler code.Investigate symtab support for MWAPI extended string lengths. We need to support 64K strings for the `CLIPBOARD` node of `^$DISPLAY` to hold the system clipboard contents, as well as 32K strings for text field contents.
We may be able to fake this by making certain nodes special cases within their specific SSVN handler code.Serena WillisSerena Willishttps://gitlab.coherent-logic.com/jpw/freem/-/issues/88Implement SSVN default values2020-09-19T18:47:15ZSerena WillisImplement SSVN default valuesImplement SSVN default values. Need to be able to define SSVN references with a corresponding default value, as `KILL`ing certain MWAPI nodes in `^$WINDOW` is supposed to restore the default attribute instead of making the node undefined. `KILL` will need a way to trigger this, as well as `KVALUE`. May be best handled in `symtab()`, as thus far, only process-private SSVNs have this requirement.Implement SSVN default values. Need to be able to define SSVN references with a corresponding default value, as `KILL`ing certain MWAPI nodes in `^$WINDOW` is supposed to restore the default attribute instead of making the node undefined. `KILL` will need a way to trigger this, as well as `KVALUE`. May be best handled in `symtab()`, as thus far, only process-private SSVNs have this requirement.Serena WillisSerena Willishttps://gitlab.coherent-logic.com/jpw/freem/-/issues/87Implement exclusive and argumentless forms of KVALUE2020-09-19T18:44:51ZSerena WillisImplement exclusive and argumentless forms of KVALUEImplement exclusive and argumentless forms of `KVALUE`. Need to find a nice data structure for this.Implement exclusive and argumentless forms of `KVALUE`. Need to find a nice data structure for this.Serena WillisSerena Willishttps://gitlab.coherent-logic.com/jpw/freem/-/issues/84Finish fmadm utilities2020-09-19T18:38:29ZSerena WillisFinish fmadm utilitiesSerena WillisSerena Willishttps://gitlab.coherent-logic.com/jpw/freem/-/issues/77Verify and/or apply MDC extension X11/94-28: Portable String Length2023-11-14T14:09:22ZSerena WillisVerify and/or apply MDC extension X11/94-28: Portable String LengthNeed to support at least 510 characters for node values. Initially, we would like to support at least 64KiB node values for locals, but preferably 1MiB or more. For globals, we need to meaningfully support block sizes other than 1KiB to get larger node values, and eventually will need to have nodes that span multiple blocks. Though having a disparity between the length limits in locals and globals is suboptimal, it will likely be necessary for some time.Need to support at least 510 characters for node values. Initially, we would like to support at least 64KiB node values for locals, but preferably 1MiB or more. For globals, we need to meaningfully support block sizes other than 1KiB to get larger node values, and eventually will need to have nodes that span multiple blocks. Though having a disparity between the length limits in locals and globals is suboptimal, it will likely be necessary for some time.Serena WillisSerena Willishttps://gitlab.coherent-logic.com/jpw/freem/-/issues/20OMI not implemented2020-02-19T18:30:36ZSerena WillisOMI not implemented