[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Solaris 5.8 version doesn't run anymore

From: Klaus Zeitler
Subject: Re: Solaris 5.8 version doesn't run anymore
Date: Wed, 11 Jun 2008 09:42:35 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (usg-unix-v)

about 2 weeks ago I wrote about the following problem. I hope one of our
experts can give me a few hints how to track this down. I have no idea
when this problem was introduced since this was my first build for more than 3
months. Anybody else using CVS emacs on Solaris 5.8?

>>>>> "Klaus" == Klaus Zeitler <address@hidden> writes:
    Klaus> Hello,
    Klaus> the CVS version hangs at startup under Solaris 5.8.
    Klaus> When I debug emacs, I see that emacs wont return from the select call
    Klaus> in function wait_reading_process_output (line 4584).
    Klaus> More exactly it will return after the timeout of 100000 seconds 
    Klaus> that's a bit too long for me to wait).
    Klaus> Here's a debug session:
    Klaus> GNU gdb 6.5
    Klaus> Copyright (C) 2006 Free Software Foundation, Inc.
    Klaus> GDB is free software, covered by the GNU General Public License, and 
you are
    Klaus> welcome to change it and/or distribute copies of it under certain 
    Klaus> Type "show copying" to see the conditions.
    Klaus> There is absolutely no warranty for GDB.  Type "show warranty" for 
    Klaus> This GDB was configured as "sparc-sun-solaris2.8"...
    Klaus> DISPLAY = sfsw51.de.lucent.com:0
    Klaus> TERM = dumb
    Klaus> Breakpoint 1 at 0x1993ac: file 
/vol/freeware/cvs/emacs/head/emacs/src/emacs.c, line 427.
    Klaus> Breakpoint 2 at 0x1cac08: file 
/vol/freeware/cvs/emacs/head/emacs/src/sysdep.c, line 1322.
    Klaus> (gdb) b wait_reading_process_output
    Klaus> Breakpoint 3 at 0x2eadc8: file 
/vol/freeware/cvs/emacs/head/emacs/src/process.c, line 4264.
    Klaus> (gdb) R -Q
    Klaus> Breakpoint 3, wait_reading_process_output (time_limit=0, 
    Klaus>     read_kbd=-1, do_display=1, wait_for_cell=5142529, wait_proc=0x0, 
    Klaus>     just_wait_proc=0) at 
    Klaus> Breakpoint 4 at 0x2ebbf8: file 
/vol/freeware/cvs/emacs/head/emacs/src/process.c, line 4584.
    Klaus> (gdb) c
    Klaus> Breakpoint 4, wait_reading_process_output (time_limit=0, 
    Klaus>     read_kbd=-1, do_display=1, wait_for_cell=5142529, wait_proc=0x0, 
    Klaus>     just_wait_proc=0) at 
    Klaus> (gdb) p timeout
    Klaus> $1 = {
    Klaus>   tv_sec = 100000, 
    Klaus>   tv_usec = 0
    Klaus> }
    Klaus> (gdb) bt
    Klaus> #0  wait_reading_process_output (time_limit=0, microsecs=0, 
    Klaus>     do_display=1, wait_for_cell=5142529, wait_proc=0x0, 
    Klaus>     at /vol/freeware/cvs/emacs/head/emacs/src/process.c:4595
    Klaus> #1  0x001a7a4c in kbd_buffer_get_event (kbp=0xffbedde0, 
    Klaus>     used_mouse_menu=0xffbee03c, end_time=0x0)
    Klaus>     at /vol/freeware/cvs/emacs/head/emacs/src/keyboard.c:4087
    Klaus> #2  0x001a479c in read_char (commandflag=1, nmaps=2, 
    Klaus>     prev_event=5142529, used_mouse_menu=0xffbee03c, end_time=0x0)
    Klaus>     at /vol/freeware/cvs/emacs/head/emacs/src/keyboard.c:3041
    Klaus> #3  0x001b4014 in read_key_sequence (keybuf=0xffbee1c0, bufsize=30, 
    Klaus>     prompt=5142529, dont_downcase_last=0, can_return_switch_frame=1, 
    Klaus>     fix_current_buffer=1)
    Klaus>     at /vol/freeware/cvs/emacs/head/emacs/src/keyboard.c:9443
    Klaus> #4  0x0019f004 in command_loop_1 ()
    Klaus>     at /vol/freeware/cvs/emacs/head/emacs/src/keyboard.c:1651
    Klaus> #5  0x002713f8 in internal_condition_case (bfun=0x19ea64 
    Klaus>     handlers=5210281, hfun=0x19df58 <cmd_error>)
    Klaus>     at /vol/freeware/cvs/emacs/head/emacs/src/eval.c:1506
    Klaus> #6  0x0019e570 in command_loop_2 ()
    Klaus>     at /vol/freeware/cvs/emacs/head/emacs/src/keyboard.c:1367
    Klaus> #7  0x00270ba0 in internal_catch (tag=5206353, 
    Klaus>     func=0x19e544 <command_loop_2>, arg=5142529)
    Klaus>     at /vol/freeware/cvs/emacs/head/emacs/src/eval.c:1242
    Klaus> #8  0x0019e4ec in command_loop ()
    Klaus>     at /vol/freeware/cvs/emacs/head/emacs/src/keyboard.c:1346
    Klaus> #9  0x0019d7e8 in recursive_edit_1 ()
    Klaus>     at /vol/freeware/cvs/emacs/head/emacs/src/keyboard.c:955
    Klaus> #10 0x0019da9c in Frecursive_edit ()
    Klaus>     at /vol/freeware/cvs/emacs/head/emacs/src/keyboard.c:1017
    Klaus> #11 0x0019b658 in main (argc=2, argv=0xffbee7a4)
    Klaus>     at /vol/freeware/cvs/emacs/head/emacs/src/emacs.c:1770
    Klaus> (gdb) 
    Klaus> Just for fun I've changed the timeout initialization in line 4342
    Klaus>        EMACS_SET_SECS_USECS (timeout, 100000, 0);
    Klaus> to
    Klaus>        EMACS_SET_SECS_USECS (timeout, 0, 100000);
    Klaus> The select call will now return immediately, but that doesn't help 
    Klaus> cause emacs doesn't seem to leave the big while loop in this function
    Klaus> and tries the select call over and over again. See line 4749:
    Klaus>       if (no_avail || nfds == 0)
    Klaus>      continue;
    Klaus> Unfortunately this function goes way over my had (for a quick glance
    Klaus> anyway). Maybe we shouldn't get there in the first place?

|  Klaus Zeitler      Alcatel-Lucent               |
|  Email:             address@hidden  |
It is easier to get forgiveness than permission.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]