| 00:20.47 | starseeker | confound it... |
| 00:26.45 | starseeker | getting an erratic and not reproducible recurrance of the nil free problem |
| 00:41.56 | starseeker | ah, got gdb on it: https://paste.ubuntu.com/p/hd9xYxkXTp/ |
| 00:47.17 | starseeker | brlcad: hmm... the db_close at cache.c:635... how could another thread get to that dbip before closure? |
| 00:48.58 | starseeker | It shouldn't be in the cache at all, if I'm reading this right - cache_read_dbip will create a new one with db_open... |
| 00:53.12 | starseeker | could another thread generate the same temp file name if it hits the same object at the same time? I don't know how robust uuid is... |
| 00:55.18 | starseeker | brlcad: in some ways, I almost wish we could do a tree walk, build the set of all unique objects, and then process that list so we could be sure none of the threads were trying to prep the same object at the same time... |
| 00:58.39 | brlcad | gah |
| 00:59.21 | starseeker | brlcad: here's what's in the dbip: https://paste.ubuntu.com/p/shN5vDMhtB/ |
| 00:59.39 | starseeker | I've still got gdb on it if there's anything else to be gleaned |
| 00:59.46 | brlcad | per original question, don't think the unit tests should actually do shot validation |
| 01:00.00 | starseeker | nods - works |
| 01:00.17 | brlcad | i'm still looking at the changes you made to see if I understand them correctly |
| 01:00.39 | starseeker | nods |
| 01:01.26 | starseeker | to see the behavior I was seeing, just revert my changes and run any of the rt_cache tests (e.g. rt_cache 1) |
| 01:02.12 | starseeker | it was trying to re-populate the mapped_file list after calling free on it that caused the blow-up |
| 01:02.44 | *** join/#brlcad LordOfBikes (~armin@dslb-088-066-140-085.088.066.pools.vodafone-ip.de) | |
| 01:05.50 | brlcad | at a quick glance, db_close() looks like it may not be entirely threadsafe |
| 01:14.41 | *** join/#brlcad kintel (~textual@unaffiliated/kintel) | |
| 01:21.53 | *** join/#brlcad teepee_ (~teepee@unaffiliated/teepee) | |
| 01:23.44 | starseeker | brlcad: I was considering trying to use subprocesses to hit test caches with multiple processes simultaneously, over and above threads... is that worth doing, or does the multithread testing provide all the benefits we might see there? |
| 01:25.01 | brlcad | separate concerns |
| 01:27.27 | brlcad | in theory the rename construct made it fully multiprocess-safe now barring maybe some obscure moments when the cache directory is first constructed when the version file is created |
| 01:27.34 | brlcad | the cache files themselves should be golden and my manual hammering seems to confirm that |
| 01:27.55 | brlcad | that said, can't hurt so long as the tests are bugfree ;) |
| 01:28.46 | starseeker | heh. OK, I'll see what I can cook up |
| 02:08.42 | starseeker | finishes round one of test code consolidation |
| 02:09.13 | starseeker | I'll try the subprocess stuff tomorrow |
| 02:09.17 | starseeker | must get trash |
| 02:23.51 | *** join/#brlcad kintel (~textual@unaffiliated/kintel) | |
| 02:39.54 | *** join/#brlcad kintel (~textual@unaffiliated/kintel) | |
| 05:58.20 | brlcad | that does it for now |
| 06:59.32 | *** join/#brlcad merzo (~merzo@48-10-132-95.pool.ukrtel.net) | |
| 07:53.12 | *** join/#brlcad merzo (~merzo@48-10-132-95.pool.ukrtel.net) | |
| 09:21.24 | *** join/#brlcad merzo (~merzo@195.20.130.10) | |
| 09:46.23 | *** join/#brlcad teepee_ (~teepee@unaffiliated/teepee) | |
| 10:37.56 | *** join/#brlcad teepee (~teepee@unaffiliated/teepee) | |
| 10:49.24 | *** join/#brlcad Caterpillar (~caterpill@unaffiliated/caterpillar) | |
| 10:51.25 | *** join/#brlcad teepee (~teepee@unaffiliated/teepee) | |
| 10:56.42 | starseeker | brlcad: with trunk I'm getting "(nil) free ERROR free mapped file pointers |
| 10:56.50 | starseeker | building the sample .g files |
| 10:59.58 | starseeker | stack smash is back with rt_cache 1, follows the "free ERROR" message. |
| 11:00.10 | starseeker | however, all bu_mappedfile tests pass |
| 11:02.04 | *** join/#brlcad Caterpillar (~caterpill@unaffiliated/caterpillar) | |
| 11:04.38 | *** join/#brlcad Caterpillar (~caterpill@unaffiliated/caterpillar) | |
| 11:23.59 | starseeker | reflects and thinks he needs to add another mappedfile test... |
| 11:35.03 | *** join/#brlcad teepee (~teepee@unaffiliated/teepee) | |
| 11:37.42 | *** join/#brlcad merzo (~merzo@195.20.130.10) | |
| 12:12.29 | *** join/#brlcad raingloom (~raingloom@catv-178-48-182-39.catv.broadband.hu) | |
| 12:30.05 | *** join/#brlcad teepee (~teepee@unaffiliated/teepee) | |
| 12:38.20 | *** join/#brlcad teepee- (bc5c2133@gateway/web/freenode/ip.188.92.33.51) | |
| 13:01.57 | *** join/#brlcad kintel (~textual@unaffiliated/kintel) | |
| 13:13.13 | *** join/#brlcad yorik (~yorik@2804:431:f721:ee35:290:f5ff:fedc:3bb2) | |
| 14:27.17 | *** join/#brlcad kintel (~textual@unaffiliated/kintel) | |
| 15:23.59 | *** join/#brlcad yorik (~yorik@2804:431:f721:ee35:290:f5ff:fedc:3bb2) | |
| 19:06.08 | *** join/#brlcad raingloom (~raingloom@catv-178-48-182-40.catv.broadband.hu) | |
| 19:15.16 | *** join/#brlcad teepee (~teepee@unaffiliated/teepee) | |
| 20:27.49 | *** join/#brlcad merzo (~merzo@168-38-132-95.pool.ukrtel.net) | |
| 21:29.26 | *** join/#brlcad kintel (~textual@unaffiliated/kintel) | |
| 22:29.05 | *** join/#brlcad kintel (~textual@unaffiliated/kintel) | |
| 23:53.40 | *** join/#brlcad raingloom (~raingloom@catv-178-48-182-38.catv.broadband.hu) | |