[comp.windows.x] xrn core dump

stolcke@icsi.Berkeley.EDU (Andreas Stolcke) (02/03/90)

In article <21696@pasteur.Berkeley.EDU>, ricks@shambhala.Berkeley.EDU
(Rick L Spickelmier) writes:
> 
> Also, I'm getting bug reports that XRN 6.5 is dumping core inside
> of XawPanedSetRefigureMode on SUN's and HP's.  Has anybody else seen this?
> 
I can the confirm the segm. viol. inside XawPanedSetRefigureMode,
seen on Sun3/SunOS3.5 every time you try to enter a newsgroup.

Now comes the interesting part:
On Sun4/SunOS4.0.3 everything is fine, EXCEPT when you link things
statically (i.e. don't use shared libs).

Apparently shared libs not only save space but also make programs more
robust against addressing bugs...-:)

----
Andreas Stolcke
International Computer Science Institute	stolcke@icsi.Berkeley.EDU
1957 Center St., Suite 600, Berkeley, CA 94704	(415) 642-4274 ext. 126

ricks@fraud.Berkeley.EDU (Rick L. Spickelmier) (02/03/90)

You can work around the xrn core dump problem on suns and 
hps by commenting out the calls to XawPanedConfigureMode
in buttons.c (2 groups of 2 calls).  I have tested this
out on a sparcstation 1 using static and dynamic libraries.
The opening screen is a little screwed up, but everything
else is fine.

Note that this code runs just fine on DECStations and under
Saber.... (it's time to load Xt and Xaw in source form into
saber).

				Rick

aw@cellar.bellcore.com (Andrew Wason) (02/08/90)

In article <21719@pasteur.Berkeley.EDU>, ricks@fraud.Berkeley.EDU (Rick
L. Spickelmier) writes:
> You can work around the xrn core dump problem on suns and 
> hps by commenting out the calls to XawPanedConfigureMode
> in buttons.c (2 groups of 2 calls).  I have tested this
> out on a sparcstation 1 using static and dynamic libraries.
> The opening screen is a little screwed up, but everything
> else is fine.

The problem is XawPanedConfigureMode() is being
passed a widget of class boxWidgetClass when it
expects panedWidgetClass.

Patches to xrn follow.

------------
Andrew Wason
Bellcore
aw@cellar.bae.bellcore.com
bellcore!cellar!aw



*** buttons.c.orig      Tue Feb  6 09:22:14 1990
--- buttons.c   Tue Feb  6 10:57:26 1990
***************
*** 998,1005 ****

  #ifndef R3
      XawTextDisableRedisplay(ArticleText);
!     XawPanedSetRefigureMode(TopButtonBox, False);
!     XawPanedSetRefigureMode(BottomButtonBox, False);
  #endif

      /*
--- 998,1005 ----

  #ifndef R3
      XawTextDisableRedisplay(ArticleText);
!     XawPanedSetRefigureMode(XtParent(TopButtonBox), False);
!     XawPanedSetRefigureMode(XtParent(BottomButtonBox), False);
  #endif

      /*
***************
*** 1160,1167 ****
        ehErrorExitXRN(error_buffer);
      }
  #ifndef R3
!     XawPanedSetRefigureMode(TopButtonBox, True);
!     XawPanedSetRefigureMode(BottomButtonBox, True);
      XawTextEnableRedisplay(ArticleText);
  #endif
      return;
--- 1160,1167 ----
        ehErrorExitXRN(error_buffer);
      }
  #ifndef R3
!     XawPanedSetRefigureMode(XtParent(TopButtonBox), True);
!     XawPanedSetRefigureMode(XtParent(BottomButtonBox), True);
      XawTextEnableRedisplay(ArticleText);
  #endif
      return;