aMSN fails to launch when msntranslator or gnotify plugin is used

Bug #371103 reported by omega13a
20
This bug affects 1 person
Affects Status Importance Assigned to Milestone
amsn (Ubuntu)
Fix Released
Undecided
Unassigned
Jaunty
Fix Released
Undecided
Unassigned

Bug Description

<SRU justification>
Impact: Users that use certain amsn-plugins (such as the popular gnotify and msntranslator plugin) can't start amsn.
Resolution: With the help of an upstream developer, amsn's upstream source-code was patched (http://amsn.svn.sourceforge.net/viewvc/amsn?view=rev&revision=11166). The debdiff is a "backport" of that patch.
Patch is available:
 - https://code.launchpad.net/~petski/ubuntu/jaunty/amsn/amsn-fix-371103 or
 - attached to comment#19
TEST CASE: Install the amsn-plugin "gnotify" or "msntranslator" and try to start amsn. Amsn will crash.
</SRU justification>

Binary package hint: amsn

Every time I go to launch aMSN after upgrading to Jaunty, aMSN fails to launch. Launching from the command line gives me this message:

omega13a@omega13a-desktop:~$ amsn
Error in startup script: version conflict for package "http": have 2.7.2, need exactly 2.4.4
    while executing
"package require -exact http 2.4.4"
    (file "proxy.tcl" line 12)
    invoked from within
"source proxy.tcl"
    ("uplevel" body line 29)
    invoked from within
"uplevel \#0 {

 # amsncore.tcl is already loaded but we'll re-source it here in case we manually do reload_files
 source amsncore.tcl
 source audio.tc..."
    (procedure "reload_files" line 2)
    invoked from within
"reload_files"
    (file "/usr/bin/amsn" line 272)

I've tried reinstalling aMSN and even tcl and I still get that message.

Here's the output of lsb_release -rd and apt-cache policy amsn if it is of any help.
omega13a@omega13a-desktop:~$ lsb_release -rd
Description: Ubuntu 9.04
Release: 9.04
omega13a@omega13a-desktop:~$ apt-cache policy amsn
amsn:
  Installed: 0.97.2~debian-2ubuntu2
  Candidate: 0.97.2~debian-2ubuntu2
  Version table:
 *** 0.97.2~debian-2ubuntu2 0
        500 http://archive.ubuntu.com jaunty/universe Packages
        100 /var/lib/dpkg/status

Revision history for this message
petski (petski) wrote :

Thank you for your bugreport.

There might be an unwanted version of "http.tcl" somewhere on your filesystem (in ~/plugins/ ?). Please find all files with the name "http.tcl" on your filesystem and send us the output of the command.

 pet@workmate:~$ sudo updatedb
 pet@workmate:~$ locate http.tcl

If there's a version of "http.tcl" in ~/plugins, please temporary move it somewhere else to see if that makes a difference. If it does, please try to figure out where the file comes from and let us know.

If we're not lucky, we need to find out which "PATH" amsn uses:

- edit the file "/usr/share/amsn/amsn" with your favorite editor. Since the file may only be modified by root, please edit it as the root user (i.e. "gksudo gedit /usr/share/amsn/amsn")
- find line 169, which begins with "lprepend auto_path [file join utils]"
- add these three lines underneath line 169:
   puts $auto_path
   puts $program_dir
   puts $HOME
- save the file
- execute amsn from the commandline again. Wonder what is says. In my case it says:

 pet@workmate:~$ amsn
 utils utils/linux /home/pet/.amsn/plugins /usr/share/tcltk/tcl8.5 /usr/lib /usr/local/lib/tcltk /usr/local/share/tcltk /usr/lib/tcltk /usr/share/tcltk /usr/share/tcltk/tk8.5 /usr/share/tcltk/tk8.5/ttk
 /usr/share/amsn
 /home/pet/.amsn

HTH

petski (petski)
Changed in amsn (Ubuntu):
status: New → Incomplete
Revision history for this message
omega13a (omega13a) wrote :

Here's the output of the things you suggested:
omega13a@omega13a-desktop:~/amsn-0.97.2$ sudo updatedb
omega13a@omega13a-desktop:~/amsn-0.97.2$ locate http.tcl
/home/omega13a/.wine/drive_c/Program Files/DeFFNetIzer/tcl/tcl8.4/http1.0/http.tcl
/home/omega13a/.wine/drive_c/Program Files/DeFFNetIzer/tcl/tcl8.4/http2.4/http.tcl
/home/omega13a/amsn-0.97.2/utils/http2.4/http.tcl
/usr/share/amsn/utils/http2.4/http.tcl
/usr/share/tcltk/tcl8.3/http1.0/http.tcl
/usr/share/tcltk/tcl8.3/http2.4/http.tcl
/usr/share/tcltk/tcl8.4/http1.0/http.tcl
/usr/share/tcltk/tcl8.4/http2.5/http.tcl
/usr/share/tcltk/tcl8.5/http1.0/http.tcl
/usr/share/tcltk/tk8.5/http2.4/http.tcl

amsn
utils utils/linux /home/omega13a/.amsn/plugins /usr/share/tcltk/tcl8.5 /usr/lib /usr/local/lib/tcltk /usr/local/share/tcltk /usr/lib/tcltk /usr/share/tcltk /usr/share/tcltk/tk8.5 /usr/share/tcltk/tk8.5/ttk
/usr/share/amsn
/home/omega13a/.amsn
Error in startup script: version conflict for package "http": have 2.7.2, need exactly 2.4.4
    while executing
"package require -exact http 2.4.4"
    (file "proxy.tcl" line 12)
    invoked from within
"source proxy.tcl"
    ("uplevel" body line 29)
    invoked from within
"uplevel \#0 {

 # amsncore.tcl is already loaded but we'll re-source it here in case we manually do reload_files
 source amsncore.tcl
 source audio.tc..."
    (procedure "reload_files" line 2)
    invoked from within
"reload_files"
    (file "/usr/bin/amsn" line 275)

Revision history for this message
omega13a (omega13a) wrote :

I found the file that is causing the problem. Its a file that didn't show up in the search for files named http. Its /usr/share/tcltk/tcl8.5/tcl8/http-2.7.2.tm . Running dpkg -S /usr/share/tcltk/tcl8.5/tcl8/http-2.7.2.tm says its from the tcl8.5 package...

Revision history for this message
petski (petski) wrote :

For some reason, amsn skips /usr/share/amsn/utils/http2.4/http.tcl

Which filepermissions does it have? Can user "omega13a" read/execute that file? What's the "provide" line in that file say? Could you please reinstalled the "amsn-data" package?

Revision history for this message
omega13a (omega13a) wrote :

Purging amsn-data and then reinstalling it didn't help.

The provide lin is /usr/share/amsn/utils/http2.4/http.tcl reads package provide http 2.4.4

Also, here's the file permission stuff for the contents of both the file and the utils directory:

omega13a@omega13a-desktop:~$ ls -l /usr/share/amsn/utils/http2.4
total 28
-rw-r--r-- 1 root root 23889 2009-04-08 16:01 http.tcl
-rw-r--r-- 1 root root 726 2009-04-08 16:01 pkgIndex.tcl
omega13a@omega13a-desktop:~$ ls -l /usr/share/amsn/utils/
total 1
drwxr-xr-x 2 root root 176 2009-05-06 11:00 base64
drwxr-xr-x 4 root root 1320 2009-05-06 11:00 bwidget1.8.0
drwxr-xr-x 2 root root 112 2009-05-06 11:00 combobox
drwxr-xr-x 2 root root 120 2009-05-06 11:00 contentmanager
drwxr-xr-x 2 root root 112 2009-05-06 11:00 dpbrowser
drwxr-xr-x 2 root root 136 2009-05-06 11:00 drawboard
drwxr-xr-x 2 root root 112 2009-05-06 11:00 framec
drwxr-xr-x 2 root root 104 2009-05-06 11:00 http2.4
drwxr-xr-x 5 root root 120 2009-05-06 11:00 linux
drwxr-xr-x 3 root root 232 2009-05-06 11:00 log
drwxr-xr-x 2 root root 240 2009-05-06 11:00 pixmapmenu
drwxr-xr-x 4 root root 192 2009-05-06 11:00 pixmapscroll
drwxr-xr-x 2 root root 136 2009-05-06 11:00 scalable-bg
drwxr-xr-x 2 root root 176 2009-05-06 11:00 sexytile
drwxr-xr-x 2 root root 104 2009-05-06 11:00 sha1
drwxr-xr-x 2 root root 208 2009-05-06 11:00 snit
drwxr-xr-x 2 root root 112 2009-05-06 11:00 tcl_siren
drwxr-xr-x 2 root root 112 2009-05-06 11:00 TkCximage
drwxr-xr-x 2 root root 136 2009-05-06 11:00 uri
drwxr-xr-x 2 root root 112 2009-05-06 11:00 webcamsn

The file permissions all look the way they are supposed to be though it appears as if I can only run amsn as the root user unless I get rid of /usr/share/tcltk/tcl8.5/tcl8/http-2.7.2.tm... This is getting weirder and weirder by the minute...

Revision history for this message
petski (petski) wrote :

I managed to reproduce your error in a test-script. Find it attached.

I have the idea that somewhere, somehow, some script does a "package require http", which results in the conflict. Maybe in $HOME/.amsn/plugins?

Revision history for this message
omega13a (omega13a) wrote :

I found two plugins that contain package require http. They are msntranslator and gnotify. Changing the occurance of package require http in msntranslator to package require -exact http 2.4.4 solves the problem. A rather crude fix if you ask me. I don't know to much about amsn's source code but I seems like the "PATH" it uses is being set after the plugins are loaded. I would think that the PATH should be set before any plugins are loaded...

Revision history for this message
kakaroto (kakaroto) wrote :

Hi, thanks omega13a and petski for the great investigation!
the PATH is set before plugins are loaded, but the plugins are loaded before you connect and the msntranslator/gnotify plugin does a simple "package require http", which loads the latest version (2.7.2). We know that the version 2.7.2 of http is broken that's why we require the exact version 2.4.4 that ships with aMSN. Unfortunately, since 2.7.2 was already loaded, 2.4.4 can't be loaded, which results in this problem.
The easy solution would be to do the package require -exact http 2.4.4 before loading any plugins, this way, when the plugins do require http, they'll get the currently loaded 2.4.4!
Here is a patch that you could apply to fix this issue permanently for other users (quite a few jaunty users complained about this) :
http://amsn.svn.sourceforge.net/viewvc/amsn?view=rev&revision=11166

thanks for your help,
KaKaRoTo

Revision history for this message
omega13a (omega13a) wrote :

I like that fix better. Thank you!

Changed in amsn (Ubuntu):
status: Incomplete → Fix Committed
Revision history for this message
kakaroto (kakaroto) wrote :

great!
Pablo: I'm curious, changing the bug status to "Fix committed", does it mean that ubuntu 9.04 now has a new update for aMSN that includes that patch?
Thanks,
KaKaRoTo

Revision history for this message
petski (petski) wrote :

kakaroto, "Fix commited" means "A fix has been included in the (upstream) code".

I'll create a debdiff this evening (I'm in CET) and will request sponsorship and SRU once I'm ready.

Changed in amsn (Ubuntu):
assignee: nobody → petski (petski)
summary: - aMSN fails to launch after upgrading to Jaunty
+ aMSN fails to launch when msntranslator or gnotify plugin is used
Revision history for this message
petski (petski) wrote : [Bug 371103] Re: aMSN fails to launch when msntranslator or gnotify plugin is used

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Please find the debdiffs for jaunty and karmic attached.

I've build a jaunty version of the package in my PPA. So for those that can't wait for the SRU or those who want to test the new package:

$ sudo sh -c 'echo deb http://ppa.launchpad.net/petski/ppa/ubuntu jaunty main > /etc/apt/sources.list.d/lp371103.list'
$ sudo sh -c 'echo deb-src http://ppa.launchpad.net/petski/ppa/ubuntu jaunty main >> /etc/apt/sources.list.d/lp371103.list'
$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com ADC679189D1D1B6701310DDDDAA9427DCBF475C3
$ sudo apt-get update
$ sudo apt-get upgrade

Please remove /etc/apt/sources.list.d/lp371103.list once SRU has been performed (status of this bug is "Fix Released"):
$ sudo rm /etc/apt/sources.list.d/lp371103.list

SRU justification: Users that use certain amsn-plugins (such as the popular gnotify and msntranslator plugin) can't start amsn. With the help of an upstream developer, amsn's source was patched. The debdiffs are a "backport" of that patch.

assignee nobody
subscribe ubuntu-universe-sponsors motu-sru
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkoDIG4ACgkQts9hyuTDB0WvugCdGQx97gb0zjOdB+CrakH8kIDM
hrcAoLNkfegug9Q/xzgRaGhyws1zU3Xd
=8/tV
-----END PGP SIGNATURE-----

petski (petski)
Changed in amsn (Ubuntu):
assignee: petski (petski) → nobody
Revision history for this message
James Westby (james-w) wrote :

Uploaded to Karmic, thanks. You will need an ack from motu-sru for the
jaunty fix. Once you have that please re-subscribe the sponsors.

Thanks,

James

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package amsn - 0.97.2~debian-2ubuntu3

---------------
amsn (0.97.2~debian-2ubuntu3) karmic; urgency=low

  * Load proxy.tcl before plugins.tcl to make sure the correct version of the
    http package is loaded before any plugins start loading some incompatible
    version (LP: #371103). Thanks to aMSN developer KaKaRoTo

 -- Patrick Kuijvenhoven <email address hidden> Thu, 07 May 2009 18:36:43 +0200

Changed in amsn (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
petski (petski) wrote :

*Ping*

Changed in amsn (Ubuntu Jaunty):
status: New → Confirmed
Revision history for this message
Losty627 (zeniff-627) wrote :

oki! i just deleted the msntranslator plugins folder and it did it!

Revision history for this message
Fabrice Coutadeur (fabricesp) wrote :

unsubscribing u-u-s until an ack from -sru team is given. Please subscribe again when the ack is obtained.

Fabrice

Revision history for this message
John Dong (jdong) wrote :

+amsn (0.97.2~debian-2ubuntu3) jaunty; urgency=low

Please fix version number (2ubuntu2.1) and upload suite (jaunty-proposed). In addition, the original bug description should be edited to match the information required as described in https://wiki.ubuntu.com/StableReleaseUpdates#Procedure

Other than that, the patch itself looks reasonable. ACK from -sru as long as the mentioned issues are fixed.

Revision history for this message
petski (petski) wrote :

Thanks John.

New patch is available:
 - https://code.launchpad.net/~petski/ubuntu/jaunty/amsn/amsn-fix-371103 or
 - attached to this comment#

 subscribe: ubuntu-universe-sponsors

description: updated
Changed in amsn (Ubuntu Jaunty):
assignee: nobody → Fabrice Coutadeur (fabricesp)
status: Confirmed → In Progress
Revision history for this message
Fabrice Coutadeur (fabricesp) wrote :

uploaded to jaunty-proposed. Waiting for approval

Changed in amsn (Ubuntu Jaunty):
assignee: Fabrice Coutadeur (fabricesp) → nobody
status: In Progress → Confirmed
Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Accepted amsn into jaunty-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in amsn (Ubuntu Jaunty):
status: Confirmed → Fix Committed
tags: added: verification-needed
Revision history for this message
petski (petski) wrote :

Thanks for the effort!

Any idea what should happen with https://code.launchpad.net/~petski/ubuntu/jaunty/amsn/amsn-fix-371103 ?

Revision history for this message
Mitch Towner (kermiac) wrote :

I have verified the error with the plugins ""gnotify" & "msntranslator" installed.

$ uname -a
Linux 9 2.6.28-17-generic #58-Ubuntu SMP Tue Dec 1 18:57:07 UTC 2009 i686 GNU/Linux

$ apt-cache policy amsn
amsn:
  Installed: 0.97.2~debian-2ubuntu2
  Candidate: 0.97.2~debian-2ubuntu2
  Version table:
 *** 0.97.2~debian-2ubuntu2 0
        500 http://mirror.optus.net jaunty/universe Packages
        100 /var/lib/dpkg/status

When trying to launch amsn with these 2 plugins installed, I encounter the following error:
$ amsn
Error in startup script: version conflict for package "http": have 2.7.2, need exactly 2.4.4
    while executing
"package require -exact http 2.4.4"
    (file "proxy.tcl" line 12)
    invoked from within
"source proxy.tcl"
    ("uplevel" body line 29)
    invoked from within
"uplevel \#0 {

 # amsncore.tcl is already loaded but we'll re-source it here in case we manually do reload_files
 source amsncore.tcl
 source audio.tc..."
    (procedure "reload_files" line 2)
    invoked from within
"reload_files"
    (file "/usr/bin/amsn" line 272)

-------------------------------------------------

I have verified that the package in proposed works as expected with these 2 plugins installed. amsn loads correctly with no error messages displayed.
$ apt-cache policy amsn
amsn:
  Installed: 0.97.2~debian-2ubuntu2.1
  Candidate: 0.97.2~debian-2ubuntu2.1
  Version table:
 *** 0.97.2~debian-2ubuntu2.1 0
        500 http://mirror.optus.net jaunty-proposed/universe Packages
        100 /var/lib/dpkg/status
     0.97.2~debian-2ubuntu2 0
        500 http://mirror.optus.net jaunty/universe Packages

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package amsn - 0.97.2~debian-2ubuntu2.1

---------------
amsn (0.97.2~debian-2ubuntu2.1) jaunty-proposed; urgency=low

  * Load proxy.tcl before plugins.tcl to make sure the correct version of the
    http package is loaded before any plugins start loading some incompatible
    version (LP: #371103). Thanks to aMSN developer KaKaRoTo
 -- Patrick Kuijvenhoven <email address hidden> Wed, 17 Feb 2010 20:23:16 +0100

Changed in amsn (Ubuntu Jaunty):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.