OriginalBugID: 5907 Bug
Version: 8.3.1
SubmitDate: '2000-06-15'
LastModified: '2000-10-25'
Severity: CRIT
Status: UnAssn
Submitter: techsupp
OS: Windows 98
OSVersion: Windows 98 (4.10.1998)
Machine: Dell Optiplex GX1, PII-400, 128MB Ram
FixedDate: '2000-10-25'
ClosedDate: '2000-10-25'
Name:
Kelly Davis
Extensions:
None
CustomShell:
none
ReproducibleScript:
#The following script crashes in windows 98 (4.10.1998)
#It is running on Tcl/Tk 8.3.1, but also crashes on Tcl/Tk 8.2.3
#Load the package
package require dde
#Use servername command
dde servername crashDDE
#Get a list of services
set svcList [join [dde services {} {}]]
############################################################################
#If loopCount => 3 the message box is never displayed
#If loopCount == 2 the message box is displayed, but then wish crashes
#If loopCount == 1 the script executes without crashing
############################################################################
set loopCount 3
#Execute command on another interpreter
for {set i 0} {$i<$loopCount} {incr i} {dde eval wbd winfo children .}
#Display service list
tk_messageBox -message $svcList
exit
ObservedBehavior:
Crash with the following stack trace:
#WISH83 caused a general protection fault
#in module DDEML.DLL at 0002:00002a19.
#Registers:
#EAX=00000a20 CS=1697 EIP=00002a19 EFLGS=00000212
#EBX=00000a18 SS=4faf ESP=00007b06 EBP=00007b14
#ECX=00004bf7 DS=168f ESI=0000004c FS=0000
#EDX=8031c21e ES=4d66 EDI=00000a20 GS=0000
#Bytes at CS:EIP:
#8e c2 26 83 7f 04 00 74 3b 89 5e f6 8b 76 08 8b
#Stack dump:
#004c4bf7 c21e0000 00000000 7b30c21e 16972afa 7b520000 235a4faf 004c1697 4bf74d66 00110a18 #7b580000 16976267 1697235a 4faf7b52 4d66004c 0a180001
DesiredBehavior:
Shouldn't crash
Logged In: YES
user_id=99768
I'm wondering if there is anything unusual about the installation on the user's machine. I've just tried this
on a couple of machines, on 8.4a2, 8.3.2 and 8.2.1 varying loopCount as the requester suggested. In each
case, it ran cleanly. (I used a four-liner:
package require dde
dde servername wbd
tk appname wbd
grid [button .b -text Quit -command exit]
for the 'wbd' program, which the user did not supply.)