00:26.09 |
*** join/#brlcad LordOfBikes
(~armin@dslb-092-074-225-166.092.074.pools.vodafone-ip.de) |
01:50.21 |
*** join/#brlcad archivist
(~archivist@host81-149-189-98.in-addr.btopenworld.com) |
02:16.38 |
*** join/#brlcad archivist
(~archivist@host81-149-189-98.in-addr.btopenworld.com) |
03:59.16 |
*** join/#brlcad teepee
(~teepee@unaffiliated/teepee) |
05:54.27 |
brlcad |
starseeker: I didn't scrutinize it that
closely for impact .. any non-NMG public API had to
change? |
05:56.22 |
brlcad |
smells bad having a free list added to so many
function args |
05:57.06 |
brlcad |
free lists are usually just an optimization
and a poor one at that these days -- did you see if you could just
eliminate its use altogether? |
05:59.13 |
brlcad |
don't know about the specific nmg case, but
usually they are a list of free'd items, so when the next
allocation comes, it pulls from the free list instead of allocating
again ... a really really inefficient optimization that we might be
able to change to just allocate on-demand or in-advance, no free
lists |
06:00.04 |
brlcad |
I do know that's what we need to do in others
parts of librt, particularly in db hash |
06:00.24 |
brlcad |
kudos on getting through all that grunting ..
herculean |
06:30.30 |
Notify |
03BRL-CAD:brlcad * 68976
brlcad/trunk/src/libbu/booleanize.c: restore booleanize back to
r68707 with slight modification that was causing the
spdi/shaders/solids regression tests to fail. the problem was
simply that errno needed to be reset before calling strtol(). now
all regress tests are passing again. |
06:35.27 |
Notify |
03BRL-CAD:brlcad * 68977
brlcad/trunk/src/libbu/opt.c: few other places we do not properly
reset errno before calling a function that potentially sets it
(e.g., strtod, strtol) |
07:27.35 |
*** join/#brlcad amarjeet
(~amarjeet@202.164.53.117) |
07:35.03 |
*** join/#brlcad Caterpillar
(~caterpill@unaffiliated/caterpillar) |
07:42.22 |
*** join/#brlcad merzo
(~merzo@user-94-45-58-141.skif.com.ua) |
08:07.02 |
*** join/#brlcad Caterpillar
(~caterpill@unaffiliated/caterpillar) |
08:20.04 |
*** join/#brlcad merzo
(~merzo@user-94-45-58-141.skif.com.ua) |
09:05.34 |
*** join/#brlcad merzo
(~merzo@user-94-45-58-141.skif.com.ua) |
10:11.14 |
*** join/#brlcad merzo
(~merzo@92.60.189.225) |
10:32.38 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
10:55.53 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
12:10.10 |
*** join/#brlcad amarjeet
(~amarjeet@202.164.53.117) |
12:12.34 |
Notify |
03BRL-CAD:brlcad * 68978
(brlcad/trunk/src/libged/gqa.c brlcad/trunk/src/libpkg/pkg.c
brlcad/trunk/src/util/ttcp.c): more places we need to initialize
errno before we test it. |
12:28.29 |
brlcad |
starseeker: how do you have things set up to
run the static analyzer? anything special? I'd like to squish
some issues in idle time. |
12:41.37 |
Notify |
03BRL-CAD:brlcad * 68979
brlcad/trunk/src/libbu/badmagic.c: make bu_badmagic actually not
return, always |
12:44.36 |
Notify |
03BRL-CAD:brlcad * 68980
(brlcad/trunk/include/bu/log.h brlcad/trunk/include/bu/magic.h):
mark bu_badmagic as not returning and document it as such |
12:48.52 |
Notify |
03BRL-CAD:brlcad * 68981
brlcad/trunk/include/bu/magic.h: clean up alignment so they're
consistent (and relocatable) |
13:11.00 |
*** join/#brlcad teepee
(~teepee@unaffiliated/teepee) |
13:16.18 |
*** join/#brlcad merzo
(~merzo@user-94-45-58-138-1.skif.com.ua) |
13:17.09 |
starseeker |
brlcad: There's a basic script in misc - I
don't think I've got the more elaborate one committed yet (that
breaks things down by lib) - I'll check |
13:20.01 |
starseeker |
brlcad: offhand I don't recall any non-NMG API
changing - the reason I had to go with passing the list around is I
wasn't sure what other programs (say, MGED) were depending on the
drawing work taking place specifically in RTG.rtg_vlfree |
13:22.08 |
starseeker |
it may be that it truly doesn't matter, but
given how massive the task is I was trying for the minimal change
to avoid unanticipated side effects |
13:23.00 |
starseeker |
I'm willing to re-grunt through it and clean
it up if we determine it's not needed |
13:30.14 |
ries |
ping Sean, any update? |
13:33.56 |
Notify |
03BRL-CAD:starseeker * 68982
brlcad/trunk/misc/clang-static-analyzer-run.sh: A somewhat more
elaborate clang static analyzer script with more nuanced reporting
of what is and is not expected to pass (and reports specific to
each library.) In a perfect world this would actually be generated
by CMake - the major weakness of this setup is that the target list
is static in the file and dosn't automatically update
when |
13:33.58 |
Notify |
the build changes. Still, it's a
start. |
13:34.00 |
Notify |
... |
13:35.04 |
starseeker |
brlcad: that'll probably be actively damaging
to your shell scripting sensibilities, but it also contains the
logic for how to do the static analysis building |
13:35.46 |
*** join/#brlcad yorik
(~yorik@2804:431:f721:d5eb:290:f5ff:fedc:3bb2) |
13:35.53 |
starseeker |
hey you |
13:35.59 |
starseeker |
er yorik |
13:36.19 |
brlcad |
ries: yes, he should be good to go |
13:36.20 |
starseeker |
be nice if my fingers acted like the're
actually connected to my brain... |
13:36.31 |
brlcad |
ries: can you have him send me an
e-mail? |
13:36.44 |
ries |
brlcad: yes I can |
13:36.49 |
brlcad |
great, thanks |
13:37.06 |
ries |
brlcad: it has been very quite on the channel
lately.. |
13:37.08 |
brlcad |
I'll cc you on the info, just going to let him
know what to expect |
13:37.23 |
ries |
ok |
13:37.30 |
brlcad |
yeah, it's been crunch time for several of
us |
13:37.38 |
*** join/#brlcad merzo
(~merzo@user-94-45-58-141.skif.com.ua) |
13:39.24 |
brlcad |
starseeker: got why you were changing it -- no
problems there -- just a note that there may be an easy way to make
it go away (as it should eventually go away), especially if you
tackle other global constructs like it |
13:40.09 |
starseeker |
nods - sounds good. I should
have thought about that before diving in, but I was in one of my "I
want to DO something, now" moods |
13:40.13 |
starseeker |
that'll teach me |
13:40.35 |
brlcad |
i've done it myself |
13:40.57 |
brlcad |
thanks for the script |
13:41.03 |
starseeker |
the other other major global I've spotted so
far (probably there are others, but this is the obvious one) is the
RTG.NMG_Debug flag |
13:41.07 |
starseeker |
np |
13:41.21 |
starseeker |
RTG.NMG_debug rather |
13:41.28 |
brlcad |
nods |
13:41.36 |
starseeker |
I'm assuming we'll do with that what we do for
the other libs and make it nmg_debug |
13:41.41 |
brlcad |
I think nearly everything in RTG can go
away |
13:41.43 |
brlcad |
checks |
13:43.44 |
starseeker |
a somewhat thornier issue is how to handle the
snurb and cnurb pieces. As a first cut, I'd like to pull them out
into libnmg rather than trying to excise them - they're hooked in
in quite a fe places |
13:44.06 |
brlcad |
yeah, only tricky one is rtg_headwdb, and
rtg_vlfree might propagate into a lot of places with the RT*VLIST()
macros |
13:46.13 |
brlcad |
pulling them over into libnmg first is what I
would do |
13:46.16 |
starseeker |
once we have the bspline bits separated out
into libnmg, it's actually a better environment to evalute them as
compared to their openNURBS counterparts |
13:46.29 |
brlcad |
as few changes as possible really, just enough
to decouple the libs from a symbol standpoint |
13:47.01 |
brlcad |
eh? evaluate what? :) |
13:47.03 |
starseeker |
nods. Should probably also
hook up that thing you did a few years ago to use the new brep
raytracing routines to raytrace older bspline objects by
default |
13:47.22 |
starseeker |
brlcad: one of our long term TODO tasks was to
see if we have any worthwhile nurbs routines not in
openNURBS |
13:47.33 |
starseeker |
isn't familiar enough with
that logic to say one way or the other |
13:47.42 |
brlcad |
ah, that's different |
13:48.05 |
brlcad |
bspline stuff in nmg should go away fully, it
overlaps with openNURBS, but there are some functions in there we
might want to keep/recode |
13:48.20 |
starseeker |
figures the bspline primitive
should boil down to IO routines and the translation between data
structures... |
13:48.24 |
brlcad |
mostly an eye towards nmg_misc iirc |
13:49.17 |
brlcad |
can check release notes, but I'm not sure
bspline was ever considered finished/published |
13:49.25 |
starseeker |
is actually starting to
wonder a bit if the original goal of NURBS-in-NMG might be of
interest - openNURBS hasn't released since 2013... |
13:49.58 |
starseeker |
brlcad: sure, but to maintain the ability to
read old .g files at least the IO bits have to survive
somewhere... |
13:50.58 |
brlcad |
not if it wasn't ever published in any way ..
only ones affected would be a dev |
13:51.30 |
brlcad |
I don't know of that capability ever making it
into a users hands, but would certainly check |
13:52.02 |
brlcad |
biggest problem would be if we have any tools
that create them, effectively putting them into user
hands |
13:52.05 |
starseeker |
oh - did you create the files for comparison
when you checked the old bspline raytracer against the new
work? |
13:52.20 |
brlcad |
but proc_db's don't count, and that's the only
one that comes to mind |
13:52.48 |
starseeker |
well, wdb.h has mk_bspline... |
13:52.48 |
brlcad |
ahhhh, no .. damn |
13:52.57 |
starseeker |
at, the IGES converter |
13:53.00 |
brlcad |
there is a tool that published them |
13:53.02 |
brlcad |
right |
13:53.10 |
brlcad |
okay, so never mind |
13:53.43 |
starseeker |
so, boil bspline down to the IO routines and
the translation to openNURBS |
13:54.54 |
starseeker |
and while we're at it, either remove the
proc-db tools that use mk_bspline or recode them to use
breps... |
13:55.54 |
starseeker |
and update the iges converter |
13:57.33 |
starseeker |
is astounded by the number of
bu_bomb calls in nmg code |
13:57.55 |
starseeker |
almost 700 |
14:01.31 |
starseeker |
brlcad: should we mark mk_bspline as
deprecated? |
14:09.51 |
brlcad |
hadn't done that yet just because mk_brep is
rather unsatisfying |
14:10.43 |
brlcad |
the proc-db tools would make for some fun
nurbs test cases |
14:10.51 |
brlcad |
(recoded) |
14:11.30 |
brlcad |
nmg used bu_bomb as an exception handling
mechanism, so not surprising |
14:12.29 |
brlcad |
if it were c++, they might as well be a ton of
"throw ..." statements, which 700 would not be at all
unusual |
14:19.15 |
*** join/#brlcad merzo
(~merzo@92.60.189.225) |
14:31.39 |
Notify |
03BRL-CAD:starseeker * 68983
brlcad/trunk/src/libbu/badmagic.c: %s for string |
14:33.20 |
starseeker |
brlcad: fair enough, but if we go with the
principle that it's not a library's responsibility to crash under
most circumstances, reworking all that is going to be a Big
Job |
14:47.13 |
brlcad |
oops, thanks for the fix .. was just compiling
now |
14:49.08 |
brlcad |
starseeker: that's just it -- the library
doesn't technically violate that principle |
14:49.49 |
brlcad |
it uses bu_bomb as an exception handler, like
throw/catch, and callers are expected to catch/handle any errors
specifically so it doesn't crash |
14:50.23 |
brlcad |
I could literally rename them all to .cpp,
replace with throw statements, and it would be no different design
intent |
14:51.27 |
brlcad |
not really any different end result either
with calling code updated with try/catch instead of
BU_SETJMP/UNSETJMP |
14:52.24 |
*** join/#brlcad merzo
(~merzo@user-94-45-58-138-1.skif.com.ua) |
14:53.14 |
brlcad |
you're right that it will certainly be a job
to change it to anything else, though ;) |
14:54.59 |
brlcad |
the point was merely that 700 exception
conditions is not in any way unusual (in fact, it's probably low
for code that complex with that many functions) |
14:57.46 |
brlcad |
pick a poison: 700 bu_bomb calls with caller
set/unset jumping, 700 throws with caller try/catching, 700 return
conditions that would entail a huge cascade of every function call
needing to get checked for return codes, 700 state settings in a
struct getting passed to and checked by every function |
14:58.35 |
brlcad |
not saying I prefer it, but using bu_bomb in
this fashion is actually probably the least complicated and least
code of all the options -- it has merit |
15:18.09 |
*** join/#brlcad amarjeet
(~amarjeet@169.149.136.110) |
17:58.14 |
*** join/#brlcad Mandeep_Singh
(~mandeep@2405:205:4083:b4c2:bc26:74bc:571a:c31d) |
18:16.07 |
*** join/#brlcad Mandeep_Singh
(~mandeep@2405:205:4083:b4c2:f92d:aebd:3037:8673) |
19:40.30 |
Notify |
03BRL-CAD:starseeker * 68984
brlcad/trunk/src/libbg/chull3d.cpp: double can't hold
DBL_MAX*DBL_MAX... |
19:46.36 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
19:48.10 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
19:49.12 |
Notify |
03BRL-CAD:starseeker * 68985
(brlcad/trunk/src/librt/primitives/bot/gct_decimation/auxiliary/mm.c
brlcad/trunk/src/librt/primitives/bot/gct_decimation/auxiliary/mmbinsort.c
and 7 others): avoid gcc pragmas with icc |
19:49.44 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
19:51.19 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
19:52.55 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
19:55.28 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
19:57.02 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
19:59.36 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:00.00 |
Notify |
03BRL-CAD:starseeker * 68986
brlcad/trunk/src/other/libnetpbm/pm_config.h.in: make sure _MSC_VER
is defined before comparing it |
20:01.10 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:03.44 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:07.18 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:08.52 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:11.26 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:14.00 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:16.36 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:18.10 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:19.44 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:21.18 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:23.53 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:25.27 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:27.02 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:28.15 |
*** join/#brlcad ries
(~ries@D979C7EF.cm-3-2d.dynamic.ziggo.nl) |
20:28.37 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:30.11 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:31.45 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:33.19 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:34.53 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:37.27 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:39.01 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:41.35 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:43.08 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:44.42 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:46.16 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:48.50 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:50.24 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:51.58 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:54.32 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:57.06 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
20:58.40 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:02.15 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:03.49 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:05.23 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:07.57 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:10.31 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:12.05 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:13.39 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:15.13 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:17.47 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:20.21 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:22.55 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:24.29 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:26.04 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:28.39 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:31.13 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:32.47 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:34.21 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:36.55 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:38.29 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:40.03 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:42.37 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:44.11 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:46.46 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:48.21 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:49.55 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:51.30 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:53.04 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:54.38 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:56.12 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
21:57.46 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
22:02.20 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
22:03.54 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
22:08.28 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
22:10.02 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
22:12.08 |
*** join/#brlcad merzo
(~merzo@93-195-113-92.pool.ukrtel.net) |
22:13.36 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
22:15.08 |
*** join/#brlcad ries_
(~ries@D979C7EF.cm-3-2d.dynamic.ziggo.nl) |
22:15.10 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
22:16.44 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
22:20.19 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
22:21.52 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
22:24.26 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
22:27.01 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
22:28.35 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
22:30.09 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
23:24.20 |
*** join/#brlcad teepee
(~teepee@unaffiliated/teepee) |