Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 319321 - app-portage/portato-0.14 crashes while launching
Summary: app-portage/portato-0.14 crashes while launching
Status: RESOLVED WONTFIX
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Third-Party Tools (show other bugs)
Hardware: All Linux
: High normal
Assignee: Portage Tools Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-05-12 03:14 UTC by Robert Cabrera
Modified: 2012-04-09 15:57 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Disable default eix (portato-0.14.ebuild.diff,420 bytes, patch)
2010-05-12 20:06 UTC, René 'Necoro' Neumann
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Cabrera 2010-05-12 03:14:16 UTC
app-portage/portato-0.14 crashes while launching. Click on menu icon or launch from 'Run command' 'kdesu' login comes up, accepts password, splash screen comes up, then crashes completely while initializing internal settings and vanishes from desktop. Happens whether I'm using python-2 or python-3 interpretor.

Downgrade back to 0.131-r1 and starts up correctly.

Reproducible: Always

Steps to Reproduce:
1.Launch application
2.enter password at kdesu login screen
3.crashes shortly after splash screen while initializing internal settings

Actual Results:  
This is a regression from previous versions which occasionally crashed or gave error messages, but was usable.

Expected Results:  
Launching the application to the desktop and being able to use it.

My system is a Dell 9300 laptop w/ Nvidia 7800 GTX
Pentuim-M 780

 ~ $ emerge --info
Portage 2.2_rc67 (default/linux/x86/10.0/desktop/kde, gcc-4.4.3, glibc-2.11.1-r0, 2.6.33-zen2 i686)
=================================================================
System uname: Linux-2.6.33-zen2-i686-Intel-R-_Pentium-R-_M_processor_2.26GHz-with-gentoo-2.0.1
Timestamp of tree: Tue, 11 May 2010 23:45:03 +0000
app-shells/bash:     4.1_p5
dev-java/java-config: 2.1.11
dev-lang/python:     2.6.5-r2, 3.1.2-r3
dev-util/cmake:      2.8.1-r1
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.3-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.33
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=native -mtune=native -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /usr/share/config/kdm /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/skel /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=native -mtune=native -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests collision-protect distlocks fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.netnitco.net http://gentoo.osuosl.org/ http://gentoo.mirrors.tds.net/gentoo http://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ http://gentoo.wetzlmayr.com/ http://osmirrors.cerias.purdue.edu/pub/gentoo/ http://www.cyberuse.com/gentoo/ http://gentoo.mirrors.hoobly.com/ ftp://gentoo.imj.fr/pub/gentoo/ http://130.59.10.35/ftp/mirror/gentoo/"
LANG="en_US.UTF-8"
LC_ALL=""
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_US"
MAKEOPTS="-j2 -s"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac aalib acl acpi akonadi alsa apm ass audiofile autoipd avahi bash-completion berkdb binfilter bluetooth bonjour branding bzip2 cairo cdda cddax cddb cdio cdparanoia cdr chm cleartype cli clucene connection-sharing consolekit contrast corefonts cracklib crypt css cups custom-cflags custom-cpuopts custom-optimization cxx dbus dell designer-plugin desktopglobe dga dhclient dhcpcd dirac djvu dri dts dv dvb dvd dvdr ebook editor emboss emovix enca encode eselect exif extensions faac faad fam fame fat fbcon fbcondecor fbsplash ffmpeg firefox firefox3 flac fortran ftp fts3 gadu gcj gd gdbm ggi gif gimp git glibc-omitfp gmm gmp gnokii gnutls google-gadgets gphoto2 gpm graphite graphviz groupwise grub gtk hal handbook hotpixels httpd hyperestraier iconv icq id3tag ieee1394 imagemagick imlib indi inotify ioctl iodbc ipod ipv6 jabber jack java java6 javascript jce jingle joystick jpeg jpeg2k kate kde kerberos kig-scripting kipi konqueror kontact ladspa lame laptop lastfm latex lcdfilter lcms ldap lensfun libass libcaca libnotify libproxy libsamplerate libsysfs libtiger libv4l libv4l2 live lm_sensors logrotate lua lzma lzo mad matroska mdnsresponder-compat meanwhile mikmod mime mjpeg mmx mng modplug modules mozilla mp3 mp3tunes mp4 mpeg mplayer msn mtp mudflap musepack musicbrainz mysql mysqli ncurses networkmanager nls nntp npp nptl nptlonly nsplugin ntfs nvidia objc objc++ objc-gc odbc offensive ogg openal openexr opengl openmp optimization optimized-qmake oscar otr pam pango pch pcmcia pcre pdf perl plasma pm-utils pmu png pnm policykit posix ppds ppp pppd python python3 qalculate qt-dbus qt-webkit qt3support qt4 qtmultimedia qtscript quicktime qwt radio raw rdesktop rdp readline reflection resolvconf rss rtc rtsp samba sasl scanner schroedinger sdl sdl-image secure-delete semantic-desktop session shout skins skype sms sndfile solver sox speex spell spl sql sqlite sse sse2 ssl startup-notification stream strong-optimization svg svga symlink sysfs system-sqlite taglib tcl tcpd templates theora threads thumbnail tidy tiff tk truetype twolame udev unicode usb v4l v4l2 vcd vcdinfo vcdx vhook vidix vlm vnc vorbis watchdog wavpack webpresence wicd wifi win32codecs windeco winpopup wma wma-fixed wmf wpd wpg wv2 wxwidgets wxwindows x264 x86 xanim xattr xcb xcomposite xinerama xml xmlpatterns xorg xscreensaver xulrunner xv xvid xvmc yahoo yv12 zeroconf zip zlib" ALSA_CARDS="intel8x0 intel8x0m" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse synaptics joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" RUBY_TARGETS="ruby18" SANE_BACKENDS="epson epson2" USERLAND="GNU" VIDEO_CARDS="nv nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 René 'Necoro' Neumann 2010-05-12 15:13:53 UTC
Please enable debugging in /etc/portato/portato.cfg and launch portato from a console. Then please paste the output.

(Btw: Python-3 is not supported)
Comment 2 Robert Cabrera 2010-05-12 18:18:35 UTC
First off, I only tried using python-3 to see if it would work after failing to launch a half dozen tries with my default python interpretor, python-2.6.

As you requested, here is the output after attempting to launch from konsole:

~ $ portato
* Using 'kdesu' as su command. (__init__.py:120)
kdesu(12393) KDESu::PtyProcess::exec: [ /var/tmp/portage/kde-base/kdelibs-4.4.3/work/kdelibs-4.4.3/kdesu/process.cpp : 295 ]  Running "/bin/su"
kdesu(12393) KDESu::SuProcess::ConverseSU: [ /var/tmp/portage/kde-base/kdelibs-4.4.3/work/kdelibs-4.4.3/kdesu/su.cpp : 259 ]  Read line "Password: "
kdesu(12393) KDESu::PtyProcess::exec: [ /var/tmp/portage/kde-base/kdelibs-4.4.3/work/kdelibs-4.4.3/kdesu/process.cpp : 295 ]  Running "/bin/su"
kdesu(12393) KDESu::SuProcess::ConverseSU: [ /var/tmp/portage/kde-base/kdelibs-4.4.3/work/kdelibs-4.4.3/kdesu/su.cpp : 259 ]  Read line "Password: "
kdesu(12393) KDESu::PtyProcess::WaitSlave: [ /var/tmp/portage/kde-base/kdelibs-4.4.3/work/kdelibs-4.4.3/kdesu/process.cpp : 381 ]  Child pid 12603
kdesu(12393) KDESu::SuProcess::ConverseSU: [ /var/tmp/portage/kde-base/kdelibs-4.4.3/work/kdelibs-4.4.3/kdesu/su.cpp : 259 ]  Read line ""
kdesu(12393) KDESu::SuProcess::ConverseSU: [ /var/tmp/portage/kde-base/kdelibs-4.4.3/work/kdelibs-4.4.3/kdesu/su.cpp : 259 ]  Read line "kdesu_stub"
kdesu(12393) KDESu::PtyProcess::exec: [ /var/tmp/portage/kde-base/kdelibs-4.4.3/work/kdelibs-4.4.3/kdesu/process.cpp : 295 ]  Running "/bin/su"
kdesu(12393) KDESu::SuProcess::ConverseSU: [ /var/tmp/portage/kde-base/kdelibs-4.4.3/work/kdelibs-4.4.3/kdesu/su.cpp : 259 ]  Read line "Password: "
kdesu(12393) KDESu::PtyProcess::WaitSlave: [ /var/tmp/portage/kde-base/kdelibs-4.4.3/work/kdelibs-4.4.3/kdesu/process.cpp : 381 ]  Child pid 12608
kdesu(12393) KDESu::SuProcess::ConverseSU: [ /var/tmp/portage/kde-base/kdelibs-4.4.3/work/kdelibs-4.4.3/kdesu/su.cpp : 259 ]  Read line ""
kdesu(12393) KDESu::SuProcess::ConverseSU: [ /var/tmp/portage/kde-base/kdelibs-4.4.3/work/kdelibs-4.4.3/kdesu/su.cpp : 259 ]  Read line "kdesu_stub"
* Switching from 'UTF-8' to 'UTF-8'. (basic.py:40)
* Starting Portato v. 0.14 (__init__.py:91)
* Setting Portage System (__init__.py:64)
* Using portage-2.2 (__init__.py:21)
* External Warning: /usr/lib/portage/pym/portage/util/__init__.py:1121: DeprecationWarning: The 'myroot' parameter for portage.config.getvirtuals() is deprecated
  result = lazy_item.func(*pargs, **kwargs)
 (__init__.py:1121)
* All prereqs matched. Fine :) (main.py:1877)
* There is a menu-file for 'MainWindow'. Trying to load it. (basic.py:96)
* Using database type 'EixSQLDatabase' (__init__.py:63)
* Loading 'DB' session from /root/.portato/db.cfg. (session.py:70)
* Cache file '/var/cache/eix' does not exist. Using default instead. (eix_sql.py:35)
* Exception:
Traceback (most recent call last):
  File "/usr/bin/portato", line 20, in <module>
    start()
  File "/usr/lib/python2.6/site-packages/portato/__init__.py", line 96, in start
    run()
  File "/usr/lib/python2.6/site-packages/portato/gui/__init__.py", line 29, in run
    m = MainWindow(s)
  File "/usr/lib/python2.6/site-packages/portato/gui/windows/main.py", line 477, in __init__
    self.db = Database(self.cfg.get("type", section = "DATABASE"))
  File "/usr/lib/python2.6/site-packages/portato/db/__init__.py", line 32, in __new__
    cls._the_instance = dbcls(cls._get_session())
  File "/usr/lib/python2.6/site-packages/portato/db/eix_sql.py", line 42, in __init__
    SQLDatabase.__init__(self, session)
  File "/usr/lib/python2.6/site-packages/portato/db/sql.py", line 80, in __init__
    self.was_updated = self.updated()
  File "/usr/lib/python2.6/site-packages/portato/db/eix_sql.py", line 48, in updated
    mtime = os.stat(self.cache).st_mtime
OSError: [Errno 2] No such file or directory: '/var/cache/eix'

Portato version: 0.14
System: Gentoo 
Python version: 2.6.5 (release26-maint, May 12 2010, 11:33:08) 
[GCC 4.4.3]
Used backend: Portage 2.2_rc67
Used database type: eixsql
pygtk: 2.16.0 (using GTK+: 2.18.9)
pygobject: 2.20.0 (using GLib: 2.22.5) (exception_handling.py:132)
* Listener received: ['close'] (listener.py:45)
* Subprocess finished (__init__.py:128)

Then it crashed.

I hope this helps.

Until then I'm switching back to the previous version.

Ciao 
Comment 3 René 'Necoro' Neumann 2010-05-12 18:40:10 UTC
Well - if you do not use eix, you should not install portato with the eix flag -- or at least change the database type in portato.cfg

Three possibilities:

- run eix-update (and always use eix-sync instead of 'emerge --sync')
- use another backend type in portato.cfg
- reinstall portato with USE=-eix

Closed as invalid
Comment 4 Robert Cabrera 2010-05-12 19:06:25 UTC
(In reply to comment #3)
> Well - if you do not use eix, you should not install portato with the eix flag
> -- or at least change the database type in portato.cfg
> 
> Three possibilities:
> 
> - run eix-update (and always use eix-sync instead of 'emerge --sync')
> - use another backend type in portato.cfg
> - reinstall portato with USE=-eix
> 
> Closed as invalid
>

First, You don't have to be a smart-ass! Being rude is inappropriate and uncalled for!

Second, as you can see from my make.conf I don't have eix enabled. I installed this version as I have every version since I started using it over a year ago with the default settings.

Third, If every other version has installed and ran properly and this one doesn't, then it is either a regression or something has changed to make this no longer workable.

Fourth, Previous versions DO NOT have an eix use flag, period! If this one now does, then the default should be for it to be disabled and turned on as and option! Not the other way around.

There are many Gentoo users (perhaps most) who do not use eix because we don't subscribe to any external repositories.

Bottom line: I will recompile without the eix use flag and try again. But the default setting should be Without eix enabled!
Comment 5 René 'Necoro' Neumann 2010-05-12 19:31:13 UTC
(In reply to comment #4)
> Second, as you can see from my make.conf I don't have eix enabled. I installed
> this version as I have every version since I started using it over a year ago
> with the default settings.

I just didn't expect, that someone installs a software without checking which flags are used and what these flags do.

> Fourth, Previous versions DO NOT have an eix use flag, period! If this one now
> does, then the default should be for it to be disabled and turned on as and
> option! Not the other way around.

Nope - the usage of the eix database is (in my eyes) the major improvement over 0.13.1 and adds a couple of features. Additionally this is the one I do 95% of the tests on, so it is more stable than the other ones.

> There are many Gentoo users (perhaps most) who do not use eix because we don't
> subscribe to any external repositories.

Ehm? eix is about fast searching (and it is one if the first tools I tell newcomers to install). It has per se nothing to do with external repositories (in fact: using eix-remote is not supported at all with portato)

See: https://bugs.launchpad.net/portato/+bug/579632
Comment 6 René 'Necoro' Neumann 2010-05-12 20:06:01 UTC
Created attachment 231263 [details, diff]
Disable default eix

Ok - after thinking this through, I have to concede the point to you. As long as Portato does not handle a misconfiguration gracefully (ie. not just crashing), it should be disabled by default. It will be enabled by default in the future versions again.
Comment 7 Christian Ruppert (idl0r) gentoo-dev 2010-05-13 15:59:47 UTC
Default eix has been removed.
I think a warning or something similar would make sense anyway.
In case /var/cache/eix doesn't exists let the user know that he should run "eix-update" first.

So I'll leave this bug open until it has been fixed.
Comment 8 Robert Cabrera 2010-05-14 17:20:14 UTC
First to Rene': I want to thank you for the time you have taken to read through and try to resolve this issue. I was frustrated with several personal issues beyond this one, and when I read your response thought your reply was curt, then over-reacted in my statement.

That out of the way... I too use Portato primarily as a search tool, but also for finding what files an app may have installed, looking at and examining ebuilds, and for reading changelogs. I seldom use it for installing software, but when I do it's usually when lazy and need to unmask or add a specific use where it's convenient to not have to open an editor as root.

I usually do look at use flags when installing updates and make adjustments accordingly, however default use changes generally don't cause an app to crash and I'm encouraged by your post as you now understand where I was coming from with this. It's my experience over the last 6+ years I've been running Gentoo that default changes in use flags generally add functionality or fix bugs, so I except them. I'm much more careful about use flag changes to apps where I desire a specific feature or function that I know I want / need.

I'm not a programmer, a an IT pro, or a "techie". I'm a 47yo truck driver who's been a computer hobbyist for 25 years, many use changes are beyond the scope of my knowledge / expertise, which is why I generally choose the default settings for updates unless I know for sure to do otherwise.

Finally to Christian: Thanks for thinking about this and chiming in, I agree that something like a warning would solve this in the future. Something along the lines of "You are installing with the use flag 'eix' enabled. Please run eix-update prior to running Portato or it will crash!" would go a long way towards resolving this.

And to both of you: Thanks for your continued efforts in making Gentoo the truly awesome OS that it is!

Ciao
Comment 9 Robert Cabrera 2010-05-14 17:23:34 UTC
(In reply to comment #8)
> First to Rene': I want to thank you for the time you have taken to read through
> and try to resolve this issue. I was frustrated with several personal issues
> beyond this one, and when I read your response thought your reply was curt,
> then over-reacted in my statement.
> 
> That out of the way... I too use Portato primarily as a search tool, but also
> for finding what files an app may have installed, looking at and examining
> ebuilds, and for reading changelogs. I seldom use it for installing software,
> but when I do it's usually when lazy and need to unmask or add a specific use
> where it's convenient to not have to open an editor as root.
> 
> I usually do look at use flags when installing updates and make adjustments
> accordingly, however default use changes generally don't cause an app to crash
> and I'm encouraged by your post as you now understand where I was coming from
> with this. It's my experience over the last 6+ years I've been running Gentoo
> that default changes in use flags generally add functionality or fix bugs, so I
> except them. I'm much more careful about use flag changes to apps where I
> desire a specific feature or function that I know I want / need.
> 
> I'm not a programmer, a an IT pro, or a "techie". I'm a 47yo truck driver who's
> been a computer hobbyist for 25 years, many use changes are beyond the scope of
> my knowledge / expertise, which is why I generally choose the default settings
> for updates unless I know for sure to do otherwise.
> 
> Finally to Christian: Thanks for thinking about this and chiming in, I agree
> that something like a warning would solve this in the future. Something along
> the lines of "You are installing with the use flag 'eix' enabled. Please run
> eix-update prior to running Portato or it will crash!" would go a long way
> towards resolving this.
> 
> And to both of you: Thanks for your continued efforts in making Gentoo the
> truly awesome OS that it is!
> 
> Ciao
> 

Above I meant "accept them", not "except them" in regards to 'use' changes. Sorry, I was driving half the night and haven't had enough coffee yet.

Ciao
Comment 10 Christian Ruppert (idl0r) gentoo-dev 2012-04-09 15:57:59 UTC
Please see bug 404973