standalone installation: Qt libs can't be loaded on Windows Server 2003, therefore qbzr/bzr-explorer don't work

Bug #704609 reported by 1
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Bazaar Explorer
Incomplete
Undecided
Unassigned
Bazaar Windows Installers
New
Undecided
Unassigned

Bug Description

I've installed Bazaar from the standalone installer (http://launchpad.net/bzr/2.2/2.2.1/+download/bzr-2.2.1-3-setup.exe). Bazaar Explorer doesn't start. Same with the beta version (http://launchpad.net/bzr/2.3/2.3b3/+download/bzr-2.3b3-1-setup.exe).

Log says: (version 2.2.1)

Sun 2010-12-05 21:09:54 +0100
0.235 bazaar version: 2.2.1
0.235 bzr arguments: [u'explorer']
0.250 looking for plugins in D:/Dokumente und Einstellungen/Administrator/Anwendungsdaten/bazaar/2.0/plugins
0.250 looking for plugins in X:/bazaar/Bazaar/plugins
0.516 encoding stdout as osutils.get_user_encoding() 'cp1252'
0.531 Traceback (most recent call last):
  File "bzrlib\commands.pyo", line 912, in exception_to_return_code
  File "bzrlib\commands.pyo", line 1112, in run_bzr
  File "bzrlib\commands.pyo", line 690, in run_argv_aliases
  File "bzrlib\commands.pyo", line 705, in run
  File "bzrlib\cleanup.pyo", line 135, in run_simple
  File "bzrlib\cleanup.pyo", line 165, in _do_with_cleanups
  File "X:/bazaar/Bazaar/plugins\explorer\lib\commands.py", line 144, in run
  File "X:/bazaar/Bazaar/plugins\qbzr\lib\uifactory.py", line 21, in <module>
  File "PyQt4\QtCore.pyo", line 12, in <module>
  File "PyQt4\QtCore.pyo", line 10, in __load
ImportError: DLL load failed: Diese Anwendung konnte nicht gestartet werden, weil die Anwendungskonfiguration nicht ordnungsgemäß ist. Zur Problembehebung sollten Sie die Anwendung neu installieren.

0.531 couldn't find apport bug-reporting library: No module named apport
0.594 return code 4
[ 1368] 2010-12-05 21:09:54.983 WARNING: bzr: warning: some compiled extensions could not be loaded; see <https://answers.launchpad.net/bzr/+faq/703>

respectively (version 2.3beta)

Tue 2011-01-18 19:42:32 +0100
0.500 bazaar version: 2.3b3
0.500 bzr arguments: [u'explorer']
0.594 looking for plugins in D:/Dokumente und Einstellungen/Administrator/Anwendungsdaten/bazaar/2.0/plugins
0.594 looking for plugins in X:/bazaar/Bazaar/plugins
1.063 encoding stdout as osutils.get_user_encoding() 'cp1252'
1.094 Traceback (most recent call last):
  File "bzrlib\commands.pyo", line 917, in exception_to_return_code
  File "bzrlib\commands.pyo", line 1117, in run_bzr
  File "bzrlib\commands.pyo", line 691, in run_argv_aliases
  File "bzrlib\commands.pyo", line 710, in run
  File "bzrlib\cleanup.pyo", line 135, in run_simple
  File "bzrlib\cleanup.pyo", line 165, in _do_with_cleanups
  File "X:/bazaar/Bazaar/plugins\explorer\lib\commands.py", line 144, in run
  File "X:/bazaar/Bazaar/plugins\qbzr\lib\uifactory.py", line 21, in <module>
  File "PyQt4\QtCore.pyo", line 12, in <module>
  File "PyQt4\QtCore.pyo", line 10, in __load
ImportError: DLL load failed: Diese Anwendung konnte nicht gestartet werden, weil die Anwendungskonfiguration nicht ordnungsgemäß ist. Zur Problembehebung sollten Sie die Anwendung neu installieren.

1.094 couldn't find apport bug-reporting library: No module named apport
1.141 Traceback (most recent call last):
  File "bzrlib\plugin.pyo", line 542, in _get__version__
  File "bzrlib\__init__.pyo", line 101, in _format_version_tuple
IndexError: tuple index out of range

1.141 return code 4

The localized ImportError: DLL load failed: error message reads: "This application could not be started, for the application configuration is not in proper form. For troubleshooting, you should reinstall the application."

The suggested troubleshooting didn't solve the problem. The tests have also been run with administrative user privileges.

Setup was: Windows Server 2003 with service pack 2, system partition was D:, installation directory was X:\bazaar\Bazaar, no changes have been made from the default installation options (the only change was the installation directory, that is).

As an aside, the "Bazaar log file" in the start menu seems to be hardlinked to specific user (the administrator in my case), so normal users cannot open it from the menu. It either shouldn't be linked to in the menu at all or for the current user.

Summary: Bazaar Explorer doesn't start using the out-of-the-box Bazaar installer. I haven't tested the Bazaar Explorer installer (Bazaar Explorer seems to exist as a separate project as well. This report refers to the version that seems to be included in the Bazaar installer).

Changed in bzr-explorer:
status: New → Incomplete
Revision history for this message
Alexander Belchenko (bialix) wrote :

The error message suggests that Qt libraries cannot be loaded on your installation. Maybe it needs some dlls missed on your system.

I suppose that X:/bazaar/Bazaar is the directory where bzr has been installed.

Can you please check following:

* in the directory X:/bazaar/Bazaar/lib you have following files: PyQt4.QtCore.pyd, QtCore4.dll, sip.pyd, MPR.dll and those files have non zero length

* using depends utility check that PyQt4.QtCore.pyd can find all dependencies (module without sand glass at left).

http://www.dependencywalker.com/

Also, side question: have you enabled adding X:/bazaar/Bazaar to your PATH environment variable? I'm not sure it's relevant here, but I'd like to check this thought too.

Revision history for this message
1 (sfdn834) wrote :

X:/bazaar/Bazaar is the installation directory and it has been added to the PATH environment variable. The files you've named all have non-zero size. The Dependency Walker application has detected missing files (see screenshot).

Revision history for this message
Alexander Belchenko (bialix) wrote :

@Martin gz: I need your expertise on this bug

Revision history for this message
Alexander Belchenko (bialix) wrote :

So, I think the importnat point here is 2 side-by-side errors (in the bottom window on the screenshot):

Error: The Side-by-Side configuration information for "x:\bazaar\bazaar\lib\PYQT4.QTCORE.PYD" contains errors. (+some German text)
Error: The Side-by-Side configuration information for "x:\bazaar\bazaar\lib\QTCORE4.DLL" contains errors. (+some German text)

summary: - Bazaar Explorer doesn't start after default installation
+ standalone installation: Qt libs can't be loaded on Windows Server 2003,
+ therefore qbzr/bzr-explorer don't work
Revision history for this message
1 (sfdn834) wrote :

In case it helps:

(1) The DLLs (wer.dll for Windows Error Reporting and ieshims.dll for supposedly something Internet Explorer related) are not present on Windows systems prior to Vista according to http://social.technet.microsoft.com/Forums/en-US/w7itproinstall/thread/8a751f65-ade9-4b8b-a3d3-c720ccbd3d2c/#d8f1e6b4-a105-4bcb-aeb2-1894175960e7

(2) Unrelated, but some technical stuff (and some ranting about that) for what side-by-side configuration is supposed to do can be found at http://buffered.io/2008/05/17/resolving-side-by-side-configuration-issues/

(3) Because of (1), you should probably ship the DLLs with the installation package or (better) make them not a dependency at all.

Revision history for this message
Alexander Belchenko (bialix) wrote : Re: [Bug 704609] Re: standalone installation: Qt libs can't be loaded on Windows Server 2003, therefore qbzr/bzr-explorer don't work

1 пишет:
> In case it helps:
>
> (1) The DLLs (wer.dll for Windows Error Reporting and ieshims.dll for
> supposedly something Internet Explorer related) are not present on
> Windows systems prior to Vista according to
> http://social.technet.microsoft.com/Forums/en-
> US/w7itproinstall/thread/8a751f65-ade9-4b8b-
> a3d3-c720ccbd3d2c/#d8f1e6b4-a105-4bcb-aeb2-1894175960e7

Those are not problem at all. I have Windows XP box and have no problems
to work with bzr-explorer at all. As you can see those DLLs are not
direct dependency for Qt, they're delayed to load (as sand-glass suggests).

>
> (2) Unrelated, but some technical stuff (and some ranting about that)
> for what side-by-side configuration is supposed to do can be found at
> http://buffered.io/2008/05/17/resolving-side-by-side-configuration-
> issues/

Thanks, it could be useful.

>
> (3) Because of (1), you should probably ship the DLLs with the
> installation package or (better) make them not a dependency at all.
>

We're using Qt libs from the official PyQt4 installation package, so
this suggestion is unrelated to bzr. We have what we have, it's out of
our control.

Thanks.

--
All the dude wanted was his rug back

Revision history for this message
Alexander Belchenko (bialix) wrote :

1 пишет:
> (2) Unrelated, but some technical stuff (and some ranting about that)
> for what side-by-side configuration is supposed to do can be found at
> http://buffered.io/2008/05/17/resolving-side-by-side-configuration-
> issues/

My first guess: maybe we need valid manifest file for Qt libs.

--
All the dude wanted was his rug back

Revision history for this message
Martin Packman (gz) wrote :

A request to help debug this, using that Dependency Walker tool, do 'File->Open...' and select bzrw.exe from the Bazaar installation folder. Then do 'Profile->Start Profiling...' and type 'qversion' in the 'Program arguments' textbox at the top and hit OK. Let that run, and close any dialogue boxes that appear. Once it's done, click in the log panel at the bottom, select the contents with Ctrl+A to copy them into a text file and upload that here. Should tell us exactly which dll is failing to load, without having to chase every herring.

Windows Server 2003 is XP based so SxS stuff should work really, but as a workaround you may be able to separately install whatever component you're missing.

Revision history for this message
1 (sfdn834) wrote :

I have run the suggested profiling and attached the results.

Revision history for this message
Martin Packman (gz) wrote :

Certainly SxS related. Interestingly the pywin32 modules also fail to load with manifest issues (and bzr just uses ctypes instead), but they have a bit-for-bit identical embedded manifest as the bzrlib pyd bits that load fine.

There's an outside chance this is related to <http://support.microsoft.com/kb/912949> in which case it might be worth trying that workaround:
In HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide
Set PreferExternalManifest to (DWORD) 1.

Revision history for this message
1 (sfdn834) wrote :

Adding the registry entry did not solve the problem.

Revision history for this message
Martin Packman (gz) wrote :

Sorry, only thing left I can suggest is avoiding this issue by not using the all-in-one installer, but instead separately installing Python, Bazaar for that Python version, Qt, sip, PyQt, qbzr, and bzr-explorer.

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.