Time |
Nick |
Message |
00:02 |
ShadowNinja |
got it |
00:02 |
VanessaE |
paste? |
00:02 |
ShadowNinja |
Pointing at [node under=763,23,-626 above=763,24,-626] |
00:02 |
VanessaE |
ok, somewhere in this mess... |
00:02 |
* VanessaE |
looks for the entry |
00:03 |
VanessaE |
time signature? |
00:03 |
ShadowNinja |
19:02:01 |
00:03 |
VanessaE |
looking... |
00:06 |
VanessaE |
wtf? |
00:06 |
VanessaE |
ah |
00:06 |
VanessaE |
found it |
00:07 |
ShadowNinja |
anything interesting? |
00:07 |
VanessaE |
http://pastebin.ubuntu.com/5583818/ |
00:07 |
VanessaE |
took a sec to copy it out |
00:08 |
VanessaE |
wasn't sure how much of the log was specific to that exact event, so there's a little extra context there |
00:09 |
VanessaE |
that little half-second abm interval that happened at the same time may be responsible. |
00:10 |
VanessaE |
also one of our clocks is wrong ;-) |
00:15 |
ShadowNinja |
the bug may have, er, not occured, it was night and I might have mis-seen it, trying again but this is kind of rare |
00:18 |
VanessaE |
ok |
00:18 |
VanessaE |
let me know when you get it for sure - and don't remove/redo it. |
00:20 |
ShadowNinja |
bug: why must you be so hard to reproduce :-( |
00:21 |
VanessaE |
because you're looking for it, why else? |
00:21 |
VanessaE |
like that damn F10 bug. it happened all the time, until someone started trying to reproduce it deliberately. |
00:23 |
ShadowNinja |
Thats one way to fix issues :-) |
00:26 |
hmmmm |
hey vanessa, do you think it's possible to try to log into a server with a name that has a unicode character in it? |
00:26 |
VanessaE |
never tried it |
00:26 |
VanessaE |
however, |
00:26 |
VanessaE |
I do know X11 compose doesn't work in formspecs.. |
00:26 |
hmmmm |
probably not, huh? can't enter unicode stuff in the config file, can't type it into the textbox |
00:26 |
VanessaE |
not so far as I can tell, no |
00:27 |
hmmmm |
but if anything is the root of the F10 problem, i'd say that is |
00:27 |
VanessaE |
Compose is the only way I happen to know of to type such chars |
00:27 |
VanessaE |
heh? o.O |
00:27 |
VanessaE |
ok, I'll bite |
00:27 |
hmmmm |
man, this place really smells like updog. |
00:28 |
VanessaE |
RAWRF! *chomp*& |
00:28 |
VanessaE |
wait, what? :) |
00:28 |
hmmmm |
? |
00:28 |
VanessaE |
nevermind |
00:28 |
VanessaE |
bad joke |
00:28 |
hmmmm |
grr |
00:28 |
hmmmm |
i feel ashamed |
00:28 |
VanessaE |
? |
00:28 |
hmmmm |
i guess i'll go hide under there |
00:29 |
VanessaE |
I meant my comment was a bad joke ;) |
00:29 |
hmmmm |
oh |
00:30 |
VanessaE |
"updog" --> dog --> "rawrf!" (barking/growling) |
00:30 |
VanessaE |
:-) |
00:30 |
hmmmm |
you totally dodged both of my jokes though |
00:30 |
VanessaE |
no, I'm just too thick to get them :-) |
00:31 |
hmmmm |
first, you were supposed to ask "what's updog?" and then i'd say "haha, i made you ask "what's up dog?" |
00:31 |
VanessaE |
haha |
00:31 |
hmmmm |
then i tried to make you say "under where?" |
00:31 |
hmmmm |
at which point i'd exclaim that i made you say underwear |
00:32 |
VanessaE |
aw put your damn underwear on |
00:32 |
VanessaE |
or get a towel |
00:32 |
VanessaE |
;) |
00:32 |
VanessaE |
cover yourself ffs. :) |
00:32 |
hmmmm |
can't |
00:32 |
hmmmm |
okay i need to stop procrastinating |
00:32 |
* VanessaE |
plays "The Streak" (Ray Stevens) |
00:32 |
hmmmm |
I've been trying to work on a paper due tomorrow morning for the past two days but i can never seem to focus |
00:33 |
hmmmm |
if i shut off all distractions i'll just find something else to be distracted with |
00:33 |
VanessaE |
in which case, get distracted in code |
00:33 |
hmmmm |
tomorrow there's going to be a flood of code |
00:33 |
VanessaE |
or wait |
00:34 |
VanessaE |
I know the focus problem though.. G*d I am so glad I'm long out of school |
00:48 |
RealBadAngel |
looks like i finished minetest.get_craft_recipes |
00:49 |
RealBadAngel |
it can return all registered recipes for given output, not just the last registered one like minetest.get_craft_recipe |
00:57 |
VanessaE |
maybe it should be named get_craft_recipes_multi |
00:57 |
VanessaE |
or something similar |
01:04 |
RealBadAngel |
https://github.com/minetest/minetest/pull/518 |
01:04 |
RealBadAngel |
lookin for single recipes is get_craft_recipe, lookin for all of them get_craft_recipes |
01:05 |
VanessaE |
the names are way too similar |
01:05 |
VanessaE |
they are guaranteed to confuse |
01:05 |
RealBadAngel |
many things are similar ;) |
01:08 |
VanessaE |
lets try not to repeat such mistakes :) |
01:08 |
VanessaE |
make it more different than this. |
01:08 |
VanessaE |
a one-character difference is enough to fall within the realm of "fuck, why doesn't this wo...oh...I have an extra 's' there." |
01:08 |
RealBadAngel |
if i do look for recipes (not just one recipe) why should i call it different? |
01:09 |
hmmmm |
get_multiple_craft_recipies |
01:09 |
hmmmm |
get_all_craft_recipies |
01:09 |
VanessaE |
the second |
01:09 |
VanessaE |
get_all |
01:09 |
VanessaE |
that makes the most sense in fact. |
01:09 |
VanessaE |
or |
01:10 |
VanessaE |
actually, no, make it the first one |
01:10 |
VanessaE |
get_multiple. |
01:10 |
VanessaE |
get_all migth seem to imply that the *entire* list will be returned |
01:10 |
hmmmm |
well personally i'd do the second and make what you just said enumerate_craft_recipies |
01:10 |
hmmmm |
if it were me doing this |
01:11 |
VanessaE |
that works too |
01:11 |
RealBadAngel |
so what the name is picked? |
01:11 |
hmmmm |
i vote for get_all_craft_recipies |
01:11 |
hmmmm |
as long as it's documented, what it does shouldn't be a problem... |
01:12 |
Exio |
"fuck, why doesn't this wo...oh...I have an extra 's' there." |
01:12 |
Exio |
that happened to me, 2 days rewriting code and testing stuff, not working |
01:12 |
Exio |
i missed a () |
01:12 |
RealBadAngel |
folks have print. sprint. printf etc and are not complainin ;) |
01:13 |
Exio |
(in racket/scheme/lisp) |
01:13 |
VanessaE |
RealBadAngel: because it's too late to complain :-) |
01:13 |
VanessaE |
but I remember the same issues coding in 6502 asm. LSR -> JSR was perhaps my most common typo |
01:14 |
hmmmm |
you'd find it right away though.. LSR doesn't take a operand |
01:14 |
VanessaE |
actually, it does. |
01:14 |
hmmmm |
? |
01:15 |
VanessaE |
LSR A (or just LSR); LSR $nn; LS$ $nnnn; LSR $nnnn, X |
01:15 |
VanessaE |
and a couple more |
01:15 |
hmmmm |
oh it can take memory operands |
01:15 |
hmmmm |
doop |
01:16 |
hmmmm |
LSR A is implied if there is no operand though |
01:16 |
VanessaE |
yep |
01:16 |
VanessaE |
whereas JSR takes only $nnnn I think |
01:16 |
hmmmm |
maybe indirect addressing |
01:16 |
VanessaE |
(it's been a while since I last wrote anything serious) |
01:16 |
hmmmm |
i forget |
01:16 |
VanessaE |
lemme check on that |
01:17 |
VanessaE |
nope |
01:17 |
VanessaE |
only one form, absolute addr |
01:17 |
hmmmm |
man |
01:17 |
hmmmm |
what an annoying instruction set |
01:17 |
VanessaE |
heh |
01:17 |
VanessaE |
well it was RISC, whaddya want :) |
01:18 |
VanessaE |
(or at least, an early incarnation of it) |
01:18 |
hmmmm |
something where you can do a jump table easier |
01:18 |
VanessaE |
last time I had to do that was with self-mod code. |
01:18 |
hmmmm |
yeah you're right |
01:18 |
hmmmm |
i remember reading about it as if it were a "trick" |
01:19 |
VanessaE |
lesse, it was something like LDY #0: LDA ($nn),Y: STA label+1: INY: LDA ($nn),Y: STA label+2: label JSR $0000 |
01:20 |
hmmmm |
looks about right |
01:21 |
VanessaE |
fuck, now I have to check that indirect/Y syntax |
01:21 |
VanessaE |
yup, that was it. |
01:21 |
hmmmm |
pretty sure that part's good, X is the one with ($nn, X) |
01:21 |
ShadowNinja |
hmmmm: this is what I was talking about before https://github.com/ShadowNinja/minetest/compare/brackets_in_formspecs |
01:22 |
hmmmm |
yeah, that's what i was going to merge |
01:23 |
ShadowNinja |
I mean adding minetest.escape_formspec(), do you approve? |
01:23 |
hmmmm |
oh... *shrug* |
01:24 |
hmmmm |
this is such a mess because things weren't done the right way the first time... i don't know... if i were to go back and recognize escape sequences the right way in the formspec code, this wouldn't be necessary |
01:24 |
hmmmm |
so we'd be adding something to the api and then removing it soon after (or at least until whenever i'd get around to making a permanent fix) |
01:25 |
ShadowNinja |
I know, it would be great if you rewrote it but this should do the job for now |
01:25 |
hmmmm |
so i'm thinking maybe you shouldn't add that lua api exactly, but keep the other stuff |
01:25 |
ShadowNinja |
no, you would just have to change it and noone would have to rewrite their scripts |
01:25 |
hmmmm |
yea |
01:26 |
ShadowNinja |
from [ to \( to [ to \[ |
01:26 |
ShadowNinja |
so it should stay |
01:26 |
hmmmm |
in its present state, if people were to start using "formspec_escape", and it's removed later on, that'll mess everything up |
01:26 |
ShadowNinja |
why would you remove it? |
01:27 |
hmmmm |
because it wouldn't be necessary after formspec's parser was fixed |
01:27 |
ShadowNinja |
how would you fix it then? |
01:27 |
hmmmm |
make it not skip to the first occurances of [ and ] as tokens |
01:28 |
hmmmm |
i'd check if it's [ or ] and not part of an escape sequence |
01:28 |
ShadowNinja |
then you would escape [ with \[ etc? |
01:28 |
hmmmm |
yes |
01:28 |
ShadowNinja |
then you can just change that in escape_formspec |
01:28 |
Exio |
what is the [ and the ] at this moment in the formspec? |
01:29 |
ShadowNinja |
\( and \) |
01:29 |
hmmmm |
wait, when is formspec_escape() supposed to be used exactly? |
01:29 |
ShadowNinja |
but it might be changed so use the function |
01:29 |
ShadowNinja |
it just changes [ to \[ etc |
01:30 |
hmmmm |
this is to be used on the individual fields for formspec, but not the formspec string itself |
01:30 |
ShadowNinja |
a little shorter and more readable |
01:30 |
ShadowNinja |
yes |
01:31 |
hmmmm |
so you'd be doing something like local formspec_string = minetest.formspec_escape(yournamehere) .. "[" .. minetest.formspec_escape(yourparamhere) .. so on .. "]" |
01:31 |
hmmmm |
and then minetest.create_formspec(formspec_string) or w/e the api is |
01:31 |
hmmmm |
? |
01:31 |
ShadowNinja |
one sec let me show you an example |
01:31 |
hmmmm |
ok |
01:32 |
ShadowNinja |
http://pastebin.ubuntu.com/5583993/ |
01:33 |
hmmmm |
woah |
01:33 |
ShadowNinja |
my working luacontroller code |
01:33 |
hmmmm |
how do you work with this crap? |
01:33 |
ShadowNinja |
? |
01:34 |
hmmmm |
meh nevermind, alright works good |
01:34 |
hmmmm |
that api should stay then |
01:34 |
ShadowNinja |
good :-) |
01:35 |
ShadowNinja |
btw when does feature-freeze end? |
01:36 |
RealBadAngel |
hmmmm, updated the pull with "all" |
01:36 |
hmmmm |
tomorrow |
01:42 |
|
dimeshake joined #minetest-dev |
01:43 |
RealBadAngel |
well, at last i will be able to fix crafting guide |
01:43 |
RealBadAngel |
no more funny hooks which stopped to work lately because of some other changes |
02:16 |
RealBadAngel |
hmmmm, any chance for this to get into 0.4.5? |
02:19 |
hmmmm |
n...no |
02:26 |
VanessaE |
but as said, nothing stops 0.4.6 from being releases like right after |
02:26 |
VanessaE |
(or as needed of course) |
02:26 |
RealBadAngel |
i could repair UI then, it stays broken for some time already |
02:27 |
RealBadAngel |
old trick with hook stopped to work and theres no way to fix it anymore |
02:33 |
VanessaE |
damn |
02:33 |
VanessaE |
well at least you've found a more optimal solution anyway |
02:37 |
RealBadAngel |
optimal? working 100$ |
02:37 |
RealBadAngel |
% |
02:37 |
RealBadAngel |
even when hook worked it wasnt able to catch all the recipes |
03:19 |
RealBadAngel |
im trying to solve now formspec problem with events |
03:20 |
RealBadAngel |
if a textbox got updated (s.send == true) fields can access it |
03:20 |
RealBadAngel |
which means callback can handle it |
03:21 |
RealBadAngel |
but when a button is clicked theres no way to access textbox content |
03:23 |
RealBadAngel |
and idk what to do, pass to fields also all edit boxes but as a different values? i mean the content not events |
03:23 |
RealBadAngel |
before fields.name was both an event and the content |
03:42 |
VanessaE |
not really sure |
03:42 |
VanessaE |
isn't there some just-less-than-global array you can pull that info out of? |
03:42 |
VanessaE |
if not, you need to create one somehow |
03:44 |
RealBadAngel |
i think i will create two of them |
03:44 |
RealBadAngel |
old fields will be used to indicate send as before |
03:45 |
RealBadAngel |
second, new one will hold current values of all edit boxes currently in formspec |
03:47 |
RealBadAngel |
and fields.editboxname if will exist will hold new value (and indicate change of it) |
03:48 |
RealBadAngel |
second table inputs.editboxname will also hold its current value but aviable all the time, not as an event |
03:49 |
RealBadAngel |
so another event can access all the inputs |
03:49 |
RealBadAngel |
does it makes any sense? |
03:56 |
VanessaE |
hmmmm: although your emergethread work has stopped the worst of the hangs, there's still one guaranteed way to hang the server up: do some worldedit function that moves say 100k nodes. it takes a good couple of minutes *after worldedit is done* before the client receives the new map data |
03:56 |
VanessaE |
in the meantime, it just sits there, nothing being logged, nothing happening on the client, not responding to commands -- but worldedit has long since finished what it was doing |
04:07 |
hmmmm |
let's see here... you're moving nodes, reading then writing them. so what worldedit does is tries to grab the node, if the block where one should be doesn't exist, it emerges it, then grabs it. it builds up this buffer, and then writes them to other blocks which may or may not already exist in memory and need to be emerged. all of this is happening and the server can't do anything, including selecting blocks to send to the client, and not sending an |
04:07 |
hmmmm |
y block modifications |
04:08 |
hmmmm |
i suppose the apparent hangup is the server thread still attempting to queue up the node modifications in the packet send queue to report to you |
04:09 |
hmmmm |
which wouldn't be related to the emergethread |
04:09 |
VanessaE |
oh ok, well just thought I'd point it out |
04:09 |
hmmmm |
now, does it have this behavior before my patch? hm? |
04:09 |
VanessaE |
yep |
04:09 |
hmmmm |
well |
04:09 |
VanessaE |
your path had no effect on it |
04:09 |
VanessaE |
patch* |
04:10 |
hmmmm |
of course not, it's out of my control |
04:10 |
VanessaE |
well someone will surely find the issue |
04:11 |
hmmmm |
i just explained what the issue must be |
04:14 |
VanessaE |
s/find/fix/ |
04:20 |
|
ffoxin joined #minetest-dev |
04:23 |
hmmmm |
how far did you move these blocks exactly? |
04:29 |
VanessaE |
about 190 nodes in the z direction, then down 90 in the Y direction |
04:29 |
VanessaE |
the region being moves had a volume of around 130k I think |
04:29 |
VanessaE |
moved* |
04:32 |
hmmmm |
yeah - it doesn't matter. it's not a bug like you say it is. minetest simply was not designed to move such masses around with worldedit |
04:32 |
hmmmm |
this cannot be "fixed" |
04:34 |
VanessaE |
surely it can me |
04:34 |
VanessaE |
hanging for a few seconds is one thing |
04:35 |
VanessaE |
hanging to 2-5 minutes is ridiculous |
04:35 |
VanessaE |
be* |
04:35 |
hmmmm |
you think so but you don't realize how much i/o needs to be done |
04:36 |
hmmmm |
and then there's the latency introduced by the network layer |
04:36 |
|
Kray joined #minetest-dev |
06:10 |
|
Deiz joined #minetest-dev |
06:10 |
|
Deiz joined #minetest-dev |
06:11 |
|
jin_xi joined #minetest-dev |
06:12 |
VanessaE |
well /clearobjects is now officially useless :-) |
06:25 |
thexyz |
VanessaE: i guess that problem only occurs with nodeboxes exceeding -0.5,-0.5,-0.5,0.5,0.5,0.5, doesn't it? |
06:25 |
VanessaE |
which?> |
06:26 |
VanessaE |
the clearobjects thing? |
06:26 |
thexyz |
http://forum.minetest.net/viewtopic.php?pid=73727#p73727 |
06:27 |
* VanessaE |
looks |
06:27 |
VanessaE |
oh that |
06:28 |
VanessaE |
actually no, it affects for example, your/pilzadam's signs mod too |
06:28 |
VanessaE |
anything that's somewhat thin |
06:28 |
VanessaE |
and my homedecor doors, |
06:29 |
VanessaE |
which are standard-size nodes not exceeding +/- 0.5 |
06:29 |
VanessaE |
I think it's more a matter of the size of the *selectbox* rather than the model |
06:29 |
VanessaE |
but then, that doesn't explain why it affects signs |
06:30 |
thexyz |
too bad the image is not here anymore |
06:30 |
VanessaE |
maybe I have it cached. |
06:31 |
thexyz |
because i can't understand the problem |
06:31 |
VanessaE |
hold |
06:31 |
thexyz |
can you upload it somewhere? |
06:31 |
VanessaE |
sure if I can find it |
06:32 |
VanessaE |
oh ffs.. what moron organized firefox's cache? >:-( |
06:33 |
VanessaE |
screw it, I'll make an equivalent |
06:35 |
VanessaE |
GRR |
06:37 |
* darkrose |
offers a chew toy |
06:37 |
VanessaE |
now that I want to reproduce it I can't. |
06:37 |
VanessaE |
except with my homedecor doors. |
06:41 |
|
iqualfragile joined #minetest-dev |
06:42 |
VanessaE |
thexyz: http://digitalaudioconcepts.com/vanessa/hobbies/minetest/images/door-select.png |
06:43 |
VanessaE |
on the left, I am pointing at the edge of the door, which is correctly highlighted, but if I move my pointer over just a bit to the left, the selection box falls through and the object behind the door is selected instead |
06:43 |
VanessaE |
that particular door has a selection box that is 1.0 tall, 0.5 wide, and something like 0.25 thick |
06:44 |
VanessaE |
(both halves have the same size of select box, positioned to cover the whole door no matter which half you point at) |
06:44 |
VanessaE |
for some folks, this happens with default doors too |
07:26 |
|
EdB joined #minetest-dev |
07:42 |
VanessaE |
I'm out for the night. |
07:57 |
|
Calinou joined #minetest-dev |
09:47 |
|
proller joined #minetest-dev |
10:41 |
|
Taoki joined #minetest-dev |
12:09 |
|
darkrose joined #minetest-dev |
12:09 |
|
darkrose joined #minetest-dev |
13:48 |
|
troller joined #minetest-dev |
14:09 |
|
hmmmm joined #minetest-dev |
14:18 |
RealBadAngel |
hi all |
14:38 |
|
ShadowNinja joined #minetest-dev |
14:56 |
|
proller joined #minetest-dev |
15:00 |
|
troller joined #minetest-dev |
15:15 |
|
proller joined #minetest-dev |
15:26 |
|
iqualfragile joined #minetest-dev |
15:28 |
|
troller joined #minetest-dev |
15:31 |
|
jin_xi joined #minetest-dev |
16:17 |
|
proller__ joined #minetest-dev |
16:19 |
|
Jordach joined #minetest-dev |
16:19 |
|
Jordach joined #minetest-dev |
16:21 |
|
PilzAdam joined #minetest-dev |
16:25 |
|
Calinou joined #minetest-dev |
16:44 |
|
iqualfragile joined #minetest-dev |
16:49 |
|
proller__ joined #minetest-dev |
17:27 |
|
rubenwardy joined #minetest-dev |
18:06 |
|
ffoxin joined #minetest-dev |
19:08 |
thexyz |
hmmmm: are we ready for release? |
19:12 |
Jordach |
oh, btw, have you seen pull #520? |
19:12 |
thexyz |
yes |
19:14 |
thexyz |
wow, i love it |
19:14 |
thexyz |
> Drawforms are very similar to formspecs, but have a comletely different syntax. |
19:15 |
Jordach |
> Working on item holding for EVERYONE!!! |
19:16 |
sfan5 |
?O/ |
19:16 |
sfan5 |
*?o/ |
19:16 |
sfan5 |
**\o/ |
19:17 |
Jordach |
this REALLY needs to be merged with HEAVY testing |
19:17 |
thexyz |
i don't think that'll be merged all-at-once |
19:18 |
thexyz |
some things should be fixed firstly |
19:18 |
Jordach |
thexyz, LUA HUD |
19:18 |
thexyz |
for example, this https://github.com/blue42u/metology/blob/master/src/game.cpp#L1114 should be moved to util/string.cpp |
19:19 |
thexyz |
and StringToNumber already exists |
19:21 |
ShadowNinja |
I think the particle stuff should be removed in favor of the client-side ones by jeija |
19:21 |
thexyz |
yeah |
19:23 |
|
rubenwardy_ joined #minetest-dev |
19:23 |
|
proller joined #minetest-dev |
19:24 |
VanessaE |
https://github.com/minetest/minetest/issues/522 |
19:24 |
VanessaE |
if anyone cares. |
19:25 |
VanessaE |
figured I'd get the debug spew + backtrace as long as it's available. |
19:28 |
VanessaE |
this is probably what crashed my server yesterday when I was out, I've got folks building out to +/- 1500 already, and most of that is new, unexplored terrain at present |
19:31 |
thexyz |
"Invalid block data in database" |
19:31 |
thexyz |
See debug.txt. |
19:31 |
thexyz |
You can ignore this using [ignore_world_load_errors = true]. |
19:32 |
VanessaE |
yes I know |
19:32 |
VanessaE |
but that doesn't explain why it wrote invalid data in the first place. |
19:32 |
rubenwardy |
does Minetest use Irrlicht 1.8? |
19:32 |
VanessaE |
rubenwardy: my install does. |
19:32 |
rubenwardy |
ok |
19:33 |
thexyz |
VanessaE: i don't think it did |
19:33 |
VanessaE |
thexyz: read failure then? |
19:33 |
PilzAdam |
rubenwardy, we will use 1.7 until debian stable has 1.8 in its repos |
19:33 |
thexyz |
not use but support maybe? |
19:33 |
rubenwardy |
but it works with 1.8 |
19:33 |
rubenwardy |
? |
19:33 |
thexyz |
it works with both |
19:33 |
rubenwardy |
ok |
19:34 |
rubenwardy |
someone was wondering whether upgrading to 1.8 would break Minetest |
19:34 |
thexyz |
nope, it works fine |
19:34 |
rubenwardy |
:P |
19:35 |
thexyz |
VanessaE: no idea |
19:35 |
thexyz |
broken hdd? broken fs? |
19:35 |
VanessaE |
doubt it |
19:36 |
proller |
PilzAdam, will wait debian for 2-3 years? |
19:36 |
thexyz |
pkill -9 minetest? |
19:36 |
* VanessaE |
shrugs |
19:37 |
proller |
evreone will use Irrlicht 3.0 and in debian 'fresh' 1.8 |
19:37 |
VanessaE |
hmmmm did say this issue needs looked at/fixed, which is why I went ahead and filed it, for the sake of having it on record. |
19:38 |
thexyz |
hm.. http://forum.minetest.net/viewtopic.php?pid=73812#p73812 |
19:44 |
proller |
reading http://stackoverflow.com/questions/9191668/error-longjmp-causes-uninitialized-stack-frame ... |
19:51 |
proller |
there is no nosignal when sending announce |
19:52 |
proller |
serverlist.cpp 260 lines+ |
19:54 |
proller |
fix - http://paste.org.ru/?063zo3 |
19:54 |
proller |
commit it who can |
19:55 |
thexyz |
both curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1); are already here |
19:55 |
proller |
hm.. git 8( |
20:05 |
proller |
path change in git |
20:31 |
|
Taoki[laptop] joined #minetest-dev |
20:44 |
|
iqualfragile joined #minetest-dev |
20:56 |
VanessaE |
G*D DAMN IT! |
20:56 |
thexyz |
? |
20:56 |
VanessaE |
that fucking bug just destroyed part of my map! |
20:57 |
thexyz |
how so? |
20:57 |
VanessaE |
that supposed invalid data issue |
20:57 |
VanessaE |
it re-generated over a road |
20:57 |
VanessaE |
same sort of thing redcrab was having problems with a while back |
20:57 |
thexyz |
hm.. |
20:57 |
thexyz |
could it be because of sqlite? |
20:57 |
thexyz |
is your map >4gb? |
20:57 |
thexyz |
(i actually have no idea how's that related) |
20:58 |
VanessaE |
not even close to it |
20:58 |
VanessaE |
it's more like 250 MB or so |
20:58 |
|
ffoxin joined #minetest-dev |
20:59 |
thexyz |
hm.. |
20:59 |
VanessaE |
man this shit's gotta STOP. |
21:00 |
VanessaE |
THIS is why I voted to let the feature freeze remain in place for a while longer |
21:02 |
thexyz |
why? |
21:02 |
VanessaE |
because bugs like this cause data loss |
21:02 |
VanessaE |
data loss bugs are stoppers. |
21:02 |
VanessaE |
you DO NOT make a new release with a bug this bad. |
21:02 |
thexyz |
last commit to serialization.cpp (apart from changing things like copyright year or dropping -c55) is from Date: Sun Jul 22 20:29:09 2012 +0300] |
21:04 |
thexyz |
i'm pretty much sure this problem is not minetest's failure |
21:06 |
thexyz |
improper shutdown may be the cause |
21:10 |
VanessaE |
the only "improper" shutdowns that happen here are if the server crashes. |
21:10 |
|
iqualfragile1 joined #minetest-dev |
21:22 |
|
ponyboy joined #minetest-dev |
21:28 |
hmmmm |
yeah we're almost ready for release |
21:28 |
hmmmm |
just need to bump the version |
21:28 |
thexyz |
did you read VanessaE's messages? |
21:28 |
hmmmm |
what |
21:28 |
hmmmm |
the irrlicht thing? |
21:28 |
thexyz |
http://irc.minetest.ru/minetest-dev/2013-03-04#i_2912141 |
21:29 |
hmmmm |
oh that |
21:29 |
thexyz |
http://irc.minetest.ru/minetest-dev/2013-03-04#i_2911946 |
21:29 |
thexyz |
that too |
21:29 |
hmmmm |
a backtrace? |
21:29 |
hmmmm |
so it can be readily replicated? |
21:29 |
VanessaE |
it destroyed part of my map, I'm rebuilding a few structures now - the damage wasn't major thankfully |
21:29 |
hmmmm |
you didn't have a backup? |
21:30 |
hmmmm |
okay woah |
21:30 |
hmmmm |
let me make sense of this |
21:30 |
VanessaE |
sure I have backups, but nothing in the last couple of days - the server's being built on so fast now that anything older than 1 or 2 hours is too old |
21:30 |
thexyz |
are there any tools to replace a single block in map.sqlite? |
21:30 |
hmmmm |
reportAction() stuff is normal |
21:30 |
hmmmm |
right? |
21:30 |
hmmmm |
thexyz, sure, it's 'sqlite3' |
21:31 |
thexyz |
how about replacing it without much headache? |
21:31 |
thexyz |
well, it won't be hard to write one anyway |
21:31 |
hmmmm |
not yet |
21:31 |
hmmmm |
that was on my list honestly |
21:32 |
hmmmm |
alright well let's see here |
21:32 |
hmmmm |
decompressZlib |
21:32 |
hmmmm |
zlib writes it, zlib can't decompress it |
21:32 |
hmmmm |
it's obviously there.. right? would be nice if we knew the length of the inflate it tried to do |
21:33 |
VanessaE |
I had to disable checking for map errors on load (as thexyz suggested)...when it came up, blam. a chunk of map east of the spawn got regenerated - some stuff was still there, some was destroyed - and some was covered over in dirt that I know for a fact was never as high as it was found to be |
21:33 |
thexyz |
ughh.. |
21:34 |
thexyz |
that's what this setting is supposed to do |
21:34 |
VanessaE |
yeah ugh |
21:34 |
hmmmm |
just generate anew if the block coudn't be loaded |
21:34 |
hmmmm |
but that's not what the intention is |
21:34 |
hmmmm |
the intention is to just keep the server alive if there was a read error |
21:34 |
hmmmm |
what happens is that the read fails and it generates it because it couldn't get it from disk |
21:35 |
hmmmm |
so what we do is have three states for loadBlock: success, not on disk, failure |
21:35 |
hmmmm |
on failure we drop out of the loading completely, or something, shrug. |
21:35 |
hmmmm |
but not overwrite the data, anything but that |
21:35 |
VanessaE |
there, server restarted without that flag in place |
21:35 |
VanessaE |
if it happens again maybe you guys can tell me what to do to get some useful info out of it |
21:36 |
hmmmm |
i'd have you add a line of code to print out the length |
21:36 |
hmmmm |
soo =/ you'd have to restart anyway |
21:38 |
VanessaE |
fwiw, the pattern of regeneration makes no sense. for example, dirt, on top of cobble that I know I placed before - but dirt below it too that wasn't there |
21:42 |
VanessaE |
s/dirt/dirt_with_grass/g |
21:43 |
hmmmm |
// TODO: Block should be marked as invalid in memory so that it is |
21:43 |
hmmmm |
// not touched but the game can run |
21:43 |
hmmmm |
yeah... we should do that sometime, huh |
21:44 |
thexyz |
hmmmm: so, are you going to bump the version right now? |
21:44 |
hmmmm |
yeah |
21:46 |
hmmmm |
well, decompressZlib fails on line 347 of mapnode.cpp and throws a SerializationError that isn't caught until loadBlock() |
21:48 |
hmmmm |
it either fails with Z_ENED_DICT, Z_DATA_ERROR, or Z_MEM_ERROR. |
21:49 |
hmmmm |
oh, Z_DATA_ERROR derp, zerr() is called |
21:52 |
hmmmm |
well, logically, if a certain block fails to load once, wouldn't it keep failing to load every time a load is attempted? before it was regenerated, it seems that (-15, -1, -27) was loading fine... right? what i actually need to know is if these are random, intermittent errors happening on different blocks each time, or if you encounter a bad block, it stays bad until the map is resaved |
21:56 |
hmmmm |
so the solution here would be to make ServerMap::loadBlock(std::string *...) return a bool indicating failure or success, and return false in the catch statement. then, in ServerMap::loadBlock(v3s16), i guess what we could do is have it take another parameter for a failure reason. so we'll make it so that when it returns NULL and the status is not okay, then there was a serialization error and we should not touch the block further, perhaps set a flag |
21:56 |
hmmmm |
that it's invalid so it doesn't get saved or modfied. |
21:56 |
hmmmm |
which i'll do after i eat |
22:02 |
hmmmm |
nobody finished the changelog... |
22:17 |
iqualfragile1 |
please think about and agree on guidelines for modmakers, these should include: choosing the right license, puting your mod into a repository, splitting the mod (kiss) if there are too many features, indentation (…) and publish those guidelines in an official place |
22:18 |
iqualfragile1 |
that would make life a lot easier (at least for me) |
22:18 |
iqualfragile1 |
also it could help if you try to add some mod to the default game (license) |
22:36 |
proller |
hmmmm, can you make git tag 0.4.5 |
22:37 |
VanessaE |
also another point of note, hmmmm: I have stone walls and paths here and there in the erroneously-re-generated area. new ores were placed into the stone. |
22:37 |
VanessaE |
though that's surely just an artifact of the mapgen being run normally |
22:42 |
Exio |
lol? new ores? |
22:44 |
VanessaE |
as in copper, coal, etc appearing where it wasn't before. |
22:44 |
VanessaE |
(and where it could never have been e.g. there was never stone in that location before I built there) |
23:10 |
|
tirom13 joined #minetest-dev |