Pages:<< prev 1 next >>
Fledgling

GroupMembers
Posts48
JoinedFeb 16, 2006
My now very old smaug derived code i abandoned some time because at that time there were bugs that I did not have the skills to fix. I went onto other projects and in the intervening years, have been writing a server from scratch that has the same feature set. Eldhamud had 150,000 lines of code and my new server has less than 30,000 while also matching Eldhamud feature for feature and thats including offline build tools and client written in python.
Anyway, we got some new shiny advanced AI tools at work with advanced programming GTP's so I gave it my eldhamud code to audit and it found and fixed the following:
Crash-related faults: 28 correction groups, 29 code sites.
Memory management and ownership faults: 16 correction groups, 22 code sites.
Buffer bounds and indexing faults: 22 correction groups, 42 code sites.
File parsing and malformed-input faults: 9 correction groups, 18 code sites.
Undefined behaviour: 7 correction groups, 14 code sites.
Incorrect logic: 6 correction groups, 6 code sites.
Password compatibility: 1 correction group, 1 tracked code site.
Preventive string-copy hardening: 474 code sites.
Preventive formatting hardening: 915 code sites.
Bit-operation hardening: 56 code sites.
C standards compliance changes: 88 code sites.
Build-system corrections: 13 code sites.
Recovery and player-file protection: 1 tracked code site.
Unused function/callback parameters: 133 compiler diagnostics resolved.
Signed/unsigned comparisons: 56 compiler diagnostics resolved.
Switch fallthrough: 26 compiler diagnostics resolved.
Potential formatted-output truncation: 19 compiler diagnostics resolved.
Partial structure initialisers: 18 compiler diagnostics resolved.
Nonliteral format strings: 17 compiler diagnostics resolved.
Potentially unterminated strncpy output: 14 compiler diagnostics resolved.
Always-true array-address checks: 4 compiler diagnostics resolved.
Ignored I/O and process-operation results: 4 compiler diagnostics resolved.
Unused assigned variables: 1 diagnostic in the main pass, then 20 additional diagnostics in the first follow-up.
Nonstandard function-name identifiers: 72 compiler diagnostics resolved.
Telnet byte initialiser conversions: 6 compiler diagnostics resolved.
Dynamic-loader object/function pointer casts: 2 compiler diagnostics resolved.
Nonstandard escape sequences: 1 compiler diagnostic resolved.
Further redundant variables and calculations: 23 unused locals removed, including the reported proto.
Dummy operations hiding unused-variable problems: 33 statements removed across the follow-ups.
String initialiser missing room for its terminator: 1 additional fix in comm.c.
Unused equipment-check counter: 1 additional fix in mud_prog.c.
had it fix all those, then make it C17 compatible and compile cleanly with all the strictest compiler flags and the end result is something that is rock solid. For the last 2 weeks I have been stress testing the server it currently has 400 bots connected to it, botting content and spamming every player accessible command, memory and cpu useage are stable, and not a single crash or dropped conenction.
The AI slop fixed my human slop.
Peace out.
Anyway, we got some new shiny advanced AI tools at work with advanced programming GTP's so I gave it my eldhamud code to audit and it found and fixed the following:
Crash-related faults: 28 correction groups, 29 code sites.
Memory management and ownership faults: 16 correction groups, 22 code sites.
Buffer bounds and indexing faults: 22 correction groups, 42 code sites.
File parsing and malformed-input faults: 9 correction groups, 18 code sites.
Undefined behaviour: 7 correction groups, 14 code sites.
Incorrect logic: 6 correction groups, 6 code sites.
Password compatibility: 1 correction group, 1 tracked code site.
Preventive string-copy hardening: 474 code sites.
Preventive formatting hardening: 915 code sites.
Bit-operation hardening: 56 code sites.
C standards compliance changes: 88 code sites.
Build-system corrections: 13 code sites.
Recovery and player-file protection: 1 tracked code site.
Unused function/callback parameters: 133 compiler diagnostics resolved.
Signed/unsigned comparisons: 56 compiler diagnostics resolved.
Switch fallthrough: 26 compiler diagnostics resolved.
Potential formatted-output truncation: 19 compiler diagnostics resolved.
Partial structure initialisers: 18 compiler diagnostics resolved.
Nonliteral format strings: 17 compiler diagnostics resolved.
Potentially unterminated strncpy output: 14 compiler diagnostics resolved.
Always-true array-address checks: 4 compiler diagnostics resolved.
Ignored I/O and process-operation results: 4 compiler diagnostics resolved.
Unused assigned variables: 1 diagnostic in the main pass, then 20 additional diagnostics in the first follow-up.
Nonstandard function-name identifiers: 72 compiler diagnostics resolved.
Telnet byte initialiser conversions: 6 compiler diagnostics resolved.
Dynamic-loader object/function pointer casts: 2 compiler diagnostics resolved.
Nonstandard escape sequences: 1 compiler diagnostic resolved.
Further redundant variables and calculations: 23 unused locals removed, including the reported proto.
Dummy operations hiding unused-variable problems: 33 statements removed across the follow-ups.
String initialiser missing room for its terminator: 1 additional fix in comm.c.
Unused equipment-check counter: 1 additional fix in mud_prog.c.
had it fix all those, then make it C17 compatible and compile cleanly with all the strictest compiler flags and the end result is something that is rock solid. For the last 2 weeks I have been stress testing the server it currently has 400 bots connected to it, botting content and spamming every player accessible command, memory and cpu useage are stable, and not a single crash or dropped conenction.
The AI slop fixed my human slop.
Peace out.
Pages:<< prev 1 next >>