GCable symbol and keyword may cause an error (or SEGV)

Issue #91 resolved
Takashi Kato repo owner created an issue

Reported by Seth Alves.

Part of original message.

I'm hitting a bug in Sagittarius, but I'm having a hard time nailing it down.  Would you mind checking this out:

  https://github.com/sethalves/snow2-client

and running:

  ./snow2-client-sagittarius.scm search '(seth snow2 types)'

Since 0.5.10, Sagittarius has GCable symbol and keyword and their table (weak hashtable) causes this error during its finalizer invocation. (if the key is string and it's already GCed.) There are 2 ways to avoid this:

  1. check if the key is still string when the table requires string key
  2. add extra flag not to raise an error when key requirement doesn't match

To think about generic hashtable, option #2 would be better.

Comments (1)

  1. Log in to comment