dworkin / dgd

Dworkin's Game Driver, an object-oriented database management system originally used to run MUDs.
https://www.dworkin.nl/dgd/
GNU Affero General Public License v3.0
103 stars 31 forks source link

JIT causes termination #78

Closed nyankers closed 1 year ago

nyankers commented 1 year ago

Running the following LPC code in JIT:

int test(object obj) {
    if (obj <- "/lib/Time") {
        return TRUE;
    }
    return FALSE;
}

Causes the following error if obj is nil:

terminating with uncaught exception of type char const*

This doesn't happen outside of JIT, so testing this requires some shenanigans to ensure it's JIT compiled. Assuming the above LPC is in test.c:

compile test.c
compile test.c
code "test"->test(nil)
code "test"->test(nil)
dworkin commented 1 year ago

This is actually a bug in DGD, moving it there...

dworkin commented 1 year ago

Should be fixed by 5117da4.

nyankers commented 1 year ago

Oh, I probably should've thought to look there. ^^;

Seems fine now, thanks!