| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2020-01-31 | Avoid implicit integer casting in `backtrace.c` and `hash.c`. | Yukihiro "Matz" Matsumoto | |
| 2019-12-18 | Simplify `print_backtrace()` | KOBAYASHI Shuji | |
| 2019-12-17 | Refine output of `mrb_print_error()` | KOBAYASHI Shuji | |
| The following improvements are made according to Ruby's behavior: - Match location number to index. - Remove duplicate most recent call output. - Fix that first call is not output when array (unpacked) backtrace. ### Example ```ruby def a; raise "error!" end def b; a end begin b rescue => e e.backtrace if ARGV[0] == "unpack" # unpack backtrace raise e end ``` #### Before this patch: ``` $ bin/mruby example.rb unpack trace (most recent call last): [0] example.rb:2:in b [1] example.rb:1:in a example.rb:1: error! (RuntimeError) ``` #### After this patch: ``` $ bin/mruby example.rb unpack trace (most recent call last): [2] example.rb:4 [1] example.rb:2:in b example.rb:1:in a: error! (RuntimeError) ``` | |||
| 2019-12-16 | Remove unneeded null checks to `struct backtrace_location::filename` | KOBAYASHI Shuji | |
| `struct backtrace_location` is created only in `each_backtrace()`, and the `filename` field will never be null (it will be `(unknown)` if null). | |||
| 2019-09-25 | Rename symbol-to-string functions; close #4684 | Yukihiro "Matz" Matsumoto | |
| * mrb_sym2name -> mrb_sym_name * mrb_sym2name_len -> mrb_sym_name_len * mrb_sym2str -> mrb_sym_str | |||
| 2019-08-18 | Prohibit changes to iseq in principle | dearblue | |
| 2019-08-05 | Use new specifiers/modifiers of `mrb_vfromat()` | KOBAYASHI Shuji | |
| The binary sizes (gems are only `mruby-bin-mruby`) are reduced slightly in my environment than before the introduction of new specifiers/modifiers (5116789a) with this change. ------------+-------------------+-------------------+-------- BINARY | BEFORE (5116789a) | AFTER (This PR) | RATIO ------------+-------------------+-------------------+-------- mruby | 593416 bytes | 593208 bytes | -0.04% libmruby.a | 769048 bytes | 767264 bytes | -0.23% ------------+-------------------+-------------------+-------- BTW, I accidentally changed `tasks/toolchains/visualcpp.rake` at #4613, so I put it back. | |||
| 2019-07-15 | Unify type of line number to `uint16_t` | KOBAYASHI Shuji | |
| 2019-04-01 | Avoid keeping pointers from `mrb_sym2name_len()`; fix #4342 | Yukihiro "Matz" Matsumoto | |
| The addresses for packed inline symbols reference `mrb->symbuf` that could be overridden by the later call of `mrb_sym2name_len`. Since file names in call stack information are kept as symbols, keeping the address in the C structures could cause problems like #4342. This changes small incompatible changes in function prototypes: * `mrb_parser_get_filename`: return value changed to `mrb_sym`. * `mrb_debug_get_filename`: add `mrb_state*` as a first argument. * `mrb_debug_get_line`: ditto. I believe above functions are almost internal, and no third-party mrbgem use them. | |||
| 2019-03-27 | Remove unused variable in `each_backtrace()` | KOBAYASHI Shuji | |
| 2019-02-25 | Refactor `src/backtrace.c` | KOBAYASHI Shuji | |
| - Move calling `mrb_debug_get_filename()` to after `lineno` check. - Remove unneeded array check in `print_backtrace()`. - Add a few `const` qualifier. | |||
| 2019-02-18 | Merge pull request #4283 from ↵ | Yukihiro "Matz" Matsumoto | |
| shuujii/reorder-members-in-struct-backtrace_location Reorder members in `struct backtrace_location` | |||
| 2019-02-18 | Reorder members in `struct backtrace_location` | KOBAYASHI Shuji | |
| `sizeof(struct backtrace_location)` is 24 bytes -> 16 bytes in LP64 data model etc. | |||
| 2019-02-18 | Remove unneeded `memset()` in `src/backtrace.c` | KOBAYASHI Shuji | |
| 2018-04-23 | Fix undefined error of pointer dereference. | Takeshi Watanabe | |
| 2017-11-29 | Add `most recent call last` message to the backtrace. | Yukihiro "Matz" Matsumoto | |
| 2017-11-04 | Avoid pointer arithmetic in backtrace.c; #3816 | Yukihiro "Matz" Matsumoto | |
| 2017-11-02 | don't overwrite backtrace info. | Tomoyuki Sahara | |
| 2017-09-27 | fix: src\backtrace.c(83): warning C4244: '=': conversion from 'mrb_int' to ↵ | Tomasz Dąbrowski | |
| 'int', possible loss of data | |||
| 2017-08-12 | Reduce integer type mismatch warnings in VC. | Yukihiro "Matz" Matsumoto | |
| 2017-08-11 | Remove an unused argument from `each_backtrace_func`. | Yukihiro "Matz" Matsumoto | |
| 2017-08-11 | Avoid possible data loss by using `ptrdiff_t`. | Yukihiro "Matz" Matsumoto | |
| 2017-08-08 | Check if `ptr` is NULL before calling `memset`; fix #3765 | Yukihiro "Matz" Matsumoto | |
| 2017-07-06 | Reduce allocation size of backtrace arrays. | Yukihiro "Matz" Matsumoto | |
| 2017-07-06 | Avoid out-of-bounds access of the backtrace array. | Yukihiro "Matz" Matsumoto | |
| 2017-06-02 | Make `break` in lambdas work as `return` according to CRuby behavior. | Yukihiro "Matz" Matsumoto | |
| 2017-06-01 | Print most recent call last as CPython does. | Yukihiro "Matz" Matsumoto | |
| 2017-05-31 | Restore MRB_API function `mrb_exc_backtrace(mrb, exc)`; ref 9644ad5 | Yukihiro "Matz" Matsumoto | |
| 2017-05-26 | Use RData instead of String to represent backtrace. | Yukihiro "Matz" Matsumoto | |
| 2017-05-25 | Check backtrace info may not be set (esp. NoMemError); fix #3663 | Yukihiro "Matz" Matsumoto | |
| 2017-05-23 | Simplify backtrace mechanism; fix #3633 #3634 #3644 | Yukihiro "Matz" Matsumoto | |
| Instead of preserving a backtrace in `mrb_state`, `mrb_exc_set` keeps packed backtrace in an exception object. `#backtrace` unpacks it to an array of strings. | |||
| 2017-05-23 | Remove class info from backtrace lines. | Yukihiro "Matz" Matsumoto | |
| 2017-05-23 | Type check before `print_backtrace()` | Yukihiro "Matz" Matsumoto | |
| 2017-05-15 | Avoid call to_s during backtrace traversal | Craig Lehmann | |
| 2017-04-25 | Avoid use of `snprintf()` when DISABLE_STDIO is set; fix #3632 | Yukihiro "Matz" Matsumoto | |
| ref #3492 #3515 #3517 | |||
| 2017-04-03 | Unify `else` clause style | Yukihiro "Matz" Matsumoto | |
| 2017-03-25 | Fix lost lineno | ksss | |
| 2017-03-20 | Use `snprintf()` to stringify fixnum numbers; fix #3492 | Yukihiro "Matz" Matsumoto | |
| 2017-03-04 | Save/restore arena index in the loop. | Yukihiro "Matz" Matsumoto | |
| 2017-02-15 | Preallocate SystemStackError; ref #3421 | Yukihiro "Matz" Matsumoto | |
| 2017-02-08 | Check if irep is NULL before print_backtrace() | Yukihiro "Matz" Matsumoto | |
| According to the valgrind log attached to #3438, proc->body.irep may be NULL in some cases. | |||
| 2017-01-23 | Skip non string values in backtraces; ref #3408 | Yukihiro "Matz" Matsumoto | |
| 2016-11-24 | Fixes for compiling mruby as C++ | Tomasz Dąbrowski | |
| 2016-03-07 | change backtrace sep from const char* to char | Yukihiro "Matz" Matsumoto | |
| 2016-03-06 | Revert "Merge pull request #3126 from jbreeden/backtrace_irep_null_check" | Kouhei Sutou | |
| This reverts commit bf7719fe8da1b704c2cb72dd629dc75135fd1ad5, reversing changes made to 4f4fa0ade0fd80a3a6fa64bebcb5f71b0d4a8648. We should get backtrace while irep is alive. | |||
| 2016-03-05 | Fix Travis CI | jbreeden | |
| 2016-03-05 | Null check for irep & initialize loc.lineno | jbreeden | |
| 2016-02-26 | The original code crashed when mrb->backtrace.n grew to 16. | Carlo Prelz | |
| It looks like the logic to reallocate the backtrace was flawed, based on the wrong variable (loc_raw->i, which, as I have verified, decreases from 16 to 0 instead of increasing) I am not sure if this is the correct fix | |||
| 2016-01-07 | Fix segfault on mrb_exc_backtrace. | Simon Génier | |
| The code to iterate over backtrace locations was changed in #3065, but unfortunately output_backtrace was not correctly updated to forward the callback. | |||
| 2016-01-07 | printf precision parameter must be 'int' type | Syohei YOSHIDA | |
| There is a problem when MRB_INT64 is enabled. | |||
