Open printercu opened 5 years ago
Currently it cuts out path prefixes and removes intermediate frames. This makes it harder to debug and navigate to files right from terminal.
1111/2222/3333/4444/5555/6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua false .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:5: attempt to call global 'x' (a nil value) stack traceback: .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:5: in function 'a39' .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:6: in function 'a38' .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:7: in function 'a37' .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:8: in function 'a36' .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:9: in function 'a35' .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:10: in function 'a34' .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:11: in function 'a33' .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:12: in function 'a32' .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:13: in function 'a31' .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:14: in function 'a30' .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:15: in function 'a29' ... .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:37: in function 'a07' .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:38: in function 'a06' .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:39: in function 'a05' .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:40: in function 'a04' .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:41: in function 'a03' .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:42: in function 'a02' .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:43: in function 'a01' .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:44: in function <.../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:44> [C]: in function 'xpcall' .../6666/7777/8888/9999/aaaa/bbbb/cccc/dddd/eeee/ffff/x.lua:46: in main chunk
This behaviour is configured with TRACEBACK_LEVELS1, TRACEBACK_LEVELS2 and LUA_IDSIZE constants. Can this values be changed?
Hello, printercu! How would you like these values to be changed? Maybe it's worth making them configurable? Currently these are:
What limits would be enough? Could you please also attach your test case to the issue? Thanks.
Is there any downside of making them very large or disabling this limit at all?
Traceback limits are used to reasonably limit number of call stack frames printed. For example, if a recursive function is being called 1000 times, it's not practical to print all these 1000 frames and more. LUA_IDSIZE is used in internal debug structures for buffer allocation, so it cannot be infinite. That is, the limits cannot be removed completely, but can be set to reasonably high values.
We agreed that traceback levels should be set to 25 and LUA_IDSIZE to 128.
Currently it cuts out path prefixes and removes intermediate frames. This makes it harder to debug and navigate to files right from terminal.
This behaviour is configured with TRACEBACK_LEVELS1, TRACEBACK_LEVELS2 and LUA_IDSIZE constants. Can this values be changed?