Thread View: gnu.epoch.misc
1 messages
1 total messages
Started by Mark Evans
Wed, 21 Aug 1991 23:24
Need help with Epoch crash on HP/Apollo
Author: Mark Evans
Date: Wed, 21 Aug 1991 23:24
Date: Wed, 21 Aug 1991 23:24
95 lines
4081 bytes
4081 bytes
Greetings.
I'm doing sysadmin for an Apollo network and have finally succeeded in
getting people to use Epoch. We've been running into a crash, the
traceback for which is shown below:
Program //tintagel/usr/local/bin/epoch
Status 00040004: reference to illegal address (OS/MST manager)
In routine "direct_output_for_insert" line 4294967284
Called from "command_loop_1" line 616
Called from "internal_condition_case" line 4
Called from "command_loop_2" line 13
Called from "internal_catch" offset 78
Called from "command_loop" line 1
Called from "Frecursive_edit" line 4294967290
Called from "main" line 55
Called from "unix_$main" line 114
Called from "_start" line 4294967288
Called from "PM_$CALL" line 176
Called from "pgm_$load_run" line 903
Called from "pgm_$invoke_uid_pn" line 1124
We are running Epoch 3.2 on a 400 series Apollo running DomainOS
SR10.3. Obviously some of the line numbers are bollixed. The
direct_output_for_insert routine that I built epoch with is shown
below. I would be most appreciative if someone in the know could tell
me whether this is a known problem. Are there any patches to the code
below (or elsewhere) that will prevent the crash? I wish I could tell
you how to reproduce the crash. We haven't figured that out yet.
Thanks!
/* --------------------------------------------------------------------- */
int
direct_output_for_insert (c)
int c;
{
register struct display_line *p = WS->phys_line[WS->cursor_y + 1];
#ifndef COMPILER_REGISTER_BUG
register
#endif /* COMPILER_REGISTER_BUG */
struct window *w = XWINDOW (selected_window);
#ifndef COMPILER_REGISTER_BUG
register
#endif /* COMPILER_REGISTER_BUG */
int hpos = WS->cursor_x;
/* Give up if about to continue line */
if (hpos - XFASTINT (w->left) + 1 + 1 >= XFASTINT (w->width)
/* Avoid losing if cursor is in invisible text off left margin */
|| XINT (w->hscroll) && hpos == XFASTINT (w->left)
/* Give up if cursor outside window (in minibuf, probably) */
|| WS->cursor_y < XFASTINT (w->top)
|| WS->cursor_x >= XFASTINT (w->top) + XFASTINT (w->height)
/* Give up if cursor not really at cursX, cursY */
|| !display_completed
/* Give up if w is minibuffer and a message is being displayed there */
|| EQ (selected_window, minibuf_window) && minibuf_message
/* if shared buffers, then it's going to fail too. */
|| buffer_shared > 1
)
return 0;
p->body[hpos] = c;
#ifdef BUTTON
p->attrib[hpos] =
hpos > 0 ? p->attrib[hpos-1] : get_button(bf_cur,point,0,0,0);
#endif
unchanged_modified = bf_modified;
beg_unchanged = bf_s1;
XFASTINT (w->last_point) = point;
XFASTINT (w->last_point_x) = WS->cursor_x;
XFASTINT (w->last_modified) = bf_modified;
reassert_line_highlight (0, WS->cursor_y);
write_chars (p->body + hpos, 1);
#ifndef CB
fflush (stdout);
#endif
++(WS->cursor_x);
p->length = max (p->length, WS->cursor_x);
p->body[p->length] = 0;
return 1;
}
/* --------------------------------------------------------------------- */
--
Mark S. Evans Tandem Telecommunications Systems Inc.
Phone: 214-516-6201 850 E. Central Parkway
Fax: 214-516-6801 Plano, TX 75074
Mail: mse@ttsi.lonestar.org
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads