Fred T. Hamster [Tue, 17 Feb 2026 15:10:41 +0000 (10:10 -0500)]
tastier from perspective of wild threads
we want the activity on the threads to be as intermingled as possible, so i moved the logging after the action of adding or deleting.
this makes sure that they're queueing up on the logging mutex *after* they've done their work on the bin, so any thread issues from multiple simultaneous bin accesses should not be hidden by the logging synchronization anymore.
Fred T. Hamster [Tue, 17 Feb 2026 13:49:55 +0000 (08:49 -0500)]
issues seem solved re pure virtual function call
threaded shutdown seems to be much healthier when all the threads are given a cancel order first. this doesn't make anything stop or pause, and we zoom through the list cancelling them all. they're then free to exit at will. and when we start waiting for them in the amorph reset, they're mostly already done, so the shutdown is pretty much all threads down in parallel, instead of the sequential shutdown we had been doing (which was also fraught with potential error, apparently, from inconsistent ordering of thread shutdowns and object shutdowns and such).
Fred T. Hamster [Tue, 17 Feb 2026 11:55:06 +0000 (06:55 -0500)]
testing with callstack tracker disabled
turning off the tracker got rid of one class of problems, but now we're seeing that a pure virtual method
is being invoked. something is calling into our code after its been destroyed, or we're using dead objects.
Fred T. Hamster [Tue, 17 Feb 2026 03:17:56 +0000 (22:17 -0500)]
experimenting with improved thread timing
and also working on the weird exit value from the threaded entity data bin test (139). no idea what's going on there yet, because all indications point to the test's execute method providing a zero return value. feisty in general doesn't mention a constant of 139. hmmm... maybe OS level?
Fred T. Hamster [Sun, 15 Feb 2026 05:50:24 +0000 (00:50 -0500)]
automated the cromp tests
now the cromp tests actually are called, with both the server and client.
this test reveals some issues (bugs) with the cromp code though, where the client loses contact with the server.
also the runtime is way too long for a unit test.
Fred Hamster [Sat, 14 Feb 2026 02:22:20 +0000 (21:22 -0500)]
made the repository list handling more selective
we only need things once, on either the pull or commit variables, not double listed, like ever. doesn't hurt, just wastes time.
also cleaned up some older code.
Fred T. Hamster [Fri, 13 Feb 2026 13:51:48 +0000 (08:51 -0500)]
adopting two repository lists
needed to separate the checkouts from the checkins, since many times i am working with other people's code
and cannot check anything in, but i can check things out just fine. and similarly, i have accounts that can
get my code but not check it in, and they should not have to see errors all the time from trying an operation
they cannot complete.
Fred T. Hamster [Fri, 13 Feb 2026 11:27:02 +0000 (06:27 -0500)]
aspirational documentation for new repo lists
the documentation came first, which was good, because it made me think about what i wanted the repository list feature to really be.
unfortunately, that's the only change so far, so now the docs and code behavior don't match. argh! but soon the feature will get implemented and we'll be back in the rationality zone.
Fred T. Hamster [Fri, 13 Feb 2026 01:22:00 +0000 (20:22 -0500)]
working on solving unfortunate sub-link traversals
the rcheckin command will go into sub-folders in the directory that are links, which we would prefer it not do.
there are cases where the linked sub-folder is a software product we do not have rights to update, so we should not be
trying to dive into there and mess with the source.
if a linked sub-folder does need to be checked in, then that is a special case that will have to be dealt with
somewhere else, currently.
Fred T. Hamster [Thu, 12 Feb 2026 12:22:15 +0000 (07:22 -0500)]
added doc in checker report
note added, to provide the vim commands i use all the time when processing the output of checker.
in zap the dir, just turned on some debugging noise for when "unimportant" files are whacked. then we know the extent of the issue, maybe a bit late, but for future research into a note that was reported and pooh-poohed.
Fred T. Hamster [Wed, 11 Feb 2026 21:06:33 +0000 (16:06 -0500)]
ugh, gen deps working again
at least it seems to be. lots of severe tire damage after moving to associative arrays, but the speed is ideal.
just have to get out of the numerically indexed array mindset.
Fred T. Hamster [Wed, 11 Feb 2026 07:10:59 +0000 (02:10 -0500)]
nice speed up for gen deps
using less calls out to sed now, and found a more efficient array search.
that being said, we probably need to move to associative arrays instead of normal ones,
and that will be wicked faster.
Fred T. Hamster [Wed, 11 Feb 2026 06:38:51 +0000 (01:38 -0500)]
getting closer to economy
some sed calls have been replaced with in-bash variable expansions, which should really help the speed.
not everything is working again quite yet though.
Fred T. Hamster [Wed, 11 Feb 2026 02:53:37 +0000 (21:53 -0500)]
turning on the callstack tracker for dev
living dangerously. want to see if any problems actually exist from this code.
next step would be turning off the callstack tracker and back on the memory
checker, which is a broken kludge festival if i remember properly.
Fred T. Hamster [Tue, 10 Feb 2026 20:31:33 +0000 (15:31 -0500)]
fixed callstack tracker for multithreaded apps
made the tracker thread local, so it adheres to the particular thread and keeps the stack right.
added tests for callstack tracker in the mutex test, since it already had lots of cool thread activity.
the stack tests invoke our macro, which checks the trace's validity; there's no specific other test
of the callstack tracker in test_mutex, but the current approach will add tests to the overall count
and also complain about any errors that occur.
Fred T. Hamster [Tue, 10 Feb 2026 15:19:44 +0000 (10:19 -0500)]
small fixes for stack tracker
things seem really good; everything builds with this enabled now, and the test app for the tracker makes sense.
need to add a recursive test to the tracker tester, and also implement a multi-threaded test of it.
OR... i could just add callstack tracking output in one of our current multi-threaded tests. oooh, i like it!
re-use the macro for getting the trace, testing its validity, and printing it.
Fred T. Hamster [Tue, 10 Feb 2026 13:03:33 +0000 (08:03 -0500)]
good state with updated static built apps
buildor_gen_deps is cranking along nicely now. fixed another bug in it about absolute paths.
regenerated the statically built apps that we hadn't done recently (by excluding the clam_tools).
these all compile and link properly now.
have not actually tested the callstack tracker yet. that's next.
but it builds now, so it must be correct code, yes? hahahaha, i amuse myself.
Fred T. Hamster [Tue, 10 Feb 2026 05:23:22 +0000 (00:23 -0500)]
fully functional death star
seems like buildor gen deps is back again. it works with the debugging noise enabled; now we get to try with it off.
and i think i just saw how that will break everything (due to empty if then statements). oh fudge.
Fred T. Hamster [Tue, 10 Feb 2026 04:25:36 +0000 (23:25 -0500)]
breaking change with callstack tracker enabled
this doesn't compile right now, but is getting closer.
currently trying to resolve the problems in buildor_gen_deps, but may have just found the smoking gun. or bug. bad bug.
Fred T. Hamster [Mon, 9 Feb 2026 15:26:07 +0000 (10:26 -0500)]
reverted to prior semicolon-lessness
the FUNCDEF macro should compile fine with or without a semicolon after it. had momentarily added semicolons during build problems with callstack tracker, but don't want unnecessary changes going in, or a bad standard for requiring semicolons to be forced on anyone.
Fred T. Hamster [Mon, 9 Feb 2026 15:20:19 +0000 (10:20 -0500)]
holy crowbar lots of callstack tracker changes
this was an attempt to bring back in the callstack tracker feature, after maybe 15 years of it not being alive in the codebase.
lots of struggle with that, and it's not working yet, but is a bit better. currently the feature is disabled in the codebase,
but hopefully it can be enabled soon...
Fred T. Hamster [Sun, 8 Feb 2026 20:43:44 +0000 (15:43 -0500)]
test timer driver is working again
had to bring back some old windoze code for it, in event_extensions. this will not build for real yet on windows, but that's a task for another day.
the tester is working great on linux!
Fred T. Hamster [Sun, 8 Feb 2026 19:23:08 +0000 (14:23 -0500)]
test registry config is in now
not sure it does anything; it's intended for working on windows where there's a global system registry (also known as an operating system single point of failure).
Fred T. Hamster [Sun, 8 Feb 2026 05:06:07 +0000 (00:06 -0500)]
ini config test is working again
the test exposed an insufficient size when performing double_plus operations, since we shifted the number into an int as part of truncation operation. changed this to a long long instead, which seems to have sufficient size for our purposes. previous result was that it was garbling the number and turning it negative as it handily overflowed 32 bits.
Fred T. Hamster [Sat, 7 Feb 2026 15:17:13 +0000 (10:17 -0500)]
test dirtree fcopy after one upgrade run
found a fix for __argv and __argc to add in upgrade script. want to get this version in before running it again to see if any severe tire damage occurs.
Fred T. Hamster [Sat, 7 Feb 2026 15:09:34 +0000 (10:09 -0500)]
working towards easier porting
updated the porting script, and now it mentions the actual product it's porting to (feisty meow).
got break signal test app compiling and working now too.
Fred T. Hamster [Thu, 5 Feb 2026 12:30:01 +0000 (07:30 -0500)]
revised name for 'apps' to be 'source'
makes a lot more sense, since we store source there and not built apps.
plus the 's' letter is no longer colliding with anything else in my standard names? wheeee....
Fred Hamster [Thu, 5 Feb 2026 02:56:17 +0000 (21:56 -0500)]
closing in on getting cmd line test working
the upgrade hoople to yeti script still does the mostly right stuff, despite neither of those being the current product name.
just a few errors left, i hope...
Chris Koeritz [Wed, 3 Dec 2025 16:25:20 +0000 (11:25 -0500)]
added a guard to catch an unusual error
ran this recently and seemed to think things were installed, but then xsecurelock wasn't really there.
this at least catches this situation; still need to fix deeper cause of problem.