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

Counter Strike Source 18.2.2025 Update broke Source.Python #504

Open
srpg opened this issue Feb 18, 2025 · 14 comments
Open

Counter Strike Source 18.2.2025 Update broke Source.Python #504

srpg opened this issue Feb 18, 2025 · 14 comments

Comments

@srpg
Copy link
Contributor

srpg commented Feb 18, 2025

Hi, after todays update of css, sp is no longer working

Here is the error it shows when it attempts to load before crashing

[2025-02-18 22:17:05]: Failed to load plugin "addons/Tickrate_Enabler"
[2025-02-18 22:17:05]: [Source.Python] Loading...
[2025-02-18 22:17:05]: [Source.Python] Could not retrieve interface ServerGameDLL010
[2025-02-18 22:17:05]: Failed to load plugin "addons/source-python"
[2025-02-18 22:17:05]: [Source.Python] Unloading...
[2025-02-18 22:17:05]: Segmentation fault (core dumped)
[2025-02-18 22:17:05]: Add "-debug" to the ./srcds_run command line to generate a debug.log to help with solving this problem

@saltysteev
Copy link

I can confirm the update also broke SourceMod, and they're actively getting a fix out.

Not sure about SourcePython's speed of development though.

@Lunacy1984
Copy link

With everything gone to 64-bit this is going to take some time. The developer said that nothing will be done until the middle of next week. Valve always massively breaks thing when away for a while.

@saltysteev
Copy link

saltysteev commented Feb 20, 2025

With everything gone to 64-bit this is going to take some time. The developer said that nothing will be done until the middle of next week. Valve always massively breaks thing when away for a while.

The forums aren’t active, where have the devs said this? Last time I saw Ayuto wasn’t interested in working on the 64bit version of this at all, not to mention the Python version itself is 7 versions behind.

@Ayuto
Copy link
Member

Ayuto commented Feb 20, 2025

Here ;-)

#500

@saltysteev
Copy link

Here ;-)

#500

Fair enough I stand corrected. If it helps debugging, our community reverted back to EventScripts with SPE because that still works somehow.

@jordanbriere
Copy link
Contributor

If it helps debugging, our community reverted back to EventScripts with SPE because that still works somehow.

EventScripts works because it uses a for (int i=3;i<999;i++) to determine the current version until it finds it while we use an hard-coded definition from the SDK. That said, you guys can try to increment it manually:

Try to open your source-python/bin/core.<dll/so> file with a text editor that won't mess with the encoding (such as notepad++) and replace ServerGameDLL011 with ServerGameDLL012.

Originally posted by @jordanbriere in #456

Though you are likely to face other issues related to outdated data.

@srpg
Copy link
Contributor Author

srpg commented Feb 20, 2025

If it helps debugging, our community reverted back to EventScripts with SPE because that still works somehow.

EventScripts works because it uses a for (int i=3;i<999;i++) to determine the current version until it finds it while we use an hard-coded definition from the SDK. That said, you guys can try to increment it manually:

Try to open your source-python/bin/core.<dll/so> file with a text editor that won't mess with the encoding (such as notepad++) and replace ServerGameDLL011 with ServerGameDLL012.
Originally posted by @jordanbriere in #456

Though you are likely to face other issues related to outdated data.

I have tried earlier to change ServerGameDLL010 to ServerGameDLL011 without any success, giving [Source.Python] Could not retrieve interface ServerGameDLL011

@jordanbriere
Copy link
Contributor

I have tried earlier to change ServerGameDLL010 to ServerGameDLL011 without any success, giving [Source.Python] Could not retrieve interface ServerGameDLL011

Current version appears to be 12.

@KirillMysnik
Copy link
Member

KirillMysnik commented Feb 20, 2025

Hello there. I've tested a janky SP build against the latest SDK and also some updated data. CS:S on linux only. It seems to generally work and should help you get at least some plugins running.

css-linux-feb18-hotfix.zip

P.S. Auto-updater is disabled in there

@srpg
Copy link
Contributor Author

srpg commented Feb 20, 2025

thanks sp loads now but crashes on my private plugin giving following error, i haven't traced yet which plugin causes it:
[2025-02-20 20:31:07]: free(): invalid pointer
[2025-02-20 20:31:07]: Aborted (core dumped)
[2025-02-20 20:31:07]: Add "-debug" to the ./srcds_run command line to generate a debug.log to help with solving this problem
[2025-02-20 20:31:07]: Thu Feb 20 20:31:07 EET 2025: Server restart in 10 seconds

Edit solved the issue

@saltysteev
Copy link

saltysteev commented Feb 20, 2025

That loads but if a plugin uses anything with hooks I believe it's still crashing.

2025-02-20 21:59:07 - sp.core.command - MESSAGE [SP] Loading plugin 'fsm'...
2025-02-20 21:59:07 - sp.core.command - MESSAGE [SP] Successfully loaded plugin 'fsm'.
2025-02-20 21:59:08 - sp.hooks.exceptions - EXCEPTION [Source.Python]
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/packages/source-python/entities/_base.py", line 244, in getattr
instance, value = self.dynamic_attributes[attr]
File "../addons/source-python/packages/source-python/entities/_base.py", line 363, in dynamic_attributes
for cls, instance in self.server_classes.items():
File "../addons/source-python/packages/source-python/entities/_base.py", line 355, in server_classes
server_classes.get_entity_server_classes(self)
File "../addons/source-python/packages/source-python/entities/_base.py", line 354, in
server_class in reversed(

RecursionError: maximum recursion depth exceeded while calling a Python object

@srpg
Copy link
Contributor Author

srpg commented Feb 20, 2025

I don't get those errors, my plugin uses hooks like weapon purchase, weapon pickup(can't remember proper name via phone), the other for command run(can't remember proper name via phone), post_think, pre_think and round end hook to block, i am running linux server

@KirillMysnik
Copy link
Member

That loads but if a plugin uses anything with hooks I believe it's still crashing.

Hooks work fine, however that RecursionError is weird. Care to give some code that can reproduce the problem?

@saltysteev
Copy link

saltysteev commented Feb 21, 2025

Edit: Looks like the hooks exceptions were on my end.

However, I'm getting a Segmentation fault when trying to load any model using engine.precache Model. Specifically in a @event player_spawn

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

6 participants