MantisBT - VCMI |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0001813 | VCMI | Mechanics - Objects | public | 2014-06-28 19:53 | 2023-04-12 16:59 |
|
Reporter | Povelitel | |
Assigned To | | |
Priority | normal | Severity | major | Reproducibility | always |
Status | acknowledged | Resolution | open | |
Platform | | OS | | OS Version | |
Product Version | 0.95c | |
Target Version | | Fixed in Version | | |
|
Summary | 0001813: Repeated re-entering of teleporter using space bar cause freeze |
Description | If you go into a monolith and press the "space bar", and a little to hold him, the game is blocked |
Steps To Reproduce | |
Additional Information | |
Tags | No tags attached. |
Relationships | related to | 0001066 | resolved | Tow | Pressing arrow key to move hero until he/she meets an object to pick may lead to freeze | related to | 0001808 | closed | Ivan | hotkeys. taking the resources of the sea | related to | 0000558 | assigned | Chocimier | Altar of Sacrifice: Mechanics + GUI issues | related to | 0002220 | closed | | Game crashes after pressing space bar in order to revisit a building or re-use portal | has duplicate | 0002065 | closed | SXX | Rapidly repeated entering monolith/subterranean gates cause client freeze | has duplicate | 0002391 | resolved | Nordsoft | Pressing spacebar somethimes cause crash or freeze. | has duplicate | 0002619 | closed | AVS | ocasional game freeze | related to | 0002149 | assigned | SXX | in Autoskipe-mode have block if go in events |
|
Attached Files | |
|
Issue History |
Date Modified | Username | Field | Change |
2014-06-28 19:53 | Povelitel | New Issue | |
2014-06-28 19:53 | Povelitel | Status | new => assigned |
2014-06-28 19:53 | Povelitel | Assigned To | => Warmonger |
2015-02-10 22:23 | SXX | Relationship added | has duplicate 0002065 |
2015-02-10 22:31 | SXX | Note Added: 0005443 | |
2015-02-10 22:38 | Fay | Note Added: 0005444 | |
2015-02-10 22:55 | SXX | Note Added: 0005446 | |
2015-02-10 22:55 | SXX | Note Edited: 0005446 | bug_revision_view_page.php?bugnote_id=5446#r2815 |
2015-02-14 18:23 | Warmonger | Assigned To | Warmonger => |
2015-02-14 18:23 | Warmonger | Status | assigned => new |
2015-02-18 18:43 | Fay | Note Added: 0005541 | |
2015-02-18 18:57 | Povelitel | Note Added: 0005542 | |
2015-02-18 19:03 | Fay | Note Added: 0005543 | |
2015-03-10 19:00 | SXX | Summary | monolith two way => Repeated re-entering of teleporter using space bar cause freeze |
2015-03-10 19:00 | SXX | Severity | block => major |
2015-03-11 12:18 | Warmonger | Note Added: 0005613 | |
2015-11-28 19:29 | SXX | Note Added: 0006128 | |
2015-11-28 19:30 | SXX | Note Edited: 0006128 | bug_revision_view_page.php?bugnote_id=6128#r3045 |
2015-12-24 14:13 | SXX | Status | new => confirmed |
2015-12-24 14:13 | SXX | Relationship added | related to 0001066 |
2015-12-24 14:14 | SXX | Relationship added | related to 0001808 |
2016-01-21 00:21 | SXX | Relationship added | has duplicate 0002391 |
2016-09-12 03:28 | SXX | Relationship added | related to 0002149 |
2016-09-12 03:30 | SXX | Relationship added | related to 0000558 |
2016-09-12 03:38 | SXX | Relationship added | related to 0002220 |
2016-12-04 12:57 | AVS | Relationship added | has duplicate 0002619 |
2023-04-12 16:59 | Ivan | Status | confirmed => acknowledged |
Notes |
|
(0005443)
|
SXX
|
2015-02-10 22:31
|
|
A bit more info about that in my dupe: 0002065 |
|
|
(0005444)
|
Fay
|
2015-02-10 22:38
|
|
I checked the logs; just to have it somewhere:
I get "Tiles are not neighboring!", "Got false in applying... that request must have been fishy!" in server log and no "System message: ..." with the same message in the client when the freeze happens. |
|
|
(0005446)
|
SXX
|
2015-02-10 22:55
|
|
@Fay It's likely with Monolith. Correct?
Because with subterranean gates I don't have anything useful in server logs at all except normal log like:
01:54:30.364993 DEBUG global [7ffff21c9700] - Hero Josephine visits Subterranean Gate(103:0)
01:54:30.620428 DEBUG global [7ffff21c9700] - Hero Josephine visits Subterranean Gate(103:0)
01:54:30.647011 DEBUG global [7ffff21c9700] - Hero Josephine visits Subterranean Gate(103:0)
|
|
|
(0005541)
|
Fay
|
2015-02-18 18:43
|
|
I just noticed that there is a "//TODO! possible freeze" comment with explanation in space key handling in CAdvmapInterface, so that's probably the what's happening here ( https://github.com/vcmi/vcmi/blob/develop/client/windows/CAdvmapInterface.cpp#L1096 [^] ).
On the other hand, do we really need to handle "holding space" case in adv map? We could just simply wait for key-up event instead of handling all of those requests. I don't remember any case where holding space would be useful. |
|
|
|
"I don't remember any case where holding space would be useful."
My English is very bad. But if I understand correctly, you are saying that the space is useless? That's not it. The space is very useful! Especially in online games. When can I become an object to see how he is well guarded, and then decide whether or not to attack. And you can attack without losing muvpointy.
By the way in the game now can not see what kind of protection in the objects (( |
|
|
(0005543)
|
Fay
|
2015-02-18 19:03
|
|
I meant holding space so that the event is triggered multiple times. Like in this bug description. :) |
|
|
|
Freeze should not occur no matter what keys players press. |
|
|
(0006128)
|
SXX
|
2015-11-28 19:29
(edited on: 2015-11-28 19:30) |
|
This one is tricky and this problem also related to issue when arrow key buttons may cause freeze. Problem is that client may sent move request before client answer TeleportDialog and this break it.
Correct way to solve this one is to setup lock until movement is done, but it's tricky as explained in client/windows/CAdvmapInterface.cpp:1095
//TODO!!!!!!! possible freeze, when GS mutex is locked and network thread can't apply package
//this thread leaves scope and tries to lock pim while holding gs,
//network thread tries to lock gs (appluy cl) while holding pim
//this thread should first lock pim, however gs locking/unlocking is done inside cb
|
|