evcc-io / evcc

Sonne tanken ☀️🚘
https://evcc.io
MIT License
3.59k stars 662 forks source link

Keine Aktualisierung der Werte in evcc, wenn mit der neuen SMA Firmware die Entladesperre deaktiviert wird #14368

Closed Tombra1889 closed 4 months ago

Tombra1889 commented 5 months ago

Leider, stürzt zudem evcc jetzt ab, wenn mit der neuen SHM Firmware die Batteriesperre deaktiviert werden soll:

image

Also im Detail: wenn die Sperre aufgehoben wird (was nicht möglich ist), findet keine Aktualisierung mehr statt. Ich nutze die Version V0.127.1

Originally posted by @Tombra1889 in https://github.com/evcc-io/evcc/issues/14353#issuecomment-2168506398

premultiply commented 5 months ago

Bitte Details und Logfile usw. dazu was es ermöglicht das nachzuvollziehen und bestensfalls zu reproduzieren. Für lustige Suchspiele haben wir keine Kapazitäten.

Tombra1889 commented 5 months ago
[site ] DEBUG 2024/06/14 20:56:47 set battery discharge control: false
[site ] DEBUG 2024/06/14 20:56:49 ----
[lp-1 ] DEBUG 2024/06/14 20:56:49 charge power: 0W
[lp-1 ] DEBUG 2024/06/14 20:56:49 charge currents: [0 0 0]A
[lp-2 ] DEBUG 2024/06/14 20:56:49 charge power: 25W
[lp-2 ] DEBUG 2024/06/14 20:56:49 charge currents: [0.209 0.096 0.034]A
[lp-2 ] DEBUG 2024/06/14 20:56:50 set session soc limit: 21
[lp-2 ] DEBUG 2024/06/14 20:57:00 set session soc limit: 21
[lp-2 ] DEBUG 2024/06/14 20:57:10 set session soc limit: 21
[lp-2 ] DEBUG 2024/06/14 20:57:20 set session soc limit: 21

danach passiert nichts mehr.

andig commented 4 months ago

Hier fehlen leider alle angefragten Informationen. Close?

Tombra1889 commented 4 months ago

Ich kann leider nicht mehr beschreiben. Es handelt sich um einen SHM mit der aktuellen Firmware. Die Batteriesperre, also der Schalter in evcc ist eingeschaltet. Wenn ich diesen ausschalte, macht evcc keinen mucks mehr und ich muss den Prozess neustarten.

andig commented 4 months ago

Und dann? Neuer Prozess ohne Batteriesperre geht? Config? Trace log?

Tombra1889 commented 4 months ago

Ne der Zustand bleibt nach dem Neustart auf:

image

Wenn man nicht an den Schalter geht funktioniert evcc, sonst stürzt es direkt ab.

[site ] DEBUG 2024/06/14 22:26:34 set battery discharge control: false
[modbus] TRACE 2024/06/14 22:26:34 modbus: send 11 5b 00 00 00 0b 03 10 9c d7 00 02 04 00 00 03 23
[modbus] TRACE 2024/06/14 22:26:34 modbus: recv 11 5b 00 00 00 06 03 10 9c d7 00 02
[sma ] TRACE 2024/06/14 22:26:35 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 login for 192.168.66.88:9522
[sma ] TRACE 2024/06/14 22:26:35 send 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 recv 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 requestValues for 192.168.66.88:9522: 0x5100 0x263F00 0x263FFF
[sma ] TRACE 2024/06/14 22:26:35 send 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 recv 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 requestValues for 192.168.66.88:9522: 0x5100 0x295A00 0x295AFF
[sma ] TRACE 2024/06/14 22:26:35 send 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 recv 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 requestValues for 192.168.66.88:9522: 0x5100 0x411E00 0x4120FF
[sma ] TRACE 2024/06/14 22:26:35 send 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 recv 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 requestValues for 192.168.66.88:9522: 0x5100 0x464000 0x4642FF
[sma ] TRACE 2024/06/14 22:26:35 send 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 recv 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 requestValues for 192.168.66.88:9522: 0x5100 0x464800 0x4655FF
[sma ] TRACE 2024/06/14 22:26:35 send 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 recv 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 requestValues for 192.168.66.88:9522: 0x5100 0x465700 0x4657FF
[sma ] TRACE 2024/06/14 22:26:35 send 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 recv 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:35 requestValues for 192.168.66.88:9522: 0x5100 0x491E00 0x495DFF
[sma ] TRACE 2024/06/14 22:26:35 send 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 recv 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 requestValues for 192.168.66.88:9522: 0x5180 0x214800 0x2148FF
[sma ] TRACE 2024/06/14 22:26:36 send 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 recv 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 requestValues for 192.168.66.88:9522: 0x5180 0x416400 0x4164FF
[sma ] TRACE 2024/06/14 22:26:36 send 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 recv 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 requestValues for 192.168.66.88:9522: 0x5200 0x237700 0x2377FF
[sma ] TRACE 2024/06/14 22:26:36 send 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 recv 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 requestValues for 192.168.66.88:9522: 0x5380 0x251E00 0x251EFF
[sma ] TRACE 2024/06/14 22:26:36 send 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 recv 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 requestValues for 192.168.66.88:9522: 0x5380 0x451F00 0x4521FF
[sma ] TRACE 2024/06/14 22:26:36 send 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 recv 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 requestValues for 192.168.66.88:9522: 0x5400 0x260100 0x2622FF
[sma ] TRACE 2024/06/14 22:26:36 send 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 recv 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 requestValues for 192.168.66.88:9522: 0x5400 0x462E00 0x462FFF
[sma ] TRACE 2024/06/14 22:26:36 send 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 recv 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 requestValues for 192.168.66.88:9522: 0x5400 0x496700 0x4988FF
[sma ] TRACE 2024/06/14 22:26:36 send 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 recv 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 requestValues for 192.168.66.88:9522: 0x5800 0x821E00 0x8220FF
[sma ] TRACE 2024/06/14 22:26:36 send 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 recv 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 logout for 192.168.66.88:9522
[sma ] TRACE 2024/06/14 22:26:36 send 192.168.66.88: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[mqtt ] TRACE 2024/06/14 22:26:36 recv openknx/0/Central/Energy/Heat_pump_Consumption_L3_Current_value_mA: '35'
[sma ] TRACE 2024/06/14 22:26:36 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:36 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:37 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:37 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:37 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:37 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:37 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:37 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:38 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:38 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:38 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:38 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:38 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[sma ] TRACE 2024/06/14 22:26:39 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[site ] DEBUG 2024/06/14 22:26:39 ----
[alfen ] TRACE 2024/06/14 22:26:39 modbus: send 08 11 00 00 00 06 01 03 01 58 00 02
[sma ] TRACE 2024/06/14 22:26:39 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[alfen ] TRACE 2024/06/14 22:26:39 modbus: recv 08 11 00 00 00 07 01 03 04 00 00 00 00
[lp-1 ] DEBUG 2024/06/14 22:26:39 charge power: 0W
[alfen ] TRACE 2024/06/14 22:26:39 modbus: send 08 12 00 00 00 06 01 03 01 40 00 06
[alfen ] TRACE 2024/06/14 22:26:39 modbus: recv 08 12 00 00 00 0f 01 03 0c 00 00 00 00 00 00 00 00 00 00 00 00
[lp-1 ] DEBUG 2024/06/14 22:26:39 charge currents: [0 0 0]A
[lp-2 ] DEBUG 2024/06/14 22:26:39 charge power: 22W
[lp-2 ] DEBUG 2024/06/14 22:26:39 charge currents: [0.212 0.074 0.035]A
[sma ] TRACE 2024/06/14 22:26:39 recv 192.168.66.87: [proto.GroupPacketEntry, proto.SmaNet2PacketEntry]
[semp ] TRACE 2024/06/14 22:26:39 send: {XMLName:{Space: Local:} Xmlns:urn:schemas-upnp-org:device-1-0 SpecVersion:{Major:1 Minor:0} Device:{DeviceType:urn:schemas-simple-energy-management-protocol:device:Gateway:1 FriendlyName:evcc Manufacturer:github.com/evcc-io/evcc ModelName:EVCC SEMP Server 0.127.1 UDN:uuid:3ff31bcb-2a80-11ef-9579-e45f011a0327 PresentationURL:http://192.168.66.193:7070 ServiceDefinition:{Xmlns:urn:schemas-simple-energy-management-protocol:service-1-0 Server:http://192.168.66.193:7070 BasePath:/semp Transport:HTTP/Pull ExchangeFormat:XML WsVersion:1.1.0} ServiceList:[]}}
andig commented 4 months ago

Was stürzt da ab??? Meinst du es hängt?

Tombra1889 commented 4 months ago

Man kann andere Button zwar noch betätigen, aber es passiert quasi von der Steuerung und Anzeige nichts mehr.

andig commented 4 months ago

Also deadlock. Dann bitte analog https://github.com/evcc-io/evcc/issues/12093#issuecomment-1929337104.

Tombra1889 commented 4 months ago

Ich hoffe ich habe es korrekt gemacht:

/debug/pprof/

Set debug=1 as a query parameter to export in legacy text format


Types of profiles available: Count
Profile
108 allocs
0 block
0 cmdline
58 goroutine
108 heap
0 mutex
0 profile
10 threadcreate
0 trace

full goroutine stack dump

Profile Descriptions:

  • allocs: 
     A sampling of all past memory allocations
  • block: 
     Stack traces that led to blocking on synchronization primitives
  • cmdline: 
     The command line invocation of the current program
  • goroutine: 
     Stack traces of all current goroutines. Use debug=2 as a query parameter to export in the same format as an unrecovered panic.
  • heap: 
     A sampling of memory allocations of live objects. You can specify the gc GET parameter to run GC before taking the heap sample.
  • mutex: 
     Stack traces of holders of contended mutexes
  • profile: 
     CPU profile. You can specify the duration in the seconds GET parameter. After you get the profile file, use the go tool pprof command to investigate the profile.
  • threadcreate: 
     Stack traces that led to the creation of new OS threads
  • trace: 
     A trace of execution of the current program. You can specify the duration in the seconds GET parameter. After you get the trace file, use the go tool trace command to investigate the trace.
/debug/pprof/ Set debug=1 as a query parameter to export in legacy text format

Types of profiles available: Count Profile 108 allocs 0 block 0 cmdline 58 goroutine 108 heap 0 mutex 0 profile 10 threadcreate 0 trace full goroutine stack dump Profile Descriptions:

allocs: A sampling of all past memory allocations block: Stack traces that led to blocking on synchronization primitives cmdline: The command line invocation of the current program goroutine: Stack traces of all current goroutines. Use debug=2 as a query parameter to export in the same format as an unrecovered panic. heap: A sampling of memory allocations of live objects. You can specify the gc GET parameter to run GC before taking the heap sample. mutex: Stack traces of holders of contended mutexes profile: CPU profile. You can specify the duration in the seconds GET parameter. After you get the profile file, use the go tool pprof command to investigate the profile. threadcreate: Stack traces that led to the creation of new OS threads trace: A trace of execution of the current program. You can specify the duration in the seconds GET parameter. After you get the trace file, use the go tool trace command to investigate the trace.

Tombra1889 commented 4 months ago

goroutine 830 [running]: runtime/pprof.writeGoroutineStacks({0x3624c00, 0x4001470fc0}) runtime/pprof/pprof.go:743 +0x6c runtime/pprof.writeGoroutine({0x3624c00?, 0x4001470fc0?}, 0x7f6ef30ee0?) runtime/pprof/pprof.go:732 +0x2c runtime/pprof.(Profile).WriteTo(0x5f80c50?, {0x3624c00?, 0x4001470fc0?}, 0xc?) runtime/pprof/pprof.go:369 +0x148 net/http/pprof.handler.ServeHTTP({0x4002548ca1, 0x9}, {0x3724340, 0x4001470fc0}, 0x4000d2a7e0) net/http/pprof/pprof.go:267 +0x444 net/http/pprof.Index({0x3724340, 0x4001470fc0}, 0x4000d2a7e0?) net/http/pprof/pprof.go:384 +0xc4 net/http.HandlerFunc.ServeHTTP(0x5fe59c0?, {0x3724340?, 0x4001470fc0?}, 0x4000cb1360?) net/http/server.go:2166 +0x38 net/http.(ServeMux).ServeHTTP(0x4000d2a6c0?, {0x3724340, 0x4001470fc0}, 0x4000d2a7e0) net/http/server.go:2683 +0x1a4 github.com/gorilla/mux.(Router).ServeHTTP(0x400081c000, {0x3724340, 0x4001470fc0}, 0x4000d2a000) github.com/gorilla/mux@v1.8.1/mux.go:212 +0x194 net/http.serverHandler.ServeHTTP({0x400246e660?}, {0x3724340?, 0x4001470fc0?}, 0x6?) net/http/server.go:3137 +0xbc net/http.(conn).serve(0x4001000fc0, {0x372b830, 0x4000ab5cb0}) net/http/server.go:2039 +0x508 created by net/http.(*Server).Serve in goroutine 1 net/http/server.go:3285 +0x3f0

goroutine 1 [IO wait]: internal/poll.runtime_pollWait(0x7f6f2be2d0, 0x72) runtime/netpoll.go:345 +0xa0 internal/poll.(pollDesc).wait(0x13?, 0x2bc2c?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x28 internal/poll.(pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(FD).Accept(0x400050d280) internal/poll/fd_unix.go:611 +0x250 net.(netFD).accept(0x400050d280) net/fd_unix.go:172 +0x28 net.(TCPListener).accept(0x4000e472c0) net/tcpsock_posix.go:159 +0x28 net.(TCPListener).Accept(0x4000e472c0) net/tcpsock.go:327 +0x2c net/http.(Server).Serve(0x400129e000, {0x3723f20, 0x4000e472c0}) net/http/server.go:3255 +0x2a8 net/http.(Server).ListenAndServe(0x400129e000) net/http/server.go:3184 +0x84 github.com/evcc-io/evcc/cmd.runRoot(0x5fb0a40, {0x2a97c1f?, 0x7?, 0x2a8abda?}) github.com/evcc-io/evcc/cmd/root.go:310 +0x1b3c github.com/spf13/cobra.(Command).execute(0x5fb0a40, {0x40000a8090, 0x1, 0x1}) github.com/spf13/cobra@v1.8.0/command.go:987 +0x828 github.com/spf13/cobra.(Command).ExecuteC(0x5fb0a40) github.com/spf13/cobra@v1.8.0/command.go:1115 +0x344 github.com/spf13/cobra.(*Command).Execute(...) github.com/spf13/cobra@v1.8.0/command.go:1039 github.com/evcc-io/evcc/cmd.Execute() github.com/evcc-io/evcc/cmd/root.go:107 +0x24 main.main() github.com/evcc-io/evcc/main.go:44 +0x38

goroutine 6 [select]: google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0x4000b1b5d0, {0x372b868, 0x40005f8960}) google.golang.org/grpc@v1.63.2/internal/grpcsync/callback_serializer.go:76 +0xc8 created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 1 google.golang.org/grpc@v1.63.2/internal/grpcsync/callback_serializer.go:52 +0x118

goroutine 7 [select]: google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0x4000b1b600, {0x372b868, 0x40005f89b0}) google.golang.org/grpc@v1.63.2/internal/grpcsync/callback_serializer.go:76 +0xc8 created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 1 google.golang.org/grpc@v1.63.2/internal/grpcsync/callback_serializer.go:52 +0x118

goroutine 8 [select]: google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0x4000b1b630, {0x372b868, 0x40005f8a00}) google.golang.org/grpc@v1.63.2/internal/grpcsync/callback_serializer.go:76 +0xc8 created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 1 google.golang.org/grpc@v1.63.2/internal/grpcsync/callback_serializer.go:52 +0x118

goroutine 13 [chan receive]: github.com/evcc-io/evcc/cmd.configureDatabase.func2() github.com/evcc-io/evcc/cmd/setup.go:562 +0x64 created by github.com/evcc-io/evcc/cmd.configureDatabase in goroutine 1 github.com/evcc-io/evcc/cmd/setup.go:561 +0x70

goroutine 193 [IO wait]: internal/poll.runtime_pollWait(0x7f6f2be5b8, 0x72) runtime/netpoll.go:345 +0xa0 internal/poll.(pollDesc).wait(0x40017d8d80?, 0x22488?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x28 internal/poll.(pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(FD).RawRead(0x40017d8d80, 0x4002533630) internal/poll/fd_unix.go:708 +0x130 net.(rawConn).Read(0x40000d7d50, 0x0?) net/rawconn.go:44 +0x30 golang.org/x/net/internal/socket.(Conn).recvMsg(0x4001e20280, 0x40022d4f60, 0x0) golang.org/x/net@v0.26.0/internal/socket/rawconn_msg.go:27 +0x138 golang.org/x/net/internal/socket.(Conn).RecvMsg(...) golang.org/x/net@v0.26.0/internal/socket/socket.go:247 golang.org/x/net/ipv4.(payloadHandler).ReadFrom(0x4001e1f5f0, {0x4001f00000, 0xffff, 0xffff}) golang.org/x/net@v0.26.0/ipv4/payload_cmsg.go:31 +0x468 github.com/koron/go-ssdp/internal/multicast.(Conn).ReadPackets(0x4001e34660, 0x0, 0x4001e23f88) github.com/koron/go-ssdp@v0.0.4/internal/multicast/multicast.go:141 +0xac github.com/koron/go-ssdp.(*Advertiser).recvMain(0x40005d97c0?) github.com/koron/go-ssdp@v0.0.4/advertise.go:72 +0x3c github.com/koron/go-ssdp.Advertise.func2() github.com/koron/go-ssdp@v0.0.4/advertise.go:64 +0x24 created by github.com/koron/go-ssdp.Advertise in goroutine 154 github.com/koron/go-ssdp@v0.0.4/advertise.go:63 +0x208

goroutine 68 [chan receive]: github.com/evcc-io/evcc/util.(*Tee).Run(0x4000bccd80, 0x4001100540) github.com/evcc-io/evcc/util/tee.go:41 +0x44 created by github.com/evcc-io/evcc/cmd.runRoot in goroutine 1 github.com/evcc-io/evcc/cmd/root.go:140 +0x2ec

goroutine 12 [select]: database/sql.(*DB).connectionOpener(0x40010ec270, {0x372b868, 0x40009b0d70}) database/sql/sql.go:1246 +0x80 created by database/sql.OpenDB in goroutine 1 database/sql/sql.go:824 +0x140

goroutine 69 [chan receive]: github.com/evcc-io/evcc/util/pipe.(Dropper).pipe(...) github.com/evcc-io/evcc/util/pipe/limiter.go:78 created by github.com/evcc-io/evcc/util/pipe.(Dropper).Pipe in goroutine 1 github.com/evcc-io/evcc/util/pipe/limiter.go:90 +0x94

goroutine 70 [chan receive]: github.com/evcc-io/evcc/util.(*Cache).Run(0x4000bccda0, 0x4000463ec0) github.com/evcc-io/evcc/util/cache.go:38 +0x5c created by github.com/evcc-io/evcc/cmd.runRoot in goroutine 1 github.com/evcc-io/evcc/cmd/root.go:144 +0x414

goroutine 71 [chan receive]: github.com/evcc-io/evcc/util/pipe.(Dropper).pipe(...) github.com/evcc-io/evcc/util/pipe/limiter.go:78 created by github.com/evcc-io/evcc/util/pipe.(Dropper).Pipe in goroutine 1 github.com/evcc-io/evcc/util/pipe/limiter.go:90 +0x94

goroutine 72 [select]: github.com/evcc-io/evcc/server.(*SocketHub).Run(0x400128f650, 0x4000463f80, 0x4000bccda0) github.com/evcc-io/evcc/server/socket.go:159 +0x84 created by github.com/evcc-io/evcc/cmd.runRoot in goroutine 1 github.com/evcc-io/evcc/cmd/root.go:161 +0x6c0

goroutine 73 [IO wait]: internal/poll.runtime_pollWait(0x7f6f2bec80, 0x72) runtime/netpoll.go:345 +0xa0 internal/poll.(pollDesc).wait(0x4000bd4200?, 0x400060d000?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x28 internal/poll.(pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(FD).ReadFromInet4(0x4000bd4200, {0x400060d000, 0x800, 0x800}, 0x40011afe00) internal/poll/fd_unix.go:247 +0x1ec net.(netFD).readFromInet4(0x4000bd4200, {0x400060d000?, 0x18?, 0x8?}, 0x40011afe18?) net/fd_posix.go:66 +0x28 net.(UDPConn).readFrom(0x4002550a70?, {0x400060d000?, 0x0?, 0x1?}, 0x40011aff70) net/udpsock_posix.go:52 +0x13c net.(UDPConn).readFromUDP(0x4000d10340, {0x400060d000?, 0xd?, 0x4002553650?}, 0x4000cdef90?) net/udpsock.go:149 +0x2c net.(UDPConn).ReadFromUDP(...) net/udpsock.go:141 gitlab.com/bboehmke/sunny.(Connection).listenLoop(0x4001100de0) gitlab.com/bboehmke/sunny@v0.16.0/connection.go:96 +0x74 created by gitlab.com/bboehmke/sunny.NewConnection in goroutine 1 gitlab.com/bboehmke/sunny@v0.16.0/connection.go:85 +0x2d4

goroutine 149 [chan receive]: github.com/evcc-io/evcc/util/pipe.(Dropper).pipe(...) github.com/evcc-io/evcc/util/pipe/limiter.go:78 created by github.com/evcc-io/evcc/util/pipe.(Dropper).Pipe in goroutine 1 github.com/evcc-io/evcc/util/pipe/limiter.go:90 +0x94

goroutine 129 [chan receive]: github.com/evcc-io/evcc/tariff.(*Tibber).run(0x4001678480, 0x4000ebdc20) github.com/evcc-io/evcc/tariff/tibber.go:82 +0x10c created by github.com/evcc-io/evcc/tariff.NewTibberFromConfig in goroutine 45 github.com/evcc-io/evcc/tariff/tibber.go:67 +0x2d8

goroutine 35 [chan receive]: github.com/evcc-io/evcc/provider/sma.(Device).run(0x4001182090) github.com/evcc-io/evcc/provider/sma/device.go:27 +0x4c sync.(Once).doSlow(0x40008c4008?, 0x7f6ee6a558?) sync/once.go:74 +0x100 sync.(Once).Do(...) sync/once.go:65 github.com/evcc-io/evcc/provider/sma.(Device).Run(...) github.com/evcc-io/evcc/provider/sma/device.go:23 created by github.com/evcc-io/evcc/meter.NewSMA in goroutine 1 github.com/evcc-io/evcc/meter/sma.go:83 +0x26c

goroutine 126 [chan receive]: github.com/koron/go-ssdp.(*Advertiser).sendMain(0x40017d8d00) github.com/koron/go-ssdp@v0.0.4/advertise.go:85 +0x3c github.com/koron/go-ssdp.Advertise.func1() github.com/koron/go-ssdp@v0.0.4/advertise.go:59 +0x24 created by github.com/koron/go-ssdp.Advertise in goroutine 154 github.com/koron/go-ssdp@v0.0.4/advertise.go:58 +0x1c8

goroutine 42 [chan receive]: github.com/evcc-io/evcc/provider/sma.(Device).run(0x40010f52f0) github.com/evcc-io/evcc/provider/sma/device.go:27 +0x4c sync.(Once).doSlow(0x0?, 0x8f1c4?) sync/once.go:74 +0x100 sync.(Once).Do(...) sync/once.go:65 github.com/evcc-io/evcc/provider/sma.(Device).Run(...) github.com/evcc-io/evcc/provider/sma/device.go:23 created by github.com/evcc-io/evcc/meter.NewSMA in goroutine 1 github.com/evcc-io/evcc/meter/sma.go:83 +0x26c

goroutine 43 [chan receive]: github.com/evcc-io/evcc/charger.(*Alfen).heartbeat(0x40015e4c30) github.com/evcc-io/evcc/charger/alfen.go:112 +0x50 created by github.com/evcc-io/evcc/charger.NewAlfen in goroutine 87 github.com/evcc-io/evcc/charger/alfen.go:92 +0x118

goroutine 128 [chan receive]: github.com/koron/go-ssdp.(*Advertiser).sendMain(0x40017d9180) github.com/koron/go-ssdp@v0.0.4/advertise.go:85 +0x3c github.com/koron/go-ssdp.Advertise.func1() github.com/koron/go-ssdp@v0.0.4/advertise.go:59 +0x24 created by github.com/koron/go-ssdp.Advertise in goroutine 154 github.com/koron/go-ssdp@v0.0.4/advertise.go:58 +0x1c8

goroutine 103 [chan receive]: github.com/evcc-io/evcc/tariff.(*GrünStromIndex).run(0x4000cae1e0, 0x4000ebce40) github.com/evcc-io/evcc/tariff/gruenstromindex.go:96 +0x270 created by github.com/evcc-io/evcc/tariff.NewGrünStromIndexFromConfig in goroutine 47 github.com/evcc-io/evcc/tariff/gruenstromindex.go:83 +0x1c4

goroutine 118 [IO wait]: internal/poll.runtime_pollWait(0x7f6f2be998, 0x72) runtime/netpoll.go:345 +0xa0 internal/poll.(pollDesc).wait(0x4001360280?, 0x4001362000?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x28 internal/poll.(pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(FD).Read(0x4001360280, {0x4001362000, 0x1000, 0x1000}) internal/poll/fd_unix.go:164 +0x200 net.(netFD).Read(0x4001360280, {0x4001362000?, 0x7f6ef10a30?, 0x4000a53f68?}) net/fd_posix.go:55 +0x28 net.(conn).Read(0x4000d10468, {0x4001362000?, 0x40017318d8?, 0x22dfc?}) net/net.go:179 +0x34 crypto/tls.(atLeastReader).Read(0x4000a53f68, {0x4001362000?, 0x0?, 0x4000a53f68?}) crypto/tls/conn.go:806 +0x40 bytes.(Buffer).ReadFrom(0x40013490b0, {0x3629100, 0x4000a53f68}) bytes/buffer.go:211 +0x90 crypto/tls.(Conn).readFromUntil(0x4001348e08, {0x3624020, 0x4000d10468}, 0x40017319b0?) crypto/tls/conn.go:828 +0xd0 crypto/tls.(Conn).readRecordOrCCS(0x4001348e08, 0x0) crypto/tls/conn.go:626 +0x35c crypto/tls.(Conn).readRecord(...) crypto/tls/conn.go:588 crypto/tls.(Conn).Read(0x4001348e08, {0x4001653000, 0x1000, 0x30db3c?}) crypto/tls/conn.go:1370 +0x168 bufio.(Reader).Read(0x4001673500, {0x4001470660, 0x9, 0x5f77980?}) bufio/bufio.go:241 +0x1b4 io.ReadAtLeast({0x3624240, 0x4001673500}, {0x4001470660, 0x9, 0x9}, 0x9) io/io.go:335 +0xa0 io.ReadFull(...) io/io.go:354 net/http.http2readFrameHeader({0x4001470660, 0x9, 0x4001679200?}, {0x3624240?, 0x4001673500?}) net/http/h2_bundle.go:1638 +0x58 net/http.(http2Framer).ReadFrame(0x4001470620) net/http/h2_bundle.go:1905 +0x78 net/http.(http2clientConnReadLoop).run(0x4001731f98) net/http/h2_bundle.go:9342 +0xf8 net/http.(http2ClientConn).readLoop(0x4001650000) net/http/h2_bundle.go:9237 +0x5c created by net/http.(http2Transport).newClientConn in goroutine 117 net/http/h2_bundle.go:7887 +0xa84

goroutine 150 [chan receive]: github.com/evcc-io/evcc/server.(*MQTT).Run(0x4001acfad0, {0x377e420, 0x400120fa40}, 0x4001c3db00) github.com/evcc-io/evcc/server/mqtt.go:283 +0x32c created by github.com/evcc-io/evcc/cmd.runRoot in goroutine 1 github.com/evcc-io/evcc/cmd/root.go:218 +0x1164

goroutine 127 [IO wait]: internal/poll.runtime_pollWait(0x7f6f2be6b0, 0x72) runtime/netpoll.go:345 +0xa0 internal/poll.(pollDesc).wait(0x40017d8900?, 0x22488?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x28 internal/poll.(pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(FD).RawRead(0x40017d8900, 0x400245c730) internal/poll/fd_unix.go:708 +0x130 net.(rawConn).Read(0x40000d7d38, 0x0?) net/rawconn.go:44 +0x30 golang.org/x/net/internal/socket.(Conn).recvMsg(0x4001e20180, 0x4002418660, 0x0) golang.org/x/net@v0.26.0/internal/socket/rawconn_msg.go:27 +0x138 golang.org/x/net/internal/socket.(Conn).RecvMsg(...) golang.org/x/net@v0.26.0/internal/socket/socket.go:247 golang.org/x/net/ipv4.(payloadHandler).ReadFrom(0x4001e1f320, {0x4001ce2000, 0xffff, 0xffff}) golang.org/x/net@v0.26.0/ipv4/payload_cmsg.go:31 +0x468 github.com/koron/go-ssdp/internal/multicast.(Conn).ReadPackets(0x4001e34270, 0x0, 0x400133af88) github.com/koron/go-ssdp@v0.0.4/internal/multicast/multicast.go:141 +0xac github.com/koron/go-ssdp.(*Advertiser).recvMain(0x0?) github.com/koron/go-ssdp@v0.0.4/advertise.go:72 +0x3c github.com/koron/go-ssdp.Advertise.func2() github.com/koron/go-ssdp@v0.0.4/advertise.go:64 +0x24 created by github.com/koron/go-ssdp.Advertise in goroutine 154 github.com/koron/go-ssdp@v0.0.4/advertise.go:63 +0x208

goroutine 151 [IO wait]: internal/poll.runtime_pollWait(0x7f6f2bea90, 0x72) runtime/netpoll.go:345 +0xa0 internal/poll.(pollDesc).wait(0x4001360800?, 0x22488?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x28 internal/poll.(pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(FD).RawRead(0x4001360800, 0x400253e6e0) internal/poll/fd_unix.go:708 +0x130 net.(rawConn).Read(0x4000d10cb8, 0x0?) net/rawconn.go:44 +0x30 golang.org/x/net/internal/socket.(Conn).recvMsg(0x4001d47700, 0x40022d52c0, 0x0) golang.org/x/net@v0.26.0/internal/socket/rawconn_msg.go:27 +0x138 golang.org/x/net/internal/socket.(Conn).RecvMsg(...) golang.org/x/net@v0.26.0/internal/socket/socket.go:247 golang.org/x/net/ipv4.(payloadHandler).ReadFrom(0x4001d6b550, {0x4001dde000, 0x10000, 0x10000}) golang.org/x/net@v0.26.0/ipv4/payload_cmsg.go:31 +0x468 github.com/libp2p/zeroconf/v2.(Server).recv4(0x4001d427e0, 0x4001d6b540) github.com/libp2p/zeroconf/v2@v2.2.0/server.go:275 +0xbc created by github.com/libp2p/zeroconf/v2.(*Server).start in goroutine 1 github.com/libp2p/zeroconf/v2@v2.2.0/server.go:213 +0x90

goroutine 121 [IO wait]: internal/poll.runtime_pollWait(0x7f6f2be7a8, 0x72) runtime/netpoll.go:345 +0xa0 internal/poll.(pollDesc).wait(0x4001360000?, 0x4001780000?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x28 internal/poll.(pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(FD).Read(0x4001360000, {0x4001780000, 0x1800, 0x1800}) internal/poll/fd_unix.go:164 +0x200 net.(netFD).Read(0x4001360000, {0x4001780000?, 0x7f6ee52118?, 0x4001914b40?}) net/fd_posix.go:55 +0x28 net.(conn).Read(0x40008fce70, {0x4001780000?, 0x40013378d8?, 0x22dfc?}) net/net.go:179 +0x34 crypto/tls.(atLeastReader).Read(0x4001914b40, {0x4001780000?, 0x0?, 0x4001914b40?}) crypto/tls/conn.go:806 +0x40 bytes.(Buffer).ReadFrom(0x4000de7eb0, {0x3629100, 0x4001914b40}) bytes/buffer.go:211 +0x90 crypto/tls.(Conn).readFromUntil(0x4000de7c08, {0x3624020, 0x40008fce70}, 0x40013379b0?) crypto/tls/conn.go:828 +0xd0 crypto/tls.(Conn).readRecordOrCCS(0x4000de7c08, 0x0) crypto/tls/conn.go:626 +0x35c crypto/tls.(Conn).readRecord(...) crypto/tls/conn.go:588 crypto/tls.(Conn).Read(0x4000de7c08, {0x4001791000, 0x1000, 0x30db3c?}) crypto/tls/conn.go:1370 +0x168 bufio.(Reader).Read(0x4001673620, {0x4001470740, 0x9, 0x5f77980?}) bufio/bufio.go:241 +0x1b4 io.ReadAtLeast({0x3624240, 0x4001673620}, {0x4001470740, 0x9, 0x9}, 0x9) io/io.go:335 +0xa0 io.ReadFull(...) io/io.go:354 net/http.http2readFrameHeader({0x4001470740, 0x9, 0x40016bd740?}, {0x3624240?, 0x4001673620?}) net/http/h2_bundle.go:1638 +0x58 net/http.(http2Framer).ReadFrame(0x4001470700) net/http/h2_bundle.go:1905 +0x78 net/http.(http2clientConnReadLoop).run(0x4001337f98) net/http/h2_bundle.go:9342 +0xf8 net/http.(http2ClientConn).readLoop(0x4001650300) net/http/h2_bundle.go:9237 +0x5c created by net/http.(http2Transport).newClientConn in goroutine 120 net/http/h2_bundle.go:7887 +0xa84

goroutine 152 [IO wait]: internal/poll.runtime_pollWait(0x7f6f2be8a0, 0x72) runtime/netpoll.go:345 +0xa0 internal/poll.(pollDesc).wait(0x4001360880?, 0x22488?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x28 internal/poll.(pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(FD).RawRead(0x4001360880, 0x400253e730) internal/poll/fd_unix.go:708 +0x130 net.(rawConn).Read(0x4000d10cd0, 0x0?) net/rawconn.go:44 +0x30 golang.org/x/net/internal/socket.(Conn).recvMsg(0x4001d47720, 0x40022d5380, 0x0) golang.org/x/net@v0.26.0/internal/socket/rawconn_msg.go:27 +0x138 golang.org/x/net/internal/socket.(Conn).RecvMsg(...) golang.org/x/net@v0.26.0/internal/socket/socket.go:247 golang.org/x/net/ipv6.(payloadHandler).ReadFrom(0x4001d6b5a0, {0x4001dee000, 0x10000, 0x10000}) golang.org/x/net@v0.26.0/ipv6/payload_cmsg.go:31 +0x344 github.com/libp2p/zeroconf/v2.(Server).recv6(0x4001d427e0, 0x4001d6b590) github.com/libp2p/zeroconf/v2@v2.2.0/server.go:300 +0xbc created by github.com/libp2p/zeroconf/v2.(*Server).start in goroutine 1 github.com/libp2p/zeroconf/v2@v2.2.0/server.go:217 +0x108

goroutine 907 [select]: github.com/eclipse/paho%2emqtt%2egolang.(client).startCommsWorkers.func1() github.com/eclipse/paho.mqtt.golang@v1.4.3/client.go:630 +0xf4 created by github.com/eclipse/paho%2emqtt%2egolang.(client).startCommsWorkers in goroutine 764 github.com/eclipse/paho.mqtt.golang@v1.4.3/client.go:627 +0x6fc

goroutine 232 [IO wait]: internal/poll.runtime_pollWait(0x7f6f2be3c8, 0x72) runtime/netpoll.go:345 +0xa0 internal/poll.(pollDesc).wait(0x400205c900?, 0x40017e0000?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x28 internal/poll.(pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(FD).Read(0x400205c900, {0x40017e0000, 0x1000, 0x1000}) internal/poll/fd_unix.go:164 +0x200 net.(netFD).Read(0x400205c900, {0x40017e0000?, 0x7f6f0fa540?, 0x400210b098?}) net/fd_posix.go:55 +0x28 net.(conn).Read(0x40000d60b8, {0x40017e0000?, 0x400133d8d8?, 0x22dfc?}) net/net.go:179 +0x34 crypto/tls.(atLeastReader).Read(0x400210b098, {0x40017e0000?, 0x0?, 0x266618?}) crypto/tls/conn.go:806 +0x40 bytes.(Buffer).ReadFrom(0x40017cf0b0, {0x3629100, 0x400210b098}) bytes/buffer.go:211 +0x90 crypto/tls.(Conn).readFromUntil(0x40017cee08, {0x3624020, 0x40000d60b8}, 0x400133d9b0?) crypto/tls/conn.go:828 +0xd0 crypto/tls.(Conn).readRecordOrCCS(0x40017cee08, 0x0) crypto/tls/conn.go:626 +0x35c crypto/tls.(Conn).readRecord(...) crypto/tls/conn.go:588 crypto/tls.(Conn).Read(0x40017cee08, {0x4000cf5000, 0x1000, 0x30db3c?}) crypto/tls/conn.go:1370 +0x168 bufio.(Reader).Read(0x4001dd5ce0, {0x4001470f20, 0x9, 0x5f77980?}) bufio/bufio.go:241 +0x1b4 io.ReadAtLeast({0x3624240, 0x4001dd5ce0}, {0x4001470f20, 0x9, 0x9}, 0x9) io/io.go:335 +0xa0 io.ReadFull(...) io/io.go:354 net/http.http2readFrameHeader({0x4001470f20, 0x9, 0xc2f860?}, {0x3624240?, 0x4001dd5ce0?}) net/http/h2_bundle.go:1638 +0x58 net/http.(http2Framer).ReadFrame(0x4001470ee0) net/http/h2_bundle.go:1905 +0x78 net/http.(http2clientConnReadLoop).run(0x400133df98) net/http/h2_bundle.go:9342 +0xf8 net/http.(http2ClientConn).readLoop(0x4001650180) net/http/h2_bundle.go:9237 +0x5c created by net/http.(http2Transport).newClientConn in goroutine 231 net/http/h2_bundle.go:7887 +0xa84

goroutine 154 [select]: github.com/evcc-io/evcc/hems/semp.(*SEMP).Run(0x4001361300) github.com/evcc-io/evcc/hems/semp/semp.go:146 +0x2d8 created by github.com/evcc-io/evcc/cmd.configureHEMS in goroutine 1 github.com/evcc-io/evcc/cmd/setup.go:689 +0x178

goroutine 194 [chan receive]: github.com/koron/go-ssdp.(*Advertiser).sendMain(0x40017d9600) github.com/koron/go-ssdp@v0.0.4/advertise.go:85 +0x3c github.com/koron/go-ssdp.Advertise.func1() github.com/koron/go-ssdp@v0.0.4/advertise.go:59 +0x24 created by github.com/koron/go-ssdp.Advertise in goroutine 154 github.com/koron/go-ssdp@v0.0.4/advertise.go:58 +0x1c8

goroutine 195 [IO wait]: internal/poll.runtime_pollWait(0x7f6f2be4c0, 0x72) runtime/netpoll.go:345 +0xa0 internal/poll.(pollDesc).wait(0x40017d9200?, 0x22488?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x28 internal/poll.(pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(FD).RawRead(0x40017d9200, 0x400245c780) internal/poll/fd_unix.go:708 +0x130 net.(rawConn).Read(0x40000d7d60, 0x0?) net/rawconn.go:44 +0x30 golang.org/x/net/internal/socket.(Conn).recvMsg(0x4001e20380, 0x40024186c0, 0x0) golang.org/x/net@v0.26.0/internal/socket/rawconn_msg.go:27 +0x138 golang.org/x/net/internal/socket.(Conn).RecvMsg(...) golang.org/x/net@v0.26.0/internal/socket/socket.go:247 golang.org/x/net/ipv4.(payloadHandler).ReadFrom(0x4001e1f8c0, {0x4001e3e000, 0xffff, 0xffff}) golang.org/x/net@v0.26.0/ipv4/payload_cmsg.go:31 +0x468 github.com/koron/go-ssdp/internal/multicast.(Conn).ReadPackets(0x4001e34a50, 0x0, 0x4001e28f88) github.com/koron/go-ssdp@v0.0.4/internal/multicast/multicast.go:141 +0xac github.com/koron/go-ssdp.(*Advertiser).recvMain(0x0?) github.com/koron/go-ssdp@v0.0.4/advertise.go:72 +0x3c github.com/koron/go-ssdp.Advertise.func2() github.com/koron/go-ssdp@v0.0.4/advertise.go:64 +0x24 created by github.com/koron/go-ssdp.Advertise in goroutine 154 github.com/koron/go-ssdp@v0.0.4/advertise.go:63 +0x208

goroutine 155 [chan receive]: github.com/evcc-io/evcc/push.(*Hub).Run(0x4001e8a6c0, 0x4001d42960, 0x4001100540) github.com/evcc-io/evcc/push/hub.go:100 +0x5c created by github.com/evcc-io/evcc/cmd.configureMessengers in goroutine 1 github.com/evcc-io/evcc/cmd/setup.go:783 +0x344

goroutine 156 [chan receive]: github.com/evcc-io/evcc/cmd.runRoot.func1() github.com/evcc-io/evcc/cmd/root.go:248 +0x90 created by github.com/evcc-io/evcc/cmd.runRoot in goroutine 1 github.com/evcc-io/evcc/cmd/root.go:244 +0x14d0

goroutine 157 [chan receive]: github.com/evcc-io/evcc/cmd.runRoot.func2() github.com/evcc-io/evcc/cmd/root.go:254 +0x2c created by github.com/evcc-io/evcc/cmd.runRoot in goroutine 1 github.com/evcc-io/evcc/cmd/root.go:253 +0x1520

goroutine 197 [syscall]: os/signal.signal_recv() runtime/sigqueue.go:152 +0x30 os/signal.loop() os/signal/signal_unix.go:23 +0x1c created by os/signal.Notify.func1.1 in goroutine 156 os/signal/signal.go:151 +0x28

goroutine 158 [chan receive]: github.com/evcc-io/evcc/server/updater.Run(0x4000517140, {0x0?, 0x0?}, 0x4001100540) github.com/evcc-io/evcc/server/updater/run.go:22 +0x198 created by github.com/evcc-io/evcc/cmd.runRoot in goroutine 1 github.com/evcc-io/evcc/cmd/root.go:276 +0x18b0

goroutine 200 [chan receive]: github.com/evcc-io/evcc/server/updater.(*watch).watchReleases(0x4001b2bad0, {0x3618da8, 0x7}, 0x4001b0dce0) github.com/evcc-io/evcc/server/updater/watch.go:32 +0x54 created by github.com/evcc-io/evcc/server/updater.Run in goroutine 158 github.com/evcc-io/evcc/server/updater/run.go:20 +0x12c

goroutine 174 [select]: github.com/evcc-io/evcc/core.(Site).Prepare.func2(0x1) github.com/evcc-io/evcc/core/site.go:898 +0xb4 created by github.com/evcc-io/evcc/core.(Site).Prepare in goroutine 1 github.com/evcc-io/evcc/core/site.go:896 +0x144

goroutine 178 [select]: github.com/smallnest/chanx.process[...]({0x372b1c0, 0x6051c00}, 0x4001c85e00, 0x4001c85e60, 0x4001cb9e00) github.com/smallnest/chanx@v1.2.0/unbounded_chan.go:68 +0xec created by github.com/smallnest/chanx.NewUnboundedChanSize[...] in goroutine 1 github.com/smallnest/chanx@v1.2.0/unbounded_chan.go:47 +0x1d0

goroutine 179 [chan receive]: github.com/evcc-io/evcc/core.(Site).Prepare.func1() github.com/evcc-io/evcc/core/site.go:882 +0x78 created by github.com/evcc-io/evcc/core.(Site).Prepare in goroutine 1 github.com/evcc-io/evcc/core/site.go:881 +0xd4

goroutine 181 [select]: github.com/evcc-io/evcc/core.(Site).Prepare.func2(0x0) github.com/evcc-io/evcc/core/site.go:898 +0xb4 created by github.com/evcc-io/evcc/core.(Site).Prepare in goroutine 1 github.com/evcc-io/evcc/core/site.go:896 +0x144

goroutine 905 [chan receive]: github.com/eclipse/paho%2emqtt%2egolang.(router).matchAndDispatch.func2() github.com/eclipse/paho.mqtt.golang@v1.4.3/router.go:174 +0x84 created by github.com/eclipse/paho%2emqtt%2egolang.(router).matchAndDispatch in goroutine 764 github.com/eclipse/paho.mqtt.golang@v1.4.3/router.go:173 +0x200

goroutine 914 [select]: github.com/eclipse/paho%2emqtt%2egolang.(client).startCommsWorkers.func2() github.com/eclipse/paho.mqtt.golang@v1.4.3/client.go:665 +0xa8 created by github.com/eclipse/paho%2emqtt%2egolang.(client).startCommsWorkers in goroutine 764 github.com/eclipse/paho.mqtt.golang@v1.4.3/client.go:660 +0x838

goroutine 277 [chan send]: github.com/evcc-io/evcc/core.(Site).loopLoadpoints(...) github.com/evcc-io/evcc/core/site.go:917 created by github.com/evcc-io/evcc/core.(Site).Run in goroutine 308 github.com/evcc-io/evcc/core/site.go:932 +0x178

goroutine 902 [IO wait]: internal/poll.runtime_pollWait(0x7f6f2bdfe8, 0x72) runtime/netpoll.go:345 +0xa0 internal/poll.(pollDesc).wait(0x40017d9580?, 0x4001d41451?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x28 internal/poll.(pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(FD).Read(0x40017d9580, {0x4001d41451, 0x1, 0x1}) internal/poll/fd_unix.go:164 +0x200 net.(netFD).Read(0x40017d9580, {0x4001d41451?, 0x6051c00?, 0x245e380?}) net/fd_posix.go:55 +0x28 net.(conn).Read(0x40000d6fd8, {0x4001d41451?, 0x2aa2263?, 0xa?}) net/net.go:179 +0x34 net/http.(connReader).backgroundRead(0x4001d41440) net/http/server.go:681 +0x40 created by net/http.(*connReader).startBackgroundRead in goroutine 772 net/http/server.go:677 +0xc8

goroutine 904 [select]: github.com/eclipse/paho%2emqtt%2egolang.keepalive(0x40008c4008, {0x7f6ee6a558, 0x40008fd0a0}) github.com/eclipse/paho.mqtt.golang@v1.4.3/ping.go:48 +0x194 created by github.com/eclipse/paho%2emqtt%2egolang.(*client).startCommsWorkers in goroutine 764 github.com/eclipse/paho.mqtt.golang@v1.4.3/client.go:595 +0x928

goroutine 308 [sync.RWMutex.RLock]: sync.runtime_SemacquireRWMutexR(0x5f7f110?, 0xe8?, 0x4001575ca8?) runtime/sema.go:82 +0x28 sync.(RWMutex).RLock(...) sync/rwmutex.go:70 github.com/evcc-io/evcc/core.(Site).GetTariff(0x400120fa40, {0x2a97c42, 0x7}) github.com/evcc-io/evcc/core/site_api.go:296 +0x84 github.com/evcc-io/evcc/core.(Site).plannerRate(0x253c7e0?) github.com/evcc-io/evcc/core/site_battery.go:52 +0x2c github.com/evcc-io/evcc/core.(Site).update(0x400120fa40, {0x3790af0, 0x40008d6808}) github.com/evcc-io/evcc/core/site.go:801 +0x21c github.com/evcc-io/evcc/core.(*Site).Run(0x400120fa40, 0x4001eda300, 0x2540be400) github.com/evcc-io/evcc/core/site.go:940 +0x23c github.com/evcc-io/evcc/cmd.runRoot.func4() github.com/evcc-io/evcc/cmd/root.go:288 +0x2c created by github.com/evcc-io/evcc/cmd.runRoot in goroutine 1 github.com/evcc-io/evcc/cmd/root.go:287 +0x193c

goroutine 310 [IO wait]: internal/poll.runtime_pollWait(0x7f6f2be1d8, 0x72) runtime/netpoll.go:345 +0xa0 internal/poll.(pollDesc).wait(0x14?, 0x10?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x28 internal/poll.(pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(FD).Accept(0x400050d300) internal/poll/fd_unix.go:611 +0x250 net.(netFD).accept(0x400050d300) net/fd_unix.go:172 +0x28 net.(UnixListener).accept(0x4000edce01?) net/unixsock_posix.go:172 +0x20 net.(UnixListener).Accept(0x4000ab5ec0) net/unixsock.go:260 +0x2c net/http.(*Server).Serve(0x40016540f0, {0x3723f50, 0x4000ab5ec0}) net/http/server.go:3255 +0x2a8 github.com/evcc-io/evcc/server.HealthListener.func1() github.com/evcc-io/evcc/server/uds.go:39 +0x28 created by github.com/evcc-io/evcc/server.HealthListener in goroutine 309 github.com/evcc-io/evcc/server/uds.go:39 +0x1b8

goroutine 913 [semacquire]: sync.runtime_Semacquire(0x0?) runtime/sema.go:62 +0x2c sync.(*WaitGroup).Wait(0x40023edf80) sync/waitgroup.go:116 +0x74 github.com/eclipse/paho%2emqtt%2egolang.startComms.func3() github.com/eclipse/paho.mqtt.golang@v1.4.3/net.go:438 +0x28 created by github.com/eclipse/paho%2emqtt%2egolang.startComms in goroutine 764 github.com/eclipse/paho.mqtt.golang@v1.4.3/net.go:437 +0x264

goroutine 911 [chan receive]: github.com/eclipse/paho%2emqtt%2egolang.startComms.func1() github.com/eclipse/paho.mqtt.golang@v1.4.3/net.go:407 +0x5c created by github.com/eclipse/paho%2emqtt%2egolang.startComms in goroutine 764 github.com/eclipse/paho.mqtt.golang@v1.4.3/net.go:406 +0x1b4

goroutine 912 [chan receive]: github.com/eclipse/paho%2emqtt%2egolang.startComms.func2() github.com/eclipse/paho.mqtt.golang@v1.4.3/net.go:430 +0x64 created by github.com/eclipse/paho%2emqtt%2egolang.startComms in goroutine 764 github.com/eclipse/paho.mqtt.golang@v1.4.3/net.go:429 +0x214

goroutine 909 [select]: github.com/eclipse/paho%2emqtt%2egolang.startIncomingComms.func1() github.com/eclipse/paho.mqtt.golang@v1.4.3/net.go:175 +0x134 created by github.com/eclipse/paho%2emqtt%2egolang.startIncomingComms in goroutine 764 github.com/eclipse/paho.mqtt.golang@v1.4.3/net.go:164 +0x1a4

goroutine 910 [select]: github.com/eclipse/paho%2emqtt%2egolang.startOutgoingComms.func1() github.com/eclipse/paho.mqtt.golang@v1.4.3/net.go:277 +0x164 created by github.com/eclipse/paho%2emqtt%2egolang.startOutgoingComms in goroutine 764 github.com/eclipse/paho.mqtt.golang@v1.4.3/net.go:264 +0x204

goroutine 908 [IO wait]: internal/poll.runtime_pollWait(0x7f6f0cfb40, 0x72) runtime/netpoll.go:345 +0xa0 internal/poll.(pollDesc).wait(0x4001661700?, 0x4001f80a4c?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x28 internal/poll.(pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(FD).Read(0x4001661700, {0x4001f80a4c, 0x1, 0x1}) internal/poll/fd_unix.go:164 +0x200 net.(netFD).Read(0x4001661700, {0x4001f80a4c?, 0x266c8c0?, 0x40012961c0?}) net/fd_posix.go:55 +0x28 net.(*conn).Read(0x40008fd0a0, {0x4001f80a4c?, 0x400240ef98?, 0x4000a1d808?}) net/net.go:179 +0x34 io.ReadAtLeast({0x3624020, 0x40008fd0a0}, {0x4001f80a4c, 0x1, 0x1}, 0x1) io/io.go:335 +0xa0 io.ReadFull(...) io/io.go:354 github.com/eclipse/paho.mqtt.golang/packets.ReadPacket({0x3624020, 0x40008fd0a0}) github.com/eclipse/paho.mqtt.golang@v1.4.3/packets/packets.go:131 +0x5c github.com/eclipse/paho%2emqtt%2egolang.startIncoming.func1() github.com/eclipse/paho.mqtt.golang@v1.4.3/net.go:124 +0xdc created by github.com/eclipse/paho%2emqtt%2egolang.startIncoming in goroutine 764 github.com/eclipse/paho.mqtt.golang@v1.4.3/net.go:122 +0x140

goroutine 831 [runnable]: net/http.(connReader).startBackgroundRead.gowrap2() net/http/server.go:677 runtime.goexit({}) runtime/asm_arm64.s:1222 +0x4 created by net/http.(connReader).startBackgroundRead in goroutine 830 net/http/server.go:677 +0xc8

goroutine 772 [sync.Mutex.Lock]: sync.runtime_SemacquireMutex(0x4000a530e0?, 0xf0?, 0x1?) runtime/sema.go:77 +0x28 sync.(Mutex).lockSlow(0x400120fa58) sync/mutex.go:171 +0x174 sync.(Mutex).Lock(...) sync/mutex.go:90 sync.(RWMutex).Lock(0x400120fa58) sync/rwmutex.go:146 +0x70 github.com/evcc-io/evcc/core.(Site).SetBatteryMode(0x400120fa40, 0x1) github.com/evcc-io/evcc/core/site_battery.go:24 +0x40 github.com/evcc-io/evcc/core.(Site).applyBatteryMode(0x400120fa40, 0x1) github.com/evcc-io/evcc/core/site_battery.go:46 +0x98 github.com/evcc-io/evcc/core.(Site).SetBatteryDischargeControl(0x400120fa40, 0x0) github.com/evcc-io/evcc/core/site_api.go:347 +0xfc github.com/evcc-io/evcc/server.(HTTPd).RegisterSiteHandlers.boolHandler.handler[...].func30(0x4002187d01) github.com/evcc-io/evcc/server/http_site_handler.go:117 +0x94 net/http.HandlerFunc.ServeHTTP(0x276bae0?, {0x3728720?, 0x40023d7620?}, 0x1b?) net/http/server.go:2166 +0x38 github.com/gorilla/handlers.(cors).ServeHTTP(0x40006c1170, {0x3728720, 0x40023d7620}, 0x4000ce26c0) github.com/gorilla/handlers@v1.5.2/cors.go:136 +0x5bc github.com/gorilla/handlers.CompressHandler.CompressHandlerLevel.func1({0x3724340, 0x40000e3c00}, 0x4000ce26c0) github.com/gorilla/handlers@v1.5.2/compress.go:141 +0x4e8 net/http.HandlerFunc.ServeHTTP(0x276bae0?, {0x3724340?, 0x40000e3c00?}, 0xc?) net/http/server.go:2166 +0x38 github.com/evcc-io/evcc/server.jsonHandler.func1({0x3724340, 0x40000e3c00}, 0x4000ce26c0) github.com/evcc-io/evcc/server/http_site_handler.go:73 +0xf0 net/http.HandlerFunc.ServeHTTP(0x4000ce2480?, {0x3724340?, 0x40000e3c00?}, 0x22488?) net/http/server.go:2166 +0x38 github.com/gorilla/mux.(Router).ServeHTTP(0x400081c000, {0x3724340, 0x40000e3c00}, 0x4000ce2000) github.com/gorilla/mux@v1.8.1/mux.go:212 +0x194 net/http.serverHandler.ServeHTTP({0x4001d41440?}, {0x3724340?, 0x40000e3c00?}, 0x6?) net/http/server.go:3137 +0xbc net/http.(conn).serve(0x4001e69440, {0x372b830, 0x4000ab5cb0}) net/http/server.go:2039 +0x508 created by net/http.(*Server).Serve in goroutine 1 net/http/server.go:3285 +0x3f0

andig commented 4 months ago

Kannst du die goroutines als Datei anhängen?

Tombra1889 commented 4 months ago

goroutine.txt Musste nochmal eine neue erstellen, hatte den Service schon neugestartet.

andig commented 4 months ago

Sieht aus wie Deadlock in SetBatteryDischargeControl. Ich schaus an, danke! Dachte egtl, der wäre gelöst.

andig commented 4 months ago

SetBatteryDischargeControl aquires lock, calls applyBatteryMode calls SetBatteryMode which wants to aquire lock. Bamm.