View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000408 | LDMud 3.3 | Runtime | public | 2005-10-12 16:13 | 2018-01-29 21:57 |
Reporter | Gnomi | Assigned To | |||
Priority | normal | Severity | crash | Reproducibility | sometimes |
Status | closed | Resolution | fixed | ||
Platform | i686 | OS | Debian GNU/Linux | OS Version | 3.1 |
Product Version | 3.3 | ||||
Fixed in Version | 3.3 | ||||
Summary | 0000408: Recursion in an out of memory situation | ||||
Description | Hi, this is related to 0000406, but this time without any catch. The driver tries to collect the trace, needs memory for this und so throws an error again, until num_error is 4, so that times_word[num_error] causes a segfault. Greetings, Gnomi The backtrace: #0 0x400d4f7e in vfprintf () from /lib/libc.so.6 0000001 0x080ae095 in vdebug_message (fmt=0x81169a0 "%s %s fault, last error was: %s", va=0xbfff5b58) at main.c:708 0000002 0x080ae0bd in debug_message (a=0x81169a0 "%s %s fault, last error was: %s") at main.c:723 0000003 0x080de95d in errorf (fmt=0x8118d40 "(%s:%d) Out of memory (%lu bytes) for %s\n") at simulate.c:764 0000004 0x080e646d in strbuf_add (buf=0xbfff74e0, text=0xbfff642c "' kreuze' in 'z/Schiffe/Linienschiffe/i/schiff.c' ('d/Gallien/Faehren/Comet/comet') line 978\n") at strfuns.c:123 0000005 0x080e6783 in strbuf_addf (buf=0xbfff74e0, format=0x8105920 "'%15s' in '%20s' ('%20s') line %d\n") at strfuns.c:226 0000006 0x080a3484 in collect_trace (sbuf=0xbfff74e0, rvec=0x0) at interpret.c:18688 0000007 0x080a36f1 in dump_trace (how=1, rvec=0x0) at interpret.c:18756 0000008 0x080de75f in fatal (fmt=0x8116a20 "Too many simultaneous errors.\n") at simulate.c:625 0000009 0x080deb02 in errorf (fmt=0x8118d40 "(%s:%d) Out of memory (%lu bytes) for %s\n") at simulate.c:835 0000010 0x080e646d in strbuf_add (buf=0xbfff8ec0, text=0xbfff7e0c "' kreuze' in 'z/Schiffe/Linienschiffe/i/schiff.c' ('d/Gallien/Faehren/Comet/comet') line 978\n") at strfuns.c:123 0000011 0x080e6783 in strbuf_addf (buf=0xbfff8ec0, format=0x8105920 "'%15s' in '%20s' ('%20s') line %d\n") at strfuns.c:226 0000012 0x080a3484 in collect_trace (sbuf=0xbfff8ec0, rvec=0x81299a4) at interpret.c:18688 0000013 0x080a36f1 in dump_trace (how=1, rvec=0x81299a4) at interpret.c:18756 #14 0x080ded29 in errorf (fmt=0x8118d40 "(%s:%d) Out of memory (%lu bytes) for %s\n") at simulate.c:893 #15 0x080e646d in strbuf_add (buf=0xbfffa860, text=0xbfff97ac "' kreuze' in 'z/Schiffe/Linienschiffe/i/schiff.c' ('d/Gallien/Faehren/Comet/comet') line 978\n") at strfuns.c:123 #16 0x080e6783 in strbuf_addf (buf=0xbfffa860, format=0x8105920 "'%15s' in '%20s' ('%20s') line %d\n") at strfuns.c:226 #17 0x080a3484 in collect_trace (sbuf=0xbfffa860, rvec=0x81299a4) at interpret.c:18688 #18 0x080a36f1 in dump_trace (how=0, rvec=0x81299a4) at interpret.c:18756 #19 0x080ded29 in errorf (fmt=0x8118d40 "(%s:%d) Out of memory (%lu bytes) for %s\n") at simulate.c:893 #20 0x080e64bb in strbuf_add (buf=0xbfffc230, text=0xbfffb14c "'send_move_out_msg' in ' i/tools/move_msg.c' ('d/Gallien/Faehren/Comet/comet') line 454\n") at strfuns.c:132 #21 0x080e6783 in strbuf_addf (buf=0xbfffc230, format=0x8105920 "'%15s' in '%20s' ('%20s') line %d\n") at strfuns.c:226 #22 0x080a3484 in collect_trace (sbuf=0xbfffc230, rvec=0x81299a4) at interpret.c:18688 #23 0x080a36f1 in dump_trace (how=0, rvec=0x81299a4) at interpret.c:18756 #24 0x080ded29 in errorf (fmt=0x80f7300 "Out of memory (%ld bytes) for initial codebuffer\n") at simulate.c:893 #25 0x08056a03 in lambda_error () at closure.c:1364 #26 0x0805a4b2 in lambda (args=0xc19e510, block=0x8147d68, origin=0xa3f7c5c) at closure.c:5148 #27 0x0805b5e6 in f_lambda (sp=0x8147d68) at closure.c:6013 #28 0x080821f1 in eval_instruction (first_instruction=0x8d44eb2 "`\a\004aÎ\n\001»b{\t)\036\t\022\0046j,\036\t\022\b6j\003\031i a\036", initial_sp=0x8147d48) at interpret.c:7959 #29 0x0809f863 in apply_low (fun=0x833b52c, ob=0xa3f7c5c, num_arg=7, b_ign_prot=0, allowRefs=0) at interpret.c:16529 #30 0x0809feb3 in int_apply (fun=0x833b52c, ob=0xa3f7c5c, num_arg=7, b_ign_prot=0, b_use_default=1) at interpret.c:16720 #31 0x0809e3e0 in eval_instruction (first_instruction=0x8d4518e "`\a\001aÎ\n\r\036", initial_sp=0x8147cd8) at interpret.c:15987 #32 0x0809f863 in apply_low (fun=0x8c1ac24, ob=0xa3f7c5c, num_arg=7, b_ign_prot=0, allowRefs=0) at interpret.c:16529 #33 0x0809feb3 in int_apply (fun=0x8c1ac24, ob=0xa3f7c5c, num_arg=7, b_ign_prot=0, b_use_default=1) at interpret.c:16720 #34 0x0809e3e0 in eval_instruction (first_instruction=0x9ced42e "`\004\001\b;j", initial_sp=0x8147c20) at interpret.c:15987 #35 0x0809f863 in apply_low (fun=0x8262290, ob=0xa3f7c5c, num_arg=3, b_ign_prot=0, allowRefs=0) at interpret.c:16529 0000036 0x0809feb3 in int_apply (fun=0x8262290, ob=0xa3f7c5c, num_arg=3, b_ign_prot=0, b_use_default=1) at interpret.c:16720 0000037 0x0809e3e0 in eval_instruction (first_instruction=0x9cec71e "`", initial_sp=0x8147be0) at interpret.c:15987 0000038 0x0809f863 in apply_low (fun=0x9caa4d0, ob=0xa3f7c5c, num_arg=0, b_ign_prot=0, allowRefs=0) at interpret.c:16529 0000039 0x0809feb3 in int_apply (fun=0x9caa4d0, ob=0xa3f7c5c, num_arg=0, b_ign_prot=0, b_use_default=1) at interpret.c:16720 0000040 0x080a04ab in sapply_int (fun=0x9caa4d0, ob=0xa3f7c5c, num_arg=0, b_find_static=0, b_use_default=1) at interpret.c:16881 0000041 0x080a07fc in apply (fun=0x9caa4d0, ob=0xa3f7c5c, num_arg=0) at interpret.c:16921 0000042 0x080e335e in execute_callback (cb=0xc098c58, nargs=0, keep=0, toplevel=1) at simulate.c:4000 0000043 0x08055071 in call_out () at call_out.c:421 0000044 0x0805256c in backend () at backend.c:731 0000045 0x080ade92 in main (argc=5, argv=0xbffffca4) at main.c:615 | ||||
Tags | No tags attached. | ||||
|
I added a check in the error processing to recognize if it's called within a fatal (which is what happened here after the triple-error), and causes a double-fatal then. |
Date Modified | Username | Field | Change |
---|---|---|---|
2005-10-12 16:13 | Gnomi | New Issue | |
2005-11-24 23:43 |
|
Status | new => resolved |
2005-11-24 23:43 |
|
Fixed in Version | => 3.3 |
2005-11-24 23:43 |
|
Resolution | open => fixed |
2005-11-24 23:43 |
|
Assigned To | => lars |
2005-11-24 23:43 |
|
Note Added: 0000422 | |
2006-02-28 20:04 |
|
Status | resolved => closed |
2010-11-16 09:42 |
|
Source_changeset_attached | => ldmud.git master 22201f5a |
2010-11-16 09:42 |
|
Source_changeset_attached | => ldmud.git master-3.2 622cddf2 |
2018-01-29 18:59 |
|
Source_changeset_attached | => ldmud.git master 22201f5a |
2018-01-29 18:59 |
|
Source_changeset_attached | => ldmud.git master-3.2 622cddf2 |
2018-01-29 21:57 |
|
Source_changeset_attached | => ldmud.git master 22201f5a |
2018-01-29 21:57 |
|
Source_changeset_attached | => ldmud.git master-3.2 622cddf2 |