Access Violation à répétition
Posted: Sun Sep 18, 2005 1:24 pm
Bonjour,
J'ai depuis une dizaine de jours des Access Violation à répétition.
de plus, lorsque je clique sur debug pour envoyer le mail de notification de plantage, à la fois ja fenêtre debug et le jeu plantent (Access runtime error Microsoft Visual Basic C++).
Lors de mon dernier plantage à l'instant, j'étais simplement assis en attendant que ma concentration remonte. Si quelqu'un a une idée, je suis preneur, merci Voici le log d'erreur :
Access Violation exception generated at 0x12FBAA7, thread attempts to read at 0xA.
The thread attempted to read from or write to a virtual address for which it does not have the appropriate access.
-------------------------------
Log with no filter:
-------------------------------
2005/09/18 15:16:18 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
2005/09/18 15:16:18 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 55 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 110 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:19 client_ryzom_rd.exe INF 3476 impulse_decoder.cpp 72 : CLIMPD: received new impulsion 1 (len=131) at level 2 (channel 0)
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 impulse_decoder.cpp 82 : CLIMPD: at level 2 (channel 0), 1 actions (ReceivedAck=18871/lastAck=18868/nextSentPacket=18872)
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 38 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 complex_source.cpp 516 : CS : Chaining to sound tryker_wind_rnd
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 complex_source.cpp 526 : Seting event for sound tryker_wind_1 in 12527 millisec (XFade = 2000).
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 98 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:19 client_ryzom_rd.exe INF 3476 impulse_decoder.cpp 72 : CLIMPD: received new impulsion 1 (len=131) at level 2 (channel 2)
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 impulse_decoder.cpp 82 : CLIMPD: at level 2 (channel 2), 1 actions (ReceivedAck=18873/lastAck=18870/nextSentPacket=18874)
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 38 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 122 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:19 client_ryzom_rd.exe INF 3476 impulse_decoder.cpp 72 : CLIMPD: received new impulsion 1 (len=131) at level 2 (channel 0)
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 impulse_decoder.cpp 82 : CLIMPD: at level 2 (channel 0), 1 actions (ReceivedAck=18875/lastAck=18872/nextSentPacket=18876)
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
2005/09/18 15:16:20 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 36 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:20 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 108 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:20 client_ryzom_rd.exe INF 3476 impulse_decoder.cpp 72 : CLIMPD: received new impulsion 1 (len=131) at level 2 (channel 2)
2005/09/18 15:16:20 client_ryzom_rd.exe DBG 3476 impulse_decoder.cpp 82 : CLIMPD: at level 2 (channel 2), 1 actions (ReceivedAck=18877/lastAck=18874/nextSentPacket=18878)
2005/09/18 15:16:20 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
2005/09/18 15:16:20 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 44 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:20 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 108 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:20 client_ryzom_rd.exe INF 3476 impulse_decoder.cpp 72 : CLIMPD: received new impulsion 1 (len=131) at level 2 (channel 0)
2005/09/18 15:16:20 client_ryzom_rd.exe DBG 3476 impulse_decoder.cpp 82 : CLIMPD: at level 2 (channel 0), 1 actions (ReceivedAck=18879/lastAck=18876/nextSentPacket=18880)
2005/09/18 15:16:20 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
2005/09/18 15:16:20 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 59 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:21 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 147 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:21 client_ryzom_rd.exe INF 3476 impulse_decoder.cpp 72 : CLIMPD: received new impulsion 1 (len=131) at level 2 (channel 2)
2005/09/18 15:16:21 client_ryzom_rd.exe DBG 3476 impulse_decoder.cpp 82 : CLIMPD: at level 2 (channel 2), 1 actions (ReceivedAck=18881/lastAck=18878/nextSentPacket=18882)
2005/09/18 15:16:21 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
2005/09/18 15:16:21 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 88 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:21 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 107 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:21 client_ryzom_rd.exe INF 3476 impulse_decoder.cpp 72 : CLIMPD: received new impulsion 1 (len=131) at level 2 (channel 0)
2005/09/18 15:16:21 client_ryzom_rd.exe DBG 3476 impulse_decoder.cpp 82 : CLIMPD: at level 2 (channel 0), 1 actions (ReceivedAck=18882/lastAck=18880/nextSentPacket=18884)
2005/09/18 15:16:21 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
2005/09/18 15:16:21 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 94 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:22 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 63 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:22 client_ryzom_rd.exe WRN 3476 network_connection.cpp 2479 : CNET[011B9FF0] lost messages server->client [19442; 19444]
2005/09/18 15:16:22 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 245 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:22 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 56 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:22 client_ryzom_rd.exe INF 3476 impulse_decoder.cpp 72 : CLIMPD: received new impulsion 1 (len=131) at level 2 (channel 3)
2005/09/18 15:16:22 client_ryzom_rd.exe DBG 3476 impulse_decoder.cpp 82 : CLIMPD: at level 2 (channel 3), 1 actions (ReceivedAck=18887/lastAck=18811/nextSentPacket=18888)
2005/09/18 15:16:22 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
2005/09/18 15:16:23 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 62 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:23 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 71 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:23 client_ryzom_rd.exe INF 3476 impulse_decoder.cpp 72 : CLIMPD: received new impulsion 1 (len=131) at level 2 (channel 1)
2005/09/18 15:16:23 client_ryzom_rd.exe DBG 3476 impulse_decoder.cpp 82 : CLIMPD: at level 2 (channel 1), 1 actions (ReceivedAck=18889/lastAck=18809/nextSentPacket=18890)
2005/09/18 15:16:23 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
-------------------------------
User Crash Callback:
-------------------------------
UserId: 190749
ShardId: 101
Player Name: 'Cerb'
UserPosition: 15201.64 -34613.33 -0.03
ViewPosition: 15201.64 -34613.33 -0.03
Time in game: 1h 4min 42sec
LocalTime: 2005/09/18 15:16:26
ServerTick: 297116469
ConnectState: Connected
LocalAddress: :3012 (192.168.0.1)
Language: Français
ClientVersion: 1.2.0.800
PatchVersion: 00079
Client is online
Memory: 46MB/1022MB
Process Virtual Memory: 958MB
NeL Memory: 0B
OS: Microsoft Windows XP Service Pack 2 (Build 2600) (5.1 2600)
Processor: Intel(R) Pentium(R) 4 CPU 3.40GHz / x86 Family 15 Model 2 Stepping 9 / GenuineIntel / 3391MHz / 2 Processors found
CPUID: bfebfbff
HT: YES
CpuMask: 1
NeL3D: OpenGL / NVIDIA Corporation / GeForce FX Go5700/AGP/SSE2 / 1.5.0
3DCard: NVIDIA GeForce FX Go5700 , version 5.6.8.2
Sound mixer:
Playing sources: 327
Available tracks: 24
Used tracks: 8
Muted sources: 0
Sources waiting for play: 0
HighestPri: 0 / 2
HighPri: 0 / 4
MidPri: 8 / 6
LowPri: 0 / 8
FreeTracks: 24 / 32
Average update time: 0.000003 msec
Average create time: 0.000000 msec
Estimated CPU: 0.000009%%
Sound driver:
FMod Driver
3d hw buffers: 31
2d hw buffers: 32
-------------------------------
J'ai depuis une dizaine de jours des Access Violation à répétition.
de plus, lorsque je clique sur debug pour envoyer le mail de notification de plantage, à la fois ja fenêtre debug et le jeu plantent (Access runtime error Microsoft Visual Basic C++).
Lors de mon dernier plantage à l'instant, j'étais simplement assis en attendant que ma concentration remonte. Si quelqu'un a une idée, je suis preneur, merci Voici le log d'erreur :
Access Violation exception generated at 0x12FBAA7, thread attempts to read at 0xA.
The thread attempted to read from or write to a virtual address for which it does not have the appropriate access.
-------------------------------
Log with no filter:
-------------------------------
2005/09/18 15:16:18 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
2005/09/18 15:16:18 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 55 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 110 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:19 client_ryzom_rd.exe INF 3476 impulse_decoder.cpp 72 : CLIMPD: received new impulsion 1 (len=131) at level 2 (channel 0)
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 impulse_decoder.cpp 82 : CLIMPD: at level 2 (channel 0), 1 actions (ReceivedAck=18871/lastAck=18868/nextSentPacket=18872)
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 38 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 complex_source.cpp 516 : CS : Chaining to sound tryker_wind_rnd
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 complex_source.cpp 526 : Seting event for sound tryker_wind_1 in 12527 millisec (XFade = 2000).
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 98 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:19 client_ryzom_rd.exe INF 3476 impulse_decoder.cpp 72 : CLIMPD: received new impulsion 1 (len=131) at level 2 (channel 2)
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 impulse_decoder.cpp 82 : CLIMPD: at level 2 (channel 2), 1 actions (ReceivedAck=18873/lastAck=18870/nextSentPacket=18874)
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 38 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 122 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:19 client_ryzom_rd.exe INF 3476 impulse_decoder.cpp 72 : CLIMPD: received new impulsion 1 (len=131) at level 2 (channel 0)
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 impulse_decoder.cpp 82 : CLIMPD: at level 2 (channel 0), 1 actions (ReceivedAck=18875/lastAck=18872/nextSentPacket=18876)
2005/09/18 15:16:19 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
2005/09/18 15:16:20 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 36 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:20 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 108 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:20 client_ryzom_rd.exe INF 3476 impulse_decoder.cpp 72 : CLIMPD: received new impulsion 1 (len=131) at level 2 (channel 2)
2005/09/18 15:16:20 client_ryzom_rd.exe DBG 3476 impulse_decoder.cpp 82 : CLIMPD: at level 2 (channel 2), 1 actions (ReceivedAck=18877/lastAck=18874/nextSentPacket=18878)
2005/09/18 15:16:20 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
2005/09/18 15:16:20 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 44 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:20 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 108 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:20 client_ryzom_rd.exe INF 3476 impulse_decoder.cpp 72 : CLIMPD: received new impulsion 1 (len=131) at level 2 (channel 0)
2005/09/18 15:16:20 client_ryzom_rd.exe DBG 3476 impulse_decoder.cpp 82 : CLIMPD: at level 2 (channel 0), 1 actions (ReceivedAck=18879/lastAck=18876/nextSentPacket=18880)
2005/09/18 15:16:20 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
2005/09/18 15:16:20 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 59 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:21 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 147 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:21 client_ryzom_rd.exe INF 3476 impulse_decoder.cpp 72 : CLIMPD: received new impulsion 1 (len=131) at level 2 (channel 2)
2005/09/18 15:16:21 client_ryzom_rd.exe DBG 3476 impulse_decoder.cpp 82 : CLIMPD: at level 2 (channel 2), 1 actions (ReceivedAck=18881/lastAck=18878/nextSentPacket=18882)
2005/09/18 15:16:21 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
2005/09/18 15:16:21 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 88 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:21 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 107 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:21 client_ryzom_rd.exe INF 3476 impulse_decoder.cpp 72 : CLIMPD: received new impulsion 1 (len=131) at level 2 (channel 0)
2005/09/18 15:16:21 client_ryzom_rd.exe DBG 3476 impulse_decoder.cpp 82 : CLIMPD: at level 2 (channel 0), 1 actions (ReceivedAck=18882/lastAck=18880/nextSentPacket=18884)
2005/09/18 15:16:21 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
2005/09/18 15:16:21 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 94 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:22 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 63 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:22 client_ryzom_rd.exe WRN 3476 network_connection.cpp 2479 : CNET[011B9FF0] lost messages server->client [19442; 19444]
2005/09/18 15:16:22 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 245 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:22 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 56 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:22 client_ryzom_rd.exe INF 3476 impulse_decoder.cpp 72 : CLIMPD: received new impulsion 1 (len=131) at level 2 (channel 3)
2005/09/18 15:16:22 client_ryzom_rd.exe DBG 3476 impulse_decoder.cpp 82 : CLIMPD: at level 2 (channel 3), 1 actions (ReceivedAck=18887/lastAck=18811/nextSentPacket=18888)
2005/09/18 15:16:22 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
2005/09/18 15:16:23 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 62 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:23 client_ryzom_rd.exe DBG 3476 udp_sock.cpp 174 : LNETL0: Socket 232 received 71 bytes from peer 213.208.119.192:47851 (213.208.119.192)
2005/09/18 15:16:23 client_ryzom_rd.exe INF 3476 impulse_decoder.cpp 72 : CLIMPD: received new impulsion 1 (len=131) at level 2 (channel 1)
2005/09/18 15:16:23 client_ryzom_rd.exe DBG 3476 impulse_decoder.cpp 82 : CLIMPD: at level 2 (channel 1), 1 actions (ReceivedAck=18889/lastAck=18809/nextSentPacket=18890)
2005/09/18 15:16:23 client_ryzom_rd.exe DBG 3476 cdb_synchronised.cpp 167 : Update DB
-------------------------------
User Crash Callback:
-------------------------------
UserId: 190749
ShardId: 101
Player Name: 'Cerb'
UserPosition: 15201.64 -34613.33 -0.03
ViewPosition: 15201.64 -34613.33 -0.03
Time in game: 1h 4min 42sec
LocalTime: 2005/09/18 15:16:26
ServerTick: 297116469
ConnectState: Connected
LocalAddress: :3012 (192.168.0.1)
Language: Français
ClientVersion: 1.2.0.800
PatchVersion: 00079
Client is online
Memory: 46MB/1022MB
Process Virtual Memory: 958MB
NeL Memory: 0B
OS: Microsoft Windows XP Service Pack 2 (Build 2600) (5.1 2600)
Processor: Intel(R) Pentium(R) 4 CPU 3.40GHz / x86 Family 15 Model 2 Stepping 9 / GenuineIntel / 3391MHz / 2 Processors found
CPUID: bfebfbff
HT: YES
CpuMask: 1
NeL3D: OpenGL / NVIDIA Corporation / GeForce FX Go5700/AGP/SSE2 / 1.5.0
3DCard: NVIDIA GeForce FX Go5700 , version 5.6.8.2
Sound mixer:
Playing sources: 327
Available tracks: 24
Used tracks: 8
Muted sources: 0
Sources waiting for play: 0
HighestPri: 0 / 2
HighPri: 0 / 4
MidPri: 8 / 6
LowPri: 0 / 8
FreeTracks: 24 / 32
Average update time: 0.000003 msec
Average create time: 0.000000 msec
Estimated CPU: 0.000009%%
Sound driver:
FMod Driver
3d hw buffers: 31
2d hw buffers: 32
-------------------------------