Re: [perl #35305] [PATCH] skip threads 'detatch' test on win32

2005-06-02 Thread Vladimir Lipsky
On 5/19/05, Leopold Toetsch [EMAIL PROTECTED] wrote: Vladimir Lipsky [EMAIL PROTECTED] wrote: Parrot_really_destroy needs to be fixed $verbose++ please, thanks yes, please. until this issue is fixed, i'm rolling back these patches so the threads test 6 is again skipped on windows

[PATCH]interpreter_array_mutex destroying

2005-06-01 Thread Vladimir Lipsky
At the time the main interpreter(one which has no parent) exits, there could remain some other interpreters being run by detached threads as in t/pmc/threads_4.pasm. To execute bytecode successfully an interpreter needs that things like PIO, class vtables, event loop, class_count_mutex,

[PATCH]Parrot_dod_sweep fix

2005-05-29 Thread Vladimir Lipsky
This patch prevents from an attempt to add a NULL PMC_EXT structure to the pmc ext pool while in dod sweep run. dod.c.patch Description: Binary data

[PATCH]PackFile_destroy fix

2005-05-29 Thread Vladimir Lipsky
Nested packfile segments of type directory are freed twice by default_destroy(). The first time it happens in directory_destroy(), and the second time in PackFile_Segment_destroy(). This behavior is, of course, incorrect, the patch fixes it. packfile.c.patch Description: Binary data

[PATCH]get_mmd_dispatch_type fix

2005-05-28 Thread Vladimir Lipsky
The patch fixes the bug which appeared in revision 7950 mmd.c.patch Description: Binary data

[PATCH]class_count_mutex

2005-05-28 Thread Vladimir Lipsky
class_count_mutex is used without having been initialized. The fixes that. inter_create.c.patch Description: Binary data

Re: [perl #35855] Problem with Perl 5.6.1

2005-05-24 Thread Vladimir Lipsky
I notice that building with Perl 5.6.1 (on Win32 with Perl 5.6.1 ActiveState-build 635 and MinGW) causes problem. $ parrot Assertion failed: (int)io-image-bufused = 0, file src/pmc_freeze.c, line 478 abnormal program termination This assertion occurs in parrot_get_config_string(). The data

Re: [perl #35305] [PATCH] skip threads 'detatch' test on win32

2005-05-19 Thread Vladimir Lipsky
jerry gay [EMAIL PROTECTED] wrote: much better! one failing test now... D:\usr\local\parrot-HEAD\trunkperl t/harness t/pmc/threads.t t/pmc/threadsok 3/11# Failed test (t/pmc/threads.t at line 163) # got: 'start 1 # in thread # done # Can't spawn .\parrot.exe

Re: [perl #35305] [PATCH] skip threads 'detatch' test on win32

2005-05-18 Thread Vladimir Lipsky
As stated already, this (and possibly other thread) test(s) can't succeed as long as Win32 has no event loop that passes the terminate event on to the running interpreter. If you read the output that Jerry sent earlier, you would have seen that the thread doesn't ever reach to the printthread\n

Re: [perl #35305] [PATCH] skip threads 'detatch' test on win32

2005-05-18 Thread Vladimir Lipsky
As stated already, this (and possibly other thread) test(s) can't succeed as long as Win32 has no event loop that passes the terminate event on to the running interpreter. 1) Why the heck --- parrot/config/gen/platform/win32/threads.h Mon May 2 14:40:59 2005 +++

Re: [perl #35305] [PATCH] skip threads 'detatch' test on win32

2005-05-17 Thread Vladimir Lipsky
parrot (r8016): no change. hangs w/98% cpu. here's the -t output: parrot -t test_b.pasm 0 find_global P5, _foo - P5=SArray=PMC(0x7d5a50), 3 new P2, 18 - P2=PMCNULL, 6 find_method P0, P2, thread3- P0=PMCNULL, P2=ParrotThread=PMC(0x7d5a08), 10 new P6, 54 -

Re: [perl #35305] [PATCH] skip threads 'detatch' test on win32

2005-05-15 Thread Vladimir Lipsky
the 'detatch' threads test hangs on win32. this small patch skips one Could you try the following code('the detatch' threads test with one tweak) and tell me if it hangs either and what output you get? find_global P5, _foo new P2, .ParrotThread find_method P0, P2, thread3 new P6, .TQueue # need

Re: [Patch] Win32 thread primitives

2005-05-03 Thread Vladimir Lipsky
threads_4 is testing killing threads. This is achieved by scheduling a terminate event to the running interpreter. This can only succeed, if the event system is running too. see src/events.c/Parrot_new_terinate_event() Though thr_windows.h doesn't contain error checking for now, it luckily

Re: [Patch] Win32 thread primitives

2005-05-03 Thread Vladimir Lipsky
And on the third hand, if I understood the code correctly ... src/threads.c: 40: thread_func() src/threads.c: 53: interpreter-thread_data-state |= THREAD_STATE_FINISHED; src/threads.c: 312: pt_thread_join () src/threads.c: 321: if (interpreter-thread_data-state == THREAD_STATE_JOINABLE ||

[Patch] Win32 thread primitives

2005-05-02 Thread Vladimir Lipsky
This patch defines Win32 thread primitives. Actually it consists of the following files: threads.h.diff thr_windows.h.diff threads.t.diff timer.t.diff The patch had been applied, I mananged to pass all the tests from t/pmc/thread.reast and t/pmc/timer.t but thread_4.pasm(don't know yet why it

Re: Prothon 0.1.2 is getting close to Alpha [Prothon]

2004-07-12 Thread Vladimir Lipsky
3) Is there someone on the develpment team who could hold my hand in the beginning to get me going with Parrot in Visual Studio? After a brief There isn't a certain someone. Just put your question on the list. Surely it won't remain unaswered for long, at least as regards the configuringmaking

Re: [PATCH] IO fixes for Win32

2004-02-17 Thread Vladimir Lipsky
From: Goplat [EMAIL PROTECTED] flags_to_win32 sets fdwShareMode to FILE_SHARE_DELETE, which is not supported in win98 and will cause the CreateFile to fail, so the ParrotIO is NULL, and A fix for that should be windows version specific and needs support of the config subsystem. The logic is

Re: [PATCH] IO fixes for Win32

2004-02-17 Thread Vladimir Lipsky
From: Vladimir Lipsky [EMAIL PROTECTED] A fix for that should be windows version specific and needs support of the config subsystem. And 0f course in io_win32.c *fdwShareMode = PIO_WIN32_SHARE_MODE; 0x4C56 0x4C56

Re: [PATCH] IO fixes for Win32

2004-02-17 Thread Vladimir Lipsky
From: Goplat [EMAIL PROTECTED] --- Vladimir Lipsky [EMAIL PROTECTED] wrote: From: Goplat [EMAIL PROTECTED] flags_to_win32 sets fdwShareMode to FILE_SHARE_DELETE, which is not supported in win98 A fix for that should be windows version specific and needs support of the config

Re: [PATCH] IO fixes for Win32

2004-02-17 Thread Vladimir Lipsky
From: Goplat [EMAIL PROTECTED] If you really need FILE_SHARE_DELETE that badly, the check would have to be done at runtime. I don't think it's all that necessary though... in fact perl 5 only uses FILE_SHARE_READ, and that only if the file's not opened for write/append. What's more, a value

Re: cvs commit: parrot/classes perlscalar.pmc

2004-02-09 Thread Vladimir Lipsky
From: Leopold Toetsch [EMAIL PROTECTED] Seems that we got a problem on alphas then. I can see several solutions to accomodate such CPUs: From my point of view, these solutions have the following merits and demerits: - use only PMCs that don't cross cache lines +) No need for memory

Re: cvs commit: parrot/classes perlscalar.pmc

2004-02-02 Thread Vladimir Lipsky
Gordon Henriksen [EMAIL PROTECTED] wrote: On Friday, January 30, 2004, at 11:52 , Leopold Toetsch wrote: + /* + * if we morph to a string, first clear str_val + * so that after changing the vtable a parallel + * reader doesn't get a gargabe pointer + */

Re: cvs commit: parrot/classes perlscalar.pmc

2004-02-02 Thread Vladimir Lipsky
From: Leopold Toetsch [EMAIL PROTECTED] Gordon Henriksen [EMAIL PROTECTED] wrote: On Friday, January 30, 2004, at 11:52 , Leopold Toetsch wrote: + /* + * if we morph to a string, first clear str_val + * so that after changing the vtable a parallel + * reader

Re: Docs and releases

2004-01-13 Thread Vladimir Lipsky
Well, there is always up-to-date documentation, your debugger output ... 0x4C56 Who says that the copy-paste antipattern is bad?

Re: More Windows dev questions: Core dumps

2003-12-31 Thread Vladimir Lipsky
From: Dan Sugalski [EMAIL PROTECTED] On a Unix system, a core dump is a file with a raw (mostly) copy of a process' current memory image that's written whenever a process does something profoundly illegal, like accessing an inaccessible section of memory with no trap handler that allows

Re: More Windows dev questions: Core dumps

2003-12-31 Thread Vladimir Lipsky
0x4C56 - Original Message - From: Dan Sugalski [EMAIL PROTECTED] To: Vladimir Lipsky [EMAIL PROTECTED] Cc: perl6-internals [EMAIL PROTECTED] Sent: Wednesday, December 31, 2003 10:49 PM Subject: Re: More Windows dev questions: Core dumps At 11:51 PM +0300 12/31/03, Vladimir Lipsky

Re: Need some deep non-POSIX thread info (Attention you Windows folks!)

2003-12-30 Thread Vladimir Lipsky
From: Dan Sugalski [EMAIL PROTECTED] So, could someone with some windows experience go digging and find out how one would: 1) Find the address of the base of a thread's stack 3) Find out what a thread's current stack pointer is I would do 1), 3) this way ... thdl = _beginthreadex(NULL,

Re: Need some deep non-POSIX thread info (Attention you Windows folks!)

2003-12-30 Thread Vladimir Lipsky
And a note for 3): It's importatnt to create a thread with CREATE_SUSPENDED, and at thread runtime we have to suspend thread while checking out its registers so that to get the true values. SuspendThread(thdl); GetThreadContext(thdl, ctx); ... ResumeThread(thdl); 0x4C56

Re: [perl #24769] [PATCH] mem_sys_allocate_executable - initial draft

2003-12-30 Thread Vladimir Lipsky
From: Jonathan Worthington [EMAIL PROTECTED] Here is my attempt at a patch for executable memory allocation, which makes +void * +mem_alloc_executable(size_t size) +{ + void *ptr = VirtualAlloc(NULL, size, MEM_COMMIT, PAGE_EXECUTE_READWRITE); ^^^

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Vladimir Lipsky
Ah, that's the reason for your bug report WRT JIT/NCI. The question is, how can we detect the presence of the exec-shield patch. Your `uname -a` doesn't indicate it. What for? We just always do allocating memory from a JIT dedicated heap with execute flas set on it, no matter the presence of

Re: JIT On Win32: A possible future issue

2003-12-23 Thread Vladimir Lipsky
From: Leopold Toetsch [EMAIL PROTECTED] Vladimir Lipsky [EMAIL PROTECTED] wrote: Ah, that's the reason for your bug report WRT JIT/NCI. The question is, how can we detect the presence of the exec-shield patch. Your `uname -a` doesn't indicate it. What for? We just always do allocating

Re: pthreads-win32

2003-12-15 Thread Vladimir Lipsky
From: Dan Sugalski [EMAIL PROTECTED] At 2:01 PM +0100 12/14/03, Leopold Toetsch wrote: Can we use this lib: http://sources.redhat.com/pthreads-win32/ citedistributed under the GNU Lesser General Public License (LGPL)/cite I think so, yes. I'd rather use windows native threading if we can

Re: Incorrect scoping of constants in IMCC

2003-12-09 Thread Vladimir Lipsky
From: Melvin Smith [EMAIL PROTECTED] At 04:20 PM 12/9/2003 -0500, Dan Sugalski wrote: which is .included) and visible through the rest of the compilation unit. Parser will not allow .const outside of a compilation unit and make it global to the compilation. Hmm... What do you mean by a

Re: Segfault on Win32, the

2003-12-08 Thread Vladimir Lipsky
From: Leopold Toetsch [EMAIL PROTECTED] Did you recheck that after my fix to vtable freeing? My patch covered encoding and chartype too. No, I didn't. Did you fix the Parrot_loadbc function name? If didn't, I'll have a go for Parrot_set_PackFile() leo 0x4C56 Happy .~.

Re: Segfault on Win32, the

2003-12-07 Thread Vladimir Lipsky
Some time ago I mentioned I'd been gettin' one more segfault while the Parrot debug mode was on. In fact, it proved to be an effect of the same cause -- we have global resources sharable among interpreters, that we try to free more than once. This time it's encoding_array. If you're going to

Just a thought

2003-12-03 Thread Vladimir Lipsky
Have a look at the following code fragment Parrot_PackFile pf; char *bc = file.pbc; pf = Parrot_readbc(interpreter, bc); Parrot_loadbc(interpreter, pf); Did you catch the difference between the 2nd actual parameter and the function name? Maybe it's worth renaming? E.g. Parrot_loadpf() 0x4C56

Re: Segfault on Win32, The

2003-12-03 Thread Vladimir Lipsky
From: Leopold Toetsch [EMAIL PROTECTED] Sent: Wednesday, December 03, 2003 12:05 PM The bug is already fixed. But we have to separate interpreter globals and real globals finally. Some time ago, I suggested to change the init functions slightly to take a parent interpreter argument: Do you

Re: Segfault on Win32, The

2003-12-03 Thread Vladimir Lipsky
From: Dan Sugalski [EMAIL PROTECTED] Sent: Tuesday, December 02, 2003 5:27 PM Well, bah. I'll disable the table freeing for now and that should take care of the bug at the moment, though it certainly won't cure the underlying memory leak. Arguably, and this is getting into the realm of

Re: Segfault on Win32, The

2003-12-01 Thread Vladimir Lipsky
From: Leopold Toetsch [EMAIL PROTECTED] Sent: Thursday, November 27, 2003 12:04 PM PMC (in gdb speak): b dod.c:525 r t/pmc/pmc_61.pasm p *(PMC *) b p *((PMC *) b)-vtable c ... Umm .. the problem is that this pmc doesn't have the vtable; (*((PMC *)b)).vtable points to a block

Re: clean checkout on Win2K

2003-12-01 Thread Vladimir Lipsky
t\pmc\pmc...NOK 62# Failed test (t\pmc\pmc.t at line 1497) # got: 'All names and ids ok. # Can't spawn .\parrot.exe --gc-debug -b t\pmc\pmc_62.pasm: Bad file descripto r at lib/Parrot/Test.pm line 62. I've no clue, what's going on here. Does the test-file exist

Re: Segfault on Win32, The

2003-12-01 Thread Vladimir Lipsky
From: Leopold Toetsch [EMAIL PROTECTED] Sent: Monday, December 01, 2003 5:47 PM Which child interpreter? Parrot_destroy_vtable() is called after free_unused_pobjects(). Okay. I'll try to reword the problem all over again. Well you know test 61 in t/pmc/pmc.t causes a segfault. To get things

Re: Object stuff

2003-12-01 Thread Vladimir Lipsky
From: Dan Sugalski [EMAIL PROTECTED] Sent: Monday, December 01, 2003 9:53 PM *) I've made the Parrot_base_vtable array movable again, as it needs to be resized. This is a temporary hack, since there are horrible threading issues here. (Not to mention the fact that this table is global and

Re: Segfault warning boxes on Win32

2003-11-26 Thread Vladimir Lipsky
At Wed, 26 Nov 2003 05:20:50 +0300, Vladimir Lipsky wrote: If it blocks the automated test builds, then just turning the box off is okay. It must be admitted that, the truth is that I don't know anybody who does send those reports More important -- is the Segfault reported in any other

Segfault on Win32, The

2003-11-26 Thread Vladimir Lipsky
Well, currently, test 61 in t/pmc/pmc.t causes an abrupt stop of the test session with the segfault box popping up. I haven't yet taken a time to figure out what actually is the cause of trouble, but I've already detected the precise place where that all happens. It happens here void

Re: PIO_eof

2003-11-25 Thread Vladimir Lipsky
Currently it isn't prohibitied. That is the only way to detect an error from PIO_open* at this time. io = PIO_open(interpreter, NULL, file[i], flags[j]); if ( (PIO_eof(interpreter, io) ? 0:1) != expected[i][j] ) { 0x4c56

Re: Segfault warning boxes on Win32

2003-11-25 Thread Vladimir Lipsky
If it blocks the automated test builds, then just turning the box off is okay. It must be admitted that, the truth is that I don't know anybody who does send those reports 0x4C56 - Original Message - From: Dan Sugalski [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, November 25,

PIO_eof

2003-11-24 Thread Vladimir Lipsky
Hi everyone! In t/src/io.c, specifically test 9 and 10, I wonder if the PIO_eof check up works anywhere; because I didn't manage to find any place where the PIO_F_EOF flag is set up when the PIO_*_open function fails neither in io_stdio.c, io_unix.c nor io_win32.c Is the io == NULL testing

Win32 building

2003-11-23 Thread Vladimir Lipsky
D:\build\parrotnmake ... d:\build\parrot\src\encoding.c(39) : warning C4090: 'function' : different 'const' qualifiers d:\build\parrot\src\encoding.c(39) : warning C4022: 'mem_sys_free' : pointer mismatch for actual parameter 1 ... d:\build\parrot\src\chartype.c(231) : warning C4090: 'function' :