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

Linux MumbleLink native does not set O_CREAT, causing shm_open to fail #9

Open
asiekierka opened this issue Jan 1, 2016 · 7 comments

Comments

Projects
None yet
2 participants
@asiekierka
Copy link

commented Jan 1, 2016

Only O_RDWR is set, but MumbleLink.[uid] does not exist, causing shm_open to fail terribly since it's not told to create the shm if not present.

@asiekierka

This comment has been minimized.

Copy link
Author

commented Jan 1, 2016

In connection with #8 and the fact your 32-bit binary seems to be the outdated one after all, I managed to patch it by hand in the 64-bit binary: replace "BE 02 00 00 00" with "BE 02 01 00 00"

@zsawyer zsawyer added the bug label Jan 21, 2016

@zsawyer zsawyer added this to the 4.1.3 milestone Jan 21, 2016

@zsawyer zsawyer self-assigned this Jan 21, 2016

@zsawyer

This comment has been minimized.

Copy link
Owner

commented Jan 21, 2016

The current code is mainly only copied and refactored from the Mumble Wiki. This I will have to make sure is fixed with adding | O_CREAT in the new mumble-LinkAPI.

Next version will use jna/LinkAPILibrary.java and the natives coming from there.

@asiekierka

This comment has been minimized.

Copy link
Author

commented Jan 21, 2016

This is also what was causing a lot of strange issues with MumbleLink not working on Linux. The 64-bit Linux fix could presumably be applied soon.

@zsawyer

This comment has been minimized.

Copy link
Owner

commented Jan 22, 2016

This sounds like always starting Mumble before Minecraft could be a workaround for now.

Due to the complicated nature of gradle, forgegrade, fml and mumble-LinkAPI all having changed over the time the next update is going to be quite a load of work for me.

@asiekierka

This comment has been minimized.

Copy link
Author

commented Jan 23, 2016

It is not a workaround. O_CREAT is necessary to create a new shared memory
object, so it will fail every time as you're always the side creating it.

2016-01-23 0:53 GMT+01:00 zsawyer notifications@github.com:

This sounds like always starting Mumble before Minecraft could be a
workaround for now.

Due to the complicated nature of gradle, forgegrade, fml and
mumble-LinkAPI all having changed over the time the next update is going to
be quite a load of work for me.


Reply to this email directly or view it on GitHub
#9 (comment).

@zsawyer

This comment has been minimized.

Copy link
Owner

commented Jan 28, 2016

That is not true otherwise it would have never worked for me but it was tested on ubuntu in early stages.
https://github.com/mumble-voip/mumble/blob/master/plugins/link/link-posix.cpp#L177

@asiekierka

This comment has been minimized.

Copy link
Author

commented May 7, 2016

From what I know, glibc changed this sometime during its lifetime, as I know it worked for some Linux users but not others. However, O_CREAT is necessary as per the standards/documentation anyway.

Also, any news on this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.