View Issue Details

IDProjectCategoryView StatusLast Update
0000408LDMud 3.3Runtimepublic2018-01-29 22:57
ReporterGnomi Assigned Tolars 
PrioritynormalSeveritycrashReproducibilitysometimes
Status closedResolutionfixed 
Platformi686OSDebian GNU/LinuxOS Version3.1
Product Version3.3 
Fixed in Version3.3 
Summary0000408: Recursion in an out of memory situation
DescriptionHi,

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
TagsNo tags attached.

Activities

lars

2005-11-25 00:43

reporter   ~0000422

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.

Issue History

Date Modified Username Field Change
2005-10-12 18:13 Gnomi New Issue
2005-11-25 00:43 lars Status new => resolved
2005-11-25 00:43 lars Fixed in Version => 3.3
2005-11-25 00:43 lars Resolution open => fixed
2005-11-25 00:43 lars Assigned To => lars
2005-11-25 00:43 lars Note Added: 0000422
2006-02-28 21:04 lars Status resolved => closed
2010-11-16 10:42 lars Source_changeset_attached => ldmud.git master 22201f5a
2010-11-16 10:42 lars Source_changeset_attached => ldmud.git master-3.2 622cddf2
2018-01-29 19:59 lars Source_changeset_attached => ldmud.git master 22201f5a
2018-01-29 19:59 lars Source_changeset_attached => ldmud.git master-3.2 622cddf2
2018-01-29 22:57 lars Source_changeset_attached => ldmud.git master 22201f5a
2018-01-29 22:57 lars Source_changeset_attached => ldmud.git master-3.2 622cddf2