*** tpb has joined #tp | 00:00 | |
*** ChanServ sets mode: +o tpb | 00:00 | |
*** mithro has quit IRC | 03:15 | |
*** Demitar has joined #tp | 03:27 | |
*** Demitar has quit IRC | 04:41 | |
tpb | CIA-1 has quit worldforge (Quit: CIA-1) | 04:59 |
---|---|---|
tpb | CIA-1 has joined on worldforge | 05:15 |
*** tpb has joined #tp | 06:00 | |
*** ChanServ sets mode: +o tpb | 06:00 | |
*** llnz has joined #tp | 07:31 | |
llnz | hi all | 08:05 |
*** mithro has joined #tp | 11:14 | |
llnz | hi mithro | 11:14 |
mithro | hi | 11:15 |
mithro | whats up? | 11:22 |
llnz | not much, updating my laptop and installing the software to run tp stuff | 11:22 |
mithro | ahh cool | 11:24 |
mithro | what version of wxPython will that include? | 11:24 |
llnz | whatever is in debian | 11:26 |
llnz | unstable | 11:26 |
llnz | currently trying to build tpserver-cpp | 11:30 |
mithro | llnz: which is :P | 11:33 |
llnz | 2.6.3.2.1.5 | 11:35 |
llnz | i think | 11:35 |
llnz | do i need media for tpclient-pywx? | 11:38 |
mithro | nope | 11:38 |
llnz | cool | 11:39 |
llnz | i have old tpclient-pywx working, trying dev now | 11:48 |
*** llnz2 has joined #tp | 11:53 | |
*** llnz has quit IRC | 11:53 | |
*** llnz2 is now known as llnz | 11:53 | |
llnz | humm... tpclient-pywx-dev segfaulting on me | 11:59 |
mithro | :/ | 12:00 |
mithro | dpkg --list | grep wx | 12:00 |
mithro | ping? | 12:03 |
llnz | all except python-wxversion were at version 2.6.3.2.1.5 | 12:03 |
llnz | and i've just update python-wxversion | 12:03 |
llnz | nope, didn't help | 12:03 |
mithro | :/ | 12:05 |
mithro | can you paste the output just before it segfaults? | 12:05 |
mithro | run it in gdb would be good too | 12:06 |
llnz | hold on while i get an irc client on my laptop | 12:07 |
llnz | it crashes just after it starts displaying the download game data screen | 12:09 |
mithro | hrm... | 12:09 |
llnz | just updated libmng in case it was the problem | 12:10 |
mithro | libmng-py isn't used yet | 12:10 |
llnz | oh | 12:11 |
*** llnz_laptop has joined #tp | 12:11 | |
llnz_laptop | Receiving: 0x54(T) 0x50(P) 0x30(0) 0x33(3) 0x0 0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xc 0x0 0x0 0x0 0x8 0x57(W) 0x65(e) 0x6c(l) 0x63(c) 0x6f(o) 0x6d(m) 0x65(e) 0x0 | 12:12 |
llnz_laptop | Creating the Cache fresh (/home/lee/.tp/cache.dHA6Ly9sZWVAbG92ZS5sbG5). | 12:12 |
llnz_laptop | Segmentation fault | 12:12 |
mithro | you do a "gdb python" then "run ./tpclient-pywx" | 12:12 |
llnz_laptop | rogram received signal SIGSEGV, Segmentation fault. | 12:14 |
llnz_laptop | [Switching to Thread -1209850176 (LWP 7800)] | 12:14 |
llnz_laptop | 0x0000006e in ?? () | 12:14 |
llnz_laptop | (gdb) where | 12:14 |
llnz_laptop | #0 0x0000006e in ?? () | 12:14 |
llnz_laptop | #1 0xb540b695 in wxAnimationPlayer::Play () from /usr/lib/libwx_gtk2u_animate-2.6.so.0 | 12:15 |
mithro | bt? | 12:15 |
llnz_laptop | #2 0xb540b794 in wxAnimationCtrlBase::Play () from /usr/lib/libwx_gtk2u_animate-2.6.so.0 | 12:15 |
llnz_laptop | #3 0xb543442c in init_animate () | 12:15 |
llnz_laptop | from /usr/lib/python2.4/site-packages/wx-2.6-gtk2-unicode/wx/_animate.so | 12:15 |
llnz_laptop | #4 0x080589d7 in PyObject_Call () | 12:15 |
mithro | ahh I think i know what is causing it | 12:15 |
llnz_laptop | #5 0x080b7e2c in PyEval_EvalFrame () | 12:15 |
llnz_laptop | #6 0x080ba745 in PyEval_EvalCodeEx () | 12:15 |
llnz_laptop | #7 0x080b87cb in PyEval_EvalFrame () | 12:15 |
llnz_laptop | #8 0x080ba745 in PyEval_EvalCodeEx () | 12:15 |
llnz_laptop | #9 0x08100c25 in PyClassMethod_New () | 12:15 |
mithro | apt-get install python-pil | 12:15 |
llnz_laptop | installing python-imaging | 12:16 |
mithro | okay | 12:18 |
llnz | working now | 12:18 |
mithro | okay | 12:18 |
mithro | bit annoying that it segfaults | 12:18 |
llnz | humm, another bug in tpserver-cpp | 12:21 |
mithro | llnz: can you add a bug report for that? | 12:27 |
llnz | sure | 12:27 |
mithro | the animation crash | 12:27 |
tpb | <CIA-1@worldforge> Lee Begg <[email protected]> * tpserver-cpp/modules/games/minisec/colonise.cpp : | 12:30 |
tpb | <CIA-1@worldforge> Make sure the destination is set for the move order inside the colonise order: | 12:30 |
tpb | <CIA-1@worldforge> Produces a problem when persistence is on. | 12:30 |
*** llnz_laptop has quit IRC | 12:30 | |
mithro | llnz: any news on the random objects? | 12:34 |
llnz | yes, i'm going to lift the code from MTsec, and put it somewhere (probably game) | 12:35 |
llnz | btw: i will break persistence one more time, when objects get parameterised | 12:36 |
mithro | okay | 12:36 |
mithro | the universe could be a bit more universe :P | 12:36 |
llnz | bug posted | 12:36 |
mithro | s/universe/intresting | 12:36 |
llnz | yeah, i know | 12:36 |
tpb | <CIA-1@worldforge> Lee Begg <[email protected]> * tpserver-cpp/modules/games/mtsec/ (colonise.cpp colonise.cpp planet.cpp planet.cpp): | 12:39 |
tpb | <CIA-1@worldforge> Sync MTSec with minisec for Colonise and Planet: | 12:39 |
tpb | <CIA-1@worldforge> A forward port of bug fixes for persistence and ordername related problems. | 12:39 |
tpb | <CIA-1@worldforge> Lee Begg <[email protected]> * tpserver-cpp/tpserver/ (metaserverconnection.cpp metaserverconnection.cpp): Fix string length parameters for ip address to send to metaserver | 13:00 |
tpb | <CIA-1@worldforge> Lee Begg <[email protected]> * tpserver-cpp/ (sample.conf sample.conf): Added missing default settings for admin_email and game_comment | 13:09 |
tpb | <CIA-1@worldforge> Lee Begg <[email protected]> * tpserver-cpp/tpserver/ (advertiser.cpp advertiser.cpp): | 13:15 |
tpb | <CIA-1@worldforge> Start the MetaserverPublisher in the right place of Advertiser: | 13:15 |
tpb | <CIA-1@worldforge> Now works correct if the network doesn't start, or the network is stop and | 13:15 |
tpb | <CIA-1@worldforge> then started again. | 13:15 |
tpb | <CIA-1@worldforge> Lee Begg <[email protected]> * tpserver-cpp/tpserver/ (5 files): | 13:15 |
tpb | <CIA-1@worldforge> Update the metaserver as soon as possible if a metaserver specific setting changes: | 13:15 |
tpb | <CIA-1@worldforge> Useful when the wrong ip address is published, or the wrong dns name. Just change the setting | 13:15 |
tpb | <CIA-1@worldforge> on the console, and in less than two minutes, the world knows. | 13:15 |
llnz | should i update the metaserver after every turn? | 13:17 |
* llnz notes it's one line of code | 13:21 | |
mithro | llnz: if turns are more then 3 minutes apart | 13:32 |
llnz | 2 minutes apart, you mean? | 13:33 |
llnz | i would still inforce the 2 minutes minimum between updates | 13:33 |
llnz | s/inforce/enforce/ | 13:34 |
tpb | <CIA-1@worldforge> [email protected] * libtpclient-py-dev/tp/client/ (13 files): Cache is now more robust and portable. | 13:45 |
tpb | <CIA-1@worldforge> [email protected] * libtpclient-py-dev/tp/client/threads.py : Print an error. | 13:45 |
tpb | <CIA-1@worldforge> [email protected] * libtpclient-py-dev/tp/client/cache.py : Cleanup stray subobjects. | 13:45 |
mithro | llnz: I will enforce it on the server eventually | 13:45 |
llnz | cool | 13:45 |
mithro | I plan to make it remove your server if you try and post to often ;) | 13:46 |
llnz | tpserver-cpp will publish down to exactly 2 minutes (to within 200ms +- delay of metaserver connection *2) | 13:47 |
llnz | and at least every 10 minutes | 13:47 |
mithro | i think | 13:47 |
mithro | i've reproduced the socket close bug | 13:48 |
llnz | oh? cool | 13:48 |
llnz | how? | 13:48 |
tpb | I guess how is the test, llnz | 13:48 |
mithro | File "/home/tim/oss/tp/tpclient-pywx-dev/tp/netlib/client.py", line 403, in _get_idsequence | 13:48 |
mithro | p = self._recv(no) | 13:48 |
mithro | File "/home/tim/oss/tp/tpclient-pywx-dev/tp/netlib/common.py", line 243, in _recv | 13:48 |
mithro | raise IOError("Socket.recv returned no data, connection must have been closed...") | 13:48 |
mithro | can you check the server? | 13:48 |
llnz | demo1? | 13:48 |
mithro | yeah | 13:48 |
llnz | nope, still running fine, except an interesting log message or two | 13:49 |
llnz | ahhh | 13:50 |
mithro | not complaining about the socket errors? | 13:50 |
llnz | not the socket close bug, but the non-blocking socket issue | 13:50 |
mithro | ? | 13:51 |
mithro | ie when you have the non-blocking socket issue you close the socket? | 13:51 |
llnz | 2007-01-08 13:47:42 < Debug > Stage3 : logged in | 13:51 |
llnz | 2007-01-08 13:47:42 < Debug > Data Length: 1908 | 13:51 |
llnz | 2007-01-08 13:47:42 < Debug > Read data not the length needed | 13:51 |
llnz | yeah | 13:51 |
mithro | :P | 13:52 |
mithro | quite a bit packet tat | 13:52 |
mithro | s/tat/that/ | 13:52 |
* llnz thought you meant the segfault when getting player connection | 13:52 | |
llnz | yeah | 13:52 |
llnz | bigger than an ethernet frame | 13:52 |
mithro | yes, which will cause the issue you are seeing | 13:52 |
llnz | ok | 13:53 |
mithro | :P | 13:53 |
llnz | now the cause is confirmed, i'll have to figure a way of fixing it | 13:53 |
mithro | I can tell you two ways to fix it, | 13:53 |
mithro | 1. change it to blocking | 13:54 |
mithro | 2. Use a wrapper which does the IO independent of the operations | 13:54 |
mithro | 2 is what I use in libtpproto | 13:54 |
mithro | btw is it likely you have the same problem in libtpproto-cpp? | 13:55 |
llnz | well... 1 is out because you will tell me off for using blocking sockets (and being open to DOS) | 13:55 |
llnz | libtpproto-cpp doesn't have the same problem because it uses blocking sockets | 13:56 |
llnz | (i think) | 13:56 |
llnz | also libtpproto-cpp tries to read the rest again until it gets everything, or the server disconnects | 13:56 |
mithro | llnz: well with 1 you need to figure out how is ready before getting it | 13:57 |
mithro | you can't use MSG_PEEK either | 13:58 |
llnz | i am already using select to see which one has data | 13:58 |
llnz | it's just that the socket didn't have enough data ready | 13:59 |
mithro | as the buffer is a maximum of 1500 bytes | 13:59 |
mithro | llnz: i know | 13:59 |
mithro | I use a simple class which works like this | 14:00 |
llnz | i will fix it | 14:00 |
mithro | use a consumure-producer type method | 14:00 |
mithro | well I should head to bed | 14:07 |
mithro | gnight | 14:07 |
mithro | I'm guessing you should be in bed too :P | 14:07 |
llnz | same | 14:07 |
llnz | cya later | 14:07 |
llnz | :-) | 14:07 |
* llnz wanders off | 14:08 | |
*** llnz has quit IRC | 14:08 | |
*** Demitar has joined #tp | 15:50 | |
*** mithro has quit IRC | 17:24 | |
tpb | <CIA-1@worldforge> Matthew Draper <[email protected]> * libtpproto2-py/ (protocol.xml protocol.xml): Corrected member type for Sequence packet; the number is an integer, not at string. | 17:25 |
tpb | <CIA-1@worldforge> Matthew Draper <[email protected]> * libtpproto2-py/ (protocol.xml protocol.xml protocol.xml): Added sub-typed packets for the various object types... not sure whether this stuff should be elsewhere, though. | 17:25 |
tpb | <CIA-1@worldforge> Matthew Draper <[email protected]> * libtpproto-rb/ (32 files): | 17:34 |
tpb | <CIA-1@worldforge> Various improvements...: * Added a Connection class, to encapsulate the Socket, handle | 17:34 |
tpb | <CIA-1@worldforge> non-blocking requests, and usefully manage incoming Sequences | 17:34 |
tpb | <CIA-1@worldforge> * Added support for the new object-specific packet types in the XML | 17:34 |
tpb | <CIA-1@worldforge> * Fixed a couple of issues with the Array#pack/String#unpack extensions | 17:34 |
tpb | <CIA-1@worldforge> * Can now connect to a server and recursively list all objects in the | 17:34 |
tpb | <CIA-1@worldforge> Universe -- ruby -rtest_client_help -e 'c!; object_tree' | 17:34 |
*** Demitar has quit IRC | 18:08 | |
*** Demitar has joined #tp | 18:25 | |
*** mithro has joined #tp | 21:46 | |
*** mithro has quit IRC | 22:07 |
Generated by irclog2html.py 2.5 by Marius Gedminas - find it at mg.pov.lt!