Re: [Chicken-users] Crash with multithreaded TCP code

2014-07-06 Thread Christopher Collins
Yeah, it probably would have helped if I included that, wouldn't it? :)

Here it is:

#!/usr/bin/csi -script

(use extras)
(use srfi-18)
(use tcp)

(define num-threads 2)

(define (connect port)
  (let-values (((i o) (tcp-connect "192.168.1.101" port)))
(read i)))

(let loop ((port 9000) (threads '()))
  (if (= (length threads) num-threads)
(for-each thread-join! threads)
(loop (+ port 1) (cons (thread-start! (lambda () (connect port)))
   threads


On Sun, Jul 6, 2014 at 7:35 PM, Alan Post 
wrote:

> Did I miss the source to threadtest.scm here?  The file that
> contains the variable num-threads?  I don't see it.
>
> -a
>
> On Sun, Jul 06, 2014 at 05:41:44PM -0700, Christopher Collins wrote:
> >Version info:
> >** CHICKEN
> >** (c) 2008-2013, The Chicken Team
> >** (c) 2000-2007, Felix L. Winkelmann
> >** Version 4.8.0.3 (stability/4.8.0) (rev 091c3d9)
> >** linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables ]
> >** compiled 2013-03-12 on aeryn.xorinia.dim (Darwin)
> >
> >Hi,
> >**
> >I'm encountering a crash with some multithreaded tcp code.** I am at a
> >loss as to what I'm doing wrong; I was hoping someone else could spot
> my
> >mistake.
> >
> >Below is a simple program which produces the crash.** When I run it,
> I get
> >the following output:
> >
> >** *** Error in `/usr/bin/csi': realloc(): invalid next size:
> >0x01c05210 ***
> >
> >I run the program as follows:
> >1. Start two instances of nc; one listening on [1]192.168.1.101:9000,
> the
> >other on [2]192.168.1.101:9001.** Redirect a ~1KB file to nc, such
> that nc
> >will send the file to whomever connects to it.
> >2. Run the scheme script
> >
> >e.g.:
> >** nc -l 192.168.1.101 -p 9000 < ~/tmpfile
> >** nc -l 192.168.1.101 -p 9001 < ~/tmpfile
> >** ./threadtest.scm
> >**
> >If I change the definition of num-threads from 2 to 1, the program
> runs to
> >completion.
> >
> >Any ideas?
> >
> >Thanks,
> >Christopher
> >
> > References
> >
> >Visible links
> >1. http://192.168.1.101:9000/
> >2. http://192.168.1.101:9001/
>
> > ___
> > Chicken-users mailing list
> > Chicken-users@nongnu.org
> > https://lists.nongnu.org/mailman/listinfo/chicken-users
>
>
> --
> my personal website: http://c0redump.org/
>
___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] Crash with multithreaded TCP code

2014-07-06 Thread Alan Post
Did I miss the source to threadtest.scm here?  The file that
contains the variable num-threads?  I don't see it.

-a

On Sun, Jul 06, 2014 at 05:41:44PM -0700, Christopher Collins wrote:
>Version info:
>** CHICKEN
>** (c) 2008-2013, The Chicken Team
>** (c) 2000-2007, Felix L. Winkelmann
>** Version 4.8.0.3 (stability/4.8.0) (rev 091c3d9)
>** linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables ]
>** compiled 2013-03-12 on aeryn.xorinia.dim (Darwin)
> 
>Hi,
>**
>I'm encountering a crash with some multithreaded tcp code.** I am at a
>loss as to what I'm doing wrong; I was hoping someone else could spot my
>mistake.
> 
>Below is a simple program which produces the crash.** When I run it, I get
>the following output:
> 
>** *** Error in `/usr/bin/csi': realloc(): invalid next size:
>0x01c05210 ***
> 
>I run the program as follows:
>1. Start two instances of nc; one listening on [1]192.168.1.101:9000, the
>other on [2]192.168.1.101:9001.** Redirect a ~1KB file to nc, such that nc
>will send the file to whomever connects to it.
>2. Run the scheme script
> 
>e.g.:
>** nc -l 192.168.1.101 -p 9000 < ~/tmpfile
>** nc -l 192.168.1.101 -p 9001 < ~/tmpfile
>** ./threadtest.scm
>**
>If I change the definition of num-threads from 2 to 1, the program runs to
>completion.
> 
>Any ideas?
> 
>Thanks,
>Christopher
> 
> References
> 
>Visible links
>1. http://192.168.1.101:9000/
>2. http://192.168.1.101:9001/

> ___
> Chicken-users mailing list
> Chicken-users@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/chicken-users


-- 
my personal website: http://c0redump.org/

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


[Chicken-users] Crash with multithreaded TCP code

2014-07-06 Thread Christopher Collins
Version info:
CHICKEN
(c) 2008-2013, The Chicken Team
(c) 2000-2007, Felix L. Winkelmann
Version 4.8.0.3 (stability/4.8.0) (rev 091c3d9)
linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables ]
compiled 2013-03-12 on aeryn.xorinia.dim (Darwin)

Hi,

I'm encountering a crash with some multithreaded tcp code.  I am at a loss
as to what I'm doing wrong; I was hoping someone else could spot my mistake.

Below is a simple program which produces the crash.  When I run it, I get
the following output:

*** Error in `/usr/bin/csi': realloc(): invalid next size:
0x01c05210 ***

I run the program as follows:
1. Start two instances of nc; one listening on 192.168.1.101:9000, the
other on 192.168.1.101:9001.  Redirect a ~1KB file to nc, such that nc will
send the file to whomever connects to it.
2. Run the scheme script

e.g.:
nc -l 192.168.1.101 -p 9000 < ~/tmpfile
nc -l 192.168.1.101 -p 9001 < ~/tmpfile
./threadtest.scm

If I change the definition of num-threads from 2 to 1, the program runs to
completion.

Any ideas?

Thanks,
Christopher
___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users