mojira.dev
BDS-13482

Missing debug symbols from Linux BDS 1.17.0

The linux version of the bedrock dedicated server for 1.17.0 now lacks debug symbols, which were instrumental in allowing 3rd party servers softwares such as nukkit, pocketmine, and even BDS modloaders to develop. Essentially now, the removal of linux debug symbols may kill off entire BDS modding communities for linux, and at the very least make 3rd party server development much more difficult. 

The reason I am making a bug report about this and not a suggestion for its reimplementation is that mojang gave server owners no word about this upcoming change, and with no foreseeable reason. Additionally, why would mojang include it for the windows release, but not linux? It seems pointless to remove one and not the other. It is still unclear whether this change was intentional or not, but many people including myself hope it was just a release mistake.

Mojang has shown a tendency ever since 2019 to remove more and more debug information from public releases. While doing this for the client is debatable, as I said above there is no viable reason for this being done in the bedrock dedicated server. Hacked clients will not cease to exist! First, runtime type information (RTTI) was removed in 1.16.100, now symbols entirely. Mojang needs to consider all the communities and server developers out there when they remove this information from the server. Custom bedrock server development cannot thrive if all mojang wants to do is make it harder and harder for others to learn from how the vanilla server operates.

I will not be posting any screenshots of decompiled code as evidence because that is likely not in Mojang's interest. Mojang developers working on BDS should be aware of the fact of the debug symbols' absence in linux. The best evidence I can provide now is a tweet by the lead PocketMine developer confirming it
https://twitter.com/dktapps/status/1402308504484974592

Attachments

Comments 9

I would like to add that the availability of symbols in the Linux BDS version of the game allows code diggers like myself to add in depth code analysis to bug reports making it easier to identify and fix the causes of bugs.

affects the 1.17.1 bds but I cannot choose this version in the report

We hope to have this addressed in an upcoming release (no specific date can be given).

That's amazing news @Jay. Would you happen to know if said upcoming release also includes RTTI?

From what i heard it was disabled it for a reason.  I think it  may be due to its unneeded or for security reasons. They dont seem to want to tell us 

A minecraft dev it was unlikely to be added but who knows

Lots of debug informations were remove from BDS this is bad for 3rd party MOD developers to figure out the things like struct of a class, the size of the vtable. For example the RTTI informations were removed and it cause the developers should spend much more time on finding vtable offsets for the classes.

I do believe that there is no harm for Mojang to provide us with these information, it's bad for BDS community.

I think it will be great if Mojang can provide more debug information like the class structures, RTTI and so on. It will be a great help.

@Jay
Most importantly, the existence of debugging data allows the development of third-party plugins, thus to promote the prosperity of the entire Bedrock development community.

Third-party plugins did not cause any loss to Mojang. In fact, the enhancement of BDS by third-party plugins makes up for the needs of many users in the market for some urgently needed functions, making it more convenient and attractive to run a Minecraft server by BDS.

And due to complete original features and rich server management means, BDS and Minecraft have been continuously improving their popularity.

Moreover, third-party development can make a great contribution to the cultivation of community culture, motivating more and more people to develop for their favorite game Minecraft.

1.17.10 does in fact include the symbols, and the technical bedrock community is very thankful for that, and fortunate enough to have a bug report make an impact. Although, it seems like the DWARF file only includes symbols and nothing else, such as class structures, variable names, or RTTI. We thought asking for these might sound greedy, but beggars cant be choosers. Perhaps you can relay this to the team, Jay. Thanks.

It would also be nice to have access to the full non-stripped PDB. While I get the worry for size of the ZIP, the full PDB can be distributed separate from the server which would make it possible to not have the PDB included with the "main" download. Being able to have access to things like variable names would make creating mods for the BDS much easier.

migrated

(Unassigned)

Community Consensus

Retrieved