Update manager in Ubuntu 12.10 will not start
When I click Update Manager icon in dash nothing happens. After trying to run it in terminal I get the following error:
administrator@
Traceback (most recent call last):
File "/usr/bin/
from gi.repository import Gtk
EOFError: EOF read where not expected
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/
from apport.report import Report
File "/usr/lib/
import apport.fileutils
File "/usr/lib/
from apport.
File "/usr/lib/
import apt
EOFError: EOF read where not expected
Original exception was:
Traceback (most recent call last):
File "/usr/bin/
from gi.repository import Gtk
EOFError: EOF read where not expected
There is one more thing that I think is connected with the above. I can run Software Centre no problem, but after I choose an application to install and press the install button, the installation process does not start. On the other hand, I can install apps using apt-get install in terminal.
I tried to find a sollution to the problem on Polish and English forums but either nothing helped or there was no information.
The issue occured only after upgrading from 12.04 to 12.10.
Question information
- Language:
- English Edit question
- Status:
- Expired
- Assignee:
- No assignee Edit question
- Last query:
- Last reply:
Revision history for this message
|
#1 |
If you run:
sudo apt-get update; sudo apt-get upgrade; sudo apt-get dist-upgrade
Does it upgrade ok?
Revision history for this message
|
#2 |
Yes, it does. But it still doesn't solve the issue.
Revision history for this message
|
#3 |
Try:
sudo apt-get --reinstall install python3 software-center
Then try:
gksudo update-manager
You don't use sudo with GUI apps and gksudo should be used. Sudo is only for CLI commands like apt-get, mv, cp etc.
Revision history for this message
|
#4 |
Nope, nothing. softare centre reinstalled. The second command gave nothing. Software centre still doesn't install apps.
Revision history for this message
|
#5 |
Try
sudo apt-get install --reinstall python3-gi
Revision history for this message
|
#7 |
To find out more about your system and to hopefully identify the root cause of your problem please issue these commands in a terminal (ctrl-alt-t):
lsb_release -a
uname -a
which python
python --version
python -c 'from gi.repository import Gtk'
cat /usr/shard/
cat /usr/lib/
cat /usr/lib/
cat /usr/lib/
dpkg -l | grep -e -gi
Then select all output (edit - select all), copy it (edit - copy) and paste into a new message of this question thread.
Revision history for this message
|
#8 |
start, stop, step = key.indices(
alist = []
for i in range(start, stop, step):
return alist
else:
raise TypeError("indices must be integers, not %s" % type(key).__name__)
def __setitem__(self, key, value):
if isinstance(key, int):
if key >= self.model.
elif key < 0:
key = self._convert_
elif isinstance(key, slice):
start, stop, step = key.indices(
if len(indexList) != len(value):
for i, v in enumerate(
else:
raise TypeError("index must be an integer or slice, not %s" % type(key).__name__)
def _convert_
new_index = self.model.
if new_index < 0:
raise IndexError("column index is out of bounds: %d" % index)
return new_index
def iterchildren(self):
child_iter = self.model.
return TreeModelRowIte
__all__
class TreeModelRowIte
def __init__(self, model, aiter):
self.model = model
self.iter = aiter
def __next__(self):
if not self.iter:
raise StopIteration
row = TreeModelRow(
self.iter = self.model.
return row
# alias for Python 2.x object protocol
next = __next__
def __iter__(self):
return self
__all__
class TreePath(
def __new__(cls, path=0):
if isinstance(path, int):
path = str(path)
elif isinstance(path, tuple):
path = ":".join(str(val) for val in path)
if len(path) == 0:
raise TypeError("could not parse subscript '%s' as a tree path" % path)
try:
return TreePath.
except TypeError:
raise TypeError("could not parse subscript '%s' as a tree path" % path)
def __str__(self):
return self.to_string()
def __lt__(self, other):
return not other is None and self.compare(other) < 0
def __le__(self, other):
return not other is None and self.compare(other) <= 0
def __eq__(self, other):
return not other is None and self.compare(other) == 0
def __ne__(self, other):
return other is None or self.compare(other) != 0
def __gt__(self, other):
return other is None or self.compare(other) > 0
def __ge__(self, other):
return other is None or self.compare(other) >= 0
def __iter__(self):
return iter(self.
def __len__(self):
return self.get_depth()
def __getitem__(self, index):
return self.get_
TreePath = override(TreePath)
__all__
class TreeStore(
def __init__(self, *column_types):
def _do_insert(self, parent, position, row):
if row is not None:
row, columns = self._convert_
else:
return treeiter
def append(self, parent, row=None):
return self._do_
def prepend(self, parent, row=None):
return self._do_
def insert(self, parent, position, row=None):
return self._do_
# FIXME: sends two signals; check if this can use an atomic
# insert_
def insert_before(self, parent, sibling, row=None):
treeiter = Gtk.TreeStore.
if row is not None:
return treeiter
# FIXME: sends two signals; check if this can use an atomic
# insert_
def insert_after(self, parent, sibling, row=None):
treeiter = Gtk.TreeStore.
if row is not None:
return treeiter
def set_value(self, treeiter, column, value):
value = self._convert_
def set(self, treeiter, *args):
def _set_lists(columns, values):
if len(columns) != len(values):
for col_num, val in zip(columns, values):
if not isinstance(col_num, int):
if args:
if isinstance(args[0], int):
elif isinstance(args[0], (tuple, list)):
if len(args) != 2:
elif isinstance(args[0], dict):
else:
TreeStore = override(TreeStore)
__all__
class TreeView(
def __init__(self, model=None):
if model:
def get_path_
success, path, column, cell_x, cell_y = super(TreeView, self).get_
if success:
return (path, column, cell_x, cell_y,)
def get_visible_
success, start_path, end_path = super(TreeView, self).get_
if success:
return (start_path, end_path,)
def get_dest_
success, path, pos = super(TreeView, self).get_
if success:
return (path, pos,)
def _construct_
# FIXME: this should most likely be part of Widget or a global helper
# function
for t in targets:
entry = Gtk.TargetEntry
return target_entries
def enable_
def enable_
def scroll_
if not isinstance(path, Gtk.TreePath):
path = TreePath(path)
def set_cursor(self, path, column=None, start_editing=
if not isinstance(path, Gtk.TreePath):
path = TreePath(path)
def get_cell_area(self, path, column=None):
if not isinstance(path, Gtk.TreePath):
path = TreePath(path)
return super(TreeView, self).get_
def insert_
column = TreeViewColumn()
TreeView = override(TreeView)
__all__
class TreeViewColumn(
def __init__(self, title='',
if cell_renderer:
for (name, value) in attributes.items():
def cell_get_
success, start_pos, width = super(TreeViewC
if success:
return (start_pos, width,)
def set_cell_
def set_attributes(
for (name, value) in attributes.items():
TreeViewColumn = override(
__all__
class TreeSelection(
def select_path(self, path):
if not isinstance(path, Gtk.TreePath):
path = TreePath(path)
def get_selected(self):
success, model, aiter = super(TreeSelec
if success:
return (model, aiter)
else:
return (model, None)
# for compatibility with PyGtk
def get_selected_
rows, model = super(TreeSelec
return (model, rows)
TreeSelection = override(
__all__
class Button(Gtk.Button, Container):
def __init__(self, label=None, stock=None, use_stock=False, use_underline=
if stock:
label = stock
Button = override(Button)
__all__
class LinkButton(
def __init__(self, uri, label=None, **kwds):
LinkButton = override(
__all__
class Label(Gtk.Label):
def __init__(self, label=None, **kwds):
Label = override(Label)
__all__
class Adjustment(
def __init__(self, *args, **kwds):
arg_names = ('value', 'lower', 'upper',
new_args = dict(zip(arg_names, args))
# PyGTK compatiblity
if 'page_incr' in new_args:
if 'step_incr' in new_args:
# The value property is set between lower and (upper - page_size).
# Just in case lower, upper or page_size was still 0 when value
# was set, we set it again here.
if 'value' in new_args:
Adjustment = override(
__all__
class Table(Gtk.Table, Container):
def __init__(self, rows=1, columns=1, homogeneous=False, **kwds):
if 'n_rows' in kwds:
rows = kwds.pop('n_rows')
if 'n_columns' in kwds:
columns = kwds.pop(
def attach(self, child, left_attach, right_attach, top_attach, bottom_attach, xoptions=
Table = override(Table)
__all__
class ScrolledWindow(
def __init__(self, hadjustment=None, vadjustment=None, **kwds):
ScrolledWindow = override(
__all__
class HScrollbar(
def __init__(self, adjustment=None, **kwds):
HScrollbar = override(
__all__
class VScrollbar(
def __init__(self, adjustment=None, **kwds):
VScrollbar = override(
__all__
class Paned(Gtk.Paned):
def pack1(self, child, resize=False, shrink=True):
def pack2(self, child, resize=True, shrink=True):
Paned = override(Paned)
__all__
class Arrow(Gtk.Arrow):
def __init__(self, arrow_type, shadow_type, **kwds):
Arrow = override(Arrow)
__all__
class IconSet(
def __new__(cls, pixbuf=None):
if pixbuf is not None:
iconset = Gtk.IconSet.
else:
iconset = Gtk.IconSet.
return iconset
IconSet = override(IconSet)
__all__
class Viewport(
def __init__(self, hadjustment=None, vadjustment=None, **kwds):
Viewport = override(Viewport)
__all__
class TreeModelFilter
def set_visible_
TreeModelFilter = override(
__all__
if Gtk._version != '2.0':
class Menu(Gtk.Menu):
def popup(self, parent_menu_shell, parent_menu_item, func, data, button, activate_time):
Menu = override(Menu)
__all_
_Gtk_main_quit = Gtk.main_quit
@override(
def main_quit(*args):
_Gtk_
_Gtk_stock_lookup = Gtk.stock_lookup
@override(
def stock_lookup(
success, item = _Gtk_stock_
if not success:
return None
return item
initialized, argv = Gtk.init_
sys.argv = list(argv)
if not initialized:
raise RuntimeError("Gtk couldn't be initialized")
administrator@
ii python-gi 3.4.0-1 i386 Python 2.x bindings for gobject-
ii python-gi-cairo 3.4.0-1 i386 Python Cairo bindings for the GObject library
ii python3-gi 3.4.0-1 i386 Python 3 bindings for gobject-
ii python3-gi-cairo 3.4.0-1 i386 Python 3 Cairo bindings for the GObject library
administrator@
Revision history for this message
|
#9 |
Unfortunately the output of one of the commands was so long, that the output was cut off and is incomplete.
Please try again these commands:
cat /usr/share/
cat /usr/lib/
cat /usr/lib/
lsb_release -a
uname -a
which python
python --version
python -c 'from gi.repository import Gtk'
and copy/paste the output as done before.
Revision history for this message
|
#10 |
administrator@
# -*- Mode: Python; py-indent-offset: 4 -*-
# vim: tabstop=4 shiftwidth=4 expandtab
#
# Copyright (C) 2009 Johan Dahlin <email address hidden>
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
# USA
from __future__ import absolute_import
import sys
from ..importer import DynamicImporter
sys.meta_
del DynamicImporter
del sys
administrator@
# -*- Mode: Python; py-indent-offset: 4 -*-
# vim: tabstop=4 shiftwidth=4 expandtab
#
# Copyright (C) 2009 Johan Dahlin <email address hidden>
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
# USA
from __future__ import absolute_import
import sys
from ..importer import DynamicImporter
sys.meta_
del DynamicImporter
del sys
administrator@
# -*- Mode: Python; py-indent-offset: 4 -*-
# vim: tabstop=4 shiftwidth=4 expandtab
#
# Copyright (C) 2009 Johan Dahlin <email address hidden>
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
# USA
from __future__ import absolute_import
import sys
from ..importer import DynamicImporter
sys.meta_
del DynamicImporter
del sys
administrator@
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.10
Release: 12.10
Codename: quantal
administrator@
Linux rafal 3.5.0-18-generic #29-Ubuntu SMP Fri Oct 19 10:27:31 UTC 2012 i686 i686 i686 GNU/Linux
administrator@
/usr/bin/python
administrator@
Python 2.7.3
administrator@
administrator@
Revision history for this message
|
#11 |
That looks good.
The original error message
"Original exception was:
Traceback (most recent call last):
File "/usr/bin/
from gi.repository import Gtk
EOFError: EOF read where not expected"
is not shown any more when manually doing the step where update-manager failed.
Now try opening a terminal window (ctrl-alt-t) and issue the command
sudo update-manager
What is the result?
If there is an error message please copy/paste all output.
Revision history for this message
|
#12 |
administrator@
[sudo] password for administrator:
Traceback (most recent call last):
File "/usr/bin/
from UpdateManager.
File "/usr/lib/
from .UpdatesAvailable import UpdatesAvailable
File "/usr/lib/
from DistUpgrade.
File "/usr/lib/
import apt
EOFError: EOF read where not expected
This is what I'm getting
Revision history for this message
|
#13 |
That is a slightly different error message now.
try
sudo apt-get install --reinstall python-apt python3-apt
sudo update-manager
and then again copy/paste all output
Revision history for this message
|
#14 |
administrator@
[sudo] password for administrator:
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności
Odczyt informacji o stanie... Gotowe
0 aktualizowanych, 0 nowo instalowanych, 2 ponownie instalowanych, 0 usuwanych i 1 nieaktualizowanych.
Konieczne pobranie 359 kB archiwów.
Po tej operacji zostanie dodatkowo użyte 0 B miejsca na dysku.
Pobieranie:1 http://
Pobieranie:2 http://
Pobrano 359 kB w 0s (791 kB/s)
(Odczytywanie bazy danych ... 301445 plików i katalogów obecnie zainstalowanych.)
Przygotowywanie do zastąpienia pakietu python3-apt 0.8.7ubuntu4 (wykorzystując .../python3-
Rozpakowywanie pakietu zastępującego python3-apt ...
Przygotowywanie do zastąpienia pakietu python-apt 0.8.7ubuntu4 (wykorzystując .../python-
Rozpakowywanie pakietu zastępującego python-apt ...
Konfigurowanie pakietu python3-apt (0.8.7ubuntu4) ...
Konfigurowanie pakietu python-apt (0.8.7ubuntu4) ...
administrator@
Traceback (most recent call last):
File "/usr/bin/
app.
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
from .InstallBackend
File "/usr/lib/
from aptdaemon import client, errors
EOFError: EOF read where not expected
administrator@
Revision history for this message
|
#15 |
As you can see, the error message changed again, now failing in another Python module.
I guess the command
sudo apt-get install --reinstall aptdaemon
will repair this one. When you then again try
sudo update-manager
you will see whether it works, or if it fails somewhere else. Please copy/paste all output as done before.
I am quite sure, that doing this process (try update-manager, check the error message for the python module that fails, identify the package that provides that module, reinstall that package) sooner or later will lead to the situation that update-manager works again.
This, however, is more curing the symptoms than really going down to the root cause.
One possible cause for the whole issue is a file system problem. I recommend executing a file system check on your disks.
Revision history for this message
|
#16 |
As you said the message changed. Now it looks like this:
administrator@
Traceback (most recent call last):
File "/usr/bin/
app.
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
from .InstallBackend
File "/usr/lib/
from aptdaemon import client, errors
EOFError: EOF read where not expected
Revision history for this message
|
#17 |
Do you still get the identical error ("update-manager line 115, ... from aptdaemon import client, errors ... EOFError") after doing
sudo apt-get install --reinstall aptdaemon
sudo update-manager
Revision history for this message
|
#18 |
Yes, the error didn't change this time.
Revision history for this message
|
#19 |
try
sudo apt-get install --reinstall python-aptdaemon
sudo update-manager
Revision history for this message
|
#21 |
Is the error message still identical - up to the last character?
The key information is in the last two lines.
Are the last to lines still
"from aptdaemon import client, errors
EOFError: EOF read where not expected" ?
Please try
python -c 'from aptdaemon import client, errors'
and copy/paste all output
Revision history for this message
|
#22 |
This question was expired because it remained in the 'Needs information' state without activity for the last 15 days.
Revision history for this message
|
#23 |
Hey guys. I get *exactly* the same traceback. When I issue python -c 'from aptdaemon import client, errors' nothing happens.
marcin@
marcin@
Revision history for this message
|
#24 |
OK. I've found a way to make it work. Just removed all *pyc files under /usr/lib/
Revision history for this message
|
#25 |
@marcin: the command "python -c 'from aptdaemon import client, errors'" should not produce any output. Only if something is wrong you will see error messages with the traceback of the calling modules.
Revision history for this message
|
#26 |
For those who had the same problem.
The fix for me was
deleting all the *pyc in
/usr/lib/
and then
sudo apt-get install --reinstall python3-gi
Wish i found this topic earlier this crash for like 6months and nothing worked for me what they said on other topics on the internet.
Revision history for this message
|
#27 |
For those that find this in the future, here was what did the magic for me (based on the solution from Marcin Dylewski above):
sudo rm `find /usr/lib/
After that it worked like a charm. Enjoy!