Main issueshttps://gitlab.synchro.net/groups/main/-/issues2023-07-07T18:32:35Zhttps://gitlab.synchro.net/main/sbbs/-/issues/577New core dump2023-07-07T18:32:35ZNigel ReedNew core dumpDid a recompile at about 19:00 CDT on 26th, by 23:14 I had a core file in jsService.
<code>
$ gdb /home/bbs/sbbs-git/src/sbbs3/gcc.linux.x64.exe.debug/sbbs '/tmp/core.sbbs!jsService.339868'
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04.1) 9.2
Copy...Did a recompile at about 19:00 CDT on 26th, by 23:14 I had a core file in jsService.
<code>
$ gdb /home/bbs/sbbs-git/src/sbbs3/gcc.linux.x64.exe.debug/sbbs '/tmp/core.sbbs!jsService.339868'
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04.1) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/bbs/sbbs-git/src/sbbs3/gcc.linux.x64.exe.debug/sbbs...
[New LWP 342927]
[New LWP 339883]
[New LWP 339879]
[New LWP 339872]
[New LWP 339878]
[New LWP 339880]
[New LWP 339869]
[New LWP 339877]
[New LWP 339875]
[New LWP 339881]
[New LWP 339885]
[New LWP 339874]
[New LWP 342958]
[New LWP 339870]
[New LWP 342957]
[New LWP 342930]
[New LWP 339886]
[New LWP 339873]
[New LWP 339891]
[New LWP 339868]
[New LWP 342921]
[New LWP 339957]
[New LWP 339888]
[New LWP 339871]
[New LWP 339956]
[New LWP 339887]
[New LWP 339890]
[New LWP 342959]
[New LWP 339892]
[New LWP 339896]
[New LWP 339895]
[New LWP 339898]
[New LWP 339893]
[New LWP 339894]
[New LWP 339899]
[New LWP 339889]
[New LWP 342906]
[New LWP 339958]
[New LWP 342911]
[New LWP 339954]
[New LWP 339884]
[New LWP 339955]
[New LWP 342910]
[New LWP 342950]
[New LWP 339897]
[New LWP 342912]
[New LWP 342960]
[New LWP 342956]
[New LWP 342922]
[New LWP 342923]
[New LWP 342928]
[New LWP 342932]
[New LWP 342952]
[New LWP 342954]
[New LWP 342955]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
--Type <RET> for more, q to quit, c to continue without paging--c
Core was generated by `/sbbs/exec/sbbs d'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f6d74577009 in ?? ()
[Current thread is 1 (Thread 0x7f6c758fe700 (LWP 342927))]
(gdb) bt
#0 0x00007f6d74577009 in ?? ()
#1 0x00007f6c758f7dd0 in ?? ()
#2 0x00007f6d04787d8a in js::ExecuteTrace (state=..., f=0x7f6c758f7b40, tm=0x7f6c758f7b40,
cx=0x7f6c80015b10) at jstracer.cpp:6568
#3 js::ExecuteTree (cx=0x7f6c747f03b8, tm=0x7f6c758f7b38, f=0xfff8800000000001,
inlineCallCount=<error reading variable>, innermostNestedGuardp=0x100000000,
lrp=0x758f7a80) at jstracer.cpp:6674
Backtrace stopped: frame did not save the PC
(gdb) bt full
#0 0x00007f6d74577009 in ?? ()
No symbol table info available.
#1 0x00007f6c758f7dd0 in ?? ()
No symbol table info available.
#2 0x00007f6d04787d8a in js::ExecuteTrace (state=..., f=0x7f6c758f7b40, tm=0x7f6c758f7b40,
cx=0x7f6c80015b10) at jstracer.cpp:6568
u = {code = 0x7f6d045dc0ee <JSObject::isDenseArray() const+28> "H\215\025\v<]",
func = 0x7f6d045dc0ee <JSObject::isDenseArray() const+28>}
rec = 0x7f6c758f7b40
#3 js::ExecuteTree (cx=0x7f6c747f03b8, tm=0x7f6c758f7b38, f=0xfff8800000000001,
inlineCallCount=<error reading variable>, innermostNestedGuardp=0x100000000,
lrp=0x758f7a80) at jstracer.cpp:6674
state = {cx = 0xfffbff6c747f03b8, traceMonitor = 0xfff8800000000001,
stackBase = 0x7f6c758f7d00, sp = 0x7f6c758f7d00, eos = 0xfff8800000000001,
callstackBase = 0x7f6c800aaca0, sor = 0x1fff1, rp = 0x7f6c776de420,
eor = 0x7f6c758f7c10, lastTreeExitGuard = 0x7f6cf63641e6,
lastTreeCallGuard = 0x7f6c758f7bd0, rpAtLastTreeCall = 0xfff8800000000001,
outermostTreeExitGuard = 0xfff9000000000000, outermostTree = 0xfffaff6d04b5a900,
inlineCallCountp = 0xfff880000000000a,
innermostNestedGuardp = 0xfff8800000000001, innermost = 0xfff9000000000000,
startTime = 18444633011384221697, prev = 0xfff880000000000a,
builtinStatus = 2147572496, deepBailSp = 0x3ffc90, nativeVpLen = 1972337920,
nativeVp = 0x7f6c761fd370}
stack = 0x7f6c758f7b38
global = 0xad1dfd402a8ec600
globalObj = 0x7f6c758f7b20
ngslots = 32620
gslots = 0x7f6d045ee8dd <array_push(JSContext*, uintN, js::Value*)+290>
lr = 0x7f6c801459b8
ok = 117
iters = 140103805532984
Backtrace stopped: frame did not save the PC
(gdb) q
</code>
Let me know if I can provide any other information.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/576JS: Calling word_wrap() with negative length causes a crash (segfault); with ...2023-06-24T12:06:50ZEric OulashinJS: Calling word_wrap() with negative length causes a crash (segfault); with length of 0 causes high CPU usage & doesn't seem to finishI found this with a build of Synchronet from May 27 (and I'm running in Linux).
This was found with a JavaScript script that was calculating a length to use with word_wrap, and the length ended up negative. My script now checks the leng...I found this with a build of Synchronet from May 27 (and I'm running in Linux).
This was found with a JavaScript script that was calculating a length to use with word_wrap, and the length ended up negative. My script now checks the length to ensure that doesn't happen. However, I found a couple things:
- Calling word_wrap() with a negative line length causes a crash (segfault)
- Calling word_wrap() with a length of 0 seems to cause high CPU usage ('top' showed 100% CPU usage by sbbs), and it also didn't seem to finish; perhaps there's an infinite loop in this case?
To reproduce - Crash/segfault:
```
var aStr = "This is a string that I want to word-wrap for a test.";
var wrappedStr = word_wrap(aStr, -1);
```
High CPU usage/possible infinite loop:
```
var aStr = "This is a string that I want to word-wrap for a test.";
var wrappedStr = word_wrap(aStr, 0);
```Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/575c++: fatal error: Killed signal terminated program cc1plus compilation termin...2023-06-24T00:44:23ZSarah Amethystc++: fatal error: Killed signal terminated program cc1plus compilation terminated. In the directory /sbbs/repo/3rdp/src/mozjs/js-1.8.5/js/srcUnable to build from souce on debian 12 and freebsd 13
The following command failed to execute properly:
c++ -o jsstr.o -c -fvisibility=hidden -DOSTYPE="Linux6.1" -DOSARCH=Linux -DEXPORT_JS_API -D__STDC_LIMIT_MACROS -DJS_HAS_CTYPES -DDL...Unable to build from souce on debian 12 and freebsd 13
The following command failed to execute properly:
c++ -o jsstr.o -c -fvisibility=hidden -DOSTYPE="Linux6.1" -DOSARCH=Linux -DEXPORT_JS_API -D__STDC_LIMIT_MACROS -DJS_HAS_CTYPES -DDLL_PREFIX="lib" -DDLL_SUFFIX=".so" -Ictypes/libffi/include -I. -I. -I. -I./dist/include -I./dist/include/nsprpub -I/usr/include/nspr -I. -I./assembler -I./yarr -fPIC -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -std=gnu++98 -fno-strict-aliasing -pthread -pipe -DNDEBUG -DTRIMMED -O3 -w -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1 -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsstr.pp jsstr.cpp
gmake[4]: *** [config/rules.mk:1477: jsstr.o] Error 1
gmake[4]: *** Deleting file 'jsstr.o'
gmake[4]: Leaving directory '/sbbs/repo/3rdp/src/mozjs/js-1.8.5/js/src'
gmake[3]: *** [config/rules.mk:754: default] Error 2
gmake[3]: Leaving directory '/sbbs/repo/3rdp/src/mozjs/js-1.8.5/js/src'
gmake[2]: *** [GNUmakefile:79: ../build/../../src/../3rdp/gcc.linux.x64.release/mozjs/lib/libmozjs185-1.0.a] Error 2
gmake[2]: Leaving directory '/sbbs/repo/3rdp/build'
gmake[1]: *** [/sbbs/repo/src/sbbs3/../build/Common.gmake:527: js] Error 2
gmake[1]: Leaving directory '/sbbs/repo/src/sbbs3'
gmake: *** [GNUmakefile:152: sbbs3] Error 2https://gitlab.synchro.net/main/sbbs/-/issues/574Enable address sanitizer in compilations on supported platforms/toolchains2023-06-05T17:01:32ZRob SwindellEnable address sanitizer in compilations on supported platforms/toolchainsPer https://twitter.com/JSAMcFarlane
> Whenever you see examples of 'cursed' C or C++, run it built on GCC/Clang with
-Werror -Wall -Wextra -fsanitize=undefined,address
> and see how far it gets. These flags should be enabled by ...Per https://twitter.com/JSAMcFarlane
> Whenever you see examples of 'cursed' C or C++, run it built on GCC/Clang with
-Werror -Wall -Wextra -fsanitize=undefined,address
> and see how far it gets. These flags should be enabled by default in IDEs, build systems and for testing and development.
I won't go for -Werror since that would be disruptive (compiler upgrade == broken build). -Wextra might be good, at least as an option.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/573gethostbyname is obsolete and deprecated2023-06-04T22:38:14ZRob Swindellgethostbyname is obsolete and deprecatedFrom the man page:
> The gethostbyname*(), gethostbyaddr*(), herror(), and hstrerror() functions are obsolete. Applications should use getaddrinfo(3), getnameinfo(3), and gai_strerror(3) instead.
Additionally, there was a recently-fixe...From the man page:
> The gethostbyname*(), gethostbyaddr*(), herror(), and hstrerror() functions are obsolete. Applications should use getaddrinfo(3), getnameinfo(3), and gai_strerror(3) instead.
Additionally, there was a recently-fixed bug (null-deref) in our historic use of gethostbyname() (in resolve_ip(), initially) that was copy/pasted to several other places. We should have a robust version of resolve_ip() in xpdev and reuse that everywhere we need that functionality (and add IPv6 support while we're at it).Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/572Feature Request: ActivityPub Support2023-06-04T06:43:03ZChris CostakisFeature Request: ActivityPub SupportWith so much renewed interest around Mastodon, it's hard to look past the push (doesn't everything come full circle?) toward decentralization of Internet based services and the ActivityPub protocol. And now with the API changes to Twitt...With so much renewed interest around Mastodon, it's hard to look past the push (doesn't everything come full circle?) toward decentralization of Internet based services and the ActivityPub protocol. And now with the API changes to Twitter and Reddit, it feels like there's a movement back to the days of the BBS in a sense.
I don't know what specifically this would look like, but support for ActivityPub and ability to integrate with Mastodon via the SSH/Telnet and web interfaces would be pretty cool and maybe a good place to start? How about the ability to use Synchronet as a Mastodon server instance and get all of the BBS goodness that Sync offers along with the ability to have our own corner of the "Fediverse?"
Probably should have thought this through in more detail, but wanted to get the idea out there to see if there's any interest, other ideas, or reasons why this is a dumb idea! :smile:https://gitlab.synchro.net/main/sbbs/-/issues/571quotes.txt may contain Ctrl-A codes2023-06-01T20:20:47ZRob Swindellquotes.txt may contain Ctrl-A codesThese codes are unlikely to be correctly parsed/supported by most message editors.These codes are unlikely to be correctly parsed/supported by most message editors.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/570tw2/editor.js line 121: TypeError: obj.Put is not a function2023-06-02T12:06:49ZRob Swindelltw2/editor.js line 121: TypeError: obj.Put is not a functionNot sure why, but this was reported an errorNot sure why, but this was reported an errorDeucеDeucеhttps://gitlab.synchro.net/main/sbbs/-/issues/569Feature request - Add option to NOT enter talk with the guru when Sysop is NO...2023-05-21T12:07:14ZKeyop TroyFeature request - Add option to NOT enter talk with the guru when Sysop is NOT available for chat but is paged by a userIf the sysop is unavailable for chat (system toggle) and a user pages the sysop, then the user is told that the sysop is unavailable (this is ok), but then the user is thrown into Talk With The Guru - whether they want to or not.
Please...If the sysop is unavailable for chat (system toggle) and a user pages the sysop, then the user is told that the sysop is unavailable (this is ok), but then the user is thrown into Talk With The Guru - whether they want to or not.
Please add an option to stop being put into Talk With The Guru when a user pages a sysop that is not available - A simple message of "The Sysop is not available" with a Press Any Key ... is suffice.
Thanks.https://gitlab.synchro.net/main/sbbs/-/issues/568Feature Request - Display "exit" command aka "bye" when entering Talk With Th...2023-05-22T22:45:41ZKeyop TroyFeature Request - Display "exit" command aka "bye" when entering Talk With The GuruWhen entering Talk With The Guru, display something like "Use 'bye' to exit chat" - rather than leave the user guessing how to get back to the BBS menu.When entering Talk With The Guru, display something like "Use 'bye' to exit chat" - rather than leave the user guessing how to get back to the BBS menu.https://gitlab.synchro.net/main/sbbs/-/issues/567Error in QNET (!ERROR 2)2023-05-22T20:40:46ZKeyop TroyError in QNET (!ERROR 2)Started getting this message appearing in data/error.log since May 11:
evnt QNET !ERROR 2 (No such file or directory) in qwktomsg.cpp line 516 (qwk_import_msg) writing "/sbbs/data/subs/dove-syncdata" access=-206 info=smb_new_msghdr inde...Started getting this message appearing in data/error.log since May 11:
evnt QNET !ERROR 2 (No such file or directory) in qwktomsg.cpp line 516 (qwk_import_msg) writing "/sbbs/data/subs/dove-syncdata" access=-206 info=smb_new_msghdr index file length (484840), expected (484860)
Any thoughts?https://gitlab.synchro.net/main/sbbs/-/issues/566Add 'Echolist' capability to Tickfix2023-05-19T15:28:04ZDaniel CloughAdd 'Echolist' capability to TickfixI'd like to be able to specify what FDN areas are visible/available to FTN downlinks. Currently a %LIST command to Tickfix will return a list of all defined file areas in tickit.ini. The problem with this is that multiple FTNs can be d...I'd like to be able to specify what FDN areas are visible/available to FTN downlinks. Currently a %LIST command to Tickfix will return a list of all defined file areas in tickit.ini. The problem with this is that multiple FTNs can be defined in that one file, and the downlink should not be able to see/connect to another FTN's file areas. With echomail (sbbsecho.ini) this is handled by using Echolists and Keys to separate out the lists of areas available to each downlink. Can that functionality be added to Tickfix?https://gitlab.synchro.net/main/sbbs/-/issues/565Rendering of X version of scfg and echocfg very slow2023-05-15T12:06:53ZNigel ReedRendering of X version of scfg and echocfg very slowSince the recent changes, both scfg and echocfg running remotely from Linux to my windows box running VcXsrv, the rendering has been very slow. When moving a window it seems to clear and redraw. Even with a small cursor movement it redra...Since the recent changes, both scfg and echocfg running remotely from Linux to my windows box running VcXsrv, the rendering has been very slow. When moving a window it seems to clear and redraw. Even with a small cursor movement it redraws a lot of times. General use is also slow. DM said to let Deuce know.DeucеDeucеhttps://gitlab.synchro.net/main/sbbs/-/issues/564tw2/players.js line 605: TypeError: player.ReInit is not a function2023-06-08T12:07:01ZRob Swindelltw2/players.js line 605: TypeError: player.ReInit is not a functionNot sure how/why, but this error was reported.Not sure how/why, but this error was reported.DeucеDeucеhttps://gitlab.synchro.net/main/sbbs/-/issues/563Replace hard-coded new user signup (sbbs_t::newuser()) with a loadable module...2023-05-08T01:51:05ZRob SwindellReplace hard-coded new user signup (sbbs_t::newuser()) with a loadable module (script)Sysops should have more freedom with new user registration ordering and logic. `exec/newuser_signup.js` is a proof of concept script created by Deuce but is now out of date/sync with newuser.cpp and incomplete.Sysops should have more freedom with new user registration ordering and logic. `exec/newuser_signup.js` is a proof of concept script created by Deuce but is now out of date/sync with newuser.cpp and incomplete.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/562https.js timeout for recvline2023-05-08T12:06:48ZNigel Reedhttps.js timeout for recvlineA webpage I'm trying to fetch timesout due to short timeout on recvline.
Please either increase timeout (60 seconds works for me but not sure everyone would want that) or make it a configurable value somehow.
Thanks.A webpage I'm trying to fetch timesout due to short timeout on recvline.
Please either increase timeout (60 seconds works for me but not sure everyone would want that) or make it a configurable value somehow.
Thanks.https://gitlab.synchro.net/main/sbbs/-/issues/561Directory scan in PETSCII mode leaves "Scanning" progress indicator visible2023-05-06T12:07:06ZRob SwindellDirectory scan in PETSCII mode leaves "Scanning" progress indicator visible![image](/uploads/2712ee8fe55aa2512d45e76b224cdc5e/image.png)![image](/uploads/2712ee8fe55aa2512d45e76b224cdc5e/image.png)Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/560update from 3.19 to 3.20 fails if node.cnf missing from some node directories2023-05-05T12:08:23ZBob Robertsupdate from 3.19 to 3.20 fails if node.cnf missing from some node directoriesThe jsexec update process will fail if one or more /sbbs/nodeXX directories do not have a node.cnf file. In my case many of my node directories were missing the .cnf file because no user had ever logged into them. (I believe the cnf ge...The jsexec update process will fail if one or more /sbbs/nodeXX directories do not have a node.cnf file. In my case many of my node directories were missing the .cnf file because no user had ever logged into them. (I believe the cnf gets created on first login to a node.) If the node.cnf is missing from a node directory the update process terminates and important ini files are not created, and then SBBS fails to start.
As a workaround I copied my node.cnf from node2 to all other nodes and then re-ran the jsesec update, and everything was ok.https://gitlab.synchro.net/main/sbbs/-/issues/558gopher wont listen on alternate port2023-05-01T00:59:10ZNigel Reedgopher wont listen on alternate portservices.ini contains a single gopher entry
; Archaic HTTP-like protocol
[Gopher]
Port=1170
Command=gopherservice.js
However, starting up sbbs I get
4/29 20:39:20 srvc 0029 !ERROR 13 binding Gopher socket to port 70: Permission denied...services.ini contains a single gopher entry
; Archaic HTTP-like protocol
[Gopher]
Port=1170
Command=gopherservice.js
However, starting up sbbs I get
4/29 20:39:20 srvc 0029 !ERROR 13 binding Gopher socket to port 70: Permission denied
4/29 20:39:20 srvc Gopher listening on socket :: port 70
I'm not running setcap since valgrind doesn't like that.https://gitlab.synchro.net/main/sbbs/-/issues/557core dump2023-06-27T05:58:37ZNigel Reedcore dumpsbbs coredumped a short time ago core.sbbs!httpOutput.1416288
<code>
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
--Type <RET> for more, q to quit, c to continu...sbbs coredumped a short time ago core.sbbs!httpOutput.1416288
<code>
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
--Type <RET> for more, q to quit, c to continue without paging--c
Core was generated by `/sbbs/exec/sbbs d'.
Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7f661cbff700 (LWP 1624560))]
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007f66dc984859 in __GI_abort () at abort.c:79
#2 0x00007f66dc9ef26e in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7f66dcb19298 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#3 0x00007f66dc9f72fc in malloc_printerr (str=str@entry=0x7f66dcb1b600 "free(): invalid next size (fast)") at malloc.c:5347
#4 0x00007f66dc9f8bac in _int_free (av=0x7f6684000020, p=0x7f66844bc370, have_lock=have_lock@entry=0) at malloc.c:4249
#5 0x00007f66dc9fc88d in __GI___libc_free (mem=0x7f66844bc380) at malloc.c:3125
#6 tcache_thread_shutdown () at malloc.c:2964
#7 __malloc_arena_thread_freeres () at arena.c:951
#8 0x00007f66dca010a0 in __libc_thread_freeres () at thread-freeres.c:38
#9 0x00007f66dcb5c62f in start_thread (arg=<optimized out>) at pthread_create.c:491
#10 0x00007f66dca81133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) bt full
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
set = {__val = {24583, 0 <repeats 15 times>}}
pid = <optimized out>
tid = <optimized out>
ret = <optimized out>
#1 0x00007f66dc984859 in __GI_abort () at abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007f66dc9ef26e in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7f66dcb19298 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
ap = {{gp_offset = 24, fp_offset = 0, overflow_arg_area = 0x7f661cbfeda0, reg_save_area = 0x7f661cbfed30}}
fd = <optimized out>
list = <optimized out>
nlist = <optimized out>
cp = <optimized out>
#3 0x00007f66dc9f72fc in malloc_printerr (str=str@entry=0x7f66dcb1b600 "free(): invalid next size (fast)") at malloc.c:5347
No locals.
#4 0x00007f66dc9f8bac in _int_free (av=0x7f6684000020, p=0x7f66844bc370, have_lock=have_lock@entry=0) at malloc.c:4249
fail = <optimized out>
idx = <optimized out>
old = <optimized out>
old2 = <optimized out>
size = 64
fb = <optimized out>
nextchunk = <optimized out>
nextsize = <optimized out>
nextinuse = <optimized out>
prevsize = <optimized out>
bck = <optimized out>
fwd = <optimized out>
__PRETTY_FUNCTION__ = "_int_free"
#5 0x00007f66dc9fc88d in __GI___libc_free (mem=0x7f66844bc380) at malloc.c:3125
ar_ptr = <optimized out>
p = 0x7f66844bc370
hook = <optimized out>
ar_ptr = <optimized out>
p = <optimized out>
hook = <optimized out>
__x = <optimized out>
#6 tcache_thread_shutdown () at malloc.c:2964
e = 0x7f66844bc380
i = <optimized out>
tcache_tmp = 0x7f6684012ad0
i = <optimized out>
tcache_tmp = <optimized out>
e = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--c
#7 __malloc_arena_thread_freeres () at arena.c:951
a = <optimized out>
__PRETTY_FUNCTION__ = "__malloc_arena_thread_freeres"
#8 0x00007f66dca010a0 in __libc_thread_freeres () at thread-freeres.c:38
No locals.
#9 0x00007f66dcb5c62f in start_thread (arg=<optimized out>) at pthread_create.c:491
pd = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140076545734400, -5211240115315338387, 140076707116062, 140076707116063, 140076707116240, 140076545732416, 5287733689581376365, 5287311527882199917}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = 0
#10 0x00007f66dca81133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
</code>
As always, let me know if you need me to provide anything else.Rob SwindellRob Swindell