Opened 10 years ago
Closed 10 years ago
#44253 closed defect (worksforme)
gtk2 @2.24.23 stuck during install
Reported by: | frederic.stark@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | gtk2 |
Description (last modified by neverpanic (Clemens Lang))
Each time I try to install gtk2, it is stuck forever in "---> Building gtk2" with g-ir-scanner using 100% cpu. This happens even with -b for binray install. It makes install of anything that depends on gtk2 impossible. I let it ran several hours with no discernable change.
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /opt/local/bin/g-ir-scanner --add-include-path=../gdk --namespace=Gtk --nsversion=2.0 --libtool=/bin/sh ../libtool --include=Atk-1.0 --include=Gdk-2.0 --library=libgtk-x11-2.0.la --warn-all --add-include-path=../gdk --add-include-path=../gdk/x11 -DG_LOG_DOMAIN="Gtk" -DGTK_LIBDIR="/opt/local/lib" -DGTK_DATADIR="/opt/local/share" -DGTK_DATA_PREFIX="/opt/local" -DGTK_SYSCONFDIR="/opt/local/etc" -DGTK_VERSION="2.24.23" -DGTK_BINARY_VERSION="2.10.0" -DGTK_HOST="x86_64-apple-darwin13.0.0" -DGTK_COMPILATION -DGTK_PRINT_BACKENDS="file,cups" -DGTK_PRINT_PREVIEW_COMMAND="evince --unlink-tempfile --preview --print-settings %s %f" -I.. -I../gtk -I.. -I../gdk -I../gdk -DGTK_DISABLE_DEPRECATED -DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED -DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -DG_DISABLE_CAST_CHECKS -D_REENTRANT -I/opt/local/include/pango-1.0 -I/opt/local/include/gio-unix-2.0/ -I/opt/local/include -I/opt/local/include/cairo -I/opt/local/include/atk-1.0 -I/opt/local/include/cairo -I/opt/local/include/pixman-1 -I/opt/local/include/libpng16 -I/opt/local/include -I/opt/local/include/gdk-pixbuf-2.0 -I/opt/local/include/libpng16 -I/opt/local/include/pango-1.0 -I/opt/local/include/harfbuzz -I/opt/local/include/pango-1.0 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include/freetype2 -UGDK_DISABLE_DEPRECATED -UGTK_DISABLE_DEPRECATED -DGTK_TEXT_USE_INTERNAL_UNSUPPORTED_API gtk.h gtkaboutdialog.h gtkaccelgroup.h gtkaccellabel.h gtkaccelmap.h gtkaccessible.h gtkaction.h gtkactiongroup.h gtkactivatable.h gtkadjustment.h gtkalignment.h gtkarrow.h gtkaspectframe.h gtkassistant.h gtkbbox.h gtkbin.h gtkbindings.h gtkbox.h gtkbuilder.h gtkbuildable.h gtkbutton.h gtkcalendar.h gtkcelleditable.h gtkcelllayout.h gtkcellrenderer.h gtkcellrendereraccel.h gtkcellrenderercombo.h gtkcellrendererpixbuf.h gtkcellrendererprogress.h gtkcellrendererspin.h gtkcellrendererspinner.h gtkcellrenderertext.h gtkcellrenderertoggle.h gtkcellview.h gtkcheckbutton.h gtkcheckmenuitem.h gtkclipboard.h gtkcolorbutton.h gtkcolorsel.h gtkcolorseldialog.h gtkcombobox.h gtkcomboboxentry.h gtkcomboboxtext.h gtkcontainer.h gtkdebug.h gtkdialog.h gtkdnd.h gtkdrawingarea.h gtkeditable.h gtkentry.h gtkentrybuffer.h gtkentrycompletion.h gtkenums.h gtkeventbox.h gtkexpander.h gtkfilechooser.h gtkfilechooserbutton.h gtkfilechooserdialog.h gtkfilechooserwidget.h gtkfilefilter.h gtkfixed.h gtkfontbutton.h gtkfontsel.h gtkframe.h gtkgc.h gtkhandlebox.h gtkhbbox.h gtkhbox.h gtkhpaned.h gtkhruler.h gtkhscale.h gtkhscrollbar.h gtkhseparator.h gtkhsv.h gtkiconfactory.h gtkicontheme.h gtkiconview.h gtkimage.h gtkimagemenuitem.h gtkimcontext.h gtkimcontextsimple.h gtkimmodule.h gtkimmulticontext.h gtkinfobar.h gtkinvisible.h gtkitem.h gtklabel.h gtklayout.h gtklinkbutton.h gtkliststore.h gtkmain.h gtkmenu.h gtkmenubar.h gtkmenuitem.h gtkmenushell.h gtkmenutoolbutton.h gtkmessagedialog.h gtkmisc.h gtkmodules.h gtkmountoperation.h gtknotebook.h gtkobject.h gtkoffscreenwindow.h gtkorientable.h gtkpagesetup.h gtkpaned.h gtkpapersize.h gtkplug.h gtkprintcontext.h gtkprintoperation.h gtkprintoperationpreview.h gtkprintsettings.h gtkprivate.h gtkprogressbar.h gtkradioaction.h gtkradiobutton.h gtkradiomenuitem.h gtkradiotoolbutton.h gtkrange.h gtkrc.h gtkrecentaction.h gtkrecentchooser.h gtkrecentchooserdialog.h gtkrecentchoosermenu.h gtkrecentchooserwidget.h gtkrecentfilter.h gtkrecentmanager.h gtkruler.h gtkscale.h gtkscalebutton.h gtkscrollbar.h gtkscrolledwindow.h gtkselection.h gtkseparator.h gtkseparatormenuitem.h gtkseparatortoolitem.h gtkshow.h gtksettings.h gtksizegroup.h gtksocket.h gtkspinbutton.h gtkspinner.h gtkstatusbar.h gtkstatusicon.h gtkstock.h gtkstyle.h gtktable.h gtktearoffmenuitem.h gtktestutils.h gtktextbuffer.h gtktextbufferrichtext.h gtktextchild.h gtktextdisplay.h gtktextiter.h gtktextmark.h gtktexttag.h gtktexttagtable.h gtktextview.h gtktoggleaction.h gtktogglebutton.h gtktoggletoolbutton.h gtktoolbar.h gtktoolbutton.h gtktoolitem.h gtktoolitemgroup.h gtktoolpalette.h gtktoolshell.h gtktooltip.h gtktreednd.h gtktreemodel.h gtktreemodelfilter.h gtktreemodelsort.h gtktreeselection.h gtktreesortable.h gtktreestore.h gtktreeview.h gtktreeviewcolumn.h gtktypeutils.h gtkuimanager.h gtkvbbox.h gtkvbox.h gtkviewport.h gtkvolumebutton.h gtkvpaned.h gtkvruler.h gtkvscale.h gtkvscrollbar.h gtkvseparator.h gtkwidget.h gtkwindow.h gtktext.h gtktree.h gtktreeitem.h gtkclist.h gtkcombo.h gtkctree.h gtkcurve.h gtkfilesel.h gtkgamma.h gtkinputdialog.h gtkitemfactory.h gtklist.h gtklistitem.h gtkoldeditable.h gtkoptionmenu.h gtkpixmap.h gtkpreview.h gtkprogress.h gtksignal.h gtktipsquery.h gtktooltips.h gtktextlayout.h gtkmarshal.h gtktypebuiltins.h gtkversion.h gtkquery.c gtksearchengine.c gtksearchenginesimple.c fnmatch.c gtkaboutdialog.c gtkaccelgroup.c gtkaccellabel.c gtkaccelmap.c gtkaccessible.c gtkaction.c gtkactiongroup.c gtkactivatable.c gtkadjustment.c gtkalignment.c gtkarrow.c gtkaspectframe.c gtkassistant.c gtkbbox.c gtkbin.c gtkbindings.c gtkbox.c gtkbuildable.c gtkbuilder.c gtkbuilderparser.c gtkbutton.c gtkcalendar.c gtkcelleditable.c gtkcelllayout.c gtkcellrenderer.c gtkcellrendereraccel.c gtkcellrenderercombo.c gtkcellrendererpixbuf.c gtkcellrendererprogress.c gtkcellrendererspin.c gtkcellrendererspinner.c gtkcellrenderertext.c gtkcellrenderertoggle.c gtkcellview.c gtkcheckbutton.c gtkcheckmenuitem.c gtkcolorbutton.c gtkcolorsel.c gtkcolorseldialog.c gtkcombobox.c gtkcomboboxentry.c gtkcomboboxtext.c gtkcontainer.c gtkdialog.c gtkdrawingarea.c gtkeditable.c gtkentry.c gtkentrybuffer.c gtkentrycompletion.c gtkeventbox.c gtkexpander.c gtkfilechooser.c gtkfilechooserbutton.c gtkfilechooserdefault.c gtkfilechooserdialog.c gtkfilechooserembed.c gtkfilechooserentry.c gtkfilechoosersettings.c gtkfilechooserutils.c gtkfilechooserwidget.c gtkfilefilter.c gtkfilesystem.c gtkfilesystemmodel.c gtkfixed.c gtkfontbutton.c gtkfontsel.c gtkframe.c gtkgc.c gtkhandlebox.c gtkhbbox.c gtkhbox.c gtkhpaned.c gtkhruler.c gtkhscale.c gtkhscrollbar.c gtkhseparator.c gtkhsv.c gtkiconcache.c gtkiconcachevalidator.c gtkiconfactory.c gtkicontheme.c gtkiconview.c gtkimage.c gtkimagemenuitem.c gtkimcontext.c gtkimcontextsimple.c gtkimmodule.c gtkimmulticontext.c gtkinfobar.c gtkinputdialog.c gtkinvisible.c gtkitem.c gtkkeyhash.c gtklabel.c gtklayout.c gtklinkbutton.c gtkliststore.c gtkmain.c gtkmarshal.c gtkmarshalers.c gtkmenu.c gtkmenubar.c gtkmenuitem.c gtkmenushell.c gtkmenutoolbutton.c gtkmessagedialog.c gtkmisc.c gtkmnemonichash.c gtkmodules.c gtkmountoperation.c gtknotebook.c gtkobject.c gtkoffscreenwindow.c gtkorientable.c gtkpagesetup.c gtkpaned.c gtkpango.c gtkpapersize.c gtkpathbar.c gtkplug.c gtkprintcontext.c gtkprintoperation.c gtkprintoperationpreview.c gtkprintsettings.c gtkprintutils.c gtkprogressbar.c gtkradioaction.c gtkradiobutton.c gtkradiomenuitem.c gtkradiotoolbutton.c gtkrange.c gtkrbtree.c gtkrc.c gtkrecentaction.c gtkrecentchooserdefault.c gtkrecentchooserdialog.c gtkrecentchoosermenu.c gtkrecentchooserwidget.c gtkrecentchooserutils.c gtkrecentchooser.c gtkrecentfilter.c gtkrecentmanager.c gtkruler.c gtkscale.c gtkscalebutton.c gtkscrollbar.c gtkscrolledwindow.c gtkselection.c gtkseparator.c gtkseparatormenuitem.c gtkseparatortoolitem.c gtksettings.c gtksizegroup.c gtkshow.c gtksocket.c gtkspinbutton.c gtkspinner.c gtkstatusbar.c gtkstatusicon.c gtkstock.c gtkstyle.c gtktable.c gtktearoffmenuitem.c gtktestutils.c gtktextbtree.c gtktextbuffer.c gtktextbufferrichtext.c gtktextbufferserialize.c gtktextchild.c gtktextdisplay.c gtktextiter.c gtktextlayout.c gtktextmark.c gtktextsegment.c gtktexttag.c gtktexttagtable.c gtktexttypes.c gtktextutil.c gtktextview.c gtkthemes.c gtktoggleaction.c gtktogglebutton.c gtktoggletoolbutton.c gtktoolbar.c gtktoolbutton.c gtktoolitem.c gtktoolitemgroup.c gtktoolpalette.c gtktoolshell.c gtktooltip.c gtktreedatalist.c gtktreednd.c gtktreemodel.c gtktreemodelfilter.c gtktreemodelsort.c gtktreeselection.c gtktreesortable.c gtktreestore.c gtktreeview.c gtktreeviewcolumn.c gtktypebuiltins.c gtktypeutils.c gtkuimanager.c gtkvbbox.c gtkvbox.c gtkvolumebutton.c gtkviewport.c gtkvpaned.c gtkvruler.c gtkvscale.c gtkvscrollbar.c gtkvseparator.c gtkwidget.c gtkwindow-decorate.c gtkwindow.c gtkclipboard.c gtkdnd.c gtktext.c gtktree.c gtktreeitem.c gtkclist.c gtkcombo.c gtkctree.c gtkcurve.c gtkfilesel.c gtkgamma.c gtkitemfactory.c gtklist.c gtklistitem.c gtkoldeditable.c gtkoptionmenu.c gtkpixmap.c gtkpreview.c gtkprogress.c gtksignal.c gtktipsquery.c gtktooltips.c gtkcustompaperunixdialog.c gtkpagesetupunixdialog.c gtkprinter.c gtkprinteroption.c gtkprinteroptionset.c gtkprinteroptionwidget.c gtkprintjob.c gtkprintoperation-unix.c gtkprintunixdialog.c gtkprintbackend.c gtksearchenginebeagle.c gtksearchenginetracker.c gtkprint-win32.c gtkprintoperation-win32.c gtkplug-x11.c gtksocket-x11.c gtkxembed.c gtktrayicon-x11.c gtkmountoperation-x11.c gtkplug-win32.c gtksocket-win32.c gtkwin32embed.c gtkwin32embedwidget.c gtkmountoperation-stub.c gtkplug-stub.c gtksocket-stub.c /opt/local/bin/g-ir-scanner libgtk-x11-2.0.la ../gdk/Gdk-2.0.gir Makefile --output Gtk-2.0.gir
The g-ir-scanner process is stuck at 100% cpu, is using 1.3 Gb of real & private memory and 6.37Gb of virtual memory. It is not stuck in an infinite loop as it did 2 million context switches, and is still doing around 500/second. It generates 200 page faults/second. It did more than 2 billion unix system call and the counter overflowed.
Machine have 8GB of RAM + SSD drive. Xcode 5.1
Attachments (2)
Change History (10)
comment:1 Changed 10 years ago by neverpanic (Clemens Lang)
Description: | modified (diff) |
---|---|
Keywords: | gtk2 stuck slow removed |
comment:2 Changed 10 years ago by frederic.stark@…
Sorry for the formatting bug. Attached main.log. Python process still running, 4 hours of CPU time, 18.37GB of virtual memory.
comment:3 Changed 10 years ago by neverpanic (Clemens Lang)
Can you try to find out what the process is doing, e.g., by using opensnoop
or dtruss
on it?
I wonder why your system doesn't use the prebuilt archive. Did you explicitly disable binary downloads?
comment:4 Changed 10 years ago by frederic.stark@…
Sure! Snoop gives nothing (after a couple of minutes)
> sudo opensnoop -p 43014 UID PID COMM FD PATH ^C >
dtruss spawn thousands of those:
> sudo dtruss -p 43014 dtrace: 342049 dynamic variable drops with non-empty dirty list SYSCALL(args) = return ioctl(0xD, 0x4004667A, 0x7FFF5785E6C4) = -1 Err#25 ioctl(0xD, 0x40487413, 0x7FFF5785E678) = -1 Err#25 ioctl(0xD, 0x4004667A, 0x7FFF5785E6C4) = -1 Err#25 ioctl(0xD, 0x40487413, 0x7FFF5785E678) = -1 Err#25 ioctl(0xD, 0x4004667A, 0x7FFF5785E6C4) = -1 Err#25 ioctl(0xD, 0x40487413, 0x7FFF5785E678) = -1 Err#25 ioctl(0xD, 0x4004667A, 0x7FFF5785E6C4) = -1 Err#25 ioctl(0xD, 0x40487413, 0x7FFF5785E678) = -1 Err#25 ^C >
Err 25 is ENOTTY, and according to man pages:
[ENOTTY] fildes is not associated with a character special device.
[ENOTTY] The specified request does not apply to the kind of object that the descriptor fildes references.
On the binary side of the stuff, I put the '-b' at the wrong place in the command line. When I do it correctly, I get the following:
> sudo port -b install gtk2 Password: ---> Computing dependencies for gtk2 ---> Cleaning gtk2 ---> Scanning binaries for linking errors: 100.0% ---> Found 30 broken file(s), matching files to ports ---> Found 3 broken port(s), determining rebuild order ---> Rebuilding in order gtk2 @2.24.23 +x11 harfbuzz-icu @0.9.27 texlive-bin @2013 +x11 ---> Computing dependencies for gtk2 ---> Cleaning gtk2 ---> Computing dependencies for harfbuzz-icu ---> Cleaning harfbuzz-icu ---> Computing dependencies for texlive-bin ---> Cleaning texlive-bin ---> Scanning binaries for linking errors: 100.0% ---> Found 30 broken file(s), matching files to ports Port gtk2 still broken after reinstalling -- can't rebuild due to binary-only mode while executing "error "Port $portname still broken after reinstalling -- can't rebuild due to binary-only mode"" (procedure "revupgrade_scanandrebuild" line 270) invoked from within "revupgrade_scanandrebuild broken_port_counts $opts" (procedure "macports::revupgrade" line 5) invoked from within "macports::revupgrade $opts" (procedure "action_revupgrade" line 2) invoked from within "action_revupgrade $action $portlist $opts" (procedure "action_target" line 96) invoked from within "$action_proc $action $portlist [array get global_options]" (procedure "process_cmd" line 93) invoked from within "process_cmd $remaining_args" invoked from within "if { [llength $remaining_args] > 0 } { # If there are remaining arguments, process those as a command set exit_status [process_cmd $remaining..." (file "/opt/local/bin/port" line 4857) >
Changed 10 years ago by frederic.stark@…
Attachment: | port-install-binary-gtk2.log added |
---|
Output of "port -d -b install gtk2"
comment:5 Changed 10 years ago by dbevans (David B. Evans)
Based on this, I would run
sudo port -d rev-upgrade
to see why it considers gtk2 and the others to be broken and address those issues directly.
comment:6 Changed 10 years ago by dbevans (David B. Evans)
Actually your log file contains this information and it looks like atk and icu are outdated and need to be upgraded. There may be others. Have you tried
sudo port selfupdate sudo port upgrade outdated
comment:7 Changed 10 years ago by frederic.stark@…
This solved it. I had to mix '-b' and not, but after a few hours, everything seems fine. Weird problem that gtk2 does an endless loop at install due to outdated ports, thought.
comment:8 Changed 10 years ago by dbevans (David B. Evans)
Resolution: | → worksforme |
---|---|
Status: | new → closed |
Version: | 2.2.1 |
It actually did install (from binary archive). I think, the rest was post install attempts to fix the broken binary dependencies. Glad we got it working for you.
Please preview your post before posting in Trac. Please attach the main.log.