lisdude/toaststunt

Panic with sqlite_query

Closed this issue · 1 comments

Setup:

  1. Open two SQLite databases, 1 and 2.
  2. Call the test verb multiple times.

Test verb:

set_thread_mode(1);
handle = random(1, 2);
while (true)
  pattern = chr(random(65, 90)) + chr(random(65, 90)) + chr(random(65, 90)) + chr(random(65, 90));
  m = chr(random(65, 90)) + chr(random(65, 90)) + chr(random(65, 90)) + chr(random(65, 90));
  query = tostr("select regexp('", pattern, "', '", m, "');");
  sqlite_query(handle, query);
  yin();
endwhile

The MOO should panic pretty quickly.

I'm guessing this is caused by multiple threads trying to access the PCRE cache at the same time.

If you would run the server with valgrind, you should be able to pinpoint the exact location of the crash in the code.