public inbox for linux-msdos@vger.kernel.org
 help / color / mirror / Atom feed
From: Peter Jay Salzman <p@dirac.org>
To: linux-msdos@vger.kernel.org
Subject: segfault with backtrace and information
Date: Sun, 8 Dec 2002 12:30:22 -0800	[thread overview]
Message-ID: <20021208203022.GA5036@dirac.org> (raw)

dosemu consistantly segfaults on one of my machines.

i'm using version 1.1.3.7 with the experimental sound patches under
vanilla 2.4.20.  machine arch is AMD athlon 1st generation 1.4 GHz with
a 1st generation ATI radeon.

the machine didn't oops.

backtrace is follows:

   lucifer# gdb /usr/local/bin/dos-debug 
   (gdb) run
   Starting program: /usr/local/bin/dos-debug 
   Linux kernel 2.4.19; CPU speed is 1300264000 Hz
   Dosemu-1.1.3.7 Running on CPU=586, FPU=1
   
   Program received signal SIGSEGV, Segmentation fault.
   0x080aeda4 in real_yylex (yylval=0x4d003b) at lexer.l:707
   707                                     yylval->s_value = strdup(&yytext[1]);
   (gdb) bt
   #0  0x080aeda4 in real_yylex (yylval=0x4d003b) at lexer.l:707
   #1  0x08107251 in _IO_stdin_used ()

the area of code:

   (gdb) l 707
   702     {STRQUOTELESS}          MAY_BEFORME {
   703                               yylval->s_value = strdup(yytext);
   704                               EXPRTYPE(yylval->s_value) = TYPE_STRQUOTELESS;
   705                               return(STRING); }
   706     ${IDENT}                MAY_BE {
   707                                     yylval->s_value = strdup(&yytext[1]);
   708                                     EXPRTYPE(yylval->s_value) =
   TYPE_STRQUOTELESS;
   709                                     return(VARIABLE);
   710                             }
   711     $${IDENT}               MAY_BE { enter_macrofile(&yytext[2]);}

   (gdb) printf "%s", &yytext[1]
   _DOSEMU_ORIG_PATH(gdb) 
   
   (gdb) printf "%s", strdup(&yytext[1])
   _DOSEMU_ORIG_PATH(gdb) 
   
   (gdb) printf "%s", yylval->s_value
   Cannot access memory at address 0x4d003b
   
   (gdb) printf "%s", yylval->s_value
   Cannot access memory at address 0x4d003b
   
   (gdb) ptype yylval->s_value
   type = char *
   
   (gdb) p yylval->s_value = strdup(&yytext[1]) 
   Cannot access memory at address 0x4d003b

i'm a bit confused at this point.  it looks like the address returned by
strdup is no good, but i have no idea how that can be.

strace provides no help:

   write(2, "Linux kernel 2.4.19; CPU speed i"..., 48) = 48
   write(2, "Dosemu-1.1.3.7 Running on CPU=58"..., 41) = 41
   brk(0x832d000)                          = 0x832d000
   --- SIGSEGV (Segmentation fault) ---
   +++ killed by SIGSEGV +++

ltrace output pretty much confirms what the backtrace said:

   strcmp("parser_version_3", "h_lucifer")           = 8
   strcmp("parser_version_3", "c_all")               = 13
   strcmp("parser_version_3", "parser_version_3")    = 0
   strchr(""/etc/dosemu.conf"", '\n')                = NULL
   __strdup(0x08329490, 10, 0, 0x080aa782, 0x08107251) = 0x0832cb78
   --- SIGSEGV (Segmentation fault) ---
   +++ killed by SIGSEGV +++


dosemu works fine on my other machines.  this seems to be a problem with
this machine only, but nothing about this looks arch dependent to me.

any suggestions?

pete


-- 
Fingerprint: B9F1 6CF3 47C4 7CD8 D33E 70A9 A3B9 1945 67EA 951D

             reply	other threads:[~2002-12-08 20:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-08 20:30 Peter Jay Salzman [this message]
2002-12-08 20:31 ` segfault with backtrace and information Peter Jay Salzman
2002-12-14 13:23 ` Emmanuel Jeandel
  -- strict thread matches above, loose matches on Subject: below --
2002-12-09 17:34 Stas Sergeev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20021208203022.GA5036@dirac.org \
    --to=p@dirac.org \
    --cc=linux-msdos@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox