From: Jim D. <jim...@rc...> - 2003-11-01 22:47:27
|
Okay, I can reproduce the problem, just takes a while. I believe it has something to do with how reconnect_proxy works, registering proxies. In my mh.private.ini, I have. speak_mh_room = livingroom speak_jim_port = proxy jim:8085 speak_sharon_port = proxy sharon:8085 speak_bedroom_port = proxy bedroom:8085 Each of jim, sharon, and bedroom are DHCP devices which have a DNS name attached to it. I added debug code in speak_proxy to print the proxy addresses. if ($New_Minute) { for my $address (keys %proxy_servers) { print_log "proxy: $address"; } } When mh starts from scratch, I get as expected. 11/01/03 04:07:00 PM proxy: bedroom:8085 11/01/03 04:07:00 PM proxy: jim:8085 11/01/03 04:07:00 PM proxy: sharon:8085 I use text_proxy_speak in speak_proxy.pl to do: 11/01/03 04:12:49 PM Running: Test proxy speak to jim normal: we are the borg,, you will be assimilated,, resistance is few tile Which work fine. Now what I do is restart the node jim. I now get. 11/01/03 04:07:30 PM Proxy is dead: jim:8085 11/01/03 04:07:30 PM Removed proxy server: jim:8085 11/01/03 04:07:32 PM Proxy accepted for: jim at 90.0.0.196 11/01/03 04:07:32 PM Adding proxy server: 90.0.0.196:8085 11/01/03 04:08:00 PM: Saving object states ... done 11/01/03 04:08:00 PM proxy: 90.0.0.196:8085 11/01/03 04:08:00 PM proxy: bedroom:8085 11/01/03 04:08:00 PM proxy: sharon:8085 The node jim dies, but registers itself when it comes back. But notice that it uses its connonical DHCP address, not the DNS name. The IP address for machine jim is 90.0.0.196 issued by DHCP. Now I get ... 11/01/03 04:09:00 PM proxy: 90.0.0.196:8085 11/01/03 04:09:00 PM proxy: bedroom:8085 11/01/03 04:09:00 PM proxy: sharon:8085 I can still speak to jim using test_speak_proxy 11/01/03 04:20:09 PM Running: Test proxy speak to jim normal: we are the borg,, you will be assimilated,, resistance is few tile Sometime later, speak_proxy breaks. normal: (west30.wav) Error in proxy_send: no proxy server found for function=play int=jim:8085 address=jim:8085 data=voice rooms all retry 4 volume 80 time 60 file chimes/west30.wav room And now my speak_proxy test fails too. Error in proxy_send: no proxy server found for function=speak int=jim:8085 address=jim:8085 data=room voice rooms jim text we are the borg,, you will be assimilated,, resistance is few tile Now, if I go to the web browser for jim and issue another reconnect_proxy, I get 11/01/03 05:38:00 PM proxy: bedroom:8085 11/01/03 05:38:00 PM proxy: sharon:8085 11/01/03 05:38:47 PM Proxy accepted for: jim at 90.0.0.196 11/01/03 05:38:47 PM Adding proxy server: 90.0.0.196:8085 11/01/03 05:38:57 PM Running: Test proxy speak to jim normal: we are the borg,, you will be assimilated,, resistance is few tile 11/01/03 05:39:00 PM: Saving object states ... done 11/01/03 05:39:00 PM proxy: 90.0.0.196:8085 11/01/03 05:39:00 PM proxy: bedroom:8085 11/01/03 05:39:00 PM proxy: sharon:8085 It all starts working again. Now if I execute a $Reload of the main mh and issued speak_proxy_test, I get: 11/01/03 05:41:29 PM Running: Test proxy speak to jim normal: we are the borg,, you will be assimilated,, resistance is few tile Error in proxy_send: no proxy server found for function=speak int=jim:8085 address=jim:8085 data=room rooms jim voice text we are the borg,, you will be assimilated,, resistance is few tile Which is the original problem I stated, however, it first requires a restart of the proxy to get into this state. If I do reconnect_proxy on the proxy end, it all starts working again. I'm now in a state where each time I $Reload on my main mh, I need to reconnect proxy on all the proxies themselves. End, finally. Jim "Jim Duda" <jim...@rc...> wrote in message news:bo0u8q$1iq$1...@se...... > Well, now I cannot reproduce the problem (-: > Obviously it's not the problem I had orignally guessed. > > I have debug statements dumping the proxies now, so if it > happens again, I can track it down. > > Jim > > > "Jim Duda" <jim...@rc...> wrote in message > news:bo0b8s$thi$1...@se...... > > Bruce, > > > > > I don't see this problem here. What version of mh are you one? What > kind > > > of proxy are you running? > > > > I'm running version 2.83. I'm running proxies on both Windows and Linux, > > currently using just Speak and Play proxies. I've been playing with the > > code > > trying to make the proxies more distributed, that is, allowing all units > to > > be > > proxies of one another, in a sort of networking mesh. I must have broken > > something fundamental. > > > > All of my linux proxies share the same code on my main mh server box, > > each of them operating as a diskless server using the LTSP project. Each > > proxie operates using a full version of mh. My goal is to allow each > proxie > > to take advantage of all the resources in the "collective" and allow each > > proxie to send speak to all other units. I'm picking away at this, > > currently > > struggling with stopping "loops" from occuring in the network as each > proxie > > receives a message and by default resends the command to all other > proxies. > > > > I'm also trying to get each unit to automatically setup its own > mh_register > > connection to each unit in the collective without having to configure all > > of the cross connections in the mh.priviate.ini. > > > > I'm learning (-: > > > > > I have various proxies (e.g. weeder, x10) and they still work fine after > a > > > code reload. Where do you see bin/mh %proxy_servers hash getting reset > > on > > > reload. > > > > > > > Oh. I just assumed that %proxy_servers is cleared on a reload. I've > always > > had problems with variables getting cleared in my user code, causing me to > > use a Generic_Item. But now I realize that the mh code is still active on > > a Reload and only the user code variables are trashed. > > > > I'll investigate some more. > > > > Thanks, > > > > Jim > > > > "Bruce Winter" <br...@mi...> wrote in message > > news:NAB...@mi...... > > > > I've noticed that if I reload the code in the main mh, all the > > > > proxy servers go down from the perspective of the main mh, however, > the > > > servers themselves > > > > think they are still up. > > > > > > > > The problem is caused by the fact the %proxy_servers variable in > bin/mh > > is > > > > clobbered when a $Reload occurs, however, the Socket_Items remain > > > > intact. > > > > > > > > Can this be resolved? > > > > > > > > 1) Is there a good place where delete_proxy can be called before > > > > the reload > > > > occurs? > > > > 2) Can the proxy_servers variable be stored in a Generic_Item ? > > > > > > > > Jim > > > > > > I don't see this problem here. What version of mh are you one? What > kind > > > of proxy are you running? > > > > > > I have various proxies (e.g. weeder, x10) and they still work fine after > a > > > code reload. Where do you see bin/mh %proxy_servers hash getting reset > > on > > > reload. > > > > > > Bruce > > > > > > > > > > > > > > > ------------------------------------------------------- > > > This SF.net email is sponsored by: SF.net Giveback Program. > > > Does SourceForge.net help you be more productive? Does it > > > help you create better code? SHARE THE LOVE, and help us help > > > YOU! Click Here: http://sourceforge.net/donate/ > > > ________________________________________________________ > > > To unsubscribe from this list, go to: > > http://sourceforge.net/mail/?group_id=1365 > > > > > > > > > > > > > > > > > > ------------------------------------------------------- > > This SF.net email is sponsored by: SF.net Giveback Program. > > Does SourceForge.net help you be more productive? Does it > > help you create better code? SHARE THE LOVE, and help us help > > YOU! Click Here: http://sourceforge.net/donate/ > > ________________________________________________________ > > To unsubscribe from this list, go to: > http://sourceforge.net/mail/?group_id=1365 > > > > > > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: SF.net Giveback Program. > Does SourceForge.net help you be more productive? Does it > help you create better code? SHARE THE LOVE, and help us help > YOU! Click Here: http://sourceforge.net/donate/ > ________________________________________________________ > To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_id=1365 > > |