ID:1532527
 
BYOND Version:506
Operating System:Linux
Web Browser:Firefox 28.0
Applies to:Dream Daemon
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:

I just upgraded my Linux BYOND server from 502.? to 506.1238. While previously, my game started without problems, it now crashes during startup with a dump to the terminal. It also works fine using the current stable version of BYOND.

Note: This project uses a custom version of Dantom.db.

Actual Results:

BUG: Crashing due to an illegal operation!

Backtrace for BYOND 506.1238 on Linux:
Generated at Sun Mar 30 12:29:50 2014

TeruliaDaemon [0x8048000, 0x0], [0x8048000, 0x804bb14]
(unknown) ??
[0xf76fd000, 0xf76fd410], [0xf76fd000, 0xf76fd410]

Recent proc calls:
/proc/set_solstice
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/DBQuery/proc/NextRow
/DBColumn/New


The game's log file simply says:
"Server initialization finished."

When does the problem NOT occur?

using BYOND 502 or 504.1232

Odd. It doesn't look like I have enough to trace here, although given that you're using a custom Dantom.DB, I'm not sure how that's supposed to work. (Isn't the BYOND MySQL code unavailable for Linux?) I don't think any code changed that would impact the old Dantom.DB code, except for possible threading issues. You might want to look at this with threads off to see what happens.
In response to Lummox JR
Lummox JR wrote:
(Isn't the BYOND MySQL code unavailable for Linux?)

I'm unsure what you mean by this? The Dantom.DB library works fine on Linux, You just need libmysql-dev mysql-client and obviously mysql-server install.
The latest beta worked fine with threads off.

When I tried again and removed the line from daemon.txt:

Starting server with threads on.
Sun Mar 30 23:05:25 2014
World opened on network port 2448.
Welcome BYOND! (5.0 Beta Version 506.1238)
The BYOND hub reports that port 2448 is reachable.
BUG: Crashing due to an illegal operation!

Backtrace for BYOND 506.1238 on Linux:
Generated at Sun Mar 30 23:05:55 2014

TeruliaDaemon [0x8048000, 0x0], [0x8048000, 0x804bb14]
libbyond.so [0xf72d2000, 0x0], 0x22a28b
[0xf77a2000, 0xf77a2410], [0xf77a2000, 0xf77a2410]
libbyond.so [0xf72d2000, 0x0], 0x22a28b
libbyond.so [0xf72d2000, 0x0], 0x23f17a
libbyond.so [0xf72d2000, 0x0], 0x1ea1f4
TeruliaDaemon [0x8048000, 0x0], [0x8048000, 0x804c99c]
libpthread.so.0 [0xf6f4f000, 0x0], 0x6d78
libc.so.6 0xf1fc0, 0xf201e (clone)

Recent proc calls:
/proc/set_solstice
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/DBQuery/proc/NextRow
/DBColumn/New
I just wanted to confirm that this still occurs in 506.1239 with threads on:

 BUG: Crashing due to an illegal operation!

Backtrace for BYOND 506.1239 on Linux:
Generated at Thu Apr 3 16:56:52 2014

TeruliaDaemon [0x8048000, 0x0], [0x8048000, 0x804bb14]
libbyond.so [0xf72cb000, 0x0], 0x22a4db
[0xf779b000, 0xf779b410], [0xf779b000, 0xf779b410]
libbyond.so [0xf72cb000, 0x0], 0x22a4db
libbyond.so [0xf72cb000, 0x0], 0x23f3ca
libbyond.so [0xf72cb000, 0x0], 0x1ea3a4
TeruliaDaemon [0x8048000, 0x0], [0x8048000, 0x804c99c]
libpthread.so.0 [0xf6f48000, 0x0], 0x6d78
libc.so.6 0xf1fc0, 0xf201e (clone)

Recent proc calls:
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse
/proc/SQL_Parse

To help the BYOND developers debug this, please send the above trace as part
of a very detailed bug report: http://www.byond.com/members/?command=view_tracker&tracker=1
still happening in 506.1245:

Starting server with threads on (map threads off).
Sun May 4 17:21:16 2014
World opened on network port 2448.
Welcome BYOND! (5.0 Beta Version 506.1245)
The BYOND hub reports that port 2448 is reachable.

BUG: Crashing due to an illegal operation!

Backtrace for BYOND 506.1245 on Linux:
Generated at Sun May 4 17:22:23 2014

TeruliaDaemon [0x8048000, 0x0], [0x8048000, 0x804bb14]
(unknown) ??
[0xf7795000, 0xf7795410], [0xf7795000, 0xf7795410]
(unknown) ??
libbyond.so [0xf72c5000, 0x0], 0x1e9294
TeruliaDaemon [0x8048000, 0x0], [0x8048000, 0x804c99c]
libpthread.so.0 [0xf6f42000, 0x0], 0x6d78
libc.so.6 0xf1fc0, 0xf201e (clone)

Recent proc calls:
/turf/proc/G_turf_enter_update
/mob/Del
/mob/Login/Logout
/mob/Login/Logout
/client/Del
/client/proc/trc_remote_logout
/client/Del
/client/Click
/client/MouseUp
/mob/Login/proc/initiate_login
/client/MouseDown
/client/Click
/client/MouseUp
/mob/Login/proc/initiate_login
/client/MouseDown
/client/proc/trc_output
a slightly different behavior with 506.1247 since I split the game into multiple shards. Both access the same MySQL server, so I no longer think that is necessarily the issue.

login shard; runs and operates properly:
Starting server with threads on (map threads off).
Sat May 17 19:06:04 2014
World opened on network port 24420.
Welcome BYOND! (5.0 Beta Version 506.1247)
The BYOND hub reports that port 24420 is reachable.


main/game shard; dies almost immediately (same as before):
Starting server with threads on (map threads off).
Sat May 17 19:04:21 2014
World opened on network port 24420.
Welcome BYOND! (5.0 Beta Version 506.1247)
The BYOND hub reports that port 24420 is reachable.
BUG: Crashing due to an illegal operation!

Backtrace for BYOND 506.1247 on Linux:
Generated at Sat May 17 19:04:28 2014

Terulia_02_FortEldon [0x8048000, 0x0], [0x8048000, 0x804bb14]
(unknown) ??
[0xf7783000, 0xf7783410], [0xf7783000, 0xf7783410]
(unknown) ??
libbyond.so [0xf72b1000, 0x0], 0x1e92a4
Terulia_02_FortEldon [0x8048000, 0x0], [0x8048000, 0x804c99c]
libpthread.so.0 [0xf6f2a000, 0x0], 0x6f70
libc.so.6 0xec6b0, 0xec70e (clone)

Recent proc calls:
/proc/Remote_SQL
/proc/initialize_game
/proc/load_bar
/proc/initialize_game
/proc/trc_remote_loop
/obj/HUD/New
/obj/HUD/New
/obj/HUD/New
/obj/HUD/New
/obj/HUD/New
/obj/HUD/New
/obj/HUD/New
/obj/HUD/New
/obj/HUD/New
/obj/HUD/New
/obj/HUD/New

To help the BYOND developers debug this, please send the above trace as part
of a very detailed bug report: http://www.byond.com/members/?command=view_tracker&tracker=1


edit: with some more testing of the differences between shards, it seems to be crashing at the following line:
var/http[] = world.Export("[FILE_ADDRESS]/current.txt")
which is very odd because this exact same Export() (same url as well) is run in both instances.