[Pythonmac-SIG] Re: urllib and ftplib hang in bundle but not
when run directly
Russell E Owen
rowen at u.washington.edu
Mon May 17 12:26:42 EDT 2004
At 11:14 PM +0200 2004-05-15, Jack Jansen wrote:
>...
>My gut feeling is that it's not the import lock that is the problem: something
>as fundamental as the import lock being in a different state in a
>bundlebuilder
>application (as compared to a normal script run) would have show up much
>sooner. I did a quick test and it seems the import lock isn't held,
>indeed (in an
>application created with the stock 2.3 bundlebuilder).
I agree, especially as simply compiling the regular expression can
cause the same problem.
>My next guess would be that the bundled application somehow holds
>a lock that is internal to re, but a quick look at re (and _sre) revealed no
>such lock, especially given your assertion that things go wrong at import
>time. Also, I can't imagine why a bundlebuilder app would hold such
>a lock while a normal script wouldn't.
>
>Still, I'd like to debug this, as errors such as this are really nasty.
>Could you try to attach gdb to the process as it is hanging, and see whether
>you can find out what lock (if any) you are hanging on?
I'll gladly have a go at that. not having used gdb before I'm
wondering if anyone can suggest a tutorial or recipe.
>Also, there are now quite a few things called bundlebuilder or variations
>on it. Which one are you using? With what options?
I am using the bundlebuilder that came with Panther's built-in Mac
Python 2.3. Here's the basic call (the build script has additional
code to handle the fact that I mix some data files, e.g. sounds and
html help, in with my modules, but this just copies files into the
bundle):
inclPkgs = ["RO", "TUI"]
libs = [
"/Library/Frameworks/Tcl.framework",
"/Library/Frameworks/Tk.framework",
]
resources = [tuiDir]
bundlebuilder.buildapp(
name = appName, # application name
builddir = ".", # dir for application
mainprogram = mainProg, # your app's main()
argv_emulation = False, # drag&dropped filenames show
up in sys.argv?
iconfile = 'TUI.icns', # file containing your app's icons
semi_standalone = True, # make this app self contained.
includePackages = inclPkgs, # additional Packages to force in
libs = libs, # extra libraries to force in
resources = resources, # extra files or folders to
copy to Resources
)
Note that this same code also hangs under RedHat 9.2 linux with
Python 2.3.3. Still, the fact that it runs fine as a pythonw
command-line app (with GUI) and not as a bundled app is certainly
suspicious and if gdb will show what's going on, that'll be great!
I'd sure rather not hack my own version of ftplib.
-- Russell
More information about the Pythonmac-SIG
mailing list