156 xpcall(server.loop, function (err) |
156 xpcall(server.loop, function (err) |
157 if err:match("%d*: interrupted!$") then |
157 if err:match("%d*: interrupted!$") then |
158 quitting = true; |
158 quitting = true; |
159 return; |
159 return; |
160 end |
160 end |
161 eventmanager.fire_event("very-bad-error", "*", err, debug.traceback("", 2)); |
161 |
|
162 log("error", "Top-level error, please report:\n%s", tostring(err)); |
|
163 |
|
164 local traceback = debug.traceback("", 2); |
|
165 if traceback then |
|
166 log("error", "%s", traceback); |
|
167 end |
|
168 |
|
169 eventmanager.fire_event("very-bad-error", "*", err, traceback); |
162 end); |
170 end); |
163 end |
171 end |