Closed knubo closed 8 months ago
Further investigation of the bug:
switch(size) { case 0: sizestr = "tiny";break; case 1..2: sizestr = "little";break; case 3: sizestr ="small ";break; }
this will fail for case 0. If case 3 is instead 3..4, everything will work just fine.
//geirpg / Moreldir@vikingmud
It looks like this happens when DGD converts a range switch into an int switch.
This was broken by my solution for issue #70. I have a fix, I'll push it when I have the opportunity.
Should be fixed by b28cea435a3f9be2bfc7891c8e924b82e926a69a.
The mud now went down with an exit code of 134. Is it possible that this fix creates a pointer problem?
Exit code 134 indicates that it ended with an abort, not with a segmentation fault. Was there anything in the log?
So. We have two log entries, from our driver logs: 2024-01-21 14:05:40 viking-test startmud[107633] Driver went down with exit code 134 and in the driver error log: Fatal error: cannot create swap file "/run/shm/viking-swap"
mount | grep shm: tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,inode64) Looks fairly local to me, but haven't been able to confirm with server root.
/run/shm/viking-swap
but the the grep finds /dev/shm
, not /run/shm
. This must have been an issue with the previous DGD version 1.4.* also?
We haven't had the test mud running on this host for long.
ed_tmpfile = "/run/shm/viking-ed"; / proto editor tmpfile / swap_file = "/run/shm/viking-swap"; / swap file /
So we should point these to /dev/shm? Not /run/shm?
Going by the abort error message, /run/shm
does not even exist. So yes, change it to /dev/shm
.
I assume that both the switch
issue and the fatal swap file problem have been solved.
Yes. We're running 1.7.1 completely stable and error free now. Thank you for swift response and fix.
Excellent. I will wrap up those fixes in a new release.
The following code does not match 0 in the switch.
Whereas a much simpler case do work:
Found on Viking.