mayer@gmdzi.gmd.de (Hans Mayer) (03/19/91)
Environment: Sun 386i, os 4.0.2, X11R4 patchlevel 18 The recently posted tgif-2.1 is capable of crashing a sun386i color server. I don't know if it is a bug in the generic color code or if it is 386i specific because I have no other color system to test. The crash is not reproducible on a sun3/80 with b/w monitor and server. {venus:6} dbx /usr/local/bin/X11/Xsun core Reading symbolic information... Read 2017 symbols stack overwritten program terminated by signal SEGV (no mapping at the fault address) (dbx) where miPolyBuildEdge(0x0, 0x1, 0x0, 0x0, 0x0, 0x1e2, 0x70, 0x30, 0x1e0, 0x80, 0x1, 0xfbfffff0) at 0x5d725 miPolyBuildPoly(0xfbfffabc, 0xfbfffa7c, 0x3, 0x1e0, 0x80, 0xfbfffa08, 0xfbfff998, 0xfbfff994, 0xfbfff990, 0xfbfff988) at 0x5da9d warning: core file read error: data space address too high warning: core file read error: data space address too high miLineJoin() at 0x5dfc8 stack overwritten Any help appreciated. Thanks - Hans -- Hans J. Mayer, mayer@gmdzi.gmd.de (or mayer@ddagmd11.BITNET) German National Research Center for Computer Science (GMD)
di@athena.mit.edu (David Israel) (03/20/91)
In article <4343@gmdzi.gmd.de> mayer@gmdzi.gmd.de (Hans Mayer) writes: >Environment: >Sun 386i, os 4.0.2, X11R4 patchlevel 18 > >The recently posted tgif-2.1 is capable of crashing a sun386i color server. >I don't know if it is a bug in the generic color code or if it is 386i >specific because I have no other color system to test. >The crash is not reproducible on a sun3/80 with b/w monitor and server. > >{venus:6} dbx /usr/local/bin/X11/Xsun core >Reading symbolic information... >Read 2017 symbols >stack overwritten >program terminated by signal SEGV (no mapping at the fault address) >(dbx) where >miPolyBuildEdge(0x0, 0x1, 0x0, 0x0, 0x0, 0x1e2, 0x70, 0x30, 0x1e0, 0x80, 0x1, 0xfbfffff0) at 0x5d725 >miPolyBuildPoly(0xfbfffabc, 0xfbfffa7c, 0x3, 0x1e0, 0x80, 0xfbfffa08, 0xfbfff998, 0xfbfff994, 0xfbfff990, 0xfbfff988) at 0x5da9d >warning: core file read error: data space address too high >warning: core file read error: data space address too high >miLineJoin() at 0x5dfc8 >stack overwritten > >Any help appreciated. Thanks - Hans > I suspect that this is a 386i Server bug. By coincidence, I discovered today on a color 386i running SunOs 4.0.1 and X11R4, that the 3-D plotting program "pdraw" (available from export.lcs.mit.edu in "3dplot.tar.Z") causes a nearly identical core-dump: dbx /usr/local/X11R4/usr/bin/X11/Xsun core Reading symbolic information... Read 2028 symbols stack overwritten (dbx) where miPolyBuildEdge(0x0, 0x1, 0x0, 0x0, 0xffffffff, 0x80000000, 0x153, 0xffffffd3, 0 x153, 0x135, 0x1, 0xfbfffffc) at 0x5e35e miPolyBuildPoly(0xfbfffa20, 0xfbfff9e0, 0x3, 0x153, 0x135, 0xfbfff96c, 0xfbfff8f c, 0xfbfff8f8, 0xfbfff8f4, 0xfbfff8ec) at 0x5e6d1 warning: core file read error: data space address too high warning: core file read error: data space address too high miLineJoin() at 0x5ebfc stack overwritten (dbx) quit I have confirmed that pdraw has no trouble on at least one other server. Other than confirming that this is a bug in the 386i server, I'm not able to help -- has anybody fixed this? If not, would any server hackers care to venture a guess as to where the problem lies? Thanks. David Israel (di@hstbme.mit.edu)
mayer@gmdzi.gmd.de (Hans Mayer) (03/22/91)
I received a patch from Danny Backx that solves the crashing server problem
(Thanks Danny!).
I have applied it to my server but haven't had the time to look how it solves
the problem. Maybe a server guru could comment on it.
- Hans
*** mifillarc.c.orig Mon Jun 25 10:40:58 1990
--- mifillarc.c Thu Jan 3 13:41:47 1991
***************
*** 253,258 ****
--- 253,260 ----
k += edge->dy;
edge->dx <<= 1;
edge->dy <<= 1;
+ if (!edge->dx) goto vert; /* gross */
+ if (!edge->dy) goto horz; /* gross */
miGetArcEdge(arc, edge, k, top, left);
}
--
Hans J. Mayer, mayer@gmdzi.gmd.de (or mayer@ddagmd11.BITNET)
German National Research Center for Computer Science (GMD)