I discovered this on a web app that was hanging badly, I did the following in both node 10 and 12:
$ node
> u = require('urbit-ob')
> u.patp(null)
<--- Last few GCs --->
[7749:0x3a0a870] 16842 ms: Mark-sweep 1397.4 (1425.9) -> 1397.5 (1430.4) MB, 1075.6 / 0.0 ms (+ 0.1 ms in 361 steps since start of marking, biggest step 0.0 ms, walltime since start of marking 1132 ms) (average mu = 0.201, current mu = 0.083) allocati[7749:0x3a0a870]
17953 ms: Mark-sweep 1403.4 (1430.4) -> 1403.4 (1435.9) MB, 1107.6 / 0.0 ms (average mu = 0.112, current mu = 0.003) allocation failure scavenge might not succeed
<--- JS stacktrace --->
==== JS stack trace =========================================
0: ExitFrame [pc: 0x2a687155be1d]
1: StubFrame [pc: 0x2a687155d1df]
Security context: 0x10c72d49e6e9 <JSObject>
2: toString [0x3c462b5391] [/<redacted>/node_modules/bn.js/lib/bn.js:~429] [pc=0x2a6871561feb](this=0x0576c2217fc9 <BN map = 0x3df1406661d1>,base=10,padding=1)
3: arguments adaptor frame: 0->2
4: InternalFrame [pc: 0x2a687150ee75]
5: EntryFrame [pc: 0x2a68715092c1]
6: ExitFrame [pc: 0x2a6...
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
1: 0x8dc510 node::Abort() [node]
2: 0x8dc55c [node]
3: 0xad9b5e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]
4: 0xad9d94 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]
5: 0xec7bf2 [node]
6: 0xec7cf8 v8::internal::Heap::CheckIneffectiveMarkCompact(unsigned long, double) [node]
7: 0xed3dd2 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [node]
8: 0xed4704 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]
9: 0xed7371 v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [node]
10: 0xea07f4 v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationSpace) [node]
11: 0x114018e v8::internal::Runtime_AllocateInNewSpace(int, v8::internal::Object**, v8::internal::Isolate*) [node]
12: 0x2a687155be1d
Aborted (core dumped)
> u.patp(NaN)
'~zod'
> u.patp(undefined)
'~zod'
> u.patq(undefined)
'~zod'
> u.patq(NaN)
'~zod'
> u.patq(null)
TypeError: Cannot read property '-1' of null