Viewing Issue Simple Details Jump to Notes ] Wiki ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0008647 [DCSS] Bug Report minor always 2014-06-05 00:19 2014-07-07 01:02
Reporter johnnyzero View Status public  
Assigned To
Priority normal Resolution open  
Status new   Product Branch 0.15 ancient branch
Summary 0008647: luajit2 - x86_64 build and runtime issues (unknown errors, missing libs, and stack overflows)
Description Luajit2 support for x86_64 systems was recently added (0008641 [1]), so I decided to try out a build.

[1] commit: http://s-z.org/neil/git/?p=crawl.git;a=commit;h=97cf85e3ad4f3c109adc8a6e0f1ed4163876178b [^]

A few problems were encountered:

  • When compiled against the current default luajit2 submodule checkout, the executable fails with a "Unknown error compiling chunk" message when processing .des files.

  • When compiling against 'crawl-20140511' luajit2 submodule branch, crawl fails to link due to a missing '-ldl' library

  • When successfully linked against 'crawl-20140511' luajit2 by supplying -ldl, the resulting executable fails to parse a number of .des files due to stack overflows. I was able to finally run crawl from distclean without error with a stack size of 64MiB (stack overflows occurred for stack limits of 8MiB [my system default], 16MiB, and 32MiB)



The build system used is running Debian Jessie x86_64 with gcc (Debian 4.8.2-21) 4.8.2. I have not yet tested a luajit2 build for i686 or other cross targets. The stack limit was set via 'ulimit -s 65536' in the bash session used to build and launch crawl.
Additional Information
Tags No tags attached.
Attached Files

- Relationships

-  Notes
(0026693)
johnnyzero (reporter)
2014-07-07 01:02
edited on: 2014-07-07 05:54

Update:

* The luajit stack overflow is not limited to x86_64-linux-gnu.

On a win32 i686-w64-mingw32 luajit-enabled compile, the same stack overflows occur, except that maximum stack size of *512MiB* is needed to parse all .des files without error.

This is most likely due to the recursive processing of .des files and the way luajit handles function calls.
(see source/dat/dlua/layout/zonify.lua:walk)


- Issue History
Date Modified Username Field Change
2014-06-05 00:19 johnnyzero New Issue
2014-06-05 00:48 neil Description Updated
2014-07-07 01:02 johnnyzero Note Added: 0026693
2014-07-07 05:54 johnnyzero Note Edited: 0026693


Mantis 1.1.8[^]
Copyright © 2000 - 2009 Mantis Group
Powered by Mantis Bugtracker