Jump to content
Eternal Lands Official Forums
Beaverhunter

Current CVS errors

Recommended Posts

the last fix in for the char name length introduced this:

ignore.c: In function `pre_check_if_ignored':

ignore.c:172: warning: 'i' might be used uninitialized in this function

Share this post


Link to post
Share on other sites
the last fix in for the char name length introduced this:
ignore.c: In function `pre_check_if_ignored':

ignore.c:172: warning: 'i' might be used uninitialized in this function

Well spotted... I'm not getting that warning with (what I thought was) all warnings on... o.O

 

Anyway, it should now be fixed.

Share this post


Link to post
Share on other sites

Nice, very fast fix!

 

An other thing, my screen stays black (or gray at dawn) without EXT_ACTOR_DICT defined.

No idea what might be wrong. I'm using the new actor_def files from your thread.

(UVP = 0)

Share this post


Link to post
Share on other sites
Nice, very fast fix!

 

An other thing, my screen stays black (or gray at dawn) without EXT_ACTOR_DICT defined.

No idea what might be wrong. I'm using the new actor_def files from your thread.

(UVP = 0)

 

You need two of the 5 files to use current cvs without EXT_ACTOR_DICT, or all 5 files with EXT_ACTOR_DICT. I believe it is not backwards compatible.

Unable to find id/property node weapon
Unable to find id/property node helmet
  Last message repeated 9 times

This is due to original player_weapons.xml and player_helmets.xml having a minor mistake in the ID's.

 

Grabbing only those 2 files from my updated actor defs should fix those errors.

 

The new .xml's also caused my existing client (cvs from October 30) to crash at startup. Switching back to the original data files is enough to make my old client work again, though.

This is due to those additional files (in the above mentioned zip file) requiring EXT_ACTOR_DICT enabled, which was only committed to CVS on the 2nd of Nov. ;-)

Share this post


Link to post
Share on other sites

Situation: Killing a Hobgoblin in Zirak right at PV exit, someone else entered, client crashed (CVS from 2 or 3 days ago)

 

Backtrace:

 

rauch@hellmsklamm ~ $ gdb ./el.x86.linux.bin

GNU gdb 6.7.1

Copyright © 2007 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law. Type "show copying"

and "show warranty" for details.

This GDB was configured as "x86_64-pc-linux-gnu"...

Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run

Starting program: /home/rauch/el.x86.linux.bin

[Thread debugging using libthread_db enabled]

[New Thread 0x7f13ccdf3740 (LWP 8992)]

[New Thread 0x419b3950 (LWP 8995)]

[New Thread 0x421b4950 (LWP 8996)]

arts grab audio ok

[New Thread 0x429b5950 (LWP 8997)]

[New Thread 0x431b6950 (LWP 8998)]

[New Thread 0x439b7950 (LWP 8999)]

[Thread 0x421b4950 (LWP 8996) exited]

[New Thread 0x441b8950 (LWP 9000)]

[Thread 0x441b8950 (LWP 9000) exited]

[New Thread 0x449b9950 (LWP 9001)]

[Thread 0x449b9950 (LWP 9001) exited]

[New Thread 0x40f65950 (LWP 9002)]

[Thread 0x40f65950 (LWP 9002) exited]

 

Program received signal SIGSEGV, Segmentation fault.

[switching to Thread 0x7f13ccdf3740 (LWP 8992)]

0x00000000004c9cfb in ensure_sample_loaded (in_filename=0x15e27e8 "sound/monster06.ogg") at sound.c:2078

2078 if (sound_type_data[sounds_list[sound_source_data[j].loaded_sound].sound].variant[k

].part[l]->sample_num == i)

(gdb) bt full

#0 0x00000000004c9cfb in ensure_sample_loaded (in_filename=0x15e27e8 "sound/monster06.ogg") at sound.c:2078

found = 0

i = 0

j = 0

k = 0

l = 0

sample_num = -1

error = 32531

data = (ALvoid *) 0x7fffd4f33420

pBuffer = (ALuint *) 0x4490b3

pSample = (sound_sample *) 0x40435e2a0176ca90

filename = "/home/rauch/el/el-data-170.1/sound/lion01.ogg\000\000g\000\232�C\222C\200����C\235\\��8��ë�wC�C*C&�\002BMŬâ���Hd\232B9���\230�\231�\f1u��62�\207��C����(�\024C�\025?�����q=\027C��\022CK��C�R\024�\177\027ZA.i,B�\aLC\0168��h�\212�\023\177\000\000\001\000\000\000\000\000\000\000y\234\212�\023\177\000\000�[b\000\000\000\000\000�j\006�\v.��"

#1 0x00000000004ca0c6 in load_samples (pType=0x178ef60) at sound.c:2192

i = 1

j = 0

#2 0x00000000004ca9d5 in add_sound_object_gain (type=68, x=91, y=178, me=0, initial_gain=1) at sound.c:2466

tx = 183

ty = 355

distanceSq = 125

sound_num = 15

cookie = 5369

pNewType = (sound_type *) 0x178ef60

maxDistanceSq = 0

__FUNCTION__ = "add_sound_object_gain"

#3 0x00000000004ca5c9 in add_death_sound (act=0x1d7a8120) at sound.c:2342

snd = 68

#4 0x00000000004186f6 in get_actor_damage (actor_id=4087, damage=21) at actor_scripts.c:1640

act = (actor *) 0x1d7a8120

---Type <return> to continue, or q <return> to quit---

blood_level = 0

bone_list = {{126.300934, 149.83139, -246.485245}, {408.406158, 76.6395493, -494.077942}, {3.6484797, -57.2020378, 2.80259693e-45}, {0, 0, 0}, {0, 0, 0}, {0, 3.22298647e-43, 0}, {0, 0, 0}, {0, 0, 0}, {7.67639819e-38, 0, 7.67443861e-38}, {0, 7.72568802e-38, 0}, {

-1138335.75, 4.55856403e-41, 179.663086}, {-364.703369, 18.4791393, 1.40129846e-45}, {0, 0, -8.3567942e+12}, {4.59163468e-41, -8.35734366e+12, 4.59163468e-41}, {-8.35677323e+12, 4.59163468e-41, 7.31666133e-38}, {0, -8.35754498e+12, 4.59163468e-41}, {7.67650805e-38,

0, -288.292114}, {0, 3.5592981e-43, 8.37374372e-38}, {0, 0, 85.7789383}, {0, 5.60519386e-45, 0}, {1.40129846e-45, 1.48958027e-42, 2.69049305e-42}, {1.23314265e-43, 5.60519386e-45, -0.466812193}, {2.80259693e-45, 0, 5.73971851e-42}, {0, 0, 5.73971851e-42}, {0, 0,

4.20389539e-45}, {0, 1.40129846e-45, 9.80908925e-45}, {7.82494928e-38, 0, 52.25}, {0, -0.466812193, 1.07619722e-41}, {2.66246708e-42, 1.40129846e-42, 1.40129846e-45}, {1.40129846e-44, 1.26116862e-44, 0}, {2.80259693e-45, 0, 2.69049305e-42}, {1.48958027e-42,

1.40129846e-45, 0}, {5.60519386e-45, 0, 0}, {0, 5.60519386e-45, 1.12103877e-44}, {1.12103877e-44, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 1.821688e-44, 0}, {-12.0950317, -264.027191, -330.836304}, {266.152344, -412.552979, 279.008942}, {44.2046165, -490.618225,

-46.3335266}, {84.5396805, 2.80259693e-45, 460.266479}, {3.58732407e-43, 3.58732407e-43, 1.40129846e-45}, {0, 0, 0}, {0, 0, -159.586441}, {473.460175, -436.423401, -29.0754185}, {242.258591, 226.165222, 3.02334452}, {-445.914948, -490.577698, -67.0618973}, {

-69.542984, 388.217529, -38.934082}, {-312.684021, -13.7221069, -418.848022}, {-272.723389, 490.441406, 83.5005722}, {49.9583321, -451.516785, 213.633255}, {22.2136078, 369.035706, 2.80259693e-45}, {-190.858948, 3.58732407e-43, 3.58732407e-43}, {1.40129846e-45, 0,

0}, {0, 0, 0}, {73.6991348, 239.552994, 193.822968}, {-393.760101, 16.1862183, 461.274292}, {-192.260269, 424.751587, 148.080032}, {218.30809, -304.208649, -370.980194}, {140.821747, 444.851624, 131.494141}, {-186.591766, -87.9422455, -488.716797}, {58.5009575,

-40.2731018, 401.424774}, {-295.357819, -239.874893, -173.178055}, {2.80259693e-45, 236.937225, 3.58732407e-43}, {3.58732407e-43, 1.40129846e-45, 0}, {0, 0, 0}, {0, -423.895935, 231.771347}, {-128.818695, 70.5785141, -490.705688}, {65.0122223, -486.679565,

66.8309097}, {-93.1484222, -183.557098, -386.135834}, {-259.240997, -451.796692, -107.375687}, {185.338867, -22.7574177, -393.524902}, {-307.605469, 155.255234, 227.305161}, {417.406494, 92.4281693, -419.336365}, {-256.152405, 2.80259693e-45, 112.693657}, {

3.58732407e-43, 3.58732407e-43, 1.40129846e-45}, {0, 0, 0}, {0, 0, -445.780579}, {116.178673, 61.3077164, -229.22879}, {-440.108551, -9.7094698, 480.639008}, {137.447662, -18.491581, 498.299286}, {-36.8227158, 125.542816, 475.829315}, {-88.4617462, 315.943359,

382.775818}, {60.5233879, -359.939453, 332.820312}, {98.3618698, -28.566, -265.391846}, {422.789734, 16.1929798, 2.80259693e-45}, {438.594391, 3.58732407e-43, 3.58732407e-43}, {1.40129846e-45, 0, 0}, {0, 0, 0}, {-349.993134, 376.498077, 329.011871}, {0.633451641,

275.654999, -260.907166}, {-325.487061, 169.729706, 459.82431}, {98.7592545, 26.7738247, 493.886047}, {-73.2100601, -82.2861862, -105.739258}, {481.713806, -358.04715, -178.251953}, {300.047821, 161.209656, 375.477966}, {-288.145294, -246.855377, 426.544006}, {

2.80259693e-45, 374.821106, 3.58732407e-43}, {3.58732407e-43, 1.40129846e-45, 0}, {0, 0, 0}, {0, 0, 2.25}, {-45847824, 4.55856403e-41, 233.656967}, {393.503418, 1.44614002e-42, 176}, {9.40395481e-38, 20, 163.729416}, {-469.044922, 0, 0}, {42.248291, 6.00136518, 0},

{1.625, 127.779335, 128.166931}, {0, 0, -276.878906}, {239.109421, 2.80259693e-45, 1.625}, {3.58732407e-43, 3.58732407e-43, 1.40129846e-45}, {0, 0, 0}, {0, 0, 1.4080247e-41}, {0, 492.396515, -83.6037216}, {0, 1.625, 0}, {4.11035156, 8.7581154e-43, 0}, {1, 0,

1.02551918e-22}, {0, 0, 2.3125}, {-46135728, 4.55856403e-41, 3.09542941e-21}, {0, -111424128, 4.55856403e-41}, {7.67650805e-38, 0, -1686925.75}, {4.55856403e-41, -8.35746529e+12, 4.59163468e-41}, {7.67650805e-38, 0, 0}, {0, -1092681.88, 1.12103877e-44}, {

-8.35743593e+12, 4.59163468e-41, -8.35741916e+12}, {4.59163468e-41, 2.39992238e-22, -0}, {7.67443861e-38, 0, 1.79366203e-43}, {0, 0, 0}, {1.40129846e-45, 0, 3.09364662e-41}, {1.40129846e-45, 1.36357345e-36, 0}, {-0.466812193, 1.07619722e-41, 2.66246708e-42}, {

1.40129846e-42, 1.40129846e-45, 1.40129846e-44}, {1.77546667e-34, 0, 2.80259693e-45}, {0, 2.69049305e-42, 1.48958027e-42}, {7.67639819e-38, 0, 3.48194642e-41}, {0, 5.07965088e-40, 0}, {7.68811528e-38, 0, 3.48194642e-41}, {0, 1.72919005e-19, 0}, {-1453085.25,

4.55856403e-41, 7.68570281e-38}, {0, 7.67639819e-38, 0}, {0, 1.40129846e-45, 7.67639819e-38}, {0, 1.72937306e-19, 0}, {-1453270.88, 4.55856403e-41, 7.67642958e-38}, {0, 7.67639819e-38, 0}, {7.76165991e-38, 0, -1453301.25}, {4.55856403e-41, 7.67443861e-38, 0}, {

7.67443861e-38, 0, 7.67639819e-38}, {0, -1453490.12, 4.55856403e-41}, {0, 0, -1.62175179}, {4.55856403e-41, 1.40129846e-45, 0}, {0, 0, 7.72500194e-38}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {1.83670992e-40, -111423872, 4.55856403e-41}, {3.06604945e-39,

1.83670992e-40, -8.3577547e+12}, {4.59163468e-41, 7.67639819e-38, 0}, {7.67443861e-38, 0, 0}, {0, 0, 0}, {1.40129846e-45, 0, -1453149.75}, {4.55856403e-41, -8.3577547e+12, 4.59163468e-41}, {-1466474.88, 4.55856403e-41, 7.67439825e-38}, {0, 1.40129846e-45, 0}, {0,

0, 7.0729744e-38}, {0, 7.31666133e-38, 0}, {7.67443861e-38, 0, 7.8237834e-38}, {0, -22984852, 4.55856403e-41}, {-26170560, 4.55856403e-41, -23118112}, {4.55856403e-41, 0, 0}, {-1153104.25, 4.55856403e-41, 2.80259693e-45}, {0, 7.67639819e-38, 0}, {2.80259693e-45, 0,

1.40129846e-45}, {0, 7.67443861e-38, 0}, {-1155702.25, 4.55856403e-41, 4.90454463e-44}, {3.50324616e-44, -8.3577547e+12, 4.59163468e-41}, {0, 2.64486229e-38, 0}, {0, 5.60519386e-44, 2.35100019e-38}, {7.67639819e-38, 0, 7.67639819e-38}, {0, 7.78780254e-38, 0}, {

1.1479437e-41, 0, 2.86985925e-42}, {0, 7.67639819e-38, 0}, {-1142304.62, 4.55856403e-41, 7.76165991e-38}, {0, 7.67443861e-38, 0}, {0, 0, 8.96831017e-44}, {9.10844002e-44, -111423872, 4.55856403e-41}, {0, 2.80259693e-45, 1.54142831e-44}, {1.40129846e-45,

2.80259693e-45, 1.40129846e-45}, {-111424000, 4.55856403e-41, 0}, {1.625, 0, 4.11035156}, {8.7581154e-43, 0, 1}, {0, -2.95219803, 4.55856403e-41}, {0, 2.3125, -46135728}, {4.55856403e-41, -7.04997253, 4.55856403e-41}, {0, 2.3125, 5.60519386e-45}, {0, 8.7581154e-43,

0}, {3.58732407e-43, 0, -9909349}, {4.55856403e-41, 8.7581154e-43, 0}, {-3.73575211, 4.55856403e-41, -8.35792247e+12}, {4.59163468e-41, -9909893, 2.38220739e-44}...}

total_bones = 0

bone = 480983568

---Type <return> to continue, or q <return> to quit---

bone_x = 0

bone_y = 1.40129846e-45

bone_z = 4.59163468e-41

#5 0x00000000004a0be4 in process_message_from_server (in_data=0x7f13b801dd60 "/\005", data_length=7) at multiplayer.c:1438

text_buf = "\000\000\000\000\000\000\000\000(\000\000\000\000\000\000\000���\001\000\000\000\000<\000\000\000\000\000\000\000���\001\000\000\000\000�ݱ�\023\177\000\000\026\027\000\000�\030\202hm���\023\177\000\000\001\000\000\000\000\000\000\000\000Px�\023\177\000\000|\210���\177\000\000(\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000eװ�\023\177", '\0' <repeats 22 times>, "���\237\005\000\000\000\023\177\000\000\002\000\000\000\000\001\000\000\001\000\000\000\000\000\000\000(", '\0' <repeats 15 times>, "���\001\000\000\000\000�ݱ�\023\177\000\000�\026\000\000d��\237\200l���\177\000\000�k���\177\000\000\202"...

#6 0x0000000000491dfe in start_rendering () at main.c:161

message = (message_t *) 0x7f13b801dd40

event = {type = 4 '\004', active = {type = 4 '\004', gain = 0 '\0', state = 0 '\0'}, key = {type = 4 '\004', which = 0 '\0', state = 0 '\0', keysym = {scancode = 200 '�', sym = 1, mod = KMOD_NONE, unicode = 0}}, motion = {type = 4 '\004', which = 0 '\0',

state = 0 '\0', x = 968, y = 667, xrel = 1, yrel = 0}, button = {type = 4 '\004', which = 0 '\0', button = 0 '\0', state = 0 '\0', x = 968, y = 667}, jaxis = {type = 4 '\004', which = 0 '\0', axis = 0 '\0', value = 968}, jball = {type = 4 '\004', which = 0 '\0',

ball = 0 '\0', xrel = 968, yrel = 667}, jhat = {type = 4 '\004', which = 0 '\0', hat = 0 '\0', value = 0 '\0'}, jbutton = {type = 4 '\004', which = 0 '\0', button = 0 '\0', state = 0 '\0'}, resize = {type = 4 '\004', w = 43713480, h = 1}, expose = {

type = 4 '\004'}, quit = {type = 4 '\004'}, user = {type = 4 '\004', code = 43713480, data1 = 0x1, data2 = 0x0}, syswm = {type = 4 '\004', msg = 0x1}}

network_thread = (SDL_Thread *) 0x18312010

message_queue = (queue_t *) 0x1818a2a0

done = 0

network_thread_data = {0x1818a2a0, 0x9fe750}

last_frame_and_command_update = 5993344

#7 0x0000000000492369 in main (argc=1, argv=0x7fffd4f38c58) at main.c:339

No locals.

 

 

Edit: Adding player names to autocomplete (with Ctrl+Tab) from #gm doesn't work anymore either

Edited by rauch

Share this post


Link to post
Share on other sites
Situation: Killing a Hobgoblin in Zirak right at PV exit, someone else entered, client crashed (CVS from 2 or 3 days ago)

Is this reproducible? If so could you try adding a check for the part[] pointer:

Index: sound.c
===================================================================
RCS file: /cvsroot/elc/elc/sound.c,v
retrieving revision 1.215
diff -a -u -r1.215 sound.c
--- sound.c	26 Nov 2008 16:33:58 -0000	1.215
+++ sound.c	26 Nov 2008 20:35:45 -0000
@@ -2075,7 +2075,8 @@
					for (l = STAGE_INTRO; l <= STAGE_OUTRO; l++)
					{
						// Check if this sample is loaded into a source atm
-						if (sound_type_data[sounds_list[sound_source_data[j].loaded_sound].sound].variant[k].part[l]->sample_num == i)
+						if (sound_type_data[sounds_list[sound_source_data[j].loaded_sound].sound].variant[k].part[l] &&
+							sound_type_data[sounds_list[sound_source_data[j].loaded_sound].sound].variant[k].part[l]->sample_num == i)
						{
							found = 1;
							break;

Share this post


Link to post
Share on other sites
Situation: Killing a Hobgoblin in Zirak right at PV exit, someone else entered, client crashed (CVS from 2 or 3 days ago)

Is this reproducible? If so could you try adding a check for the part[] pointer:

 

it happened at least two times to me now in similar situations, was not able to provoke it though. I will test your patch and run the client inside gdb for some time. thanks :devlish:

Share this post


Link to post
Share on other sites
Edit: Adding player names to autocomplete (with Ctrl+Tab) from #gm doesn't work anymore either

Should be fixed in CVS now.

Share this post


Link to post
Share on other sites

Checkout from yesterday with your patch applied, crash after some summoning:

 

rauch@hellmsklamm ~ $ gdb ./el.x86.linux.bin
GNU gdb 6.7.1
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu"...
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) run
Starting program: /home/rauch/el.x86.linux.bin
[Thread debugging using libthread_db enabled]
[New Thread 0x7f9898183740 (LWP 7494)]
[New Thread 0x40a01950 (LWP 7647)]
[New Thread 0x42649950 (LWP 7648)]
arts grab audio ok
[New Thread 0x41a63950 (LWP 7649)]
[New Thread 0x42e4a950 (LWP 7650)]
[New Thread 0x4364b950 (LWP 7670)]
[Thread 0x42649950 (LWP 7648) exited]
[New Thread 0x43e4c950 (LWP 7672)]
[Thread 0x43e4c950 (LWP 7672) exited]
[New Thread 0x4464d950 (LWP 7682)]
[Thread 0x4464d950 (LWP 7682) exited]
[New Thread 0x44e4e950 (LWP 7684)]
[Thread 0x44e4e950 (LWP 7684) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x40a01950 (LWP 7647)]
0x00000000004cc00b in update_sound (ms=20) at sound.c:3061
3061					pSample = &sound_sample_data[pVariant->part[pSource->current_stage]->sample_num];
(gdb) bt full
#0  0x00000000004cc00b in update_sound (ms=20) at sound.c:3061
	i = 64
	error = 0
	pSource = (source_data *) 0x165bfa0
	pSample = (sound_sample *) 0x176c650
	pSoundType = (sound_type *) 0x1788320
	pVariant = (sound_variants *) 0x1788348
	deadBuffer = 1
	numProcessed = 345890
	buffer = 32823
	state = 4114
	source = 0
	x = 268
	y = 222
	distanceSq = 8
	maxDistSq = 1225
	relative = 1
	tx = 270
	ty = 224
	sourcePos = {268, 222, 0}
	listenerPos = {270, 224, 0}
	listenerVel = {0, 0, 0}
	listenerOri = {-1, 1, 0, 0, 0, 1}
	l = 2
	__FUNCTION__ = "update_sound"
#1  0x00000000004e3922 in my_timer (interval=20, data=0x0) at timers.c:48
	new_time = 32664
	e = {type = 96 '`', active = {type = 96 '`', gain = 64 '@', state = 233 '�'}, key = {type = 96 '`', which = 64 '@', state = 233 '�', keysym = {scancode = 152 '\230', sym = 2548646062, mod = 32664, unicode = 41391}}, motion = {type = 96 '`', which = 64 '@',
state = 233 '�', x = 32664, y = 0, xrel = 16558, yrel = -26647}, button = {type = 96 '`', which = 64 '@', button = 233 '�', state = 151 '\227', x = 32664, y = 0}, jaxis = {type = 96 '`', which = 64 '@', axis = 233 '�', value = 32664}, jball = {type = 96 '`',
---Type <return> to continue, or q <return> to quit---
which = 64 '@', ball = 233 '�', xrel = 32664, yrel = 0}, jhat = {type = 96 '`', which = 64 '@', hat = 233 '�', value = 151 '\227'}, jbutton = {type = 96 '`', which = 64 '@', button = 233 '�', state = 151 '\227'}, resize = {type = 96 '`', w = 32664,
h = -1746321234}, expose = {type = 96 '`'}, quit = {type = 96 '`'}, user = {type = 96 '`', code = 32664, data1 = 0x7f9897e940ae, data2 = 0x492ea1af}, syswm = {type = 96 '`', msg = 0x7f9897e940ae}}
	normal_animation_loop_count = 2
#2  0x00007f9897e5ba97 in ?? () from /usr/lib/libSDL-1.2.so.0
No symbol table info available.
#3  0x00007f9897e94093 in ?? () from /usr/lib/libSDL-1.2.so.0
No symbol table info available.
#4  0x00007f9897e5b477 in ?? () from /usr/lib/libSDL-1.2.so.0
No symbol table info available.
#5  0x00007f9897e91129 in ?? () from /usr/lib/libSDL-1.2.so.0
No symbol table info available.
#6  0x00007f9897c36047 in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#7  0x00007f9895e5628d in clone () from /lib/libc.so.6
No symbol table info available.
#8  0x0000000000000000 in ?? ()
No symbol table info available.

 

Edit: same crash occured a second time, back to an older client for now.

Edited by rauch

Share this post


Link to post
Share on other sites

the reason for the crash is in get_available_source() (sound.c:1798)

 

There is no check if used_sources == max_sources. It does always insert new sources into the array causing an overflow. This can be reproduced pretty easily by compiling the client with a lower ABS_MAX_SOURCES value (like 16 or less) and fight lots of monsters at once.

 

diff --git a/sound.c b/sound.c
--- a/sound.c
+++ b/sound.c
@@ -1799,6 +1799,9 @@ source_data * get_available_source(int priority)
 {
  source_data * pSource;
  int i;
+
+	if (used_sources == max_sources)
+		return NULL;

  // Search for an available source. The sources are ordered by decreasing play priority
  for (pSource = sound_source_data, i = 0; i < max_sources - 1; ++i, ++pSource)

 

The better solution would be the removal of the last source in the list, which is the oldest and one with a lower priority but I'm not sure if stopping and removing this entry is would work easily

Edited by ago

Share this post


Link to post
Share on other sites
the reason for the crash is in get_available_source() (sound.c:1798)

 

There is no check if used_sources == max_sources. It does always insert new sources into the array causing an overflow. This can be reproduced pretty easily by compiling the client with a lower ABS_MAX_SOURCES value (like 16 or less) and fight lots of monsters at once.

Thanks ago, I've commited your patch.

 

I couldn't provoke another crash with this patch added. thanks :)

Have you been using only ago's patch? I need to follow up my original suggestion to see if that is needed.

Share this post


Link to post
Share on other sites
no, I used both patches, yours and the one from ago.

OK, thanks. I've checked all the access to that array that is the only one that looks unsafe. I've committed the patch.

Share this post


Link to post
Share on other sites

Today's update makes all objects be in shade, tried various options without success (actually turning off reflections gave me the floor back in VotD and turning off Sky worked in SRM for all objects when I didn't see the sky; isometric view worked), updated graphics drivers as well but didn't help. Went back to yesterday's version which worked without problems and continues to do so.

Rough system details are gentoo linux 2.6.27-r8, ati radeon hd 4800, using ati-drivers-8.593 (after update), gcc-4.3.2, let me know what else you need, though from the description it seems the problem is at the end of whoever made the changes :)

Share this post


Link to post
Share on other sites
Today's update makes all objects be in shade...

I can confirm this too. From my quick check, I only saw the problem outside at night. Now as dawn approaches, it is still darker than normal but objects are visible. I have had a quick look at the changes but it is probably best if the author Xaphier has a look. I'll PM him in case he has not seen this thread.

Share this post


Link to post
Share on other sites
Should be fixed now

I'm confident I updated CVS and built your changes correctly but I'm still in darkness on the main server.

Share this post


Link to post
Share on other sites
I hope now I fixed the problem (I never had it).

Looks fixed for me now. Thanks.

Edited by bluap

Share this post


Link to post
Share on other sites

Hi 2 all

I have included some options in a make.conf

FEATURES += NIGHT_TEXTURES

At compilation such error:

make -f Makefile.linux
CC   textures.o
textures.c: In function 'load_texture':
textures.c:1192: error: 'data' undeclared (first use in this function)
textures.c:1192: error: (Each undeclared identifier is reported only once
textures.c:1192: error: for each function it appears in.)
make: *** [textures.o] Error 1

 

full make.conf

# set this to "no" if you don't want this file to be overwritten
UPDATE_CONF=yes												 

# tune these for your setup & compile options
# IMPORTANT: if you are using a linker that needs libraries in correct order, make sure you list EYE_CANDY before PNG_SCREENSHOT if you use both

### Current release default options ###
FEATURES += ATTACHED_ACTORS				 # allows to have 2 actors that are attached together, one of the actor will exist only on client side (needs server support)
FEATURES += CLUSTER_INSIDES				 # Group objects into separate clusters for clipping on inside maps														  
FEATURES += CONTEXT_MENUS				   # Enable context menus																									  
FEATURES += CUSTOM_LOOK					 # allows you to customize your look.																						
FEATURES += CUSTOM_UPDATE				   # allows autoupdating of custom look information																			
FEATURES += FUZZY_PATHS					 # Makes Tab Map walking not always follow exaclty the same path															 
FEATURES += MINIMAP2						# Disables the rectangular minimap and enables the rotating minimap														 
FEATURES += NEW_CAMERA_MOTION			   # Changes the behaviour of the camera by replacing the rotation duration by a constant deceleration. This gives a better control on the positionning of the camera.																																																		   
FEATURES += NEW_SELECTION				   # Enables new selection system. Needs OpenGL 1.3 or GL_ARB_texture_env_combine																				   
FEATURES += NEW_SOUND					   # Enables extended sound effects system																														  
FEATURES += NEW_TEX						 # use new texture coordinates for enhanced actors																												
FEATURES += NEW_WEATHER					 # new weather effects																																			
FEATURES += PNG_SCREENSHOT				  # make screenshots in W3C's PNG format in game, requires libpng																								  
FEATURES += SKY_FPV						 # Use skybox with clouds/stars/etc, enable first person view, and other misc changes from Emajekral															  
FEATURES += TEXT_ALIASES					# Text aliases																																				   
FEATURES += USE_INLINE					  # enable some optimizations to use inline functions instead of pure function calls																			   
FEATURES += USE_SHADER					  # Using shaders for water rendering. Needs NEW_FILE_IO																										   
FEATURES += VARIABLE_SPEED				  # allow to change the moving speed of actors (needs server support)																							  
FEATURES += ZLIB							# Enables being able to read gzip compressed files, requires -lzlib/-lz																						  


### Testing options (these options are possible for the next release and should be tested) ###
FEATURES += ANTI_ALIAS					  # allows to enable/disable anti-aliasing in el.ini
#FEATURES += DYNAMIC_ANIMATIONS			  # Synchronizes animation to FPS instead of a fixed timer
#FEATURES += EMOTES						  # Support for additional animations parsed from local text with a seperate anim que
#FEATURES += EXT_ACTOR_DICT				  # Removes remaining hard-coded actor def dictionaries - requires updated actor defs files (http://el.grug.redirectme.net/actor_defs.zip)
#FEATURES += NEW_ALPHA					   # (undocumented)																														
FEATURES += NIGHT_TEXTURES				  # enable night textures. changes textures at night to cooler colors																	  
FEATURES += USER_MENUS					  # enable user command menus, requires CONTEXT_MENUS																					  


### Machine specific options (fixes or performance enhancements) ###
#FEATURES += EL_BIG_ENDIAN				   # Enable big-endian code (automatically detected for OSX)
#FEATURES += NO_PF_MACRO					 # Use a function instead of a macro for pf_get_tile()	
#FEATURES += SIMPLE_LOD					  # enable a simplistic distance culling to improve performance


### Debug options ###
#FEATURES += CONTEXT_MENUS_TEST			  # Enable "#cmtest" command to help test/demo the context menu code
#FEATURES += DEBUG						   # (undocumented)												  
#FEATURES += DEBUG_XML					   # Enables missing (optional) XML string property messages		 
#FEATURES += DEBUG_POINT_PARTICLES		   # (undocumented)												  
#FEATURES += DEBUG_TIME					  # Fakes the acceleration of time for use in debugging shadows and the like.
#FEATURES += DEBUG_MAP_SOUND				 # Adds (some??) map boundary areas to tab maps and additional logging to stdout
#FEATURES += ECDEBUGWIN					  # press ctrl-alt-c to open the Eye Candy debug window: trigger most effects without casting spells or server side events
#FEATURES += EXTRA_DEBUG					 # (undocumented)																										
#FEATURES += MEMORY_DEBUG					# gather information about memory allocation and freeing
#FEATURES += MISSILES_DEBUG				  # Enables debug for missiles feature. It will create a file missiles_log.txt file in your settings directory.
#FEATURES += MUTEX_DEBUG					 # (undocumented)
#FEATURES += OPENGL_TRACE					# make far more frequent checks for OpenGL errors (requires -DDEBUG to be of any use). Will make error_log.txt a lot larger.
#FEATURES += TIMER_CHECK					 # (undocumented)
#FEATURES += _EXTRA_SOUND_DEBUG						  # Enable debug for sound effects


### Other options (Experimental, unfinished, defunct or otherwise unknown) ###
FEATURES += NEW_CURSOR					  # New coloured cursors made by Emajekral (Experimental) Extract http://users.on.net/~gingerman/sky_cursor-textures.zip into datadir/textures/
#FEATURES += NEW_LIGHTING					# (undocumented)
#FEATURES += PAWN							# Experimental, not for release, will need server support to function properly. This *will* eat your cat. You've been warned. Enables the Pawn abstract machine.
#FEATURES += UID							 # use unique ID sent from server for custom looks. (INCOMPLETE)
FEATURES += USE_ACTORS_OPTIMIZER			# Enables actor optimizations
FEATURES += USE_BOOST
#FEATURES += USE_TR1						 # Needs tr1 version of c++ stl, used for NEW_FILE_IO
#FEATURES += WRITE_XML					   # dangerous to use, will wipe out some XML files that are part of the main game download
FEATURES += ZLIBW						   # Enables being able to write gzip compressed files, requires -lzlib/-lz needed for map_editor




#PLATFORM=-march=i686
PLATFORM=-march=x86-64
XDIR=-L/usr/X11R6/lib
CWARN=-Wall -Wdeclaration-after-statement
# -Wno-pointer-sign -Wno-sign-compare -Werror
CXXWARN=-Wall
# -Wno-sign-compare -Werror

## These needed to be adjusted on a per system basis based on compile options & library versions

## These 2 lines should be uncommented if you used Emajekral's Windows compilation how-to (adjust them if required)
#EXTRA_LIBS=-lstdc++
#EXTRA_INCLUDES=-IC:\\Dev-Cpp\\Include\\AL -IC:\\Dev-Cpp\\Include\\SDL

## These are the originally listed settings, uncomment them if you need them
#EXTRA_INCLUDES=-IC:\\Programme\\Dev-Cpp\\Include
#EXTRA_LIBS=-lz
#EXTRA_STATICLIBS=libs/zlib.a

CC=gcc
CXX=g++
LINK=gcc

 

ps. Linux Gentoo amd64 2008.0

Share this post


Link to post
Share on other sites
Hi 2 all

I have included some options in a make.conf

FEATURES += NIGHT_TEXTURES

At compilation such error:

make -f Makefile.linux
CC   textures.o
textures.c: In function 'load_texture':
textures.c:1192: error: 'data' undeclared (first use in this function)
textures.c:1192: error: (Each undeclared identifier is reported only once
textures.c:1192: error: for each function it appears in.)
make: *** [textures.o] Error 1

...

 

Looks like it was broken when the dds support was added. The following change appears to fix it but the code has changed significantly so I'm not sure if anything else needs to be updated. At night, the textures certainly take on a pale appearance but the loading between map changes is very high. I've never used this option before so was it like that before?

 

Index: textures.c
===================================================================
RCS file: /cvsroot/elc/elc/textures.c,v
retrieving revision 1.103
diff -a -u -r1.103 textures.c
--- textures.c	4 Apr 2009 23:51:21 -0000	1.103
+++ textures.c	25 May 2009 10:45:52 -0000
@@ -1189,7 +1189,7 @@
	}

#if defined NEW_LIGHTING || defined NIGHT_TEXTURES
-	do_night_shift_texture(file_name, data, tex->x_size, tex->y_size);
+	do_night_shift_texture(file_name, tex->texture, tex->x_size, tex->y_size);
#endif

#ifdef NEW_LIGHTING

Share this post


Link to post
Share on other sites

To bluap , Thanks

I`m fixed textures.c

Now are normally compiled with an option "FEATURES += NIGHT_TEXTURES"

But here one more error:

FEATURES += NEW_LIGHTING

CC   lights.o
lights.c: In function 'build_sun_pos_table':
lights.c:835: error: 'd' undeclared (first use in this function)
lights.c:835: error: (Each undeclared identifier is reported only once
lights.c:835: error: for each function it appears in.)
make: *** [lights.o] Error 1

Share this post


Link to post
Share on other sites

NIGHT_TEXTURES and NEW_LIGHTING are unsupported for a while now.

 

And I'm afraid they're obsolete due to the new engine.

 

The high load on texture loading is normal, as some computations are done.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×