Closed bitmold closed 1 year ago
Specifically the new event dispatcher in snowflake seems to be the problem...
Seems like it's because the event dispatcher is initialized after it's first used:
(patched snowflake.go
):
var err error
log.Printf("should be right before crash!")
sf.EventDispatcher.OnNewSnowflakeEvent(event.EventOnProxyStarting{})
sf.shutdown = make(chan struct{})
// blank configurations revert to default
if sf.BrokerURL == "" {
sf.BrokerURL = DefaultBrokerURL
}
if sf.RelayURL == "" {
sf.RelayURL = DefaultRelayURL
}
if sf.STUNURL == "" {
sf.STUNURL = DefaultSTUNURL
}
if sf.NATProbeURL == "" {
sf.NATProbeURL = DefaultNATProbeURL
}
if sf.ProxyType == "" {
sf.ProxyType = DefaultProxyType
}
if sf.EventDispatcher == nil {
sf.EventDispatcher = event.NewSnowflakeEventDispatcher()
}
I would imagine this issue also must exist in iOS if you're running the new snowflake 2.5.1 proxy there too
Created upstream issue: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40254
Looking into this now, finally.
For the time being, here's the crashlog: