After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 139168 - jhbuild doesn't move to "configure" stage after CVS module checkout on Solaris
jhbuild doesn't move to "configure" stage after CVS module checkout on Solaris
Status: RESOLVED FIXED
Product: jhbuild
Classification: Infrastructure
Component: general
unspecified
Other Solaris
: Normal normal
: ---
Assigned To: James Henstridge
Jhbuild QA
Depends on:
Blocks:
 
 
Reported: 2004-04-05 18:22 UTC by David Nedrow
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
test-spawn.py (2.09 KB, text/plain)
2004-05-07 13:03 UTC, James Henstridge
Details

Description David Nedrow 2004-04-05 18:22:01 UTC
No matter which module I start with, jhbuild never move on to the configure
stage after checking the module out from CVS. It simply stalls fater the last
file is checked out and I have to kill the process from another terminal.
Comment 1 James Henstridge 2004-04-06 03:59:20 UTC
I added some code to do pretty-printing of CVS output, and that is probably what
is causing the problems.

It creates a pty to run "cvs update" in.  My guess is that it hangs waiting for
the exit status of the child.  Not knowing enough about Solaris, I'm not sure
how to fix this.
Comment 2 Henrik Holmboe 2004-04-29 18:34:03 UTC
Is there a known workaround? Like disable the pretty-printing.
Comment 3 James Henstridge 2004-04-30 01:32:10 UTC
I just checked in some code to add a pretty_print option to the ~/.jhbuildrc
file (defaulting to True).  Setting it to false should turn off the pretty printing.

I'd still like to know why it failed though.  It is probably quite a simple
problem ...
Comment 4 Henrik Holmboe 2004-05-02 22:48:23 UTC
After adding "pretty_print = None" to .jhbuildrc the problem is gone. Tell me
(i.e. send me email) if you need me to test anything more to find out the real
problem.

Thanks for your help!
Comment 5 James Henstridge 2004-05-07 13:01:13 UTC
Henrik or David: could you try out the test program I'm just about to attach. 
I'd like to know what the last message it prints is.  That will give some idea
about where things are hanging.
Comment 6 James Henstridge 2004-05-07 13:03:00 UTC
Created attachment 27470 [details]
test-spawn.py

A trimmed down version of the code used for the syntax highlighting,
instrumented with a number of print statements.
Comment 7 James Henstridge 2004-05-19 15:57:16 UTC
Have either of you had a chance to try out the test program since I attached it?
Comment 8 Henrik Holmboe 2004-05-20 16:55:16 UTC
This is the output (waited 5 minutes after it stoped printing):

bash-2.05$ bin/jhbuild build
Forked
Set stdin to raw mode
Set pty to non blocking mode
NetBackup-install.log  home                   platform
TT_DB                  kernel                 proc
bin                    lib                    sbin
cdrom                  lost+found             tmp
dev                    mnt                    usr
devices                net                    var
etc                    openpkg                vol
export                 opt                    xfn

Thanks for taking the time to have a look at this.
Comment 9 James Henstridge 2004-05-21 00:49:35 UTC
Okay, so that means that it is never detecting that it reached the end of the
output.  My guess is that when it reaches the end of the output, pty._copy() is
just reading empty strings and not raising an error like on Linux.
Comment 10 James Henstridge 2004-09-30 16:21:16 UTC
I've gotten rid of the pty code now.  It gives a slightly worse user experience
on Linux (process doesn't think it is running on a terminal, so buffers output),
but should be more reliable.