Re: [freenet-support] Millions(sic) of errors

2004-02-17 Thread Toad
On Wed, Feb 18, 2004 at 02:04:45AM -, Kevin Bennett wrote:
> Came home tonight to find that my node had crashed earlier on.  Now after
> restarting I'm seeing millions (literally) of this message in the logfile:

This definitely should not happen, it means your node is using the
pre-multiplexing connection protocol... there may be a quick fix...
> 
> 18-Feb-2004 01:44:20 (freenet.ConnectionHandler, YThread-106, ERROR): Caught
> java.lang.IllegalArgumentException: Should be mux protocol, was
> [EMAIL PROTECTED] in forceSendPacket
> java.lang.IllegalArgumentException: Should be mux protocol, was
> [EMAIL PROTECTED]
>   at
> freenet.RateLimitingViolationMessage.resolve(RateLimitingViolationMessage.ja
> va:50)
>   at freenet.PeerHandler.getPacket(PeerHandler.java:1092)
>   at freenet.ConnectionHandler.forceSendPacket(ConnectionHandler.java:2170)
>   at freenet.PeerHandler.sendSinglePacket(PeerHandler.java:1025)
>   at freenet.PeerHandler.innerSendMessageAsync(PeerHandler.java:900)
>   at freenet.PeerHandler.receivedRequest(PeerHandler.java:1771)
>   at freenet.node.states.FNP.NewRequest.genReceived(NewRequest.java:67)
>   at freenet.node.states.FNP.NewDataRequest.received(NewDataRequest.java:35)
>   at freenet.node.StateChain.received(StateChain.java:183)
>   at freenet.node.StateChain.received(StateChain.java:67)
>   at
> freenet.node.StandardMessageHandler$Ticket.run(StandardMessageHandler.java:2
> 36)
>   at
> freenet.node.StandardMessageHandler$Ticket.received(StandardMessageHandler.j
> ava:171)
>   at
> freenet.node.StandardMessageHandler$Ticket.access$100(StandardMessageHandler
> .java:122)
>   at
> freenet.node.StandardMessageHandler.handle(StandardMessageHandler.java:70)
>   at freenet.Ticker$Event.run(Ticker.java:395)
> 
> In 15 minutes the logfile has reached 1.52GB (yes, GB, that wasn't a typo)
> with logging at the default level of normal, and it all seems to be this
> 'should be mux protocol' message.
> 
> In the few moments it's taken to write this mail, the log is now up to
> 1.85GB.
> 
> Aaah.  something new now:
> 
> 18-Feb-2004 01:55:32 (freenet.RateLimitingViolationMessage, Network writing
> thread, NORMAL): AARGH: couldn't send
> [EMAIL PROTECTED]

Hmmm.
> 
> Thousands of these too, and then the logfile seems to have stopped growing
> except for a few:
> 
> 18-Feb-2004 01:57:39 (freenet.node.rt.StandardNodeEstimator, YThread-203,
> NORMAL): Caught freenet.node.rt.EstimatorFormatException: Estimate 1088779
> over max 100 reading tcp/[snip], sessions=1, presentations=3,1,
> ID=DSA([snip]), version=Fred,0.5,STABLE-1.50,5069 from FieldSet :(
> freenet.node.rt.EstimatorFormatException: Estimate 1088779 over max 100
>   at
> freenet.node.rt.RoutingPointStore$RoutingPoint.(RoutingPointStore.java
> :93)
>   at freenet.node.rt.RoutingPointStore.(RoutingPointStore.java:351)
>   at
> freenet.node.rt.HistoryKeepingRoutingPointStore.(HistoryKeepingRouting
> PointStore.java:31)
>   at
> freenet.node.rt.DecayingKeyspaceEstimator$DecayingKeyspaceEstimatorFactory.c
> reate(DecayingKeyspaceEstimator.java:851)
>   at
> freenet.node.rt.StandardNodeEstimator.(StandardNodeEstimator.java:531)
>   at
> freenet.node.rt.StandardNodeEstimatorFactory.create(StandardNodeEstimatorFac
> tory.java:110)
>   at
> freenet.node.rt.StandardNodeEstimatorFactory.create(StandardNodeEstimatorFac
> tory.java:170)
>   at freenet.node.rt.NGRoutingTable.reference(NGRoutingTable.java:463)
>   at freenet.node.rt.FilterRoutingTable.reference(FilterRoutingTable.java:52)
>   at freenet.node.Node.reference(Node.java:4863)
>   at
> freenet.node.states.request.AwaitingStoreData.relayStoreData(AwaitingStoreDa
> ta.java:139)
>   at
> freenet.node.states.request.AwaitingStoreData.receivedMessage(AwaitingStoreD
> ata.java:88)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>   at java.lang.reflect.Method.invoke(Unknown Source)
>   at freenet.node.State.received(State.java:131)
>   at freenet.node.StateChain.received(StateChain.java:183)
>   at freenet.node.StateChain.received(StateChain.java:67)
>   at
> freenet.node.StandardMessageHandler$Ticket.run(StandardMessageHandler.java:2
> 36)
>   at
> freenet.node.StandardMessageHandler$Ticket.received(StandardMessageHandler.j
> ava:171)
>   at
> freenet.node.StandardMessageHandler$Ticket.access$100(StandardMessageHandler
> .java:122)
>   at
> freenet.node.StandardMessageHandler.handle(StandardMessageHandler.java:70)
>   at freenet.Ticker$Event.run(Ticker.java:395)
>   at freenet.thread.YThreadFactory$YThread.run(YThreadFactory.java:249)
> 
> Logfile is now 1.98GB and not growing rapidly.
> 
> What can cause this?
> 
> 
> ___
> Support m

[freenet-support] Millions(sic) of errors

2004-02-17 Thread Kevin Bennett
Came home tonight to find that my node had crashed earlier on.  Now after
restarting I'm seeing millions (literally) of this message in the logfile:

18-Feb-2004 01:44:20 (freenet.ConnectionHandler, YThread-106, ERROR): Caught
java.lang.IllegalArgumentException: Should be mux protocol, was
[EMAIL PROTECTED] in forceSendPacket
java.lang.IllegalArgumentException: Should be mux protocol, was
[EMAIL PROTECTED]
at
freenet.RateLimitingViolationMessage.resolve(RateLimitingViolationMessage.ja
va:50)
at freenet.PeerHandler.getPacket(PeerHandler.java:1092)
at freenet.ConnectionHandler.forceSendPacket(ConnectionHandler.java:2170)
at freenet.PeerHandler.sendSinglePacket(PeerHandler.java:1025)
at freenet.PeerHandler.innerSendMessageAsync(PeerHandler.java:900)
at freenet.PeerHandler.receivedRequest(PeerHandler.java:1771)
at freenet.node.states.FNP.NewRequest.genReceived(NewRequest.java:67)
at freenet.node.states.FNP.NewDataRequest.received(NewDataRequest.java:35)
at freenet.node.StateChain.received(StateChain.java:183)
at freenet.node.StateChain.received(StateChain.java:67)
at
freenet.node.StandardMessageHandler$Ticket.run(StandardMessageHandler.java:2
36)
at
freenet.node.StandardMessageHandler$Ticket.received(StandardMessageHandler.j
ava:171)
at
freenet.node.StandardMessageHandler$Ticket.access$100(StandardMessageHandler
.java:122)
at
freenet.node.StandardMessageHandler.handle(StandardMessageHandler.java:70)
at freenet.Ticker$Event.run(Ticker.java:395)

In 15 minutes the logfile has reached 1.52GB (yes, GB, that wasn't a typo)
with logging at the default level of normal, and it all seems to be this
'should be mux protocol' message.

In the few moments it's taken to write this mail, the log is now up to
1.85GB.

Aaah.  something new now:

18-Feb-2004 01:55:32 (freenet.RateLimitingViolationMessage, Network writing
thread, NORMAL): AARGH: couldn't send
[EMAIL PROTECTED]

Thousands of these too, and then the logfile seems to have stopped growing
except for a few:

18-Feb-2004 01:57:39 (freenet.node.rt.StandardNodeEstimator, YThread-203,
NORMAL): Caught freenet.node.rt.EstimatorFormatException: Estimate 1088779
over max 100 reading tcp/[snip], sessions=1, presentations=3,1,
ID=DSA([snip]), version=Fred,0.5,STABLE-1.50,5069 from FieldSet :(
freenet.node.rt.EstimatorFormatException: Estimate 1088779 over max 100
at
freenet.node.rt.RoutingPointStore$RoutingPoint.(RoutingPointStore.java
:93)
at freenet.node.rt.RoutingPointStore.(RoutingPointStore.java:351)
at
freenet.node.rt.HistoryKeepingRoutingPointStore.(HistoryKeepingRouting
PointStore.java:31)
at
freenet.node.rt.DecayingKeyspaceEstimator$DecayingKeyspaceEstimatorFactory.c
reate(DecayingKeyspaceEstimator.java:851)
at
freenet.node.rt.StandardNodeEstimator.(StandardNodeEstimator.java:531)
at
freenet.node.rt.StandardNodeEstimatorFactory.create(StandardNodeEstimatorFac
tory.java:110)
at
freenet.node.rt.StandardNodeEstimatorFactory.create(StandardNodeEstimatorFac
tory.java:170)
at freenet.node.rt.NGRoutingTable.reference(NGRoutingTable.java:463)
at freenet.node.rt.FilterRoutingTable.reference(FilterRoutingTable.java:52)
at freenet.node.Node.reference(Node.java:4863)
at
freenet.node.states.request.AwaitingStoreData.relayStoreData(AwaitingStoreDa
ta.java:139)
at
freenet.node.states.request.AwaitingStoreData.receivedMessage(AwaitingStoreD
ata.java:88)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at freenet.node.State.received(State.java:131)
at freenet.node.StateChain.received(StateChain.java:183)
at freenet.node.StateChain.received(StateChain.java:67)
at
freenet.node.StandardMessageHandler$Ticket.run(StandardMessageHandler.java:2
36)
at
freenet.node.StandardMessageHandler$Ticket.received(StandardMessageHandler.j
ava:171)
at
freenet.node.StandardMessageHandler$Ticket.access$100(StandardMessageHandler
.java:122)
at
freenet.node.StandardMessageHandler.handle(StandardMessageHandler.java:70)
at freenet.Ticker$Event.run(Ticker.java:395)
at freenet.thread.YThreadFactory$YThread.run(YThreadFactory.java:249)

Logfile is now 1.98GB and not growing rapidly.

What can cause this?


___
Support mailing list
[EMAIL PROTECTED]
http://news.gmane.org/gmane.network.freenet.support
Unsubscribe at http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/support
Or mailto:[EMAIL PROTECTED]


[freenet-support] Re: routing table

2004-02-17 Thread Someone
Toad schrieb:

Upgrade it to 256MB. Your motherboard doesn't support 256MB? That sounds
unlikely if it can take a celeron 400. If you are so poor that you can't
afford the $50 upgrade, well frankly, can you afford the bandwidth?
Well there are Countrys where bandwidth is very cheap or free for home users
while memory is really expensive. For around 10$ per month I get unlimited
bandwitdh on my adsl line. Take a look at the attached Image to see how "cheap"
brand memory can be (noname memory isn't a subject cause it is a shure way
to make your system unstable). This is one of the most expensive here, but it
is still a quite good example for way higher prices in different countrys.
<>___
Support mailing list
[EMAIL PROTECTED]
http://news.gmane.org/gmane.network.freenet.support
Unsubscribe at http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/support
Or mailto:[EMAIL PROTECTED]

Re: [freenet-support] Re: routing table

2004-02-17 Thread Toad
Please read my other mail on this subject before passing judgement -
what I am working on at the moment may actually have some bearing on
this.

On Wed, Feb 18, 2004 at 12:15:22AM +, Toad wrote:
> On Tue, Feb 17, 2004 at 07:19:28PM +0100, Alban Bedel wrote:
> > Hi Toad,
> > 
> > on Mon, 16 Feb 2004 11:37:46 + you wrote:
> > 
> > Before i start i must say i always like the idea of freenet. I tried
> > it a couple time long ago but i never had enouth disk space to devote.
> > I tried the current stable yesterday and i must say i was disapointed.
> 
> Yes, there are major problems with the network that are being worked
> out, agonizingly slowly..
> 
> > First, like many here, by the insane amout of mem it sucked. 
> 
> It's unfortunate, however given the size of the network, it's
> performance level, and the consequent reasonable deduction that only
> geeks will use it, it's not so unreasonable for this to be only a
> moderately high priority.
> 
> > But then
> > i was more impressed by the reaction of the freenet ppl. So i put
> > my rant too. But don't get me wrong i work on oss too, i know that
> > you just do what you feel like doing. And it's good so :)
> 
> Well, I work on what is best for the project, because I get paid for it.
> But obviously the volunteers do what they feel like.
> > 
> > > As I have said on numerous occasions: RAM is cheap. Freedom or working
> > > software is not cheap, it's bloody expensive.
> > 
> > RAM is NOT CHEAP ! You perhaps live in a wealty contry and have big
> > money. But this is a privilege, not more. RAM is fucking expansive
> > by my standards (and yes i live in a wealty contry) and freedom can be
> > an end only if it's freedom for all. Otherwise you just create a new
> > caste of privilegied. Do we really need one more ??
> 
> RAM is subject to Moore's Law. Freedom, and software development, are
> not. Having said that we do have a problem with memory usage with all
> the reports of nodes crashing with OOMs even when given 250MB+.
> > 
> > > 79MB is way under what
> > > most nodes use. We may be able to get perm node usage down to 80MB at
> > > some point, but it's not an immediate priority.
> > 
> > I just took a quick look at this list and could find several ppl in
> > the same position as i. We have good "old" server (mine is a celeron
> > 400 with 128MB) witch can handle ANY of todays servers easily. So
> > we would like to run a frennet node. But we just can't 
> 
> Upgrade it to 256MB. Your motherboard doesn't support 256MB? That sounds
> unlikely if it can take a celeron 400. If you are so poor that you can't
> afford the $50 upgrade, well frankly, can you afford the bandwidth?
> > 
> > > Don't you think it would be nice to have a working network?
> > 
> > Sure but again if it's a network of eltist who expect you to buy
> > a new computer just to be able to run a permanent node i don't
> > see the point.
> 
> We can improve on the memory usage issue once it works. And MEMORY FOR A
> GIVEN COST DOUBLES EVERY YEAR TO TWO YEARS. We have been working on
> freenet since ~ 1997, and it certainly has not improved that quickly.
> > 
> > Albeu
> > 
> > -- 
> > 
> > Everything is controlled by a small evil group
> > to which, unfortunately, no one we know belongs.
> -- 
> Matthew J Toseland - [EMAIL PROTECTED]
> Freenet Project Official Codemonkey - http://freenetproject.org/
> ICTHUS - Nothing is impossible. Our Boss says so.



> ___
> Support mailing list
> [EMAIL PROTECTED]
> http://news.gmane.org/gmane.network.freenet.support
> Unsubscribe at http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/support
> Or mailto:[EMAIL PROTECTED]

-- 
Matthew J Toseland - [EMAIL PROTECTED]
Freenet Project Official Codemonkey - http://freenetproject.org/
ICTHUS - Nothing is impossible. Our Boss says so.


signature.asc
Description: Digital signature
___
Support mailing list
[EMAIL PROTECTED]
http://news.gmane.org/gmane.network.freenet.support
Unsubscribe at http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/support
Or mailto:[EMAIL PROTECTED]

Re: [freenet-support] Way to much RAM! Build 5064

2004-02-17 Thread Toad
On Sat, Jan 31, 2004 at 01:21:13PM +1300, Phillip Hutchings wrote:
> And how many browsers do that? Sure, I'm not sure about writing a 
> plugin, since most of the time they can only add processing for 
> different MIME types, whereas a different browser using a freenet:// 
> protocol could connect through FCP and do things like simplify 
> splitfiles, insertions and the like with an interface that normal users 
> could use. Sure, there's things such as fiw, but it's not the easiest 
> of things to use. Having the whole feature set in one application would 
> make it a lot nicer.

Uhm, what is the problem with splitfile downloads? Yes, it LOOKS
intimidating, but it's quite usable by the average cubicle monkey let
alone freenet-using geek. We can't make it much more transparent,
because of issues with resource usage - we MUST have the user confirm
the download at some stage, otherwise it can be exploited very badly.
There may be workarounds for this of course.
-- 
Matthew J Toseland - [EMAIL PROTECTED]
Freenet Project Official Codemonkey - http://freenetproject.org/
ICTHUS - Nothing is impossible. Our Boss says so.


signature.asc
Description: Digital signature
___
Support mailing list
[EMAIL PROTECTED]
http://news.gmane.org/gmane.network.freenet.support
Unsubscribe at http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/support
Or mailto:[EMAIL PROTECTED]

Re: [freenet-support] Way to much RAM! Build 5064

2004-02-17 Thread Toad
On Fri, Jan 30, 2004 at 09:28:27PM +1300, Phillip Hutchings wrote:
> 
> On 29/01/2004, at 10:13 PM, Maximilian Mehnert wrote:
> 
> >Am Mi, den 28.01.2004 schrieb Maximilian Mehnert um 15:28:
> >>>Having 400MB of RAM used by the node's java processes seems out of 
> >>>whack.
> >>>In fact that sounds insane. Which threadFactory is your configuration
> >>>file set to use? If you set it to use the YThreadFactory, do things
> >>>improve?
> >
> >Sorry. Being online for about 12 hours freenet again succeeded in
> >overloading an "acceptable" machine (1.5GHz, 512MB Ram), leaving it
> >doing nothing but swapping RAM.
> >
> >I think it's time to take a break. Perhaps I'll check back in a year 
> >;-)
> >
> >I'm still of the opinion that freenet will only spread if people are
> >able to run it on a small router or in background with no noticeable
> >impact on performance.
> 
> I agree here. My router is a 1.53Ghz Athlon (XP1800+) with 512MB of 
> RAM. The CPU isn't taxed, but the memory is. Also, bandwidth is used 
> quite readily. I have a quota, and it'd be nice to be able to give 
> Freenet a maximum monthly allocation, and have it shut down after 
> that's passed the limit. 

Have you tried averageOutputBandwidthLimit etc?

> I have no problem donating 2-3GB/month of 
> traffic, but it takes 4-5 if I don't watch it, that's with a limit of 
> 2kb/sec both ways.

:<

> 
> It would be nice if anyone with a spare P266 box could fire up freenet 
> and just let it sit there.

Absolutely.
> 
> >If I had a second life I would help redoing the whole thing in ocaml or
> >something like that. But I have the miserable feeling that studying
> >medicine will keep me busy for the next years. :-( Ok, no more flame
> >wars ;-)
> 
> If I knew the protocol, and knew enough about networking, I'd do a 
> Cocoa client. I have no problems with continually changing the 
> protocol, I'd just have to participate on the developer mailing list. 
> Unfortunately there's no easy place to start from. I guess that's what 
> you get with pre-release software.
> 
> Another good idea would be a 'freenet browser', something like Gecko or 
> WebKit (for OS X) embedded in to a freenet thing, with privacy options 
> auto set.

Yikes. Please, keep the client separate. It can talk to the node via
FCP. A freenet specific browser might be nice though.
> 
> --
> Phillip Hutchings
> [EMAIL PROTECTED]
> http://www.sitharus.com/
-- 
Matthew J Toseland - [EMAIL PROTECTED]
Freenet Project Official Codemonkey - http://freenetproject.org/
ICTHUS - Nothing is impossible. Our Boss says so.


signature.asc
Description: Digital signature
___
Support mailing list
[EMAIL PROTECTED]
http://news.gmane.org/gmane.network.freenet.support
Unsubscribe at http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/support
Or mailto:[EMAIL PROTECTED]

Re: [freenet-support] Way to much RAM! Build 5064

2004-02-17 Thread Toad
On Thu, Jan 29, 2004 at 10:13:05AM +0100, Maximilian Mehnert wrote:
> Am Mi, den 28.01.2004 schrieb Maximilian Mehnert um 15:28:
> > > Having 400MB of RAM used by the node's java processes seems out of whack.
> > > In fact that sounds insane. Which threadFactory is your configuration
> > > file set to use? If you set it to use the YThreadFactory, do things
> > > improve?
> 
> Sorry. Being online for about 12 hours freenet again succeeded in
> overloading an "acceptable" machine (1.5GHz, 512MB Ram), leaving it
> doing nothing but swapping RAM.
> 
> I think it's time to take a break. Perhaps I'll check back in a year ;-)
> 
> I'm still of the opinion that freenet will only spread if people are
> able to run it on a small router or in background with no noticeable
> impact on performance.

Only _REAL_ geeks will do this. Freenet will spread if it can
unobtrusively run on a windoze PC, only needing to be turned off for
Quake III.
> 
> If I had a second life I would help redoing the whole thing in ocaml or
> something like that. But I have the miserable feeling that studying
> medicine will keep me busy for the next years. :-( Ok, no more flame
> wars ;-)

:)

It is possible to compile java to native code, that may help CPU-wise.
Memory-wise, progress needs to be made, but the important thing at the
moment is to get rate limiting working properly.
> 
> Regards,
> 
> Max
> -- 
> Maximilian Mehnert <[EMAIL PROTECTED]>
-- 
Matthew J Toseland - [EMAIL PROTECTED]
Freenet Project Official Codemonkey - http://freenetproject.org/
ICTHUS - Nothing is impossible. Our Boss says so.


signature.asc
Description: Digital signature
___
Support mailing list
[EMAIL PROTECTED]
http://news.gmane.org/gmane.network.freenet.support
Unsubscribe at http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/support
Or mailto:[EMAIL PROTECTED]

Re: [freenet-support] Way to much RAM! Build 5064

2004-02-17 Thread Toad
On Wed, Jan 28, 2004 at 06:56:42AM -0600, S wrote:
> On Wed, 28 Jan 2004 13:33:42 +0100
> Maximilian Mehnert <[EMAIL PROTECTED]> wrote:
> 
> > Freenet is one of the most beautiful ideas I ever hit on.
> > But it should be possible to run it on a small pentium machine with no
> > more than 100MB of RAM.
> 
> I agree 100%. I have a machine dedicated to Freenet. It doesn't do
> anything else, period. It's a P3 600mhz with 192 megs of RAM. Both
> stable and unstable will max out its CPU most of the time. I suspect
> that the core issue is RAM, but I don't know for sure.

IF the core issue is CPU, then a working implementation of rate limiting
will allow the node to receive just as many requests as it can deal
with. If the CPU is maxed out, even if this is due to memory
usage/swapping, this will result in high routingTime, and
messageSendTimeRequest, both of which are supposed to be taken into
account by rate limiting, so again, WHEN rate limiting works properly,
it should be able to deal with substandard-performance nodes reasonably
well. Actually, I have this exact same problem on my development node,
not because of the hardware (which is solid but not excessive - XP
2800+, 1GB RAM, striped IDE), but because of the logging I use, which
uses a LOT of RAM, and a LOT of CPU.
> 
> I've repeatedly seen "old" machines like my P3-600 disregarded as
> irrelevant, and not worth optimizing for, in terms of the Freenet
> network. 

See above. The best thing I can do for you is get rate limiting working
properly. And I think Freenet should easily run on a 600MHz machine, or
something is wrong. I'm just skeptical about running on 128MB, or on
<200MHz machines.

> I hesitate to call this particular box "old." I have an IBM
> Aptiva, with a whopping Pentium 75, 40 megs of RAM, running FreeBSD,
> acting as the gatekeeper for my LAN. It pushes a few gigs worth of data
> each day, ipfw filtering included, with a load of 0.01 most of the time,
> and doesn't complain! Now that's what I call old, but the damn thing
> keeps on rolling.

Nothing wrong with that for a firewall machine.
> 
> Yet I continue to devote the P3 to doing nothing but running a Freenet
> node, and I will keep doing so for the forseeable future. To me, it's
> worth it. There have been some significant improvements over the past
> few months, and I don't doubt that the improvements will continue. You
> didn't elaborate about how long you'd been away from Freenet, but within
> the past 6 months, there have been ups and downs. Recently there have
> been several ups, especially multiplexing.
> 
> Having 400MB of RAM used by the node's java processes seems out of whack.
> In fact that sounds insane. Which threadFactory is your configuration
> file set to use? If you set it to use the YThreadFactory, do things
> improve?
> 
> If you can, please keep running your node!
> 
> -s
-- 
Matthew J Toseland - [EMAIL PROTECTED]
Freenet Project Official Codemonkey - http://freenetproject.org/
ICTHUS - Nothing is impossible. Our Boss says so.


signature.asc
Description: Digital signature
___
Support mailing list
[EMAIL PROTECTED]
http://news.gmane.org/gmane.network.freenet.support
Unsubscribe at http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/support
Or mailto:[EMAIL PROTECTED]

Re: [freenet-support] Re: routing table

2004-02-17 Thread Toad
On Tue, Feb 17, 2004 at 07:19:28PM +0100, Alban Bedel wrote:
> Hi Toad,
> 
> on Mon, 16 Feb 2004 11:37:46 + you wrote:
> 
> Before i start i must say i always like the idea of freenet. I tried
> it a couple time long ago but i never had enouth disk space to devote.
> I tried the current stable yesterday and i must say i was disapointed.

Yes, there are major problems with the network that are being worked
out, agonizingly slowly..

> First, like many here, by the insane amout of mem it sucked. 

It's unfortunate, however given the size of the network, it's
performance level, and the consequent reasonable deduction that only
geeks will use it, it's not so unreasonable for this to be only a
moderately high priority.

> But then
> i was more impressed by the reaction of the freenet ppl. So i put
> my rant too. But don't get me wrong i work on oss too, i know that
> you just do what you feel like doing. And it's good so :)

Well, I work on what is best for the project, because I get paid for it.
But obviously the volunteers do what they feel like.
> 
> > As I have said on numerous occasions: RAM is cheap. Freedom or working
> > software is not cheap, it's bloody expensive.
> 
> RAM is NOT CHEAP ! You perhaps live in a wealty contry and have big
> money. But this is a privilege, not more. RAM is fucking expansive
> by my standards (and yes i live in a wealty contry) and freedom can be
> an end only if it's freedom for all. Otherwise you just create a new
> caste of privilegied. Do we really need one more ??

RAM is subject to Moore's Law. Freedom, and software development, are
not. Having said that we do have a problem with memory usage with all
the reports of nodes crashing with OOMs even when given 250MB+.
> 
> > 79MB is way under what
> > most nodes use. We may be able to get perm node usage down to 80MB at
> > some point, but it's not an immediate priority.
> 
> I just took a quick look at this list and could find several ppl in
> the same position as i. We have good "old" server (mine is a celeron
> 400 with 128MB) witch can handle ANY of todays servers easily. So
> we would like to run a frennet node. But we just can't 

Upgrade it to 256MB. Your motherboard doesn't support 256MB? That sounds
unlikely if it can take a celeron 400. If you are so poor that you can't
afford the $50 upgrade, well frankly, can you afford the bandwidth?
> 
> > Don't you think it would be nice to have a working network?
> 
> Sure but again if it's a network of eltist who expect you to buy
> a new computer just to be able to run a permanent node i don't
> see the point.

We can improve on the memory usage issue once it works. And MEMORY FOR A
GIVEN COST DOUBLES EVERY YEAR TO TWO YEARS. We have been working on
freenet since ~ 1997, and it certainly has not improved that quickly.
> 
>   Albeu
> 
> -- 
> 
> Everything is controlled by a small evil group
> to which, unfortunately, no one we know belongs.
-- 
Matthew J Toseland - [EMAIL PROTECTED]
Freenet Project Official Codemonkey - http://freenetproject.org/
ICTHUS - Nothing is impossible. Our Boss says so.


signature.asc
Description: Digital signature
___
Support mailing list
[EMAIL PROTECTED]
http://news.gmane.org/gmane.network.freenet.support
Unsubscribe at http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/support
Or mailto:[EMAIL PROTECTED]

[freenet-support] Re: routing table

2004-02-17 Thread Alban Bedel
Hi Toad,

on Mon, 16 Feb 2004 11:37:46 + you wrote:

Before i start i must say i always like the idea of freenet. I tried
it a couple time long ago but i never had enouth disk space to devote.
I tried the current stable yesterday and i must say i was disapointed.
First, like many here, by the insane amout of mem it sucked. But then
i was more impressed by the reaction of the freenet ppl. So i put
my rant too. But don't get me wrong i work on oss too, i know that
you just do what you feel like doing. And it's good so :)

> As I have said on numerous occasions: RAM is cheap. Freedom or working
> software is not cheap, it's bloody expensive.

RAM is NOT CHEAP ! You perhaps live in a wealty contry and have big
money. But this is a privilege, not more. RAM is fucking expansive
by my standards (and yes i live in a wealty contry) and freedom can be
an end only if it's freedom for all. Otherwise you just create a new
caste of privilegied. Do we really need one more ??

> 79MB is way under what
> most nodes use. We may be able to get perm node usage down to 80MB at
> some point, but it's not an immediate priority.

I just took a quick look at this list and could find several ppl in
the same position as i. We have good "old" server (mine is a celeron
400 with 128MB) witch can handle ANY of todays servers easily. So
we would like to run a frennet node. But we just can't 

> Don't you think it would be nice to have a working network?

Sure but again if it's a network of eltist who expect you to buy
a new computer just to be able to run a permanent node i don't
see the point.

Albeu

-- 

Everything is controlled by a small evil group
to which, unfortunately, no one we know belongs.


___
Support mailing list
[EMAIL PROTECTED]
http://news.gmane.org/gmane.network.freenet.support
Unsubscribe at http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/support
Or mailto:[EMAIL PROTECTED]


[freenet-support] Re: [freenet-dev] Updated scripts (one more *major* revision)

2004-02-17 Thread Conrad Sabatier
While going back to correct the problem of seednodes.ref being backed up in
both addnodes.sh and dedupe.sh (which would cause the final backed up
seednodes.ref.bak to actually be a copy of the raw concatenated noderefs.txt
and seednodes.ref), I refined these two scripts even further and added a *lot*
of bulletproofing.  :-)  Also added more "echo" statements to inform the user
as to their progress.

They should both be quite safe to use now, and are working just as I wanted them
to.  :-)

Jeez, between this and all the work I've been doing modifying the spider, I'm
whipped!  I think I'll just *play* with the computer my remaining time off
(yeah, right!)  :-)

Enjoy!

On 17-Feb-2004 Conrad Sabatier wrote:
> One more correction to addnodes.sh:
> 
> Rather than copying noderefs.txt to the end of seednodes.ref before deduping
> seednodes.ref, put it at the beginning.  This way the (presumably) newer
> nodes
> from the freshly fetched noderefs.txt are guaranteed to win out over any
> older
> ones in seednodes.ref.
> 
> Also, backup seednodes.ref in addnodes.sh before doing anything.
> 
> Meant to do this on the last go-round, but it slipped my mind.  :-)
> 
> Enjoy!
> 
> On 17-Feb-2004 Conrad Sabatier wrote:
>> D'oh!  That's what I get for coding into the wee hours of the morning on too
>> much coffee and not enough food.  :-)
>> 
>> I've attached corrections to the addnodes.sh and dedupe.sh scripts.  It
>> occurred to me later that if addnodes.sh is run periodically without
>> *really*
>> eliminating duplicate noderefs using the same version, then the
>> seednodes.ref
>> file is going to just grow and grow and grow.
>> 
>> I've solved the problem by a sort of "brute force" method for now.  In the
>> case
>> of duplicate noderefs using the same version, only one is saved, the others
>> are
>> mindlessly tossed in the bit bucket.
>> 
>> I've also improved the code in a few other places, removing some unnecessary
>> stuff, simplifying and speeding it up a good bit.
>> 
>> Enjoy!
>> 
>> On 17-Feb-2004 Conrad Sabatier wrote:
>>> OK, I've finally come up with a deduping script.  It's not perfect, in that
>>> I
>>> didn't know what to do with duplicate nodes with the same version, so I
>>> just
>>> left them alone, but it's a start.  Hopefully, over time, it'll work out
>>> OK,
>>> the idea being that as later versions of nodes are added, the older dupes
>>> will
>>> drop out.
>>> 
>>> For this reason, I've modified the addnodes.sh script to just add
>>> everything
>>> in
>>> noderefs.txt (after first deduping it) to seednodes.ref, and then deduping
>>> seednodes.ref.  The problem with the earlier version of addnodes.sh was
>>> that
>>> if
>>> a node was already present in seednodes.ref, the one in noderefs.txt would
>>> never get added, even if it was newer.
>>> 
>>> I've also cleaned up and "normalized" all the other scripts, cleaning up
>>> the
>>> headers and adding usage tips, as well as made them safer by having them
>>> backup
>>> files before modifying them.
>>> 
>>> Hope you'll find them useful.
>>> 
>>> Conrad (my God, it's nearly 5 a.m.!)
>>> 
>>> -- 
>>> Conrad Sabatier <[EMAIL PROTECTED]> - "In Unix veritas"
>> 
>> -- 
>> Conrad Sabatier <[EMAIL PROTECTED]> - "In Unix veritas"
> 
> -- 
> Conrad Sabatier <[EMAIL PROTECTED]> - "In Unix veritas"

-- 
Conrad Sabatier <[EMAIL PROTECTED]> - "In Unix veritas"


dedupe.sh
Description: dedupe.sh


addnodes.sh
Description: addnodes.sh
___
Support mailing list
[EMAIL PROTECTED]
http://news.gmane.org/gmane.network.freenet.support
Unsubscribe at http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/support
Or mailto:[EMAIL PROTECTED]

[freenet-support] Re: [freenet-dev] Updated scripts (one more correction)

2004-02-17 Thread Conrad Sabatier
One more correction to addnodes.sh:

Rather than copying noderefs.txt to the end of seednodes.ref before deduping
seednodes.ref, put it at the beginning.  This way the (presumably) newer nodes
from the freshly fetched noderefs.txt are guaranteed to win out over any older
ones in seednodes.ref.

Also, backup seednodes.ref in addnodes.sh before doing anything.

Meant to do this on the last go-round, but it slipped my mind.  :-)

Enjoy!

On 17-Feb-2004 Conrad Sabatier wrote:
> D'oh!  That's what I get for coding into the wee hours of the morning on too
> much coffee and not enough food.  :-)
> 
> I've attached corrections to the addnodes.sh and dedupe.sh scripts.  It
> occurred to me later that if addnodes.sh is run periodically without *really*
> eliminating duplicate noderefs using the same version, then the seednodes.ref
> file is going to just grow and grow and grow.
> 
> I've solved the problem by a sort of "brute force" method for now.  In the
> case
> of duplicate noderefs using the same version, only one is saved, the others
> are
> mindlessly tossed in the bit bucket.
> 
> I've also improved the code in a few other places, removing some unnecessary
> stuff, simplifying and speeding it up a good bit.
> 
> Enjoy!
> 
> On 17-Feb-2004 Conrad Sabatier wrote:
>> OK, I've finally come up with a deduping script.  It's not perfect, in that
>> I
>> didn't know what to do with duplicate nodes with the same version, so I just
>> left them alone, but it's a start.  Hopefully, over time, it'll work out OK,
>> the idea being that as later versions of nodes are added, the older dupes
>> will
>> drop out.
>> 
>> For this reason, I've modified the addnodes.sh script to just add everything
>> in
>> noderefs.txt (after first deduping it) to seednodes.ref, and then deduping
>> seednodes.ref.  The problem with the earlier version of addnodes.sh was that
>> if
>> a node was already present in seednodes.ref, the one in noderefs.txt would
>> never get added, even if it was newer.
>> 
>> I've also cleaned up and "normalized" all the other scripts, cleaning up the
>> headers and adding usage tips, as well as made them safer by having them
>> backup
>> files before modifying them.
>> 
>> Hope you'll find them useful.
>> 
>> Conrad (my God, it's nearly 5 a.m.!)
>> 
>> -- 
>> Conrad Sabatier <[EMAIL PROTECTED]> - "In Unix veritas"
> 
> -- 
> Conrad Sabatier <[EMAIL PROTECTED]> - "In Unix veritas"

-- 
Conrad Sabatier <[EMAIL PROTECTED]> - "In Unix veritas"
#!/bin/sh
#
# addnodes.sh
#
# Add nodes from current routing table to seednodes.ref
# Dedupes seednodes.ref after adding nodes
#
# Author: dolphin
#
# Usage: ./addnodes.sh
#
# Put this script in your main freenet dir and run from there
# (expects to find noderefs.txt, seednodes.ref and dedupe.sh
# in current dir)
#
# Requires: wget

cd $(realpath $(dirname $0))
cp noderefs.txt noderefs.txt.bak
echo "Fetching noderefs.txt..."
wget -q -O noderefs.txt http://localhost:/servlet/nodestatus/noderefs.txt
./dedupe.sh noderefs.txt
cp seednodes.ref seednodes.ref.bak
cat noderefs.txt seednodes.ref.bak > seednodes.ref
./dedupe.sh seednodes.ref
___
Support mailing list
[EMAIL PROTECTED]
http://news.gmane.org/gmane.network.freenet.support
Unsubscribe at http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/support
Or mailto:[EMAIL PROTECTED]

[freenet-support] Re: [freenet-dev] Updated scripts (corrections)

2004-02-17 Thread Conrad Sabatier
D'oh!  That's what I get for coding into the wee hours of the morning on too
much coffee and not enough food.  :-)

I've attached corrections to the addnodes.sh and dedupe.sh scripts.  It
occurred to me later that if addnodes.sh is run periodically without *really*
eliminating duplicate noderefs using the same version, then the seednodes.ref
file is going to just grow and grow and grow.

I've solved the problem by a sort of "brute force" method for now.  In the case
of duplicate noderefs using the same version, only one is saved, the others are
mindlessly tossed in the bit bucket.

I've also improved the code in a few other places, removing some unnecessary
stuff, simplifying and speeding it up a good bit.

Enjoy!

On 17-Feb-2004 Conrad Sabatier wrote:
> OK, I've finally come up with a deduping script.  It's not perfect, in that I
> didn't know what to do with duplicate nodes with the same version, so I just
> left them alone, but it's a start.  Hopefully, over time, it'll work out OK,
> the idea being that as later versions of nodes are added, the older dupes
> will
> drop out.
> 
> For this reason, I've modified the addnodes.sh script to just add everything
> in
> noderefs.txt (after first deduping it) to seednodes.ref, and then deduping
> seednodes.ref.  The problem with the earlier version of addnodes.sh was that
> if
> a node was already present in seednodes.ref, the one in noderefs.txt would
> never get added, even if it was newer.
> 
> I've also cleaned up and "normalized" all the other scripts, cleaning up the
> headers and adding usage tips, as well as made them safer by having them
> backup
> files before modifying them.
> 
> Hope you'll find them useful.
> 
> Conrad (my God, it's nearly 5 a.m.!)
> 
> -- 
> Conrad Sabatier <[EMAIL PROTECTED]> - "In Unix veritas"

-- 
Conrad Sabatier <[EMAIL PROTECTED]> - "In Unix veritas"
#!/bin/sh
#
# dedupe.sh
#
# Dedupe nodes in input file (seednodes.ref or noderefs.txt)
#
# Author: dolphin
#
# Usage: ./dedupe.sh inputfile
#
# Put this script in your main freenet dir and run from there
# (companion script addnodes.sh expects to find it in current dir)
#
# Algorithm:
#
# Step 1:   backup input file!  :-)
#
# Step 2:   read noderef records one at a time from input file,
#   saving version info to a temp file for each unique IP
#
# Step 3:   remove all but the highest version number in each IP's
#   temp file
#
# Step 4:   reread the input file one record at a time as above,
#   saving only the first node whose version is found in
#   its IP's temp file, discarding all others, writing
#   output to a temporary nodes file
#
# Step 5:   move temporary nodes file to original input file
#
#   Not terribly elegant, but it gets the job one  :-)
#
#   One little bugaboo: if a node has only multiple
#   references to a single version, all but one are deleted.
#   Didn't know how else to handle this without more
#   to go on.  :-)

if [ $# -ne 1 ]
then
echo "Usage: ./dedupe.sh infile"
exit 1
fi

infile=$1
cp ${infile} ${infile}.bak  #save a copy just in case!

outfile=/tmp/$(basename ${infile}).$$

rm -f /tmp/node.* ${outfile}

#
#function: read a single noderef from input, save to temp file
#
read_one_noderef()
{
rm -f /tmp/noderef.$$

while read line
do
echo $line >> /tmp/noderef.$$
if [ "$line" = "End" ]
then
break
fi
done
}

# Collect node version info

i=0

while :
do
read_one_noderef

if [ ! -f /tmp/noderef.$$ ]
then
break   #end of file
fi

physical_tcp=$(awk '/^physical.tcp=/ {split($0, a, "[=:]"); print a[2]}' /tmp/n
oderef.$$)
version=$(awk -F',' '/^version=/ {print $4}' /tmp/noderef.$$)
echo "${version}" >> /tmp/node.${physical_tcp}
i=$((i + 1))
done < $infile

echo "$i node references found in $infile"
echo "Deduping..."

#
# unique-ify version info (determine latest version of a node)
#
for f in /tmp/node.*
do
sort -urn -o ${f}.tmp $f
head -n 1 ${f}.tmp > $f
done

i=0

while :
do
read_one_noderef

if [ ! -f /tmp/noderef.$$ ]
then
break   #end of file
fi

physical_tcp=$(awk '/^physical.tcp=/ {split($0, a, "[=:]"); print a[2]}' /tmp/n
oderef.$$)
version=$(awk -F',' '/^version=/ {print $4}' /tmp/noderef.$$)

if grep -q $version /tmp/node.${physical_tcp}
then
cat /tmp/noderef.$$ >> $outfile
cat /dev/null > /tmp/node.${physical_tcp}
i=$((i + 1))
fi
done < $infile

mv $outfile $infile

echo "Saved $i unique nodes to $infile"

rm -f /tmp/node*
#!/bin/sh
#
# addn

[freenet-support] Updated scripts (including a new dedupe.sh!)

2004-02-17 Thread Conrad Sabatier
OK, I've finally come up with a deduping script.  It's not perfect, in that I
didn't know what to do with duplicate nodes with the same version, so I just
left them alone, but it's a start.  Hopefully, over time, it'll work out OK,
the idea being that as later versions of nodes are added, the older dupes will
drop out.

For this reason, I've modified the addnodes.sh script to just add everything in
noderefs.txt (after first deduping it) to seednodes.ref, and then deduping
seednodes.ref.  The problem with the earlier version of addnodes.sh was that if
a node was already present in seednodes.ref, the one in noderefs.txt would
never get added, even if it was newer.

I've also cleaned up and "normalized" all the other scripts, cleaning up the
headers and adding usage tips, as well as made them safer by having them backup
files before modifying them.

Hope you'll find them useful.

Conrad (my God, it's nearly 5 a.m.!)

-- 
Conrad Sabatier <[EMAIL PROTECTED]> - "In Unix veritas"
#!/bin/sh
#
# versions.sh
#
# Show a count of the number of each unique node version in input file
#
# Author: dolphin
#
# Usage: versions.sh inputfile

if [ $# -ne 1 ]
then
echo "Usage: versions.sh inputfile"
exit 1
fi

grep ^version $1 | sort | uniq -c
#!/bin/sh
#
# Displays IP and version info for each node reference in a file
#
# Author: dolphin
#
# Usage: nodes.sh infile

if [ $# -ne 1 ]
then
echo "Usage: nodes.sh infile"
exit 1
fi

#function: read a single noderef from input, save to temp file
read_one_noderef()
{
rm -f /tmp/noderef.$$

while read line
do
echo $line >> /tmp/noderef.$$
if [ "$line" = "End" ]
then
break
fi
done
}

infile=$1
exec < $infile

i=0

while :
do
read_one_noderef

if [ ! -f /tmp/noderef.$$ ]
then
break   #end of file
fi

physical_tcp=$(awk '/^physical.tcp=/ {split($0, a, "[=:]"); print a[2]}' /tmp/n
oderef.$$)
echo -n "physical.tcp: ${physical_tcp}:"

port=$(awk -F':' '/^physical.tcp=/ {print $2}' /tmp/noderef.$$)
echo -n "${port} "

version=$(awk -F',' '/^version=/ {print $4}' /tmp/noderef.$$)
echo "version: ${version}"

i=$((i + 1))
done

echo "$i node references found"
#!/bin/sh
#
# refresh_bookmarks.sh
#
# Keep freenet bookmarks refreshed
#
# Author: dolphin
#
# Usage: ./refresh_bookmarks.sh
#
# Put this script in your main freenet dir and run from there
# (expects to find freenet.conf and lib/freenet.jar in current dir)

# Uncomment the following line to skip searching the local store
# (better for improving your node's routing), or comment it out
# to use the local store
skipDS='--skipDS'

logLevel=error  #adjust to taste

cd $(realpath $(dirname $0))

HTL=$(awk -F'=' '/maxHopsToLive=/ {print $2}' freenet.conf)
SleepOnFail=$(($(awk -F'=' '/failureTableTime=/ {print $2}' freenet.conf) / 500)
)
SleepOnSuccess=$((SleepOnFail / 2))

for key in $(awk -F'=' '/bookmarks\..*\.key=/ {print $2}' freenet.conf | sort -u
)
do
{   while :
do
echo "Refreshing $key"
if java -cp lib/freenet.jar freenet.client.cli.Main get $key \
--htl ${HTL} ${skipDS} --logLevel ${logLevel}
then
sleep ${SleepOnSuccess}
else
sleep ${SleepOnFail}
fi
done
} & #don't remove this ampersand here!  Not a typo!  :-)

sleep 600   #wait 10 minutes before invoking next instance
done &
#!/bin/sh
#
# dedupe.sh
#
# Dedupe nodes in input file (seednodes.ref or noderefs.txt)
#
# Author: dolphin
#
# Usage: ./dedupe.sh inputfile
#
# Put this script in your main freenet dir and run from there
# (companion script addnodes.sh expects to find it in current dir)
#
# Algorithm:
#
# Step 1:   backup input file!  :-)
#
# Step 2:   read noderef records one at a time from input file,
#   saving version info to a temp file for each unique IP
#
# Step 3:   sort unique the version numbers in each IP's temp file
#
# Step 4:   reread the input file one record at a time as above,
#   saving any nodes whose version is found in its IP's
#   temp file, discarding all others, writing output to
#   a temporary nodes file
#
# Step 5:   move temporary nodes file to original input file
#
#   Not terribly elegant, but it gets the job one  :-)
#
#   One little bugaboo: if a node has only multiple
#   references to a single version, none are deleted.
#   Didn't know how else to handle this without more
#   to go on.  :-)

if [ $#