HI!

Martin and I have been talking about a problem in RECORD. I don't know
wether the refered problem is that problem or not, but I figure it is.
...However, there seems to be a problem with RECORD wether refered to by
Martin or not.



When using RECORD to record either some "delivered event" or some
"error" the X server sometimes crashes, but not always when recording
both of them.

So far I have made sure that my RECORD ranges are getting to the server
as they should (they are), using fprintf. I am __almost__ sure that the
problem is in RECORD. I don't know if it is of any help but I've found
that "delivered event" and "error" are handled inside the RECORD
extension by the same function:

src/xc/programs/Xserver/record/module/record.c:
.....
static void
RecordADeliveredEventOrError(pcbl, nulldata, calldata)
    CallbackListPtr *pcbl;
    pointer nulldata;
    pointer calldata;
......


I am implementing a record/replay tool for X, called Xnee. You can use
that if want to track down the problem. Just change*** my workaround in
the function:
        int
        xnee_add_range (xnee_data* xd,
                int type,
                int start,
                int stop)
as found in the file:
        src/lib/xnee_record.c
Xnee can be found at http://sourceforge.net/projects/xnee ****

I will do all I can to help you (or do it myself :) to get rid of this
problem. I have been too busy fixing a (to Xnee) more important problem 
to dive deeper into the RECORD "problem" :(

I have a fresh installation of Solaris8* on a x86. I will continue to
test if X crashes there. 

... my sick daughter just woke up. I send the letter allthough it is not
finished to give you all the informtion I have...... (It seems as if my
daughter will become a programmer. She is very keen on helping me with
this mail :)



Best regards, Henrik



*) I think Sun's X is based on the X.org code and not XFree86**
**) yes, I know what XFree86 is based upon ;).
****) Don't use the configure script if you download the CVS tree.
Remove it and make a new one 




***) Remove the following lines of code
...
      /* Workaround for problem with crashing X server*/
      xd->xnee_info->data_ranges[XNEE_ERROR]++;
      xd->record_setup->range_array[alloc_nr]->errors.first = BadCursor;
      xd->record_setup->range_array[alloc_nr]->errors.last = BadCursor;
...
      /* Workaround for problem with crashing X server*/
      xd->record_setup->range_array[alloc_nr]->delivered_events.first
=33 ;
      xd->record_setup->range_array[alloc_nr]->delivered_events.last =
33;
      xd->xnee_info->data_ranges[XNEE_DELIVERED_EVENT]++;



On Fri, 2002-10-11 at 21:50, Mark Vojkovich wrote:
> On Fri, 11 Oct 2002, Martin Ding wrote:
> 
> > I met a problem about one extension, which contains server side and
> > client side. I just doubt the extension has some problem. But reading
> > source code make me sick and faid to find anything I need. 
> > So, Is there any way to debug the extension? For example, XTEST
> > extension.
> 
>    What sort of problem are you having?  If you have the XFree86
> modified version of gdb you can debug XFree86 modules.  But a
> description of the problems you are having may allow us to 
> give you some hints.
> 
> 
>                       Mark.
> _______________________________________________
> Xpert mailing list
> [EMAIL PROTECTED]
> http://XFree86.Org/mailman/listinfo/xpert
-- 
Henrik Sandklef <[EMAIL PROTECTED]>
private

_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to