mikew@uunet.uu.net (Mike Wexler) (03/24/91)
I have been having problem with Sun's X/News Server core dumping and I was wondering if anyone else has had these problem and if anyone knows a workaround. Sun has been contacted. Now the technical details, the problem occurs on Sun SPARCstation 1s with CG3 cards. It doesn't happen on a SPARCstation 1 with a CG6 (Lego) card in it. It happens with OpenWindows 2.0 on Sun OS 4.1.1. There are two reproducible cases, one of occurs when running a simple Motif 1.1 application (included below). The other involes using xterm and xclipboard from the MIT X11R4 release. To reproduce the second problem, bring up an xterm and display some text. Bring up xclipboard (don't resize or move it, use the Mit app-defaults). Select several lines of text in the xterm by pushing mouse button 1 down at the beginning of a line and dragging the mouse straight down to the beginning of another line that is several lines down. Then paste the selection into the xclipboard with the middle button. This problem will only happen if the above sequence is followed very precisely. Here is the small Motif program: #--------------------------Cut Here-------------------------- #! /bin/sh # This is a shell archive. Remove anything before the "#! /bin/sh" line, # then unpack it by saving it in a file and typing "sh file." # # Wrapped by Mike Wexler (mikew) at neptune on Thu Mar 21 12:19:30 1991 # # unpacks with default permissions # # Contents : Makefile init.c initX.c # if `test ! -s Makefile` then echo "x - Makefile" sed 's/^X//' > Makefile << '@EOF' XOBJS=init.o initX.o XCFLAGS=-g -I/usr/aws/h -D_NO_PROTO XLIBS=/usr/aws/lib/sun4/libXm.a /usr/aws/lib/sun4/libXt.a /usr/share/openwin/lib/libX11.a XnewsCrash: $(OBJS) X cc -o $@ $(OBJS) $(LIBS) X @EOF else echo "shar: Will not over write Makefile" fi if `test ! -s init.c` then echo "x - init.c" sed 's/^X//' > init.c << '@EOF' X#ifndef lint Xstatic char rcsid[] = "@(#)$Header: init.c,v 1.13 91/03/04 15:49:22 mikew Locked $"; X#endif X X/* X * Initialization for the folderTest program. X * X * Copyright (c) 1990 FXD/Telerate, Inc. All Rights Reserved. X * X */ X X#include <sys/param.h> X X#include <X11/Intrinsic.h> X X X X/* X * Initialize the panels and data structures used by each of the X * panels in the system administration function. X */ X X/* ARGSUSED */ Xmain(argc, argv) X int argc; X char *argv[]; X{ X static char func[] = "udInitialize"; X Widget topLevelWidget; X X topLevelWidget = XtInitialize("newsCrash", "NewsCrash", NULL, 0, X &argc, argv, NULL, 0); X if (topLevelWidget == NULL) { X exit (-1); X } X initX(topLevelWidget); X XtMainLoop(); X exit (0); X} X @EOF else echo "shar: Will not over write init.c" fi if `test ! -s initX.c` then echo "x - initX.c" sed 's/^X//' > initX.c << '@EOF' X/* X * $Description: Initialization routines for panels & keyword lib initialize$ X * X * $CopyLeft:Copyright (c) 1990 FXD/Telerate, Inc. All Rights Reserved.$ X */ X X#ifndef lint X static char rcsid[] = "$Header: initX.c,v 1.11 91/03/04 15:49:23 mikew Locked $"; X#endif not lint X X X#include <X11/Intrinsic.h> X#include <X11/StringDefs.h> X#include <X11/keysymdef.h> X#include <Xm/Xm.h> X#include <Xm/PushB.h> X#include <Xm/RowColumn.h> X X#include "stdTypes.h" X XWidget folderNameWidget; X X/*ARGSUSED*/ Xstatic Xvoid XCrashCB(clientData, id) X XtPointer clientData; X XtIntervalId id; X{ X static char func[] = "CrashCB"; X char *name; X int itemNum; X Widget w1; X Widget menuPane; X X name = "Worksheets"; X XtVaGetValues(folderNameWidget, X XmNsubMenuId, &menuPane, X NULL); X w1 = XtVaCreateManagedWidget X (name, xmPushButtonWidgetClass, menuPane, X XtVaTypedArg, XmNlabelString, XmRString, name, strlen(name), X NULL); X XtManageChild(w1); X X XtVaSetValues(folderNameWidget, X XmNmenuHistory, w1, X NULL); X return; X} X/* X * Description: Create my widgets. X * X */ X XASStatus XinitX(topLevel) XWidget topLevel; X{ X Arg args[10]; X int n; X Widget form; X Widget w; X XmString xmString; X X n = 0; X XtSetArg(args[n], XmNallowShellResize, True); n++; X XtSetValues(topLevel, args, n); X X X xmString = XmStringCreateSimple(""); X folderNameWidget = X XmVaCreateSimpleOptionMenu(topLevel, "folderName", xmString, X XK_VoidSymbol, X 0, NULL, X NULL); X XtManageChild(folderNameWidget); X XmStringFree(xmString); X X XtAddTimeOut(1000, CrashCB, NULL); X X XtRealizeWidget(topLevel); X return(0); X} X @EOF else echo "shar: Will not over write initX.c" fi # to concatenate archives, remove anything after this line exit 0 Mike Wexler (mikew@fx.com)