vscode-abl / vscode-abl

MIT License
24 stars 5 forks source link

Builders dying on compile statement with SYSTEM ERROR: I/O error 0 in readit, ret 0, #189

Closed cverbiest closed 1 week ago

cverbiest commented 2 months ago

During the previous start of the Language server 3 out of 10 builders died with the similar error, but on different files it's either error 2 on file 37 or error 0 on file 36.

builders 1, 4 and 7 died with the errors below,

probably same issue as described here https://community-archive.progress.com/forums/00019/59721.html

I'll try to create a reproducable and log a bug with progress.

Maybe vscode-abl could detect this condition and restart that builder.

[24/09/07@15:45:17.677+0200] P-010624 T-046964 1 4GL -- (Procedure: 'compile c:\domain\workspaces\develop\.builder\ls\thread.p' Line:324) SYSTEM ERROR: I/O error 2 in readit, ret 0, file 37(gui\be\domain\common\ccetools\CustomInitialValues\CcecustinitDatasetModel_Generated.r), addr 0. (290) 

[24/09/07@15:45:29.848+0200] P-036776 T-049600 1 4GL -- (Procedure: 'compile c:\domain\workspaces\develop\.builder\ls\thread.p' Line:324) SYSTEM ERROR: I/O error 2 in readit, ret 0, file 37(gui\be\domain\common\ccetools\Favorite\FavoriteDatasetModel.r), addr 0. (290) 

[24/09/07@15:45:31.824+0200] P-010068 T-015984 1 4GL -- (Procedure: 'compile c:\domain\workspaces\develop\.builder\ls\thread.p' Line:324) SYSTEM ERROR: I/O error 0 in readit, ret 0, file 36(gui\be\domain\common\ccetools\FieldTypeFormat\FIELD-TYPE-FORMATTableModel_Generated.r), addr 0. (290) 

procore

09/07/24 15:45:01  [22716]
Progress Recent Message(s):
   (2886) (2886) (2886) (2886) (2886) (2886) (2886)
Warning: object file gui\be\domain\ccetools\winkit\EmbeddedWindowTabFolderFormDesigner.r found before source be\domain\ccetools\winkit\EmbeddedWindowTabFolderFormDesigner.cls. (2886)
Warning: object file gui\be\domain\ccetools\logging\IFileLogger.r found before source be\domain\ccetools\logging\IFileLogger.cls. (2886)
Warning: object file gui\be\domain\ccetools\LegacyTools\ListUSER-SETUP_Generated.r found before source be\domain\ccetools\LegacyTools\ListUSER-SETUP_Generated.cls. (2886)
Warning: object file gui\be\domain\ccetools\LegacyTools\ListSETUP_Generated.r found before source be\domain\ccetools\LegacyTools\ListSETUP_Generated.cls. (2886)
Warning: object file gui\be\domain\ccetools\LegacyTools\ListAPPL_Generated.r found before source be\domain\ccetools\LegacyTools\ListAPPL_Generated.cls. (2886)
Warning: object file gui\be\domain\ccetools\CefBrowser\IWebBrowserUrlHandler.r found before source be\domain\ccetools\CefBrowser\IWebBrowserUrlHandler.cls. (2886)
Warning: object file gui\be\domain\ccetools\base\ISerializable.r found before source be\domain\ccetools\base\ISerializable.cls. (2886)

  *** ABL Call Stack ***
Last action: COMPILE        (48)
324: compile c:\domain\workspaces\develop\.builder\ls\thread.p (c:\domain\workspaces\develop\.builder\ls\thread.p)
302: executeCmd c:\domain\workspaces\develop\.builder\ls\thread.p (c:\domain\workspaces\develop\.builder\ls\thread.p)
247: handleCommand c:\domain\workspaces\develop\.builder\ls\thread.p (c:\domain\workspaces\develop\.builder\ls\thread.p)
155: c:\domain\workspaces\develop\.builder\ls\thread.p (c:\domain\workspaces\develop\.builder\ls\thread.p)

line 324

compile value(entry(1, ipPrm, ';')) save into value(entry(2, ipPrm, ';')) xref value(entry(3, ipPrm, ';')).
lievendf commented 2 months ago

Seen the same error once now. SYSTEM ERROR: I/O error 2 in readit, ret 0, file 16(<path_to_r_file>), addr 0. (290)

gquerret commented 2 months ago

It could be possible to restart crashed AVM, I'll investigate that.

lievendf commented 1 month ago

It could be possible to restart crashed AVM, I'll investigate that.

Yes, just had 3 builders crash and it would be nice if these came back up.

image

Most of the times the crashes happen I see the following in stdout.log, right before the SYSTEM-ERROR: Warning: object file <somefile>.r found before source <somefile>.cls. (2886) So probably 2 sessions are trying to access the same file at the same time...

gquerret commented 1 month ago

Do you have protrace / procore files ?

gquerret commented 1 week ago

ABL sessions will now be restarted if the LS is still alive, except in the following cases:

gquerret commented 1 week ago

Included in 1.13.9