Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible bug in Libco dependency effecting DOSBox-core #43

Closed
s-ac opened this issue Apr 5, 2022 · 7 comments
Closed

Possible bug in Libco dependency effecting DOSBox-core #43

s-ac opened this issue Apr 5, 2022 · 7 comments

Comments

@s-ac
Copy link

s-ac commented Apr 5, 2022

There was recently a bug report I noticed via SCUMMVM that seems to effect DOSBox-core as well. It pertains to an error in the Libco dependency that causes errors/crashes on Windows x64.

The original bug report is here:
libretro/libretro-super#1643

The author mentions that the old (and now deprecated) DOSBox core is effected and specifically links to it. They are probably unaware that core is no longer maintained. I checked the libco/amd64.c file used in the current DOSBox-core sources, however, and it seems to be effected as well in lines 62-71, as the original report mentions. The erroneous x28 instructions are there instead of x29.

I thought I should bring it to attention here so it can be investigated further.

@s-ac
Copy link
Author

s-ac commented Apr 5, 2022

Actually, I think I read this incorrectly. The x28 are the correct instruction and the x29 are erroneous. So, it looks like we are good after all and are using the fixed Libco version. Apologies.

@s-ac s-ac closed this as completed Apr 5, 2022
@realnc
Copy link
Owner

realnc commented Apr 5, 2022

dosbox-core does not use libco :-)

@s-ac
Copy link
Author

s-ac commented Apr 5, 2022

Haha, ok my mistake is compounded then. Another rookie mistake.

If you don't mind answering a question for my better understanding of how DOSBox-core is put together, what is the purpose of the /libretro/deps/common/libco sources? They aren't actually utilized in DOSBox-core?

@realnc
Copy link
Owner

realnc commented Apr 5, 2022

If you don't mind answering a question for my better understanding of how DOSBox-core is put together, what is the purpose of the /libretro/deps/common/libco sources? They aren't actually utilized in DOSBox-core?

deps/common is a git subrepo (https://github.com/ingydotnet/git-subrepo) of https://github.com/libretro/libretro-common. This makes it convenient to pull updates from libretro-common into dosbox-core. libretro-common contains many things, including libco, but only a small fraction of it is actually used.

@s-ac
Copy link
Author

s-ac commented Apr 5, 2022

OK, thanks. I think I understand better now. I'm just starting to stick my toes into github and have so much to learn.

@snaphat
Copy link

snaphat commented Apr 5, 2022

The author mentions that the old (and now deprecated) DOSBox core is effected and specifically links to it. They are probably unaware that core is no longer maintained.

I was aware, I listed every repo for posterity as they get cloned (maintained or not) with libretro-super automatically, and it is possible that the bug could propagate if the offending repo code is taken from it unknowingly at some point

@realnc
Copy link
Owner

realnc commented Apr 6, 2022

Btw, this is dosbox-core, NOT https://github.com/libretro/dosbox-libretro.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants