Re: PP generates some duff code with multithreading enabled

2004-05-09 Thread Ed Wildgoose

Did the same with no fault here, build 809, XP, and the latest snap of PAR compiled 
with VC 6. Are you self compiling PAR or using the binary download?
 

Downloading the binaries of PAR.  Has been like this for the last few 
versions though.

I do have VC .Net here.  I will try and compile PAR myself with that and 
see if anything changes

Thanks

Ed W


Re: PP generates some duff code with multithreading enabled

2004-05-09 Thread Ed Wildgoose
Thanks Alan,

You are right that something strange is going on here.

I ran the aa.exe that the.noonings created, and it runs fine on my 
machine.  Coupled with what you say below that my exe is crashing on 
your machine suggests something strange going on with my par install.

The original install was done after perl 5.8.2 was installed, and was 
either done using the precompiled download, or slightly possibly from 
the activestate download (I think the former though).

Now that I rebuilt 0.80 from source it doesn't crash, on my little test 
program, but more complicated stuff is failing, so I think I need to 
re-install all my perl modules (wxwindows, etc).  Will report back after 
that.

Thanks everyone

Ed W


I see several things, but I can't put them together yet.

Your a.exe creates a temp cache dir with a short MD5 hash name, while mine creates a 
long SHA1 cache name. That implies that yours is created in the embedded par.pl, when 
mine is done in the static.c header.

Also, mine extracts stuff to an inc subdir of the cache, while yours does not.

If I run yours from the command line, it crashes the first time and every time. If I 
double click it, it runs the first time and then crashes every time after that. If I 
delete the cache and run it, it runs the first time and then crashes afterwards.

If I rename my c:\perl directory to hide it, your a.exe runs OK everytime ?!? The 
only way your a.exe can find my perl install is by the copy of Config.pm in a.exe. Both 
of our Config.pm's point to c:\perl. There must be some conflict between the stuff in 
your PAR binary and the perl install we both have for 5.8.3.

You may find that you have no problem running your application on a machine that 
doesn't have perl installed (or at least not in c:\perl).

Or your problem may go away if you download the snapshot and compile yourself.

Alan Stewart

 




Re: PP generates some duff code with multithreading enabled

2004-05-09 Thread Ed Wildgoose
Hmm, OK, well I have rebuild PAR 0.80 from source, and re-installed 
wxperl and now everything is working fine...  I'm fairly sure that if I 
re-installed the binary version of par then this would re-occur though.  
Any ideas why?

Thanks all.  This is a major improvement for me.  I still have quite a 
few bugs, but not sure how best to announce them, since I don't have 
good reproducable cases for most of them. 

For example, I manually build an intermediate par file, then remove the 
Wx dll's, then build the exe.  However, if the Wx dlls aren't then in 
the patch when I run the final exe, something goes mad, consumes all 
available ram in the machine until it falls over in a heap...  If I 
build the exe without --gui then the last thing I see on the console is 
the message about being unable to locate loadable object for module Wx 
in   To be fair this may not be a par issue at all... I didn't 
think to check what happens normally if I just delete the dll's 
Ooops, will go and do that next!

Thanks again

Ed W


PP generates some duff code with multithreading enabled

2004-05-08 Thread Ed Wildgoose
Please try the following snippet through pp.  It executes fine, but 
crashes when the app exits (at least on win32, havent tried linux yet).  
I would be really grateful if someone could help debug this - it's the 
last major bug standing in the way of packaging my little email app with 
par.

#!/usr/bin/perl
use threads;
use threads::shared;
print Cras\n;
## fails to exit cleanly after this...
Thanks for any help.

Ed W

P.S. Autrijus, I will try to check it out myself, but in the latest 
pre-release did you check in Alan Stewarts changes to fix the --icon 
problem where it increases the file size?  I have just been retesting 
his version and it does seem to work fine for me?

Thanks



Interesting crash on Windows (at least..)

2004-04-20 Thread Ed Wildgoose
Hi, I have discovered two bits of source which cause pp to generate an 
executable which crashes with the usual windows protection error when 
the app exits.

The first and easy way (ie, that I can work around) is to generate a 
module.pm file, and start it with #!/bin/perl, then include it in a 
main .pl file.  There doesn't seem to need to be anything in the module 
file, just the simple fact of starting it with the shebang line causes 
the resultant pp exe to crash when it exits.  Obviously module files 
shouldn't really start with a shebang so this is easy to work around

The second one is giving me real grief though, and this is to add a use 
threads; line to the main app.  Everything works fine, but the app 
crashes when it exits..  I really need to use perl threads in this app, 
so does anyone have any suggestions on how to work around this...?

Versions:
Perl 5.8.2 build 808 (also didn't work on perl 5.8.0)
Win XP sp1
par 0.80 (I think?), however, this has been a problem for quite a while 
back now (just haven't had time to debug it)

Any suggestions on how to make threads work with par...?  Is this 
actually reproducable for anyone else...? (I don't actually need to use 
any code to cause the problem, simply include the threads modules)

Thanks

Ed W



Re: PAR - WIN32 Client/Server application using fork() problem

2004-03-29 Thread Ed Wildgoose

Oh and PAR seem to work fine on other standard Perl scripts I've used. But
must admit I've not tried compiling a script with fork() on a WIN32 system
before.
 

I've never found fork to work reliably at all on Win32.  See the 
perlport notes.  Perhaps things are better with 5.8 though?

Consider just rewriting it to use a select loop.  It was much easier for 
my app that way.

Good luck