Subject assert triggers and server aborts
Author Mike Nordell
Suggestion from a dev-list pointed me here with this problem, since
IB-Architect would be the more probable list to find someone that knows, if
even partially, this code.

Preconditions: debug build with DEV_BUILD macro defined.


This results in an triggered assert
assert (sort_key->skd_dtype != 0);
at (or about) line 4287 in jrd/opt.c.

Obviously this code have never been run, why I can't verify the the
validity of the assert. On the other hand, it would seem as it is trying to
use a blob as sort-key, why the assert possibly is correct, just a "little"
too deep in the call-stack to be of *any* help, it just aborts the server.

I've backtracked it to OPT_compile() (jrd/opt.c,610) where it uses a local
'project' variable as argument to gen_sort, but from this point I'm
clueless. It doesn't exactly help that everything seems to be logically
inheriting a struct "blk", that is used by pointers in nesting levels that
would make a lisp programmer cry. To try to parse these at runtime (using
the debugger) is not a walk in the park.

I've been at this now for what seems forever, and really don't have come any
closer to what really happens. If anyone get an idea, anything...


Your database needs YOU!