Reproduced with the current HEAD of master on both macOS and Linux. For example,
$ pike -e 'Protocols.HTTP.get_url'
produces an error log very similar to Stephen's, ending:
bld/pike/8.1.13/lib/modules/Standards.pmod/URI.pike:653:Illegal program identifier: 0.
bld/pike/8.1.13/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:160:Error looking up 'URI' in module Standards.
bld/pike/8.1.13/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:160:Compilation failed.
bld/pike/8.1.13/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:467:Must return a value for a non-void function.
bld/pike/8.1.13/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:467:Expected: mixed.
bld/pike/8.1.13/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:467:Got : void.
bld/pike/8.1.13/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:534:Must return a value for a non-void function.
bld/pike/8.1.13/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:534:Expected: mixed.
bld/pike/8.1.13/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:534:Got : void.
bld/pike/8.1.13/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:791:Error in constant definition.
bld/pike/8.1.13/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:859:Error in constant definition.
bld/pike/8.1.13/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:899:Error in constant definition. -:2:Index 'get_url' not present in module HTTP. -:2:Indexed module was: Protocols.HTTP.
I can share stderr in full if that would be useful.
Best, Marc
On Sat, Apr 10, 2021 at 12:20 AM Stephen R. van den Berg srb@cuci.nl wrote:
When I try to start my SPike webserver daemon on a bleeding edge Pike I get this list the of errors and warnings below.
The version of Pike I'm getting this with is:
commit 8c6986783aead46ed2eac8fb90d5d300dc6a5f68 (HEAD -> master, origin/master) Author: Henrik Grubbstr<C3><B6>m (Grubba) grubba@grubba.org Date: Fri Apr 9 19:37:43 2021 +0200
Compiler [Typechecker]: Fix NULL-deref in even_lower_and_pike_types().
The last time I had a bleeding edge "standard" pike that actually worked for me was:
commit 94a868dae24642de2e71e0a6079a27aabae32132 Author: Stephen R. van den Berg srb@cuci.nl Date: Tue Feb 2 23:07:53 2021 +0100
So, since then I've been maintaining a last-known-good version for private use, and did all further development on that.
lib/modules/__builtin.pmod/Nettle.pmod/MAC.pike:82: Warning: An expression of type mapping(zero:zero) | mapping(string(7bit):int | string(7bit)) cannot be assigned to a variable of type void | mapping(string(7bit):int | string(7bit)). lib/modules/__builtin.pmod/Nettle.pmod/Hash.pike:250: Warning: Type mismatch in argument 1 to encode_base64url. lib/modules/__builtin.pmod/Nettle.pmod/Hash.pike:250: Warning: Expected: string. lib/modules/__builtin.pmod/Nettle.pmod/Hash.pike:250: Warning: Got : string(8bit) | mixed. lib/modules/__builtin.pmod/Nettle.pmod/Hash.pike:1143: Warning: An expression of type mapping(zero:zero) cannot be assigned to a variable of type mapping(string:string(8bit)). lib/modules/__builtin.pmod/Nettle.pmod/Hash.pike:1153: Warning: An expression of type mapping(zero:zero) cannot be assigned to a variable of type mapping(string:string(8bit)). lib/modules/__builtin.pmod/Nettle.pmod/Hash.pike:1153: Warning: An expression of type mapping(zero:zero) cannot be assigned to a variable of type mapping(string:string(8bit)). lib/modules/__builtin.pmod/Nettle.pmod/Hash.pike:1253: Warning: An expression of type zero | string cannot be assigned to a variable of type string. lib/modules/__builtin.pmod/Nettle.pmod/ECC_Curve.pike:131: Warning: An expression of type mapping(zero:zero) cannot be assigned to a variable of type mapping(string(7bit):int | string(8bit) | { mpz = object(implements _static_modules.Gmp()->mpz) }). lib/modules/Standards.pmod/ASN1.pmod/Types.pmod:70: Warning: Wrong return type. lib/modules/Standards.pmod/ASN1.pmod/Types.pmod:70: Warning: Expected: int(1..). lib/modules/Standards.pmod/ASN1.pmod/Types.pmod:70: Warning: Got : zero. lib/modules/Standards.pmod/ASN1.pmod/Types.pmod:200: Warning: An expression of type mapping(zero:zero) cannot be assigned to a variable of type void | mapping(string:int). lib/modules/Standards.pmod/ASN1.pmod/Types.pmod:936: Warning: Type mismatch in argument 2 to sprintf. lib/modules/Standards.pmod/ASN1.pmod/Types.pmod:936: Warning: Expected: int | object. lib/modules/Standards.pmod/ASN1.pmod/Types.pmod:936: Warning: Got : int(0..) | array() | string | mixed. lib/modules/Standards.pmod/ASN1.pmod/Types.pmod:1152: Warning: An expression of type void | mapping(int:program({ Object = object(implements object(/home/srb/81pike/lib/modules/Standards.pmod/ASN1.pmod/Types.pmod).Object) })) cannot be assigned to a variable of type mapping(int:program({ Object = object(implements object(/home/srb/81pike/lib/modules/Standards.pmod/ASN1.pmod/Types.pmod).Object) })). lib/modules/Val.pmod/module.pmod:440: Warning: Invalid type. lib/modules/Val.pmod/module.pmod:440: Warning: Expected: function(void | mixed ... : object) | object | program | type(mixed). lib/modules/Val.pmod/module.pmod:440: Warning: Got : zero. lib/modules/Val.pmod/module.pmod:685: Warning: Wrong return type. lib/modules/Val.pmod/module.pmod:685: Warning: Expected: mapping(string:int). lib/modules/Val.pmod/module.pmod:685: Warning: Got : mapping(zero:zero). lib/modules/Standards.pmod/ASN1.pmod/Decode.pmod:121: Warning: An expression of type zero | program({ Object = object(implements Standards.ASN1.Types.Object) }) cannot be assigned to a variable of type program({ Object = object(implements Standards.ASN1.Types.Object) }). lib/modules/Standards.pmod/X509.pmod:105: Warning: Illegal to redefine inherited variable tag with different type. lib/modules/Standards.pmod/X509.pmod:105: Warning: Expected: int(1..). lib/modules/Standards.pmod/X509.pmod:105: Warning: Got : int(1..) | zero. lib/modules/Standards.pmod/X509.pmod:114: Warning: Illegal to redefine inherited variable tag with different type. lib/modules/Standards.pmod/X509.pmod:114: Warning: Expected: int(1..). lib/modules/Standards.pmod/X509.pmod:114: Warning: Got : int(1..) | zero. lib/modules/Crypto.pmod/RSA.pmod:26: Warning: Type does not contain zero for variable without initializer n. Type adjusted. lib/modules/Crypto.pmod/RSA.pmod:26: Warning: Expected: zero. lib/modules/Crypto.pmod/RSA.pmod:26: Warning: Got : { mpz = object(implements _static_modules.Gmp()->mpz) }. lib/modules/Crypto.pmod/RSA.pmod:27: Warning: Type does not contain zero for variable without initializer e. Type adjusted. lib/modules/Crypto.pmod/RSA.pmod:27: Warning: Expected: zero. lib/modules/Crypto.pmod/RSA.pmod:27: Warning: Got : { mpz = object(implements _static_modules.Gmp()->mpz) }. lib/modules/Crypto.pmod/RSA.pmod:28: Warning: Type does not contain zero for variable without initializer d. Type adjusted. lib/modules/Crypto.pmod/RSA.pmod:28: Warning: Expected: zero. lib/modules/Crypto.pmod/RSA.pmod:28: Warning: Got : { mpz = object(implements _static_modules.Gmp()->mpz) }. lib/modules/Crypto.pmod/RSA.pmod:32: Warning: Type does not contain zero for variable without initializer p. Type adjusted. lib/modules/Crypto.pmod/RSA.pmod:32: Warning: Expected: zero. lib/modules/Crypto.pmod/RSA.pmod:32: Warning: Got : { mpz = object(implements _static_modules.Gmp()->mpz) }. lib/modules/Crypto.pmod/RSA.pmod:33: Warning: Type does not contain zero for variable without initializer q. Type adjusted. lib/modules/Crypto.pmod/RSA.pmod:33: Warning: Expected: zero. lib/modules/Crypto.pmod/RSA.pmod:33: Warning: Got : { mpz = object(implements _static_modules.Gmp()->mpz) }. lib/modules/Crypto.pmod/RSA.pmod:85: Warning: An expression of type mapping(zero:zero) cannot be assigned to a variable of type void | mapping(string(8bit):int | string(7bit) | { mpz = object(implements _static_modules.Gmp()->mpz) }). lib/modules/Crypto.pmod/RSA.pmod:88: Warning: An expression of type zero | string(7bit) cannot be assigned to a variable of type string(7bit). lib/modules/Crypto.pmod/RSA.pmod:698: Warning: An expression of type mapping(zero:zero) | mapping(string(7bit):int | string(7bit)) cannot be assigned to a variable of type void | mapping(string(7bit):int | string(7bit)). lib/modules/Crypto.pmod/RSA.pmod:820: Warning: An expression of type zero | string(8bit) cannot be assigned to a variable of type string(8bit). lib/modules/Crypto.pmod/RSA.pmod:829: Warning: An expression of type zero | string(8bit) cannot be assigned to a variable of type string(8bit). lib/modules/Crypto.pmod/RSA.pmod:872: Warning: An expression of type mapping(zero:zero) | mapping(string(7bit):int | string(7bit)) cannot be assigned to a variable of type void | mapping(string(7bit):int | string(7bit)). lib/modules/Crypto.pmod/DSA.pmod:26: Warning: Type does not contain zero for variable without initializer p. Type adjusted. lib/modules/Crypto.pmod/DSA.pmod:26: Warning: Expected: zero. lib/modules/Crypto.pmod/DSA.pmod:26: Warning: Got : { mpz = object(implements _static_modules.Gmp()->mpz) }. lib/modules/Crypto.pmod/DSA.pmod:27: Warning: Type does not contain zero for variable without initializer q. Type adjusted. lib/modules/Crypto.pmod/DSA.pmod:27: Warning: Expected: zero. lib/modules/Crypto.pmod/DSA.pmod:27: Warning: Got : { mpz = object(implements _static_modules.Gmp()->mpz) }. lib/modules/Crypto.pmod/DSA.pmod:28: Warning: Type does not contain zero for variable without initializer g. Type adjusted. lib/modules/Crypto.pmod/DSA.pmod:28: Warning: Expected: zero. lib/modules/Crypto.pmod/DSA.pmod:28: Warning: Got : { mpz = object(implements _static_modules.Gmp()->mpz) }. lib/modules/Crypto.pmod/DSA.pmod:30: Warning: Type does not contain zero for variable without initializer y. Type adjusted. lib/modules/Crypto.pmod/DSA.pmod:30: Warning: Expected: zero. lib/modules/Crypto.pmod/DSA.pmod:30: Warning: Got : { mpz = object(implements _static_modules.Gmp()->mpz) }. lib/modules/Crypto.pmod/DSA.pmod:31: Warning: Type does not contain zero for variable without initializer x. Type adjusted. lib/modules/Crypto.pmod/DSA.pmod:31: Warning: Expected: zero. lib/modules/Crypto.pmod/DSA.pmod:31: Warning: Got : { mpz = object(implements _static_modules.Gmp()->mpz) }. lib/modules/Crypto.pmod/DSA.pmod:393: Warning: Type mismatch in argument 2 to `+. lib/modules/Crypto.pmod/DSA.pmod:393: Warning: Expected: int | float | object. lib/modules/Crypto.pmod/DSA.pmod:393: Warning: Got : mixed. lib/modules/Standards.pmod/PEM.pmod:77: Warning: Invalid type. lib/modules/Standards.pmod/PEM.pmod:77: Warning: Expected: function(void | mixed ... : object) | object | program | type(mixed). lib/modules/Standards.pmod/PEM.pmod:77: Warning: Got : zero. lib/modules/Standards.pmod/PEM.pmod:53: Warning: An expression of type zero | object(is Nettle.BufferedCipher()->_Buffer) cannot be assigned to a variable of type { _Buffer = object(implements Nettle.BufferedCipher()->_Buffer) }. lib/modules/Standards.pmod/PEM.pmod:80: Warning: An expression of type zero | string(8bit) cannot be assigned to a variable of type string(8bit). lib/modules/Standards.pmod/PEM.pmod:91: Warning: Type does not contain zero for variable without initializer pre. Type adjusted. lib/modules/Standards.pmod/PEM.pmod:91: Warning: Expected: zero. lib/modules/Standards.pmod/PEM.pmod:91: Warning: Got : string. lib/modules/Standards.pmod/PEM.pmod:96: Warning: Type does not contain zero for variable without initializer post. Type adjusted. lib/modules/Standards.pmod/PEM.pmod:96: Warning: Expected: zero. lib/modules/Standards.pmod/PEM.pmod:96: Warning: Got : string. lib/modules/Standards.pmod/PEM.pmod:100: Warning: Type does not contain zero for variable without initializer headers. Type adjusted. lib/modules/Standards.pmod/PEM.pmod:100: Warning: Expected: zero. lib/modules/Standards.pmod/PEM.pmod:100: Warning: Got : mapping(string(8bit):string(8bit)). lib/modules/Standards.pmod/PEM.pmod:103: Warning: Type does not contain zero for variable without initializer body. Type adjusted. lib/modules/Standards.pmod/PEM.pmod:103: Warning: Expected: zero. lib/modules/Standards.pmod/PEM.pmod:103: Warning: Got : string(8bit). lib/modules/Standards.pmod/PEM.pmod:106: Warning: Type does not contain zero for variable without initializer trailer. Type adjusted. lib/modules/Standards.pmod/PEM.pmod:106: Warning: Expected: zero. lib/modules/Standards.pmod/PEM.pmod:106: Warning: Got : string. lib/modules/Standards.pmod/PEM.pmod:135: Warning: An expression of type zero | array(mapping(string:array(string) | string) | string | { StringRange = object(implements MIME.StringRange) }) cannot be assigned to a variable of type array. lib/modules/Standards.pmod/PEM.pmod:136: Warning: An expression of type zero | array(mapping(string:array(string) | string) | string | { StringRange = object(implements MIME.StringRange) }) cannot be assigned to a variable of type array. lib/modules/Standards.pmod/PEM.pmod:153: Warning: An expression of type mapping(zero:zero) cannot be assigned to a variable of type mapping(string:array({ Message = object(implements object(/home/srb/81pike/lib/modules/Standards.pmod/PEM.pmod).Message) })). lib/modules/Standards.pmod/PEM.pmod:159: Warning: Type mismatch for value in foreach(). lib/modules/Standards.pmod/PEM.pmod:159: Warning: Expected: zero. lib/modules/Standards.pmod/PEM.pmod:159: Warning: Got : string. lib/modules/Standards.pmod/PEM.pmod:159: Warning: Type mismatch for value in foreach(). lib/modules/Standards.pmod/PEM.pmod:159: Warning: Expected: zero. lib/modules/Standards.pmod/PEM.pmod:159: Warning: Got : string. lib/modules/Standards.pmod/PKCS.pmod/ECDSA.pmod:11: Warning: An expression of type mapping(zero:zero) cannot be assigned to a variable of type mapping(string:{ Curve = object(implements Crypto.ECC.Curve) }). lib/modules/SSL.pmod/Alert.pike:11: Warning: Type does not contain zero for variable without initializer level. Type adjusted. lib/modules/SSL.pmod/Alert.pike:11: Warning: Expected: zero. lib/modules/SSL.pmod/Alert.pike:11: Warning: Got : int(1..2). lib/modules/SSL.pmod/Alert.pike:14: Warning: Type does not contain zero for variable without initializer message. Type adjusted. lib/modules/SSL.pmod/Alert.pike:14: Warning: Expected: zero. lib/modules/SSL.pmod/Alert.pike:14: Warning: Got : string. lib/modules/SSL.pmod/Alert.pike:40: Warning: An expression of type void | string cannot be assigned to a variable of type zero | string. lib/modules/ADT.pmod/Queue.pike:7: Warning: Type does not contain zero for variable without initializer l. Type adjusted. lib/modules/ADT.pmod/Queue.pike:7: Warning: Expected: zero. lib/modules/ADT.pmod/Queue.pike:7: Warning: Got : array. lib/modules/SSL.pmod/Session.pike:25: Warning: Type does not contain zero for variable without initializer identity. Type adjusted. lib/modules/SSL.pmod/Session.pike:25: Warning: Expected: zero. lib/modules/SSL.pmod/Session.pike:25: Warning: Got : string(8bit). lib/modules/SSL.pmod/Session.pike:30: Warning: Type does not contain zero for variable without initializer ticket. Type adjusted. lib/modules/SSL.pmod/Session.pike:30: Warning: Expected: zero. lib/modules/SSL.pmod/Session.pike:30: Warning: Got : string(8bit). lib/modules/SSL.pmod/Session.pike:44: Warning: Type does not contain zero for variable without initializer cipher_spec. Type adjusted. lib/modules/SSL.pmod/Session.pike:44: Warning: Expected: zero. lib/modules/SSL.pmod/Session.pike:44: Warning: Got : { CipherSpec = object(implements SSL.Cipher.CipherSpec) }. lib/modules/SSL.pmod/Session.pike:48: Warning: Type does not contain zero for variable without initializer master_secret. Type adjusted. lib/modules/SSL.pmod/Session.pike:48: Warning: Expected: zero. lib/modules/SSL.pmod/Session.pike:48: Warning: Got : string(8bit). lib/modules/SSL.pmod/Session.pike:52: Warning: Type does not contain zero for variable without initializer cert_data. Type adjusted. lib/modules/SSL.pmod/Session.pike:52: Warning: Expected: zero. lib/modules/SSL.pmod/Session.pike:52: Warning: Got : mapping. lib/modules/SSL.pmod/Session.pike:58: Warning: Type does not contain zero for variable without initializer peer_certificate_chain. Type adjusted. lib/modules/SSL.pmod/Session.pike:58: Warning: Expected: zero. lib/modules/SSL.pmod/Session.pike:58: Warning: Got : array(string(8bit)). lib/modules/SSL.pmod/Session.pike:61: Warning: Type does not contain zero for variable without initializer certificate_chain. Type adjusted. lib/modules/SSL.pmod/Session.pike:61: Warning: Expected: zero. lib/modules/SSL.pmod/Session.pike:61: Warning: Got : array(string(8bit)). lib/modules/SSL.pmod/Session.pike:64: Warning: Type does not contain zero for variable without initializer private_key. Type adjusted. lib/modules/SSL.pmod/Session.pike:64: Warning: Expected: zero. lib/modules/SSL.pmod/Session.pike:64: Warning: Got : { State = object(implements Crypto.Sign()->State) }. lib/modules/SSL.pmod/Session.pike:67: Warning: Type does not contain zero for variable without initializer peer_public_key. Type adjusted. lib/modules/SSL.pmod/Session.pike:67: Warning: Expected: zero. lib/modules/SSL.pmod/Session.pike:67: Warning: Got : { State = object(implements Crypto.Sign()->State) }. lib/modules/SSL.pmod/Session.pike:84: Warning: An expression of type void | string(8bit) cannot be assigned to a variable of type zero | string(8bit). lib/modules/SSL.pmod/Session.pike:92: Warning: Type does not contain zero for variable without initializer server_name. Type adjusted. lib/modules/SSL.pmod/Session.pike:92: Warning: Expected: zero. lib/modules/SSL.pmod/Session.pike:92: Warning: Got : string(8bit). lib/modules/SSL.pmod/Session.pike:119: Warning: Type does not contain zero for variable without initializer ffdhe_groups. Type adjusted. lib/modules/SSL.pmod/Session.pike:119: Warning: Expected: zero. lib/modules/SSL.pmod/Session.pike:119: Warning: Got : array(int). lib/modules/SSL.pmod/Session.pike:153: Warning: Type does not contain zero for variable without initializer curve. Type adjusted. lib/modules/SSL.pmod/Session.pike:153: Warning: Expected: zero. lib/modules/SSL.pmod/Session.pike:153: Warning: Got : { Curve = object(implements Crypto.ECC.Curve) }. lib/modules/SSL.pmod/Session.pike:202: Warning: Argument 1 to foreach() is not always an array. lib/modules/SSL.pmod/Session.pike:202: Warning: Expected: array. lib/modules/SSL.pmod/Session.pike:202: Warning: Got : zero | array({ SignatureScheme = int(0..3855) }). lib/modules/SSL.pmod/Session.pike:196: Warning: Argument 1 to foreach() is not always an array. lib/modules/SSL.pmod/Session.pike:196: Warning: Expected: array. lib/modules/SSL.pmod/Session.pike:196: Warning: Got : zero | array({ SignatureScheme = int(0..3855) }). lib/modules/SSL.pmod/Session.pike:210: Warning: An expression of type zero | { Curve = object(implements Crypto.ECC.Curve) } cannot be assigned to a variable of type { Curve = object(implements Crypto.ECC.Curve) }. lib/modules/SSL.pmod/Session.pike:384: Warning: An expression of type int | mixed cannot be assigned to a variable of type int. lib/modules/SSL.pmod/Session.pike:386: Warning: An expression of type int | mixed cannot be assigned to a variable of type int. lib/modules/SSL.pmod/Session.pike:547: Warning: Type mismatch in argument 2 to `*. lib/modules/SSL.pmod/Session.pike:547: Warning: Expected: int | float | object. lib/modules/SSL.pmod/Session.pike:547: Warning: Got : int | array(). lib/modules/SSL.pmod/Connection.pike:41: Warning: Type does not contain zero for variable without initializer session. Type adjusted. lib/modules/SSL.pmod/Connection.pike:41: Warning: Expected: zero. lib/modules/SSL.pmod/Connection.pike:41: Warning: Got : { Session = object(implements SSL.Session) }. lib/modules/SSL.pmod/Connection.pike:42: Warning: Type does not contain zero for variable without initializer context. Type adjusted. lib/modules/SSL.pmod/Connection.pike:42: Warning: Expected: zero. lib/modules/SSL.pmod/Connection.pike:42: Warning: Got : { Context = object(implements program(/home/srb/81pike/lib/modules/SSL.pmod/Context.pike)) }. lib/modules/SSL.pmod/Connection.pike:70: Warning: Type does not contain zero for variable without initializer ke. Type adjusted. lib/modules/SSL.pmod/Connection.pike:70: Warning: Expected: zero. lib/modules/SSL.pmod/Connection.pike:70: Warning: Got : { KeyExchange = object(implements SSL.Cipher.KeyExchange) }. lib/modules/SSL.pmod/Connection.pike:78: Warning: Type does not contain zero for variable without initializer client_random. Type adjusted. lib/modules/SSL.pmod/Connection.pike:78: Warning: Expected: zero. lib/modules/SSL.pmod/Connection.pike:78: Warning: Got : string(8bit). lib/modules/SSL.pmod/Connection.pike:79: Warning: Type does not contain zero for variable without initializer server_random. Type adjusted. lib/modules/SSL.pmod/Connection.pike:79: Warning: Expected: zero. lib/modules/SSL.pmod/Connection.pike:79: Warning: Got : string(8bit). lib/modules/SSL.pmod/Connection.pike:97: Warning: Type does not contain zero for variable without initializer application_protocol. Type adjusted. lib/modules/SSL.pmod/Connection.pike:97: Warning: Expected: zero. lib/modules/SSL.pmod/Connection.pike:97: Warning: Got : string(8bit). lib/modules/SSL.pmod/Connection.pike:162: Warning: Wrong return type. lib/modules/SSL.pmod/Connection.pike:162: Warning: Expected: string(8bit). lib/modules/SSL.pmod/Connection.pike:162: Warning: Got : array(). lib/modules/SSL.pmod/Connection.pike:234: Warning: Type does not contain zero for variable without initializer heartbeat_encode. Type adjusted. lib/modules/SSL.pmod/Connection.pike:234: Warning: Expected: zero. lib/modules/SSL.pmod/Connection.pike:234: Warning: Got : { AES = { State = object(implements __builtin.Nettle.Cipher()->State) } }. lib/modules/SSL.pmod/Connection.pike:235: Warning: Type does not contain zero for variable without initializer heartbeat_decode. Type adjusted. lib/modules/SSL.pmod/Connection.pike:235: Warning: Expected: zero. lib/modules/SSL.pmod/Connection.pike:235: Warning: Got : { AES = { State = object(implements __builtin.Nettle.Cipher()->State) } }. lib/modules/SSL.pmod/Connection.pike:324: Warning: An expression of type zero | mapping cannot be assigned to a variable of type mapping. lib/modules/SSL.pmod/Connection.pike:430: Warning: Type mismatch in argument 3 to prf. lib/modules/SSL.pmod/Connection.pike:430: Warning: Expected: string(8bit). lib/modules/SSL.pmod/Connection.pike:430: Warning: Got : int | array(zero) | string(8bit). lib/modules/SSL.pmod/Connection.pike:474: Warning: Type does not contain zero for variable without initializer current_read_state. Type adjusted. lib/modules/SSL.pmod/Connection.pike:474: Warning: Expected: zero. lib/modules/SSL.pmod/Connection.pike:474: Warning: Got : { State = object(implements SSL.State) }. lib/modules/SSL.pmod/Connection.pike:475: Warning: Type does not contain zero for variable without initializer current_write_state. Type adjusted. lib/modules/SSL.pmod/Connection.pike:475: Warning: Expected: zero. lib/modules/SSL.pmod/Connection.pike:475: Warning: Got : { State = object(implements SSL.State) }. lib/modules/SSL.pmod/Connection.pike:477: Warning: Type does not contain zero for variable without initializer packet. Type adjusted. lib/modules/SSL.pmod/Connection.pike:477: Warning: Expected: zero. lib/modules/SSL.pmod/Connection.pike:477: Warning: Got : { Packet = object(implements SSL.Packet) }. lib/modules/SSL.pmod/Connection.pike:485: Warning: Type does not contain zero for variable without initializer alert_callback. Type adjusted. lib/modules/SSL.pmod/Connection.pike:485: Warning: Expected: zero. lib/modules/SSL.pmod/Connection.pike:485: Warning: Got : function(object, int | object, string : void). lib/modules/SSL.pmod/Connection.pike:682: Warning: An expression of type zero | { Packet = object(implements SSL.Packet) } | { Alert = object(implements SSL.Alert) } cannot be assigned to a variable of type { Packet = object(implements SSL.Packet) }. lib/modules/SSL.pmod/Connection.pike:1010: Warning: An expression of type zero | array({ HandshakeFragment = object(implements SSL.Connection()->HandshakeFragment) }) cannot be assigned to a variable of type array({ HandshakeFragment = object(implements SSL.Connection()->HandshakeFragment) }). lib/modules/SSL.pmod/Connection.pike:1046: Warning: An expression of type zero | array({ HandshakeFragment = object(implements SSL.Connection()->HandshakeFragment) }) cannot be assigned to a variable of type array({ HandshakeFragment = object(implements SSL.Connection()->HandshakeFragment) }). lib/modules/SSL.pmod/Connection.pike:1196: Warning: Type mismatch for value in foreach(). lib/modules/SSL.pmod/Connection.pike:1196: Warning: Expected: int(1) | zero | mixed. lib/modules/SSL.pmod/Connection.pike:1196: Warning: Got : int. lib/modules/SSL.pmod/Connection.pike:1190: Warning: Type mismatch for value in foreach(). lib/modules/SSL.pmod/Connection.pike:1190: Warning: Expected: int(1) | zero | mixed. lib/modules/SSL.pmod/Connection.pike:1190: Warning: Got : int. lib/modules/SSL.pmod/Connection.pike:1289: Warning: An expression of type int cannot be assigned to a variable of type { ConnectionState = int(9bit) }. lib/modules/SSL.pmod/Context.pike:68: Warning: An expression of type int(16bit) | !mixed cannot be assigned to a variable of type int. lib/modules/SSL.pmod/Context.pike:81: Warning: Type does not contain zero for variable without initializer advertised_protocols. Type adjusted. lib/modules/SSL.pmod/Context.pike:81: Warning: Expected: zero. lib/modules/SSL.pmod/Context.pike:81: Warning: Got : array(string(8bit)). lib/modules/SSL.pmod/Context.pike:97: Warning: An expression of type mapping(string:mixed) | mapping({ Identifier = object(implements Standards.ASN1.Types.Identifier) }:{ Hash = object(implements Crypto.Hash) }) | mixed cannot be assigned to a variable of type mapping({ Identifier = object(implements Standards.ASN1.Types.Identifier) }:{ Hash = object(implements Crypto.Hash) }). lib/modules/SSL.pmod/Context.pike:246: Warning: Type does not contain zero for variable without initializer preferred_suites. Type adjusted. lib/modules/SSL.pmod/Context.pike:246: Warning: Expected: zero. lib/modules/SSL.pmod/Context.pike:246: Warning: Got : array(int). lib/modules/SSL.pmod/Context.pike:276: Warning: An expression of type mapping(zero:zero) cannot be assigned to a variable of type mapping(int(508..511):{ Parameters = object(implements Crypto.DH.Parameters) }). lib/modules/SSL.pmod/Context.pike:586: Warning: An expression of type multiset(int) | mixed cannot be assigned to a variable of type void | multiset(int). lib/modules/SSL.pmod/Context.pike:693: Warning: An expression of type array(int) | mapping(string:mixed) | mixed cannot be assigned to a variable of type zero | array(int). lib/modules/SSL.pmod/Context.pike:914: Warning: An expression of type mapping(zero:zero) cannot be assigned to a variable of type mapping(string(8bit):array({ Verifier = object(implements Standards.X509.Verifier) })). lib/modules/SSL.pmod/Context.pike:923: Warning: An expression of type mapping(zero:zero) cannot be assigned to a variable of type mapping(string(8bit):array({ CertificatePair = object(implements SSL.Constants.CertificatePair) })). lib/modules/SSL.pmod/Context.pike:927: Warning: An expression of type mapping(zero:zero) cannot be assigned to a variable of type mapping(string(8bit):array({ CertificatePair = object(implements SSL.Constants.CertificatePair) })). lib/modules/SSL.pmod/Context.pike:967: Warning: An expression of type mapping(zero:zero) cannot be assigned to a variable of type mapping({ CertificatePair = object(implements SSL.Constants.CertificatePair) }:int). lib/modules/SSL.pmod/Context.pike:970: Warning: An expression of type mapping(zero:zero) cannot be assigned to a variable of type mapping({ CertificatePair = object(implements SSL.Constants.CertificatePair) }:int). lib/modules/SSL.pmod/Context.pike:1053: Warning: Argument 1 to foreach() is not always an array. lib/modules/SSL.pmod/Context.pike:1053: Warning: Expected: array. lib/modules/SSL.pmod/Context.pike:1053: Warning: Got : zero | array(string(8bit)). lib/modules/SSL.pmod/Context.pike:1052: Warning: Argument 1 to foreach() is not always an array. lib/modules/SSL.pmod/Context.pike:1052: Warning: Expected: array. lib/modules/SSL.pmod/Context.pike:1052: Warning: Got : zero | array(string(8bit)). lib/modules/SSL.pmod/Context.pike:1065: Warning: An expression of type zero | { TBSCertificate = object(implements Standards.X509.TBSCertificate) } cannot be assigned to a variable of type { TBSCertificate = object(implements Standards.X509.TBSCertificate) }. lib/modules/SSL.pmod/Context.pike:1066: Warning: An expression of type zero | { TBSCertificate = object(implements Standards.X509.TBSCertificate) } cannot be assigned to a variable of type { TBSCertificate = object(implements Standards.X509.TBSCertificate) }. lib/modules/SSL.pmod/Context.pike:1089: Warning: An expression of type mapping(zero:zero) cannot be assigned to a variable of type mapping(string(8bit):array({ Verifier = object(implements Standards.X509.Verifier) })). lib/modules/SSL.pmod/Context.pike:1093: Warning: An expression of type zero | mapping cannot be assigned to a variable of type mapping. lib/modules/SSL.pmod/Context.pike:1129: Warning: An expression of type mapping(zero:zero) cannot be assigned to a variable of type mapping(string:{ Session = object(implements SSL.Session) }). lib/modules/SSL.pmod/Context.pike:1204: Warning: An expression of type zero | string(8bit) cannot be assigned to a variable of type string(8bit). lib/modules/SSL.pmod/Context.pike:1214: Warning: An expression of type zero | string(8bit) cannot be assigned to a variable of type string(8bit). lib/modules/SSL.pmod/Context.pike:1215: Warning: An expression of type zero | string(8bit) cannot be assigned to a variable of type string(8bit). lib/modules/SSL.pmod/Context.pike:1363: Warning: Wrong return type. lib/modules/SSL.pmod/Context.pike:1363: Warning: Expected: { ProtocolVersion = int(16bit) }. lib/modules/SSL.pmod/Context.pike:1363: Warning: Got : { ProtocolVersion = !(int(16bit) | mixed) }. lib/modules/SSL.pmod/Context.pike:1368: Warning: Wrong return type. lib/modules/SSL.pmod/Context.pike:1368: Warning: Expected: { ProtocolVersion = int(16bit) }. lib/modules/SSL.pmod/Context.pike:1368: Warning: Got : { ProtocolVersion = !(int(16bit) | mixed) }. lib/modules/SSL.pmod/ClientConnection.pike:14: Warning: Type does not contain zero for variable without initializer client_cert_types. Type adjusted. lib/modules/SSL.pmod/ClientConnection.pike:14: Warning: Expected: zero. lib/modules/SSL.pmod/ClientConnection.pike:14: Warning: Got : array(int). lib/modules/SSL.pmod/ClientConnection.pike:15: Warning: Type does not contain zero for variable without initializer client_cert_distinguished_names. Type adjusted. lib/modules/SSL.pmod/ClientConnection.pike:15: Warning: Expected: zero. lib/modules/SSL.pmod/ClientConnection.pike:15: Warning: Got : array(string(8bit)). lib/modules/SSL.pmod/ClientConnection.pike:237: Warning: Argument 1 to foreach() is not always an array. lib/modules/SSL.pmod/ClientConnection.pike:237: Warning: Expected: array. lib/modules/SSL.pmod/ClientConnection.pike:237: Warning: Got : void | array({ Packet = object(implements SSL.Packet) }). lib/modules/SSL.pmod/ClientConnection.pike:235: Warning: Argument 1 to foreach() is not always an array. lib/modules/SSL.pmod/ClientConnection.pike:235: Warning: Expected: array. lib/modules/SSL.pmod/ClientConnection.pike:235: Warning: Got : void | array({ Packet = object(implements SSL.Packet) }). lib/modules/SSL.pmod/ClientConnection.pike:45: Warning: An expression of type zero | array(int) cannot be assigned to a variable of type array(int). lib/modules/SSL.pmod/ClientConnection.pike:298: Warning: An expression of type zero | string(8bit) cannot be assigned to a variable of type string(8bit). lib/modules/SSL.pmod/ClientConnection.pike:329: Warning: An expression of type void | { Session = object(implements SSL.Session) } cannot be assigned to a variable of type zero | { Session = object(implements SSL.Session) }. lib/modules/SSL.pmod/ClientConnection.pike:332: Warning: An expression of type void | string(8bit) cannot be assigned to a variable of type zero | string(8bit). lib/modules/SSL.pmod/ClientConnection.pike:400: Warning: Argument 1 to foreach() is not always an array. lib/modules/SSL.pmod/ClientConnection.pike:400: Warning: Expected: array. lib/modules/SSL.pmod/ClientConnection.pike:400: Warning: Got : zero | array({ SignatureScheme = int(0..3855) }). lib/modules/SSL.pmod/ClientConnection.pike:387: Warning: Argument 1 to foreach() is not always an array. lib/modules/SSL.pmod/ClientConnection.pike:387: Warning: Expected: array. lib/modules/SSL.pmod/ClientConnection.pike:387: Warning: Got : zero | array({ SignatureScheme = int(0..3855) }). lib/modules/SSL.pmod/ClientConnection.pike:400: Warning: Argument 1 to foreach() is not always an array. lib/modules/SSL.pmod/ClientConnection.pike:400: Warning: Expected: array. lib/modules/SSL.pmod/ClientConnection.pike:400: Warning: Got : zero | array({ SignatureScheme = int(0..3855) }). lib/modules/SSL.pmod/ClientConnection.pike:748: Warning: An expression of type int(1bit) cannot be assigned to a variable of type { HeartBeatModeType = int(1) }. lib/modules/SSL.pmod/ServerConnection.pike:151: Warning: An expression of type zero | string(8bit) cannot be assigned to a variable of type string(8bit). lib/modules/SSL.pmod/ServerConnection.pike:621: Warning: Type mismatch for value in foreach(). lib/modules/SSL.pmod/ServerConnection.pike:621: Warning: Expected: int(1) | zero | string(8bit) | mixed. lib/modules/SSL.pmod/ServerConnection.pike:621: Warning: Got : string(8bit). lib/modules/SSL.pmod/ServerConnection.pike:612: Warning: Type mismatch for value in foreach(). lib/modules/SSL.pmod/ServerConnection.pike:612: Warning: Expected: int(1) | zero | string(8bit) | mixed. lib/modules/SSL.pmod/ServerConnection.pike:612: Warning: Got : string(8bit). lib/modules/SSL.pmod/ServerConnection.pike:646: Warning: An expression of type int(1bit) cannot be assigned to a variable of type { HeartBeatModeType = int(1) }. lib/modules/SSL.pmod/ServerConnection.pike:770: Warning: An expression of type array(int) | mixed cannot be assigned to a variable of type array(int). lib/modules/SSL.pmod/ServerConnection.pike:874: Warning: An expression of type zero | string(8bit) cannot be assigned to a variable of type string(8bit). lib/modules/Standards.pmod/URI.pike:12: Warning: Type does not contain zero for variable without initializer scheme. Type adjusted. lib/modules/Standards.pmod/URI.pike:12: Warning: Expected: zero. lib/modules/Standards.pmod/URI.pike:12: Warning: Got : string. lib/modules/Standards.pmod/URI.pike:16: Warning: Type does not contain zero for variable without initializer authority. Type adjusted. lib/modules/Standards.pmod/URI.pike:16: Warning: Expected: zero. lib/modules/Standards.pmod/URI.pike:16: Warning: Got : string. lib/modules/Standards.pmod/URI.pike:19: Warning: Type does not contain zero for variable without initializer path. Type adjusted. lib/modules/Standards.pmod/URI.pike:19: Warning: Expected: zero. lib/modules/Standards.pmod/URI.pike:19: Warning: Got : string. lib/modules/Standards.pmod/URI.pike:22: Warning: Type does not contain zero for variable without initializer query. Type adjusted. lib/modules/Standards.pmod/URI.pike:22: Warning: Expected: zero. lib/modules/Standards.pmod/URI.pike:22: Warning: Got : string. lib/modules/Standards.pmod/URI.pike:25: Warning: Type does not contain zero for variable without initializer fragment. Type adjusted. lib/modules/Standards.pmod/URI.pike:25: Warning: Expected: zero. lib/modules/Standards.pmod/URI.pike:25: Warning: Got : string. lib/modules/Standards.pmod/URI.pike:28: Warning: Type does not contain zero for variable without initializer host. Type adjusted. lib/modules/Standards.pmod/URI.pike:28: Warning: Expected: zero. lib/modules/Standards.pmod/URI.pike:28: Warning: Got : string. lib/modules/Standards.pmod/URI.pike:28: Warning: Type does not contain zero for variable without initializer user. Type adjusted. lib/modules/Standards.pmod/URI.pike:28: Warning: Expected: zero. lib/modules/Standards.pmod/URI.pike:28: Warning: Got : string. lib/modules/Standards.pmod/URI.pike:28: Warning: Type does not contain zero for variable without initializer password. Type adjusted. lib/modules/Standards.pmod/URI.pike:28: Warning: Expected: zero. lib/modules/Standards.pmod/URI.pike:28: Warning: Got : string. lib/modules/Standards.pmod/URI.pike:35: Warning: Type does not contain zero for variable without initializer base_uri. Type adjusted. lib/modules/Standards.pmod/URI.pike:35: Warning: Expected: zero. lib/modules/Standards.pmod/URI.pike:35: Warning: Got : { this_program = object(implements program(/home/srb/81pike/lib/modules/Standards.pmod/URI.pike)) }. lib/modules/Standards.pmod/URI.pike:42: Warning: Type does not contain zero for variable without initializer raw_uri. Type adjusted. lib/modules/Standards.pmod/URI.pike:42: Warning: Expected: zero. lib/modules/Standards.pmod/URI.pike:42: Warning: Got : string. lib/modules/Standards.pmod/URI.pike:58: Warning: An expression of type zero | string cannot be assigned to a variable of type string. lib/modules/Standards.pmod/URI.pike:220: Warning: An expression of type zero | string cannot be assigned to a variable of type string. lib/modules/Standards.pmod/URI.pike:259: Warning: An expression of type zero | string cannot be assigned to a variable of type string. lib/modules/Standards.pmod/URI.pike:281: Warning: An expression of type int | string cannot be assigned to a variable of type zero | string. lib/modules/Standards.pmod/URI.pike:428: Warning: Type mismatch for callback function `->=: lib/modules/Standards.pmod/URI.pike:428: Warning: Expected: scope(0,function(string, (0=zero), void | object, void | int : 0)). lib/modules/Standards.pmod/URI.pike:428: Warning: Got : function(string, mixed : mixed). lib/modules/Standards.pmod/URI.pike:428: Warning: Type mismatch for callback function `->=: lib/modules/Standards.pmod/URI.pike:428: Warning: Expected: scope(0,function(string, (0=zero), void | object, void | int : 0)). lib/modules/Standards.pmod/URI.pike:428: Warning: Got : function(string, mixed : mixed). lib/modules/Standards.pmod/URI.pike:428: Warning: Type mismatch for callback function `->=: lib/modules/Standards.pmod/URI.pike:428: Warning: Expected: scope(0,function(string, (0=zero), void | object, void | int : 0)). lib/modules/Standards.pmod/URI.pike:428: Warning: Got : function(string, mixed : mixed). lib/modules/Standards.pmod/URI.pike:431: Warning: Type mismatch for callback function `[]=: lib/modules/Standards.pmod/URI.pike:431: Warning: Expected: scope(0,function(zero, (0=zero) : 0)). lib/modules/Standards.pmod/URI.pike:431: Warning: Got : function(string, mixed : mixed). lib/modules/Standards.pmod/URI.pike:432: Warning: Type mismatch for callback function `[]=: lib/modules/Standards.pmod/URI.pike:432: Warning: Expected: scope(0,function(zero, (0=zero) : 0)). lib/modules/Standards.pmod/URI.pike:432: Warning: Got : function(string, mixed : mixed). lib/modules/Standards.pmod/URI.pike:432: Warning: Type mismatch for callback function `[]=: lib/modules/Standards.pmod/URI.pike:432: Warning: Expected: scope(0,function(zero, (0=zero) : 0)). lib/modules/Standards.pmod/URI.pike:432: Warning: Got : function(string, mixed : mixed). lib/modules/Standards.pmod/URI.pike:512: Warning: Type does not contain zero for variable without initializer variables. Type adjusted. lib/modules/Standards.pmod/URI.pike:512: Warning: Expected: zero. lib/modules/Standards.pmod/URI.pike:512: Warning: Got : mapping(string:string). lib/modules/Standards.pmod/URI.pike:517:Wrong return type. lib/modules/Standards.pmod/URI.pike:517:Expected: mapping(string:string). lib/modules/Standards.pmod/URI.pike:517:Got : mapping(zero:zero). lib/modules/Standards.pmod/URI.pike:653:Failed to evaluate constant expression. lib/modules/Standards.pmod/URI.pike:653:Illegal program identifier: 0. lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:160:Error looking up 'URI' in module Standards. lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:160:Compilation failed. lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:467:Must return a value for a non-void function. lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:467:Expected: mixed. lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:467:Got : void. lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:534:Must return a value for a non-void function. lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:534:Expected: mixed. lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:534:Got : void. lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:791:Error in constant definition. lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:859:Error in constant definition. lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:899:Error in constant definition. lib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/Request.pike:729:Index 'response_codes' not present in module HTTP. lib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/Request.pike:729:Indexed module was: Protocols.HTTP. lib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/Request.pike:731:Index 'response_codes' not present in module HTTP. lib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/Request.pike:731:Indexed module was: Protocols.HTTP. lib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/Request.pike:891:Failed to evaluate constant expression. lib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/Request.pike:891:Illegal program identifier: 0. lib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/Port.pike:6:Error looking up 'Request' in module .. lib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/Port.pike:6:Compilation failed.
Followed by a bunch of errors and warnings (caused by the errors above) in my own SPike source. -- Stephen.