Jump to content
The simFlight Network Forums

Wideclient occassionally quits


Recommended Posts

Hey FSUIPC team & users,

I use FSUIPC since the 3.x times with FSX. Today I have a nice, smoothly running home cockpit setup with 2 x i7 PCs with Win10 x64, one runs P3D V5,

the other runs cockpit stuff with Wideclient. Since using FSUICP 6.0.8 , I have a strange phenomena: Wideclient occasionally quits without any notice, error message or other usefull info.

The FSUIPC server log as well as the wideclient log have no special entry other than the normal logs.

I see no relation to any specific action or situation that might force this. Also the software modules I run on the cockpit machine have not been changed specifically for months. 
Network connection is stable and inconspicuous.
It occurs sometimes after 15 min, sometimes after 1hour flying and rolling to the gate - the FSUIPC data transfer stops, and in task manager wideclient.exe simply has gone .. 

Anybody some hints were to look at ?

Thanks all, 

and to Pete and John : a wonderful great product , hope it continuous its life !

 

 

Link to comment
Share on other sites

4 minutes ago, StefanGA said:

Since using FSUICP 6.0.8 

You should update to 6.0.10.

5 minutes ago, StefanGA said:

Anybody some hints were to look at ?

Can you take a look in the 'Event Viewer' (a standard Microsoft utility, should be installed)). Look under Windows Logs -> Applications, and see if there is an error report there for WideClient. If so, please post the details.

Thanks,

John 

Link to comment
Share on other sites

John, indeed  event entries of Wideclient :

 WideClient.exe 
   7.1.5.6 
   5c52c65a 
   ntdll.dll 
   10.0.19041.207 
   1bdbc4b8 
   c0000005 
   00048976 
   e54 
   01d66fc3586b7422 
   E:\WideClient\WideClient.exe 
   C:\Windows\SYSTEM32\ntdll.dll 
   cff7ce4e-9d83-4f9d-82fe-b8aeca3f55e3 

 

Link to comment
Share on other sites

11 minutes ago, StefanGA said:

WideClient.exe 
   7.1.5.6 
   5c52c65a 
   ntdll.dll 

There is an update to 7.157 which fixes a problem which could conceivably cause a crash if ipc.Get's and ipc.set's are used a lot to transfer data between clients.

The problem with a crash in NTDLL is that it could be almost anything. That Windows module is a collection of many of the little functions used by most programs.

Before we go further, assuming it still occurs with 7.157,  we need to see your WideClient.INI and WideClient.Log for each PC (after each crashes). Also, if you have any Lua plug-ins on the Clients, list those, and finally, whether you have joystick devices on the client with buttons/switches assigned in FSUIPC.

Pete

 

Link to comment
Share on other sites

Hi Pete,

 

I don't use Lua specifically. You see the Joysticks used in the log, but they are all connected to the main P3D machine.

Here are the logs:

 

********* FSUIPC6, Version 6.0.10 (19th July 2020) by Pete & John Dowson *********
Prepar3d.exe version = 5.0.31.35253
Running inside Prepar3D v5
Module base=7FFE90120000
Windows 10 Pro 64 Bit reported as Build 18362, Release ID: 1903 (OS 10.0)
Reading options from "E:\P3D Add-ons\FSUIPC6\FSUIPC6.ini"
Checking the Registrations now ...
User Name= ; 
User Addr= ;
FSUIPC6 Key is provided
WideFS7 Key is provided
        0 System time = 11/08/2020 11:40:04
        0 FLT UNC path = "\\STUDIO-PC\Windows10\Users\Verwaltung\Documents\Prepar3D v5 Files\"
        0 Using DialogMode
       32 FS UNC path = "\\STUDIO-PC\FlightSim\Prepar3D V5\"
       94 ---------------------- Joystick Device Scan -----------------------
       94 Product= Saitek Pro Flight Rudder Pedals
       94    Manufacturer= Saitek
       94    Vendor=06A3, Product=0763 (Version 1.0)
       94    GUIDs returned for product: VID_06A3&PID_0763:
       94       GUID= {502E2420-5143-11E8-8001-444553540000}
       94       Details: Btns=0, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R511,U0,V0,X127,Y127,Z0
       94 Product= T.16000M
       94    Manufacturer= Thrustmaster
       94    Vendor=044F, Product=B10A (Version 5.0)
       94    GUIDs returned for product: VID_044F&PID_B10A:
       94       GUID= {604D54F0-1828-11E9-8001-444553540000}
       94       Details: Btns=16, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R255,U0,V0,X16383,Y16383,Z255
      110 Product= Saitek Pro Flight Quadrant
      110    Manufacturer= Saitek
      110    Vendor=06A3, Product=0C2D (Version 2.0)
      110    GUIDs returned for product: VID_06A3&PID_0C2D:
      110       GUID= {502E2420-5143-11E8-8002-444553540000}
      110       Details: Btns=9, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R0,U0,V0,X255,Y255,Z255
      110 Product= Saitek Pro Flight Yoke
      110    Manufacturer= Saitek
      110    Vendor=06A3, Product=0BAC (Version 3.0)
      110    GUIDs returned for product: VID_06A3&PID_0BAC:
      110       GUID= {502E2420-5143-11E8-8003-444553540000}
      110       Details: Btns=23, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R0,U128,V-268435327,X1023,Y1023,Z128
      110 -------------------------------------------------------------------
      110 Device acquired for use:
      110    Joystick ID = 2 (Registry okay)
      110    2=Saitek Pro Flight Rudder Pedals
      110    2.GUID={502E2420-5143-11E8-8001-444553540000}
      110 Device acquired for use:
      110    Joystick ID = 0 (Registry okay)
      110    0=T.16000M
      110    0.GUID={604D54F0-1828-11E9-8001-444553540000}
      110 Device acquired for use:
      110    Joystick ID = 1 (Registry okay)
      110    1=Saitek Pro Flight Quadrant
      110    1.GUID={502E2420-5143-11E8-8002-444553540000}
      110 Device acquired for use:
      110    Joystick ID = 3 (Registry okay)
      110    3=Saitek Pro Flight Yoke
      110    3.GUID={502E2420-5143-11E8-8003-444553540000}
      110 -------------------------------------------------------------------
      141 Controllers are set to ON, using RawInput within P3D
      141 LogOptions=00000000 00000001
      141 -------------------------------------------------------------------
      141 SimConnect_Open succeeded: waiting to check version okay
      141 Opened separate AI Traffic client okay
     1454 Running in "Lockheed Martin® Prepar3D® v5", Version: 5.0.31.35253 (SimConnect: 5.0.0.0)
     1454 Initialising SimConnect data requests now
     1454 FSUIPC Menu entry added
     1454 ... Using Prepar3D with Academic License
     1454 \\Studio-PC\Windows10\Users\Verwaltung\Documents\Prepar3D v5 Files\FsFlightDeck.fxml
     1454 \\STUDIO-PC\FlightSim\P3D Add-ons\01 My A320\SimObjects\Airplanes\Airbus A320-214\A320.air
     1469 ### The user object is 'A320 SAS'
     1469 ### Mode is NORMAL
     1797 ### Mode: PAUSE on
     6407 --------------------------------------------------------------------
     6407 ***** HID USB device reconnected: re-initialising FSUIPC connections
     6407 HID: Vendor=046D, Product=C534 (Version 41.1)
     6407 Manufacturer= Logitech
     6407 Product= USB Receiver
     6407 Serial Number= USB Receiver
     6407 ---------------------- Joystick Device Scan -----------------------
     6407 Product= Saitek Pro Flight Rudder Pedals
     6407    Manufacturer= Saitek
     6407    Vendor=06A3, Product=0763 (Version 1.0)
     6407    GUIDs returned for product: VID_06A3&PID_0763:
     6407       GUID= {502E2420-5143-11E8-8001-444553540000}
     6407       Details: Btns=0, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R511,U0,V0,X127,Y127,Z0
     6407 Product= T.16000M
     6407    Manufacturer= Thrustmaster
     6407    Vendor=044F, Product=B10A (Version 5.0)
     6407    GUIDs returned for product: VID_044F&PID_B10A:
     6407       GUID= {604D54F0-1828-11E9-8001-444553540000}
     6407       Details: Btns=16, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R255,U0,V0,X16383,Y16383,Z255
     6407 Product= Saitek Pro Flight Quadrant
     6407    Manufacturer= Saitek
     6407    Vendor=06A3, Product=0C2D (Version 2.0)
     6407    GUIDs returned for product: VID_06A3&PID_0C2D:
     6407       GUID= {502E2420-5143-11E8-8002-444553540000}
     6407       Details: Btns=9, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R0,U0,V0,X255,Y255,Z255
     6407 Product= Saitek Pro Flight Yoke
     6407    Manufacturer= Saitek
     6407    Vendor=06A3, Product=0BAC (Version 3.0)
     6407    GUIDs returned for product: VID_06A3&PID_0BAC:
     6407       GUID= {502E2420-5143-11E8-8003-444553540000}
     6407       Details: Btns=23, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R0,U128,V-268435327,X1023,Y1023,Z128
     6407 -------------------------------------------------------------------
     6422 Device acquired for use:
     6422    Joystick ID = 2 (Registry okay)
     6422    2=Saitek Pro Flight Rudder Pedals
     6422    2.GUID={502E2420-5143-11E8-8001-444553540000}
     6422 Device acquired for use:
     6422    Joystick ID = 0 (Registry okay)
     6422    0=T.16000M
     6422    0.GUID={604D54F0-1828-11E9-8001-444553540000}
     6422 Device acquired for use:
     6422    Joystick ID = 1 (Registry okay)
     6422    1=Saitek Pro Flight Quadrant
     6422    1.GUID={502E2420-5143-11E8-8002-444553540000}
     6422 Device acquired for use:
     6422    Joystick ID = 3 (Registry okay)
     6422    3=Saitek Pro Flight Yoke
     6422    3.GUID={502E2420-5143-11E8-8003-444553540000}
     6422 -------------------------------------------------------------------
    19610 Loading Complete ...
    19625 ### Mode is NORMAL
    19860 Aircraft loaded: running normally now ...
    19875 User Aircraft ID 1 supplied, now being used
    20532 System time = 11/08/2020 11:40:24, Simulator time = 11:40:06 (09:40Z)
    20547 Aircraft="A320 SAS"
    26532 -------------------- Starting everything now ----------------------
    26532 Starting WideServer now ...
    26547 ASN active function link set
    26547 Ready for ActiveSky WX radar with additional data
    26547 Note: 200 bytes memory used WXradar bitmap
    27641 Advanced Weather Interface Enabled
    29672 Weather Mode now = Theme
    65563 Note: 80000 bytes memory used WXradar bitmap
  1052719 --------------------------------------------------------------------
  1052719 ***** HID USB device reconnected: re-initialising FSUIPC connections
  1052719 HID: Vendor=046D, Product=C534 (Version 41.1)
  1052719 Manufacturer= Logitech
  1052719 Product= USB Receiver
  1052719 Serial Number= USB Receiver
  1052719 ---------------------- Joystick Device Scan -----------------------
  1052719 Product= Saitek Pro Flight Rudder Pedals
  1052719    Manufacturer= Saitek
  1052719    Vendor=06A3, Product=0763 (Version 1.0)
  1052719    GUIDs returned for product: VID_06A3&PID_0763:
  1052719       GUID= {502E2420-5143-11E8-8001-444553540000}
  1052719       Details: Btns=0, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R511,U0,V0,X127,Y127,Z0
  1052719 Product= T.16000M
  1052719    Manufacturer= Thrustmaster
  1052719    Vendor=044F, Product=B10A (Version 5.0)
  1052719    GUIDs returned for product: VID_044F&PID_B10A:
  1052719       GUID= {604D54F0-1828-11E9-8001-444553540000}
  1052719       Details: Btns=16, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R255,U0,V0,X16383,Y16383,Z255
  1052719 Product= Saitek Pro Flight Quadrant
  1052719    Manufacturer= Saitek
  1052719    Vendor=06A3, Product=0C2D (Version 2.0)
  1052719    GUIDs returned for product: VID_06A3&PID_0C2D:
  1052719       GUID= {502E2420-5143-11E8-8002-444553540000}
  1052719       Details: Btns=9, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R0,U0,V0,X255,Y255,Z255
  1052735 Product= Saitek Pro Flight Yoke
  1052735    Manufacturer= Saitek
  1052735    Vendor=06A3, Product=0BAC (Version 3.0)
  1052735    GUIDs returned for product: VID_06A3&PID_0BAC:
  1052735       GUID= {502E2420-5143-11E8-8003-444553540000}
  1052735       Details: Btns=23, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R0,U128,V-268435327,X1023,Y1023,Z128
  1052735 -------------------------------------------------------------------
  1052735 Device acquired for use:
  1052735    Joystick ID = 2 (Registry okay)
  1052735    2=Saitek Pro Flight Rudder Pedals
  1052735    2.GUID={502E2420-5143-11E8-8001-444553540000}
  1052735 Device acquired for use:
  1052735    Joystick ID = 0 (Registry okay)
  1052735    0=T.16000M
  1052735    0.GUID={604D54F0-1828-11E9-8001-444553540000}
  1052735 Device acquired for use:
  1052735    Joystick ID = 1 (Registry okay)
  1052735    1=Saitek Pro Flight Quadrant
  1052735    1.GUID={502E2420-5143-11E8-8002-444553540000}
  1052735 Device acquired for use:
  1052735    Joystick ID = 3 (Registry okay)
  1052735    3=Saitek Pro Flight Yoke
  1052735    3.GUID={502E2420-5143-11E8-8003-444553540000}
  1052735 -------------------------------------------------------------------
  5777813 === Closing session: waiting for DLLStop to be called ...
  5778688 Sim stopped: average frame rate for last 5758 secs = 60.2 fps
  5778688    Max AI traffic was 61 aircraft
  5778688 -------------------------------------------------------------------
 

 

********* WideClient Log [version 7.156] Class=FS98MAIN *********
Date (dmy): 11/08/20, Time 11:39:45.349: Client name is FLIGHTDECK
     3532 Attempting to connect now
     3532 Trying TCP/IP addr 192.168.1.10, port 8002 ...
     3563 LUA: "E:\WideClient\Initial.LUA": not found
     5016 New Client Application: "FsATG" (Id=1720)
     5422 New Client Application: "FD_Sounds" (Id=10480)
     5610 Error on client pre-Connection Select() [Error=10061] Connection refused
     5610 Ready to try connection again
     6641 Attempting to connect now
    21922 New Client Application: "FlightDeck320" (Id=7212)
    60969 Connection made okay!
   282110 New Client Application: "FSATG" (Id=5492)
   287516 New Client Application: "FD_PUSHBACKEDITOR" (Id=1444)

 

BR Stefan

Link to comment
Share on other sites

We didn't need the FSUIPC log. If anything the WideServer log would be the one relating to WideFS.

You give only one client log. Please confirm that there are no lua files in the WideClient folder.

I see there are quite a few applications being loaded:

5016 New Client Application: "FsATG" (Id=1720)
5422 New Client Application: "FD_Sounds" (Id=10480)
21922 New Client Application: "FlightDeck320" (Id=7212)
282110 New Client Application: "FSATG" (Id=5492)
287516 New Client Application: "FD_PUSHBACKEDITOR" (Id=1444)

Is it possible for you to run with less of these? Or even one at a time? I'm trying to see which might be causing WideClient to crash. I know it shouldn't happen, but perhaps one of them is writing some values to an FSUIPC offset which Wideclient chokes on. Once we can narrow it down I can tell you how to enable logging so we can find out exactly which. To do this logging without first narrowing it down a bit would produce far to much to wade through i fear.

Pete

 

Link to comment
Share on other sites

Pete, I see. All of these apps on the wideclient side are self-developped Win32 apps, so I have full control.

What I could prepare  is a list of all Offsets / Offset ranges that these apps read and write to, will take a bit of time.
Thanks for your effort !
 

Stefan

Link to comment
Share on other sites

4 hours ago, StefanGA said:

What I could prepare  is a list of all Offsets / Offset ranges that these apps read and write to, will take a bit of time.

Well, it might be easier to eliminate each of them, one at a time -- or maybe by halves. after all, in the end i have to get the logging operating for those offsets to see which causes the crash (assuming it is due to one of the values being written).

Another way of tackling it would be to log them all in any case and see if there's any consistency over the last thing written before the crash.  It's just that the log could get very large. To make this happen please set

Log=Yes

(replacing Log=Errors+ probably)
in the [User] section of WideClient.INI.

There are much more detailed logging options which we'd use if that proves futile -- Log=All, and Log=DebugAll. One of these methods should show us what is causing the problem.

Pete

 

 

Link to comment
Share on other sites

Pete, I ran a session with Log=DebugAll, and had the quit after appx. 20min.
The log file is about 4GB - the last entries show :

2172703 Exiting ProcessRequestData <M13:L1:C1:H311>
  2172703 FreeSlot releases pView <M13:L1:C1:H311>
  2172703 FreeSlot releases hMap <M13:L1:C1:H310>
  2172703 ProcessRequest: Exit <M13:L1:C1:H310>
  2172703 FS6IPC message Exit2 <M13:L1:C1:H310>

  2172703 FS6IPC message Entry <M13:L1:C1:H310>
  2172703 Processing request now ... <M13:L1:C1:H310>
  2172703 ProcessRequest: Getting Atom Name <M13:L1:C1:H310>
  2172703 ProcessRequest: Opening File Mapping <M13:L1:C1:H310>
  2172703 ProcessRequest: Getting a View <M13:L1:C1:H311>
  2172703 ProcessRequest: processing the request <M13:L1:C1:H311>
  2172703 Exiting ProcessRequestData <M13:L1:C1:H311>
  2172703 ProcessRequest: dealing with response <M13:L1:C1:H311>
  2172703 MakeSmaller: Orig Size = 7758 <M13:L1:C1:H311>
  2172703 FS6IPC Data Processed <M13:L1:C1:H311>
          PREQ ulSize=7747, ulTime=2172703, uSum=2035, fUsed=1
          01 00 00 00 80 E0 00 00 00 0F 00 00 C8 D7 B0 00   ................
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................

   (330 lines of Zero following to the end).

Does this help or do you need other outputs / infos ?

Stefan

Link to comment
Share on other sites

25 minutes ago, StefanGA said:

2172703 FS6IPC Data Processed <M13:L1:C1:H311>
          PREQ ulSize=7747, ulTime=2172703, uSum=2035, fUsed=1
          01 00 00 00 80 E0 00 00 00 0F 00 00 C8 D7 B0 00   ................
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................

   (330 lines of Zero following to the end).

Does this help or do you need other outputs / infos ?

It looks like it crashed whilst reading the complete ground and air traffic data in one go. Does one of your programs do that?

It's a long time since I delved into the nitty-gritty of WideFS, so it might take me a while to work out what is happening. But there are two more steps you could do, please, to narrow it down more conclusively (after all this is only one crash and it might just be coincidental that it is doing this particular thing).

First do the same sort of test but with Log=Yes instead of DebugAll.

Second, see if the crash still happens if you don't run the program which is reading traffic.

Pete

 

Link to comment
Share on other sites

  • 2 weeks later...

Hi Pete,

after some days of absence I had a chance to experience the original issue again tonight.
(I saw another thread in the meantime experiencing a similar issue).
I also got the feeling that I could "provoke" the termination of WC by changing views in P3D, eg from VC to Spot view and vice versa.

(stripped Log /final lines /  is attached)

As you already mentioned,  the issue might correlate with reading the AI tables:
My app reads the full ground AI and airborne AI tables in one FSUIPC_Process() call each 250ms.
When I deactivate this part of code and the related functions, I can not reproduce the termination of WC.

Hope this helps -
BR Stefan



 

WideClient_Quit.log

Link to comment
Share on other sites

48 minutes ago, StefanGA said:

My app reads the full ground AI and airborne AI tables in one FSUIPC_Process() call each 250ms.

My TrafficLook program reads akk the traffic stuff, but not both Ground and Airborne tables together, and certainly not that frequently -- for like 500 or 1000 msecs. However, the actual transfer on the Network is only ever the changes, not the whole table each time -- though if there's a lot of traffic and it is all moving I suppose that could be most. And if it is broken up there are the overheads of length and offset needed for each section, each byte or continuous sequences, containing changes.

What is transferring the whole data each time is the interface between WideClient and your program. The offset map is maintained in the client and updated by messages over the network.

Looking at the Log one thing puzzles me.  The last part, the entries timed 300422, show a lot of separate transactions ("Process Message") all within one millisecond or so.  Certainly a lot lot more than in the earlier times. What might be happening there?  Is this all from one client application? It seems to be doing many separate Process requests rather than the usual once-per-cycle.

I'll look to see if I can test the reading of a large wodge of data at least 4 times per second. That should be easy enough with FSInterrogate. But to do it with many separate process requests will take a bit longer. I'll have to knock up a small test program.

Pete

 

Link to comment
Share on other sites

>> The last part, the entries timed 300422, show a lot of separate transactions ("Process Message") all within one millisecond or so.  Certainly a lot lot more than in the earlier times. What >> might be happening there?
Not sure. 

I run a 2-PC setup. The second runs a "A320 Cockpit suite" with several apps, some self-developped among them using FSUIPC.
These are configured to access FSUIPC in cycles not faster appx 50ms, but they of course run independantly towards WideClient.
The main app uses the AI table access to just trigger some sound effects outside of P3D.
Not a big deal to reduce the access cycle time if that causes interference in WC, but is this the problem .. ?

Thank you,
Stefan

 

Link to comment
Share on other sites

24 minutes ago, StefanGA said:

but is this the problem .. ?

Sorry, I've no idea what the problem is, yet. I need to try to reproduce it here. At present I don't even know how to narrow it down using some extra logging.

This could take a while. I might need to make several different test programs. Bearing in mind that WideClient has now been going since 1998 (for FS98) and has barely changed in all that time -- additions of new facilities, but mechanism, interaction with applications and with FSUIPC/WideServer, is all original stuff. It does seem to be some slight incompatibility with a Windows change, but tying that down will be a long job. AND there's all the work involved now with MSFS's release.

Pete

 

Link to comment
Share on other sites

Hi,

Quote

The main app uses the AI table access to just trigger some sound effects outside of P3D.

I remember in the B737 SIM here I had the problem on the Systems PC that WideClient crashed always 1 or 2 minutes after starting. This was in relation to DirectX where the System program has axes and sound control. The way that solved that problem was by using a Starter program that starts the System program first and 35 seconds later the WideClient. The WideClient then starts other programs and closes them when receiving the close flag. The Starter program starts automatic when Windows starts.

This line, I think I sent earlier already, should have solved that problem with the DirectX problem but I 'think' it didn't 100%. And so I kept the start sequence, that works now since ish 10 years with that PC and software.

ButtonScanInterval=0

Thomas

Link to comment
Share on other sites

  • 3 weeks later...

Pete, John & all interested,

after some time of headache, testing and further development I can report that the root cause of the occasional quits is not an FSUIPC issue.

It turned out that I had another thread running in parallel to the main thread doing FSUIPC Writes and Process(), and the calls have not been properly mutexed.
After fixing I have now appx. 8+ hours without a quit anymore.

Thanks for your support !

Best regards

Stefan

 

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.