willox / auxtools

Rust library for low-level interfacing with BYOND's virtual machine. Includes a remote debugger for the BYOND DreamMaker language.
MIT License
28 stars 32 forks source link

Libraries using auxtools are not able to call procs that the libraries themselves are hooked into, but only on linux. #44

Open cadyn opened 3 years ago

cadyn commented 3 years ago

Just as title says, any libraries using auxtools can't call procs that they hook into, but only for linux. If you have proc A, and your program hooks into it, then you can't call that proc from your program anymore if you're hosting on linux.

willox commented 3 years ago

example?

cadyn commented 3 years ago

example?

I'm honestly exhausted from debugging the issue with auxmos, but if you wanna try it yourself for 0.2.0 on linux you'll notice that whenever post_process tries to call gas_mixture/react() (which is hooked by another auxmos function) it won't throw any errors, but it will also just not do anything. I'm pretty shit at rust, so I don't know about writing a program just to demonstrate the effect.

cadyn commented 3 years ago

Actually I will also leave the branch I used for debugging auxmos which logs a bunch of checkpoints and details to /testlogs/auxmos.log, and if it will help you I can also send the log file that I had from debugging https://github.com/cadyn/auxmos/tree/fixlinux

lucincus commented 2 years ago

example?

Heres one source file: configuration.dm,223 [04:51:13] Runtime in gas_mixture.dm,24: FAILED (Could not hook proc /datum/controller/subsystem/air/proc/get_max_gas_mixes: Proc is already hooked) proc name: New (/datum/gas_mixture/New)

lucincus commented 2 years ago

example?

Heres one source file: configuration.dm,223 [04:51:13] Runtime in gas_mixture.dm,24: FAILED (Could not hook proc /datum/controller/subsystem/air/proc/get_max_gas_mixes: Proc is already hooked) proc name: New (/datum/gas_mixture/New)

Think it can be fixed? Cause atmospherics doesnt load without these in auxmos with auxtools