Hey David,
Can you give us an exact changes text that will reproduce this behavior?
I have been using wpUpdater for a while now without any issues. However, I was trying to get the latest release of my software ready and I ran into an odd problem. I followed the normal steps for creating my update, but when I tested it I got the following error ""bad read of entry 0 from compressed archive." I tried this from multiple computers, so it was something wrong in the file. I rolled back the wyserver.wys file and tested and it said it was up to date again. I searched the forum and saw some others have had a similar issue, but I know my problem has nothing to do with proxies and such. It was working fine from my computers, and then gets this error only for these update changes.
I then did some experimentation to try and find out why this was happening. I thought somehow some files were corrupted on upload or something, but even numerous attempts to upload and checking md5 hashes showed this was not the case. I then tried to cut the text in my update description to just "Test", and suddenly it started working. I then tested various text lengths and I found that if the wyserver.wys file goes above 2000 bytes it no longer works. I am not sure why this would be the case. I have cut back on the text for this release to try and get it to work alright. However, I believe the size of this file is cumulative as each release is added. Therefore, the next time I try and release I will be forced to go over this limit. So I was hoping someone could help out with a fix for this bug before I need to do that.
I am using the AutomaticUpdater .net library within my application to try and do the updates.
ThanksDavid
Hey David,
Can you give us an exact changes text that will reproduce this behavior?
Looks like I was wrong. I made the changes I described to reduce the text and I got it to successfully update on all my test systems. However, when I actually released it, I had numerous people complain that they got that error. However, some people who had it on multiple machines got it on one of them, but it succeeded on another. I then reran my test and they still all worked fine. I am a bit stumped as to what the problem is. I had those people who were having issue run the wyUpdate.exe directly and that worked for all of them. So it is something with the .net control that is wonky. Based on what I saw in the forum I changed my call to ForceCheckForUpdate() to ForceCheckForUpdate(True). I am unsure if that will make any difference going forward. Since this problem just started suddenly appearing and it looks like it only affects some computer on the same network, I still do not believe this has anything to do with proxy settings, but I am at a loss to understand what could be causing it. Below is the full length text I originally tried using.
AnimatLab 2.1.2 ReleaseThe first version of the AnimatLab Robotics Framework is released! It has taken longer than I hoped it would to get this release finished. However, I ended up having to add a lot more features than I thought I would have to in order to make it really useful. Getting the release and tutorials out is such a big job that I wanted to get more functionality in before I had to deal with that. There is still more work to do to get the robotics framework to do all the things I want, but I felt this was a good stopping point where I could get it out into the hands of other people to start using.
The new robotics framework takes AnimatLab beyond pure neuromechanical simulation, and makes it very easy for almost anyone to build real, biologically inspired robots that use nervous systems based on how real animals control their behaviors. The framework makes it easy because it takes most of the difficult engineering work of interfacing with the hardware out of the equation. You can build very complex, biomimetic robots without having to write a single line of source code, or know anything beyond some very basics of electronics, and all of this using commercial off the shelf components.
You can build AnimatLab simulations just as you are used to doing, and later on add robot part interfaces that connect motorized joints and sensors to corresponding real servos and sensors, and your neural control system does not know, or care, whether it is talking to real hardware or the simulation. I have also added controls to allow you to use joysticks and other interfaces to interact with the nervous system simulation. So for instance, you can use a wireless joystick to move a robot arm within your simulation.
The Robotics Framework runs in both 32 bit and 64 bit windows, and it runs on Ubuntu. I have also tested it on both an Odroid U3 and NVIDIA Jetson TK1 micro-computer.
Finally, I have created seven new detailed video tutorials, totaling over two hours, that show you in a step-by-step fashion how to use the robotics framework to build and control a working robot arm, along with new documentation of the framework.
Major Changes1. You can now add robot part interfaces to your existing simulations to control real hardware using the neural network control system from your simulation. Please see the documentation for more details. (http://animatlab.com/Help/Documentation/Robotics/tabid/295/Default.aspx)
2. AnimatLab now has a framework in place to allow physical devices to interact with a neural network in a simulation or on a robot. Right now only the wireless XBee commander joystick is supported, but I plan to add keyboard and standard joystick interactivity soon. Please see the remote control documentation for more details. (http://animatlab.com/Help/Documentation/Robotics/RemoteControls/tabid/298/Default.aspx)
3. I have created realistic mesh files for all parts of the base Bioloid robot frame kit. They are available for free in the AnimatWarehouse. (http://animatlab.com/Community/AnimatWarehouse/tabid/240/Default.aspx)
4. Contact sensors can now become "sticky." Your neural network can turn on/off the stickiness of a contact sensor, and when it is on and comes into contact with another part in the scene they will stick together until stickiness is turned off. I used this in the robot arm simulation to allow the gripper to pick up parts. However, there are a number of other applications. For example, you could simulate a gecko's ability to walk up walls.
5. You can now specify a target data type for adapters. Previously the incoming data type for a node was hard-coded. Now it is possible for the user to change it. The main place where this is used is to allow you to have two adapters connected to a joint where one lets you control the target position and the other sets the target velocity.
6. You can now setup a delay buffer on any adapter, and you have the ability to disable all output from an adapter for a given period immediately after the simulation starts in order to allow the neurons in your simulation to settle down to a steady state.
7. There are now CodeBlocks project files for all the simulation libraries for use on Linux.
8. I added a new Modulate Neuron Property synapse to the Firing rate neural plug-in. This allows you to modify any of the properties of the post-synaptic neuron based on the firing rate of the pre-synaptic neuron.
9. I have created a new video channel on YouTube. (https://www.youtube.com/channel/UCHZcRY-8XNgVi076gQ4v0UQ). I have transferred all of my video tutorials up to my YouTube channel, including the ones on the robotics framework. I am in the process of building a hexapod robot that will use a CUDA enhanced neural network to control its movements and behaviors. I plan to start posting a number of small videos to document my progress as I go along. So please subscribe to the channel so you can follow new videos as they are added.
Here are links to the new video tutorials:
AnimatLab Robotics Framework Introduction: http://youtu.be/0sl_BXC-us4AnimatLab Robotic Arm Video Tutorial: Simulation Setup: http://youtu.be/pIiYzw6BusoAnimatLab Robotic Arm Video Tutorial: Robot Control Part 1: http://youtu.be/_U3dt9aYu4AAnimatLab Robotic Arm Video Tutorial: Robot Control Part 2: http://youtu.be/Chmfke9kWeMAnimatLab Robotic Arm Video Tutorial: Joystick Control: http://youtu.be/ZQgZ8FqBmCcAnimatLab Robotic Arm Video Tutorial: Position and Velocity Control: http://youtu.be/gqXyxMu545wPhantomX Hexapod Preview: http://youtu.be/2foAdjMvI1A
Whats Next!I have already made a lot of progress integrating the CARLsim GPU-accelerated spiking neural network library (http://www.socsci.uci.edu/~jkrichma/CARLsim/) into AnimatLab. It will allow users to visually layout large populations of neurons and syanpses and run them on NVIDIA GPUs using CUDA. In particular, I am targeting the NVIDIA Jetson TK1 embedded supercomputer for robotic applications, but it will run on any NVIDIA graphics card.
Here is the shortened text I used instead:
AnimatLab 2.1.2 ReleaseThe first version of the AnimatLab Robotics Framework is released! The new robotics framework takes AnimatLab beyond pure neuromechanical simulation, and makes it very easy for almost anyone to build real, biologically inspired robots that use nervous systems based on how real animals control their behaviors. The framework makes it easy because it takes most of the difficult engineering work of interfacing with the hardware out of the equation. You can build very complex, biomimetic robots without having to write a single line of source code, or know anything beyond some very basics of electronics, and all of this using commercial off the shelf components.
Major Changes1. You can now add robot part interfaces to your existing simulations to control real hardware using the neural network control system from your simulation.
2. AnimatLab now has a framework in place to allow physical devices to interact with a neural network in a simulation or on a robot.
3. Contact sensors can now become "sticky." Your neural network can turn on/off the stickiness of a contact sensor, and when it is on and comes into contact with another part in the scene they will stick together until stickiness is turned off.
4. You can now specify a target data type for adapters.
5. You can now setup a delay buffer on any adapter, and you have the ability to disable all output from an adapter for a given period immediately after the simulation starts.
6. There are now CodeBlocks project files for all the simulation libraries for use on Linux.
7. I added a new Modulate Neuron Property synapse to the Firing rate neural plug-in. This allows you to modify any of the properties of the post-synaptic neuron based on the firing rate of the pre-synaptic neuron.
8. I have created a new video channel on YouTube. (https://www.youtube.com/channel/UCHZcRY-8XNgVi076gQ4v0UQ). So please subscribe to the channel so you can follow new videos as they are added.
Please see the Download page for a complete description of the changes.
Like I said though, it only fixed the problem on some of the computers. I could not get any of my test systems to install the update through the .net control with the longer text. When I shortened it then I got all them to work, but actual users still reported problems.
Thanks,David