If I am in the root directory of a drive and I type "cd
.." dosbox crashes with the following error:
Fatal signal: Segmentation Fault (SDL Parachute Deployed)
Bug is reproducable on my system. I Just run dosbox
and type "cd .."
I'm running dosbox 0.63 on SuSE 9.3 for x86_64. I'm
not running any special options for dosbox...I simply
installed the rpm and found that "cd .." from the root
directory crashed dosbox.
rpm package is here:
ftp://mirrors.mathematik.uni-bielefeld.de/pub/suse/apt/SuSE/9.3-x86_64/RPMS.base/dosbox-0.63-3.x86_64.rpm
/proc/cpuinfo is:
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 43
model name : AMD Athlon(tm) 64 X2 Dual Core
Processor 4600+
stepping : 1
cpu MHz : 1005.157
cache size : 512 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8
apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr
sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext
3dnow pni lahf_lm cmp_legacy
bogomips : 2012.37
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp
processor : 1
vendor_id : AuthenticAMD
cpu family : 15
model : 43
model name : AMD Athlon(tm) 64 X2 Dual Core
Processor 4600+
stepping : 1
cpu MHz : 1005.157
cache size : 512 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8
apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr
sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext
3dnow pni lahf_lm cmp_legacy
bogomips : 2012.37
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp
Logged In: YES
user_id=535630
I can't reproduce the bug.
could you run it in gdb to see where it crashes. Although
I'm not if rpm come with debug information.
Logged In: YES
user_id=854801
Using today's cvs, it still crashes.
backtrace is:
0 0x0000000000456c03 in DOS_MakeName (name=<value
optimized out>, fullname=0x7fffff8a8290 "", drive=<value optimized="" out="">) at dos_files.cpp:138
1 0x0000000000457172 in DOS_ChangeDir (dir=0x7fffff8a8290
"") at dos_files.cpp:189
2 0x00000000004f8e1c in DOS_Shell::CMD_CHDIR
(this=0x2cb1a20, args=0x7fffff8a9403 "..") at shell_cmds.cpp:261
3 0x00000000004f824c in DOS_Shell::DoCommand
(this=0x2cb1a20, line=0x7fffff8a9402 " ..") at
shell_cmds.cpp:109
4 0x00000000004f4b3b in DOS_Shell::ParseLine
(this=0x2cb1a20, line=0x7fffff8a9400 "cd ..") at shell.cpp:246
5 0x00000000004f5faa in DOS_Shell::Run (this=0x2cb1a20) at
shell.cpp:322
6 0x00000000004f5619 in SHELL_Init () at shell.cpp:608
7 0x00000000004a1b3b in main (argc=<value optimized="" out="">,
argv=<value optimized="" out="">) at sdlmain.cpp:1461
qbix79, to test try running "cd .." at the dosbox launch
"Z:>" prompt
Logged In: YES
user_id=535630
Should be fixed now:
Index: dos_files.cpp
===================================================================
RCS file: /cvsroot/dosbox/dosbox/src/dos/dos_files.cpp,v
retrieving revision 1.77
diff -u -r1.77 dos_files.cpp
--- dos_files.cpp 18 Jul 2006 15:31:29 -0000 1.77
+++ dos_files.cpp 5 Aug 2006 10:37:50 -0000
@@ -122,7 +122,7 @@
continue;
}
bool dots = true;
Bit32u templen =strlen(tempdir);
for(iDown=0;(iDown < templen) &&
dots;iDown++)