Protocols.DNS.async_client does not like when the callback function has been destructed.
Seen in the wild (Pike 8.0.354 patched to 5cf5f2a4 (aka rxnpatch/2020-03-25T110609
)):
Internal server error: Attempt to call the NULL-value
Unknown program: 0("foo.examle.com",0,0,80)
pike/lib/modules/Protocols.pmod/DNS.pmod:2014: Protocols.DNS.global_async_client
->generic_get("foo.example.com",0,-1,0,1,"a","foo.example.com",0,0,80)
pike/lib/modules/Protocols.pmod/DNS.pmod:1909: Protocols.DNS.global_async_client
->remove(Protocols.DNS.global_async_client->Request())
base_server/roxenloader.pike (53ed4390):269: Protocols.DNS.global_async_client->
remove->`()(@0=Protocols.DNS.global_async_client->Request())
-:1: Pike.Backend(0)->`()(3600.0)