Re: [perl #25960] [PATCH] COWed stack bug (was IMCC - PerlArray getting trounced)

2004-02-24 Thread Leopold Toetsch
Luke Palmer [EMAIL PROTECTED] wrote:
 Leopold Toetsch writes:

 As already stated:
 - COWed buffers need distinct buffer headers pointing to the same
   buffer memory
 - unCOWing (regstack_copy_chunk) allocates new buffer memory and
   resets the COW flag

 I headed in to fix this when I saw some new stuff in there.   Has this
 been fixed?

Yep. I can't find any more trails of memory corruption. COW copy of
stacks is rewritten totally, s. stack_common.c.

 Luke

leo


[perl #27042] [PATCH] C:/parrot/config/gen/platform/win32/exec.c (Parrot_Run_OS_Command)

2004-02-24 Thread via RT
# New Ticket Created by  [EMAIL PROTECTED] 
# Please include the string:  [perl #27042]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=27042 


This patch implements Parrot_Run_OS_Command() for Win32.

I haven't diff'd the file as this replaces the entire file (1 function).


Whilst I'm posting this, I will mention the following build error when trying to 
build parrot-latest timestamped 
--
1077580846
Tue Feb 24 00:00:46 2004 UTC

(time of this cvs update)
---

platform.c
c:\parrot\src\platform.c(222) : error C2061: syntax error : identifier 
'Parrot_set_sighandler'
c:\parrot\src\platform.c(222) : error C2059: syntax error : ';'
c:\parrot\src\platform.c(222) : error C2059: syntax error : 'type'
NMAKE : fatal error U1077: 'c:\Perl\bin\perl.exe' : return code '0x2'

I bypassed this by commenting out the following code section in src/platform.c
(207) as a temporary measure.

/*
** config/gen/platform/generic/signal.c:
*/

/*
 * Signal handling stuff
 */

#ifdef PARROT_HAS_HEADER_SIGNAL
#include signal.h
/*
 * for now use signal based functions
 */
/*
Parrot_sighandler_t
Parrot_set_sighandler(int signum, Parrot_sighandler_t handler)
{
return signal(signum, handler);
}
*/
#endif

I don;t undsrstand the build process well enough to offere a solution, but it 
seems to have crept in with the spliting up of the platform specific files.

Nigel.





exec.c
Description: Binary data


Re: [perl #26911] Failing tests on Linux/x86

2004-02-24 Thread Leopold Toetsch
Simon Glover [EMAIL PROTECTED] wrote:

  I sent this a few days ago, but RT doesn't seem to have forwarded
  it to the list for some reason.

A nasty error to track down.

Actually already

   print hello\n
   end

was segfaulting, when ...

 nv=long double, numvalsize=12, doublesize=8

... Parrot was compiled with long doubles. The reason was, that
--gc-debug incremented the version of pmc_ext (which isn't a real
Buffer). Due to the bigger PObj size, this increment went beyond the
current pmc_ext structure into the data pointer of the next pmc_ext.
This bug was already lurking around a long time.

Fixed.

Also fixed is a bogus usage of HashEntry in t/src/hash_6. Other src/hash
tests are still broken, but don't fail because no DOD is run.

Thanks for reporting,
leo


Re: [perl #27026] [PATCH] Native exec doc

2004-02-24 Thread Leopold Toetsch
Adam Thomason [EMAIL PROTECTED] wrote:

 Attached patch adds user documentation for the native object execution mechanism and 
 fixes up associated bits of the Makefile.  There might be minor errors since I'm not 
 very familiar with the internals, so anyone who is may want to make corrections.

Thanks, applied.
leo


Re: [CVS ci] PLATFORMS

2004-02-24 Thread Leopold Toetsch
chromatic wrote:

On Mon, 2004-02-23 at 11:00, Leopold Toetsch wrote:

[ patch ]

Thanks applied.


I think this is right.  I don't see anything which indicates CGoto
support, 
when core_ops_cg.c gets compiled, CGoto is enabled.

... and I'm guessing at thread and signal support since two of the
tests ran in each, though the others all skipped.
t/pmc/threads.t
...
if ($^O eq 'linux' or $^O eq 'darwin') {
  plan tests = 11;
We AFAIK don't have a config variable that states threads are ok, so 
platforms are hardcoded currently.


Linux x86 with gcc-3.3.2 also seems to work correctly.
Yep.


-- c
leo




Re: [CVS ci] PLATFORMS

2004-02-24 Thread Michael Scott
Unfortunately until we get this solved those of us on dyslexic systems 
can't update our local copies. So I'm waving an URGENT flag here.

After a bit of self-education on the CVS FAQ, I've come to the 
conclusion that renaming (delete/add) PLATFORMS to PLATFORMS.txt is 
the best way to solve this.

Am I right or wrong? Let those with greater knowledge speak...

Mike

On 24 Feb 2004, at 01:31, Will Coleda wrote:

my .cvsrc has update -dP, and I still get the same problem with the 
platforms directory. (OS X)

On Monday, February 23, 2004, at 04:50  PM, Michael Scott wrote:

I have this problem too.

	cvs [update aborted]: could not chdir to platforms: Not a directory

Same problem even if I do a new check out.

	cvs [checkout aborted]: could not chdir to parrot/platforms: Not a 
directory

There is no local platforms directory, yet CVS wants to go to it, so 
I assume the problem is coming from the server end.

There is still a platforms directory on the server.

	http://cvs.perl.org/cvsweb/parrot/platforms/

Mike

On 23 Feb 2004, at 19:56, Leopold Toetsch wrote:

Jonathan Worthington [EMAIL PROTECTED] wrote:
Leo, [did try to send off list, but it bounced]

Please help me fill out the blanks by sending or committing 
patches.
Please make sure to have the latest and best Parrot from CVS.

Earlier today you popped a new file in CVS called PLATFORMS.  
Unfortunately,
there is also a directory there called platforms.
I don't have a directory named platforms in parrot root. You seem to 
be
missing the -P switch to cvs update.

$ find . -name platforms
$ find . -iname platforms
./PLATFORMS
Jonathan
leo



--
Will Coke Coledawill at coleda 
dot com




Re: [perl #27042] [PATCH] C:/parrot/config/gen/platform/win32/exec.c (Parrot_Run_OS_Command)

2004-02-24 Thread Leopold Toetsch
Nigelsandever @ Btconnect . Com [EMAIL PROTECTED] wrote:

 This patch implements Parrot_Run_OS_Command() for Win32.

Thanks, applied.

 Whilst I'm posting this, I will mention the following build error

 platform.c

Should be fixed now.
leo


Re: [CVS ci] PLATFORMS

2004-02-24 Thread Leopold Toetsch
Michael Scott [EMAIL PROTECTED] wrote:
 Unfortunately until we get this solved those of us on dyslexic systems
 can't update our local copies. So I'm waving an URGENT flag here.

$ cvs remove -f platforms
cvs server: Removing platforms
cvs [server aborted]: could not chdir to platforms: No such file or directory

$ touch platforms

$ cvs add platforms
cvs server: cannot add file `platforms' since the directory
cvs server: `/cvs/public/parrot/platforms' already exists in the repository
cvs [server aborted]: illegal filename overlap

$ cvs remove -f platforms
cvs server: Removing platforms
cvs [server aborted]: could not chdir to platforms: No such file or directory

$root/platforms did exist some time ago, but there seem to be still trails
of it in CVS/*

 After a bit of self-education on the CVS FAQ, I've come to the
 conclusion that renaming (delete/add) PLATFORMS to PLATFORMS.txt is
 the best way to solve this.

Better it get fixed in CVS. There could be more errors of this kind.

 Mike

leo


Re: [CVS ci] PLATFORMS

2004-02-24 Thread Leopold Toetsch
Leopold Toetsch [EMAIL PROTECTED] wrote:
 $ touch platforms

Argghh:

$ mkdir platforms

$ cvs add platforms
Directory /cvs/public/parrot/platforms added to the repository

$ cvs ci -mtest platforms
cvs commit: Examining platforms

$ cvs remove -f platforms
cvs server: Removing platforms

$ cvs ci -mtest platforms
cvs commit: Examining platforms

Sh..

leo



Re: [CVS ci] PLATFORMS

2004-02-24 Thread Arvindh Rajesh Tamilmani
Same problem even if I do a new check out.

   cvs [checkout aborted]: could not chdir to 
parrot/platforms: Not a 
directory

Does the following command work?

$ cvs co '!parrot/platforms' parrot
# the order should be preserved.
 
Mike

Arvindh


__
Do you Yahoo!?
Yahoo! Mail SpamGuard - Read only the mail you want.
http://antispam.yahoo.com/tools


Re: [perl #27042] [PATCH] C:/parrot/config/gen/platform/win32/exec.c (Parrot_Run_OS_Command)

2004-02-24 Thread Goplat
--- via RT [EMAIL PROTECTED],
[EMAIL PROTECTED] wrote:
 # New Ticket Created by  [EMAIL PROTECTED] 
 # Please include the string:  [perl #27042]
 # in the subject line of all future correspondence about this issue. 
 # URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=27042 
 

 ATTACHMENT part 2 application/octet-stream name=exec.c

 strcpy( cmd, /c  );

You need the shell name first, otherwise the shell will think /c is its name
instead of an option.

 strcat( cmd, string_to_cstring(interpreter, command) );

That's a memory leak. You need to string_cstring_free that.

 free( cmd );

That should be mem_sys_free

__
Do you Yahoo!?
Yahoo! Mail SpamGuard - Read only the mail you want.
http://antispam.yahoo.com/tools


Re: [CVS ci] PLATFORMS

2004-02-24 Thread Michael Scott
On 24 Feb 2004, at 15:06, Arvindh Rajesh Tamilmani wrote:

Does the following command work?

$ cvs co '!parrot/platforms' parrot
# the order should be preserved.
on tcsh it gives me

cvs co '!parrot/platforms' parrot
tcsh: parrot/platforms: Event not found.
but on sh it did seem to do the trick.

cvs co '!parrot/platforms' parrot
? parrot/docs/html
U parrot/include/parrot/packfile.h
U parrot/pf/pf_items.c
U parrot/src/packfile.c
M parrot/src/stack_common.c
M parrot/types/bignum.c
Many thanks.

Mike



RE: [CVS ci] PLATFORMS

2004-02-24 Thread Gay, Jerry
 Does the following command work?
 
 $ cvs co '!parrot/platforms' parrot
 # the order should be preserved.
  
 Arvindh
 

this works for me on win32

--jerry



** 
This e-mail and any files transmitted with it may contain privileged or 
confidential information. It is solely for use by the individual for whom 
it is intended, even if addressed incorrectly. If you received this e-mail 
in error, please notify the sender; do not disclose, copy, distribute, or 
take any action in reliance on the contents of this information; and delete 
it from your system. Any other use of this e-mail is prohibited. Thank you 
for your compliance.





Re: [CVS ci] PLATFORMS

2004-02-24 Thread Michael Scott
... and in tcsh (OS X)

	cvs co '\!parrot/platforms' parrot

Mike



Object changes

2004-02-24 Thread Dan Sugalski
I just committed a patch that may break code that's using things 
that're otherwise broken already. Notably:

*) The signature of some ops changed
*) Some words (attribute, method) are now completely spelled out
The ops with changed signatures also had name changes, so PIR/PASM 
code that uses them should break properly.

Note that some of the objects.t tests break -- I've not fixed them up 
yet. (There are a bunch, which is good. Until some twit comes and 
changes something, of course... :)
--
Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk


Re: [CVS ci] PLATFORMS

2004-02-24 Thread Arvindh Rajesh Tamilmani
my .cvsrc has update -dP, and I still get the
same problem with the 
platforms directory. (OS X)

on -P, CVS prunes _empty_ directories only on its way
out (having built all the directories before that). 
So -P fails in our case.


__
Do you Yahoo!?
Yahoo! Mail SpamGuard - Read only the mail you want.
http://antispam.yahoo.com/tools


Re: [perl #27003] bytecode (header?) problem in tru64/alpha

2004-02-24 Thread Jarkko Hietaniemi
I followed up on the perlbug thread on this but so far it hasn't
showed up in p6i, so here's a manual resend.

--- cut here ---

I am unfortunately running out of time to look more into the matter of
bytecode reading being broken in Alpha.  However, here are some notes
for those who want to try, as of src/byteorder.c 1.20 and
src/packfile.c 1.142.  First of all note that I'm no Parrot or PBC
guru, I'm mostly going by what I think I can understand from
docs/parrotbyte.pod, version 2003.11.22.

(1) What is failing is ./parrot t/native_pbc/{integer_1,number_{1,2}.t},
all are saying:

PackFile_unpack: Not a Parrot PackFile!
Magic number was [0x4c524550] not [0x013155a1]
Parrot VM: Can't unpack packfile t/native_pbc/integer_1.pbc.
error:imcc:main: Packfile loading failed

(2) After some glaring at the hex dump of the pbc and the parrotbyte.pod
and pf/pf_items.c:PF_fetch_opcode() and src/byteorder.c:fetch_op_be()
(since pf/pf_items.c:PackFile_assign_transforms() has assigned
fetch_op_mixed() to be the transform, OPCODE_T_SIZE being 8 and
PARROT_BIGENDIAN being 0 for the 64-bit little-endian Alpha) it is
pretty obvious (?) what is happening:

04 00 00 0d 04 00 ac 1d a0 e1 c0 b8 70 2a 58 a0 p*X.
a1 55 31 01 4c 52 45 50 01 00 00 00 00 00 00 00 .U1.LREP
...

The fetch_op_be() reverts the eight bytes 50 45 52 4c 01 31 55 a1
to become a1 55 31 01 4c 52 45 50, and then in fetch_op_mixed()
the 0xa15531014c524550 gets masked to be the 0x4c524550.

(3) Now, does this make any sense?  Not to me, not right now. Allow me
to list the issues I have (or things I don't understand at the moment):

(3a) Why is fetch_op_mixed() reading in 8 bytes at a time when the
.pbc is saying the wordsize is 4 (the first byte)?  Yes, the native
wordsize is eight-sized, but the bytecode is four-sized.

(3b) The byteorder of the .pbc is 0 (the second byte), or little-endian.
Neat, that is the same as ours.  But why are we then reading the
parrot magic (offset 16) in as a bigendian (fetch_op_be()) opcode,
and therefore reverting the bytes?  Had we read in 4 bytes (see 3a)
we would have had the expected PARROT_MAGIC or 0x013155a1 right there
in the bytes a1 55 31 01.

(3c) In PF_fetch_opcode() we have
o = (pf-fetch_op)(**stream);
*((unsigned char **) (stream)) += pf-header-wordsize;
where stream is opcode_t** (and the pf-fetch_op is here the fetch_op_mixed).
This is supposed to read in the next opcode and advance the opcode cursor.
But I have a strong suspicion and spotty evidence that this cannot work
reliably. If the opcode_t requires alignment by eight, but the packfile
(pf) bytecode header says the wordsize is four, we have just set up
a time bomb that will go off real soon-- at the next opcode fetch.
(3c1) Assume *stream is X, something nicely aligned by eight.
(3c2) Assume an opcode is read.
(3c3) *stream is increased by four, it then being X+4.
(3c4) The next time around an attempt is made to call (pf-fetch_op)
with the *stream pointing to an address aligned by four but not by eight.
Kaboom.  What I mean by spotty evidence is that after some hacking
around and getting the PARROT_MAGIC read properly (I replaced the o0x
with (o32)0x in the last branch of fetch_op_mixed() and one
more byte reverse for the magic in src/packfile.c:PackFile_unpack(), IIRC)
I got a SIGBUS at the o = (pf-fetch_op)(*stream) line, the next time
around.  That was the point where I had to give up hacking this.

In general it is not portable across architectures to cast aligned
(like opcode_t, or long) and non-aligned (char, void) pointers back
and forth (like it is done at the PF_fetch_opcode() cursor increment
line).  For example in x86 I believe one can, with impunity, but all
the world's not x86.  In the case of wordsizes of the runtime and the
bytecode being different, I think only a non-aligned pointer could work
as the cursor.

-- 
Jarkko Hietaniemi [EMAIL PROTECTED] http://www.iki.fi/jhi/ There is this special
biologist word we use for 'stable'.  It is 'dead'. -- Jack Cohen


Re: [perl #27003] bytecode (header?) problem in tru64/alpha

2004-02-24 Thread Leopold Toetsch
Jarkko Hietaniemi [EMAIL PROTECTED] wrote:
 I followed up on the perlbug thread on this but so far it hasn't
 showed up in p6i, so here's a manual resend.

I've checked is some changes in the meantime, comments below inline.

 (3a) Why is fetch_op_mixed() reading in 8 bytes at a time when the
 .pbc is saying the wordsize is 4

Changed to fetch_buf_le_4() now. Please note I didn't try to fix the
whole code, just to get Tru64 running.

 (3c) In PF_fetch_opcode() we have
 o = (pf-fetch_op)(**stream);

I changed the signature to unsigned char* now.

 (3c3) *stream is increased by four, it then being X+4.
 (3c4) The next time around an attempt is made to call (pf-fetch_op)
 with the *stream pointing to an address aligned by four but not by eight.

This should be gone now...

 In general it is not portable across architectures to cast aligned
 (like opcode_t, or long) and non-aligned (char, void) pointers back
 and forth

... but there are still might be issues. Aligning the cursor to 16 bytes
in packfile.c comes to my mind. The PF_fetch_op() still gets an
opcode_t* cursor, which might be misaligned. *But* AFAIK this misaligned
thingy should never be dereferenced, so that a SIGBUS shouldn't get
triggered.

leo


Re: [CVS ci] PLATFORMS

2004-02-24 Thread Arvindh Rajesh Tamilmani
... and in tcsh (OS X)

   cvs co '\!parrot/platforms' parrot

a) to avoid the inconvenience of typing the above
command (with the bang sequence properly escaped) and
b) to fix the problem without _renaming_ anything,

the following lines may be added to CVSROOT/modules:

t -d parrot parrot
parrot -a !parrot/platforms t

I tried to reduce them to a single line entry,
but the closest I could get is

parrot -a !./parrot/platforms ./parrot

The (minor ?) problem with the single line version is,
when the parrot module is checked out, the current
directory effectively becomes a CVS working directory.

Arvindh


__
Do you Yahoo!?
Yahoo! Mail SpamGuard - Read only the mail you want.
http://antispam.yahoo.com/tools


Re: [perl #26911] Failing tests on Linux/x86

2004-02-24 Thread Simon Glover

On Tue, 24 Feb 2004, Leopold Toetsch wrote:

 Simon Glover [EMAIL PROTECTED] wrote:

   I sent this a few days ago, but RT doesn't seem to have forwarded
   it to the list for some reason.

 Fixed.

 Confirmed. The only failures I'm now getting are some of the object tests
 (which Dan has just broken), and the first couple of signals tests (which
 I'm going to look into when I have time).

 Thanks,
 Simon





Valgrind and parrot

2004-02-24 Thread Arthur Bergman
Using valgrind 1.9.6 I find it impossible to use with parrot, is this a 
known issue, should I try and get someone to upgrade valgrind for me?

The following impossible happens.

switch% valgrind --num-callers=100 ./parrot examples/assembly/mops.pasm
==23809== Memcheck, a.k.a. Valgrind, a memory error detector for 
x86-linux.
==23809== Copyright (C) 2002, and GNU GPL'd, by Julian Seward.
==23809== Using valgrind-1.9.6, a program instrumentation system for 
x86-linux.
==23809== Copyright (C) 2000-2002, and GNU GPL'd, by Julian Seward.
==23809== Estimated CPU clock rate is 2846 MHz
==23809== For more details, rerun with: -v
==23809==
vg_malloc_aligned(0x401C9020, 524288, 524288)
bad alignment request
valgrind: the `impossible' happened:
   vg_malloc_aligned
Basic block ctr is approximately 0

sched status:

Thread 1: status = Runnable, associated_mx = 0x0, associated_cv = 0x0
==23809==at 0x401672B0: memalign (vg_clientfuncs.c:299)
==23809==by 0x808B9B7: Parrot_memalign (src/platform.c:221)
==23809==by 0x80C1DCE: alloc_objects (src/smallobject.c:386)
==23809==by 0x80C1B7E: get_free_object (src/smallobject.c:217)
==23809==by 0x80C200F: get_free_buffer (src/headers.c:87)
==23809==by 0x80C23DD: new_string_header (src/headers.c:330)
==23809==by 0x8085309: string_make (src/string.c:367)
==23809==by 0x81A3BFD: Parrot_Array_class_init (array.c:929)
==23809==by 0x81A126A: Parrot_initialize_core_pmcs 
(src/core_pmcs.c:65)
==23809==by 0x819D903: init_world (src/global_setup.c:76)
==23809==by 0x80BADE9: Parrot_init (src/embed.c:67)
==23809==by 0x807F472: make_interpreter (src/interpreter.c:1587)
==23809==by 0x80BADB6: Parrot_new (src/embed.c:41)
==23809==by 0x807D0D7: main (imcc/main.c:403)
==23809==by 0x42017588: __libc_start_main (in 
/lib/i686/libc-2.2.5.so)
==23809==by 0x807C490: (within 
/home/abergman/Dev/ponie/parrot/parrot)

Cheers
Arthur


Re: Valgrind and parrot

2004-02-24 Thread Elizabeth Mattijsen
At 18:27 + 2/24/04, Arthur Bergman wrote:
Using valgrind 1.9.6 I find it impossible to use with parrot, is 
this a known issue, should I try and get someone to upgrade valgrind 
for me?
Current stable is 2.0.0, unstable is 2.1.0.  I would think an update 
would be in order before send in bug reports to the valgrind folks... 
;-)

Liz


Re: Valgrind and parrot

2004-02-24 Thread Goplat
--- Elizabeth Mattijsen [EMAIL PROTECTED] wrote:
 At 18:27 + 2/24/04, Arthur Bergman wrote:
 Using valgrind 1.9.6 I find it impossible to use with parrot, is 
 this a known issue, should I try and get someone to upgrade valgrind 
 for me?
 
 Current stable is 2.0.0, unstable is 2.1.0.  I would think an update 
 would be in order before send in bug reports to the valgrind folks... 
 ;-)
 
 
 Liz

Even in valgrind cvs
(http://webcvs.kde.org/cgi-bin/cvsweb.cgi/valgrind/coregrind/vg_malloc2.c)
the bug is there:

   /* Check that the requested alignment seems reasonable; that is, is
  a power of 2.  */
   switch (req_alignB) {
  case 4:
  case 8: case 16: case 32: case 64: case 128: case 256: 
  case 512: case 1024: case 2048: case 4096: case 8192: 
  case 16384: case 32768: case 65536: case 131072: 
  case 262144:
  case 1048576: 
 /* can't be bothered to calculate larger ones */
 break;
  default:
 VG_(printf)(vg_malloc_aligned(%p, %d, %d)\nbad alignment request, 
 a, req_alignB, req_pszB );
 VG_(core_panic)(vg_malloc_aligned);
 /*NOTREACHED*/
   }

(524288 is missing)

__
Do you Yahoo!?
Yahoo! Mail SpamGuard - Read only the mail you want.
http://antispam.yahoo.com/tools


Re: [perl #27003] bytecode (header?) problem in tru64/alpha

2004-02-24 Thread Andrew Dougherty
On Tue, 24 Feb 2004, Jarkko Hietaniemi wrote:

 I am unfortunately running out of time to look more into the matter of
 bytecode reading being broken in Alpha.  However, here are some notes
 for those who want to try, as of src/byteorder.c 1.20 and
 src/packfile.c 1.142.  First of all note that I'm no Parrot or PBC
 guru, I'm mostly going by what I think I can understand from
 docs/parrotbyte.pod, version 2003.11.22.

 (1) What is failing is ./parrot t/native_pbc/{integer_1,number_{1,2}.t},
 all are saying:

 PackFile_unpack: Not a Parrot PackFile!
 Magic number was [0x4c524550] not [0x013155a1]
 Parrot VM: Can't unpack packfile t/native_pbc/integer_1.pbc.
 error:imcc:main: Packfile loading failed

That looks rather similar to what I get on SPARC.  Here are
three variations I just got:

Solaris/SPARC/Sun cc, longsize=4:

# PackFile_unpack: Not a Parrot PackFile!
# Magic number was [0x20a54100] not [0x013155a1]
# Parrot VM: Can't unpack packfile t/native_pbc/number_1.pbc.

Linux/SPARC/gcc-3.3.3 20040125 (prerelease) (Debian), longsize=4

# PackFile_unpack: Not a Parrot PackFile!
# Magic number was [0x00469a30] not [0x013155a1]

Linux/SPARC/gcc-3.3.3 20040125 (prerelease) (Debian), longsize=8

# PackFile_unpack: Not a Parrot PackFile!
# Magic number was [0x1200] not [0x013155a1]

And, just to round out the report, on x86 with long-long opcodes,
(what you get if you build perl-5.8.3 with -Duse64bitint)
Linux/x86/gcc version 3.3.2 (Debian), longlongsize=8

# Failed test (t/native_pbc/integer.t at line 35)
#  got: 'BYTECODE_-: Size in directory 32 doesn't match size at offset 
(0x2d5f) -1064971727
# ^B: Size in directory 1431849286 doesn't match size at offset (0x2) 20010401
# section: sections are not back to back
# (: Size in directory 8 doesn't match size at offset (0x28) 0
# section: sections are not back to back

Clearly something very strange is going on.  Alas, I don't have time
to investigate either.

-- 
Andy Dougherty  [EMAIL PROTECTED]


Re: Valgrind and parrot

2004-02-24 Thread Leopold Toetsch
Goplat [EMAIL PROTECTED] wrote:
   case 1048576:
  /* can't be bothered to calculate larger ones */

Yep. Valgrind always failed here. I did submit several bugfixes. Didn't
receive any answer. Sorry forgot to report, but my valgrind here was
always patched;

+  case 524288:
   case 1048576:
+  case 1048576*2:
+  case 1048576*4:

I also needed this on my rather old system:

diff -r -ub valgrind-2.0.0/coregrind/vg_syscalls.c valgrind-2.0.0-leo/coregrind/
--- valgrind-2.0.0/coregrind/vg_syscalls.c  Mon Nov  3 20:15:04 2003
+++ valgrind-2.0.0-leo/coregrind/vg_syscalls.c  Mon Dec  1 16:33:56 2003
@@ -2237,6 +2237,7 @@
the number of bytes currently in that socket's send buffer.
It writes this value as an int to the memory location
indicated by the third argument of ioctl(2). */
+#if 0
 case SIOCOUTQ:
SYSCALL_TRACK( pre_mem_write, tid, ioctl(SIOCOUTQ), arg3,
 sizeof(int));
@@ -2244,6 +2245,7 @@
if (!VG_(is_kerror)(res)  res == 0)
   VG_TRACK( post_mem_write,arg3, sizeof(int));
break;
+#endif


leo


Re: [perl #27003] bytecode (header?) problem in tru64/alpha

2004-02-24 Thread Melvin Smith
At 03:56 PM 2/24/2004 -0500, Andrew Dougherty wrote:
On Tue, 24 Feb 2004, Jarkko Hietaniemi wrote:

 PackFile_unpack: Not a Parrot PackFile!
 Magic number was [0x4c524550] not [0x013155a1]
 Parrot VM: Can't unpack packfile t/native_pbc/integer_1.pbc.
 error:imcc:main: Packfile loading failed
That looks rather similar to what I get on SPARC.  Here are
three variations I just got:
Something has definitely gone wrong. My initial test cases with
byteorder handling were done with x86 32-bit, Sparc 32-bit and Sparc 64-bit,
and I was able to load bytecodes between the 3, however, packfile has
been through some considerable changes since the byteordering support.
-Melvin




[perl #27057] Let OrderedHash store STRING and FLOATVAL

2004-02-24 Thread via RT
# New Ticket Created by  Bernhard Schmalhofer 
# Please include the string:  [perl #27057]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=27057 


This patch adds the methods 'get_number_keyed', 'set_string_keyed' and
'set_number_keyed' to
the OrderedHash PMC.
The method 'set_string_keyed_str' is also included, but I can't figure out
when it
will be called.

There are also a a couple of new PIR based tests in t/pmc/perlhash.t and
t/pmc/orderedhash.t.

Originally I wanted to add support for OrderedHash to dumper.imc, but in my
devel version I get 
a 'Speicherfehler', aka segfault.

CU, Bernhard

-- 
/* [EMAIL PROTECTED] */

GMX ProMail (250 MB Mailbox, 50 FreeSMS, Virenschutz, 2,99 EUR/Monat...)
jetzt 3 Monate GRATIS + 3x DER SPIEGEL +++ http://www.gmx.net/derspiegel +++

orderedhash_20040224.patch
Description: Binary data


Re: Various newbie questions.

2004-02-24 Thread Simon Glover

On Tue, 24 Feb 2004 [EMAIL PROTECTED] wrote:

 2) I sent this question previously (22 Feb 2004 20:37 GMT) but it never made it
 onto the list. (I was unsubscribed!).

 If I make a change in win32.c, (now: config/gen/platform/win32/exec.c) what is
 the procedure (or where is this documented) to get platform.c re-generated and
 compiled into parrot.exe?

 The only mechanism I have found that does this is to

   nmake realclean
   configure.pl
   nmake

 which doesn't seem right somehow, but I think I've read every documentation file
 at least twice and nothing has leaped of the page as to the right way to do
 this.

 That seems right to me: platform.c is generated when configure runs, and
 so we don't want to delete it when we do a simple 'make clean', only when
 we do 'make realclean'. This is documented in the makefile itself, but
 I'm not sure if we document it elsewhere; if not, then we probably
 should.

 Incidentally, it's not only platform.c that behaves like this -- a number
 of other files have the same behaviour, either because they are platform
 dependent or because they depend on the particular configuration options
 chosen. The full list is in the Makefile -- see the section 'STICKY
 GENERATED FILES:'. Again, I'm not sure if these are documented anywhere
 else, but they should be.

 Simon






Re: cvs commit: parrot/src packfile.c

2004-02-24 Thread Garrett Rooney
On Feb 24, 2004, at 9:38 AM, Leopold Toetsch wrote:

cvsuser 04/02/24 06:38:07

  Modified:include/parrot packfile.h
   pf   pf_items.c
   src  packfile.c
  Log:
  try to fix Tru64 native PBC issues
The PARROT_BIGENDIAN case has a typo in pf_items.c, here's a patch to 
make it compile again.

-garrett

Index: pf/pf_items.c
===
RCS file: /cvs/public/parrot/pf/pf_items.c,v
retrieving revision 1.6
diff -u -r1.6 pf_items.c
--- pf/pf_items.c   24 Feb 2004 14:38:05 -  1.6
+++ pf/pf_items.c   25 Feb 2004 00:03:47 -
@@ -588,7 +588,7 @@
 if(pf-header-byteorder != PARROT_BIGENDIAN) {
 pf-need_endianize = 1;
 if (pf-header-wordsize == sizeof(opcode_t))
-pf-fetch_op = (opcode_t (*)unsigned char*)fetch_op_le;
+pf-fetch_op = (opcode_t (*)(unsigned char*))fetch_op_le;
 else {
 pf-need_wordsize = 1;
 pf-fetch_op = fetch_op_mixed;


Re: Various newbie questions.

2004-02-24 Thread Dan Sugalski
At 11:36 PM + 2/24/04, [EMAIL PROTECTED] wrote:
If I make a change in win32.c, (now: config/gen/platform/win32/exec.c) what is
the procedure (or where is this documented) to get platform.c re-generated and
compiled into parrot.exe?
The only mechanism I have found that does this is to

nmake realclean
configure.pl
nmake
which doesn't seem right somehow, but I think I've read every 
documentation file
at least twice and nothing has leaped of the page as to the right way to do
this.
You at least need to rerun configure.pl, since that's what builds the 
proper platform.c/platform.h files.

3) Is this list now blocking unsubscribed posts since the recent spam/virus
problem? I'd prefer to be unsubscribed as I find the list easier to follow
through a news client than a flat list of unordered emails.
I'm pretty sure that unsubscriber posts go into a holding queue, but 
that queue is depressingly large and may get flushed on occasion if 
the spam/virus load gets too high.
--
Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk


Re: cvs commit: parrot/src packfile.c

2004-02-24 Thread Simon Glover

On Tue, 24 Feb 2004, Garrett Rooney wrote:

 The PARROT_BIGENDIAN case has a typo in pf_items.c, here's a patch to
 make it compile again.

 Thanks, applied.

 Simon



ezmlm options (was Various newbie questions.)

2004-02-24 Thread Uri Guttman
 DS == Dan Sugalski [EMAIL PROTECTED] writes:

   3) Is this list now blocking unsubscribed posts since the recent
   spam/virus problem? I'd prefer to be unsubscribed as I find the
   list easier to follow through a news client than a flat list of
   unordered emails.

  DS I'm pretty sure that unsubscriber posts go into a holding queue, but
  DS that queue is depressingly large and may get flushed on occasion if
  DS the spam/virus load gets too high.

i know mailman has the option to subscribe from an address and not get
mail sent to it. this is useful if you want to send from multiple
addresses and not have to get duplicates or if you want to do what nigel
asked. i just scanned the ezmlm docs and can't find a similar option.

as for the flat list of unordered emails, get a better email reader.:)
most decent ones can do threading by subject or reference headers.

uri

-- 
Uri Guttman  --  [EMAIL PROTECTED]   http://www.stemsystems.com
--Perl Consulting, Stem Development, Systems Architecture, Design and Coding-
Search or Offer Perl Jobs    http://jobs.perl.org


Not quite there yet...

2004-02-24 Thread Dan Sugalski
As folks have no doubt noticed, parrot's throwing test failures now 
-- 12 of the object tests fail. My fault, I'm doing partial checkins 
as I have bits of this done.

Still to finish:

*) Attribute inheritance from parent classes
*) Object instantiation
*) Attribute get/set ops
Probably a few other things too, but that should be enough to warrant 
a 0.1.0 release with some documentation as to what does and doesn't 
work. Tomorrow, I hope...
--
Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk


Re: [CVS ci] PLATFORMS

2004-02-24 Thread Robert Spier
  After a bit of self-education on the CVS FAQ, I've come to the
  conclusion that renaming (delete/add) PLATFORMS to PLATFORMS.txt is
  the best way to solve this.
 
 Better it get fixed in CVS. There could be more errors of this kind.

Confused.  What would you like me to do?

Also.

cvs update -dP should work just fine for this.  

at least it does for me.  Unless -P doesn't work properly on
case-insensitive filesystems.

-R


[perl #27088] [PATCH] Escape strings in dumper

2004-02-24 Thread via RT
# New Ticket Created by  Will Coleda 
# Please include the string:  [perl #27088]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=27088 


Minor patch to escape backslashes and double quotes in the data dumper.

Only touches PerlString handling in library/dumper.imc



dumper.patch
Description: Binary data


--
Will Coke Coledawill at coleda 
dot com