Greetings,
when the TsgcWebSocketHTTPServer component raises an exception during the "active := true" transaction, if it fails, the TIdCustomTCPServer shutdown procedure raises an exception if Scheduler is nil.
I temporarily solved it by modifying the code as follows (line 971 of sgcIdCustomTCPServer.pas):
if Assigned(Scheduler) and (Scheduler.ClassName = 'TsgcIdSchedulerOfIO') then
DoStopListening_IO
else
// tear down listening threads
StopListening;
Best regards