# This version crashes. package require Tclsdl set screen [sdl::surface -width 640 -height 480 -bpp 32] vwait forever # This version does not crash. package require Tclsdl package require Tk set screen [sdl::surface -width 640 -height 480 -bpp 32] vwait forever # This version does not crash. package require Tclsdl set screen [sdl::surface -width 640 -height 480 -bpp 32] catch {wm withdraw .} vwait forever # Here is an excerpt from the backtrace: #0 0x00007ffff70b95d1 in ?? () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007ffff7b86849 in Tcl_DStringAppend (dsPtr=0x7fffffffd7c0, bytes=0x0, length=-1) at /home/ben/local/distfiles/tcl8.5.9/unix/../generic/tclUtil.c:1838 #2 0x00007ffff57690cd in Tclsdl_BackgroundEvalObjv (interp=0x618df0, objc=2, objv=0x7fffffffd910, flags=0) at ./generic/bgeval.c:43 #3 0x00007ffff5767eca in BgEvalObjv (interp=0x618df0, objc=2, objv=0x7fffffffd910) at ./generic/tclsdl.c:22 #4 0x00007ffff576812f in EventProc (eventPtr=0x6b43a0, flags=-3) at ./generic/tclsdl.c:60 #5 0x00007ffff7b57014 in Tcl_ServiceEvent (flags=-3) at /home/ben/local/distfiles/tcl8.5.9/unix/../generic/tclNotify.c:677 #6 0x00007ffff7b5748b in Tcl_DoOneEvent (flags=-3) at /home/ben/local/distfiles/tcl8.5.9/unix/../generic/tclNotify.c:980 #7 0x00007ffff7b0cf38 in Tcl_VwaitObjCmd (clientData=0x0, interp=0x618df0, objc=2, objv=0x61d100) at /home/ben/local/distfiles/tcl8.5.9/unix/../generic/tclEvent.c:1349 #8 0x00007ffff7aaa75c in TclEvalObjvInternal (interp=0x618df0, objc=2, objv=0x61d100, command=0x629b48 "vwait forever\n", length=14, flags=0) at /home/ben/local/distfiles/tcl8.5.9/unix/../generic/tclBasic.c:3689 ...