The online racing simulator
Searching in All forums
(983 results)
Dygear
S3 licensed
Just happened again as I was going to join Cargame's S2 server. This time, I was not in the server for more then 10 seconds and the whole system crashed. Now that this has happened 4 times, I really hope we have enough data to find out the cause.

Intel HD Graphics Bug / System Hang
Dygear
S3 licensed
Depending on how this thread turns out, it might be a bug with LFS it's self, or it might be a bug with the Intel drivers. This thread will be used to find out what's what.

The issue was first found within the patch thread for 0.6B12. As stated I am using the Intel HD Graphics 4000 within the Intel Core i7-3770k. Using the drivers from 9/17/2012 (9.17.10.2068), and the drivers from 10/17/2012 (9.17.10.2075) I get a system hang while playing LFS. This only happens while I'm playing LFS. The problem started during the testing for the current stable release, but because of Patch Tuesday including graphics drivers for my system I updated that, and once the system started crashing I assumed that it was due to a bug in the graphics drivers. It seems that after this update, that the problem may well be with LFS.

Quote from Scawen :Anyway, is it only when you run LFS?

The crash only happens when I'm running LFS, but I can't think of any DX8.1 games to test with. If you have a recommendation, I'll give it a go.

Quote from Scawen :Have you tried any other similar programs?

I've used Star Trek Online in DX9 and DX11 mode, and have not had a crash even after a significant amount of time has passed.

Quote from Scawen :Is that with LFS in full screen or windowed?

The system crash only happens while in full screen mode, I can not reproduce the crash in Windowed Mode (yet).

Quote from Scawen :Does it happen immediately or after some time?

Sometimes it happens after 10 minutes, sometimes it's when I join the race.

Quote from Scawen :Is there any action you can perform to reproduce the hang reliably?

But it seems to be centered around when a client joins the track, myself or someone else.

---

What I'm trying to find out, if this is a driver bug, or a engine bug. If anyone has the HD 4000 and can try to reproduce this bug on their system using the latest stable version of the graphics drivers, then we can start nailing this down. Also, if anyone can reproduce this bug without using the Intel HD 4000 on their system that would mean it's not a graphics bug. So, has anyone else had this problem?

---

I've had this bug happen 3 times in the past hour, all on Cargame's S2 server, so if he happens to have the reply file, you might be able to detect what is going on there.

---

There was something else that I've noticed while I was investigating this bug. I joined Cargame's S2 server just before the lights went out to start a race, but for me, it showed the the lights were already green even tho clearly the race had not started yet because some clients were revving their engines like you do at the start of a race. Then then set off a few seconds after. When the pole sitter / leader crossed the start finish line the number of laps for my client showed 2 / 6, even tho clearly this was the start of the race and it should of been 1 / 6. They moved down to turn one, and I think a client might of joined at this point and that's where my computer crashed. I have a screen shot attached to show this crash and the other crashes I've had. Hopefully with the replay files from Cargame's server, and my details and screen shots you can nail this one down.

---

Click the images below to get a larger view.

Laps Out of Sync (Joined During Start of Race Sequence)


Client Joins Spectators


Save Setup Crash
Dygear
S3 licensed
Quote from ACCAkut :did your PC do the same thing that happened to mine a few times in Z-patch times? http://www.youtube.com/watch?v ... ;index=8&feature=plcp

that was on my old machine, hasn't happened on the new one yet.

edit: looking at it now it seems like some graphic/directx engine deadlock

I'm using a Intel HD 3000 on this system, with Windows 8, I just played some rounds on cargame's server and had no issues. The other system that's running windows 7 with a Intel HD 4000 crashes after the updates. I'm thinking at this point that it might be a problem with the graphics driver that is on there, as I'm unable to reproduce it on similar hardware, using the older drivers. (Granted, this is Windows 8 as well.)
Dygear
S3 licensed
Quote from DANIEL-CRO :edit: copy link to other tab and hit enter

Quote from Mark Zuckerberg :And once you do get results, they don't link directly to the images; they link to a php that redirects or something. Weird. This may be difficult. I'll come back later.

Cargame, that script is very odd. You might want to fix that.
Dygear
S3 licensed
Quote from Scawen :At the moment I think it is unlikely to be LFS, just because yours is the only report like that for some time.

[1)]Anyway, is it only when you run LFS?
[2)]Have you tried any other similar programs?
[3)]Is that with LFS in full screen or windowed?
[4)]Does it happen immediately or after some time?
[5)]Is there any action you can perform to reproduce the hang reliably?

1 & 2) I ran Star Trek Online using DX11 mode, that much more resource intensive then LFS, and there was no crash for double the time frame it takes to happen in LFS. So it appears to open happen with LFS, and it started happen immediately after updating my display drivers and LFS to B14. I don't know if it's the display drivers or LFS, but considering that the display drivers work with STO, I'm gonna have to pin this on LFS for now.

3 & 4) LFS is in full screen mode, the first crash happened seconds after connecting to a server, the second crash happened after about 15 minutes and one lap into the second race I had on cargame's server.

5) I can't reliably reproduce the bug, yet. But if I can, I'll be sure to give you as much information as I can.

Quote from dawesdust_12 :What are you doing to make Windows put 3 GB in the page file with 16 GB of RAM?! :P

(I actually DISABLE windows' page file with my 16 GB of RAM :P)

When Watson dumps memory, it dumps the whole system memory on a full system crash. That's if I recall correctly, that is. I am fairly sure that I'm not using a Page File, because it's really bad for the SSD's lifespan that I'm using as my system drive, so I'm pretty sure that's the first thing that I disable. (I'm not at my computer right now to confirm that.)
Dygear
S3 licensed
In the US, I'll have a 75MBit Down / 25 MBit Up connection to my house, using FiOS. So, having the option would be nice, as I can run a few servers off my connection if I really wanted too.

But that's not why I'm speaking to you right now, I think I've found a bug, but the problem is that it crashes my whole computer, freezes the whole thing, I have to hit the reset button to reboot the computer. I don't know yet if it's just LFS that causes the problem, or if it's the new Intel Display Drivers that I just installed (It is was Patch Tuesday for Windows).

I've attached the DxDiag for my computer, it should give you all of the information about my system that you could need. The problem is right now that I can't seem to give you a memory dump, because, ironically, Watson does not start up when the computer crashed, or start on bootup. I'll poke around in my settings to see if I can give you a memory dump or a crash report from the system, but it might be 16GB. I'm willing to upload that somewhere if you're willing to take it.
Dygear
S3 licensed
Floating platforms! Things just got interesting! That would be awesome to add to the game, the possibilitys are endless!
Dygear
S3 licensed
2015 that's optimistic, more like 2055, I like the synergy more.
Dygear
S3 licensed
Just looked at the video that TAA posted, I still think OAuth is the way to go, OZ wants the client's username and password and then let's the implementation do what it needs to do with that information. I would much prefer to not give out the keys to my account to every website that want's to confirm my authenticity with this account. I feel that it gives one account power over the other, and I want to avoid that.

Apparently from the video, OAuth 1.0 is the way to go, OAuth 2.0 is fine if you know cryptography, but that is something that Victor is going to have to decide if he want's to implement. The only information that we need is, is this client that's talking to me really have ownership over the LFS account. That's all of the information that I want, and we can do that with OAuth 1.0 just fine.
PRISM & PHP 5.5.0 Alpha 1
Dygear
S3 licensed
Yes, PRISM does work with PHP 5.5.0, Alpha 1 without any modification, please test and let me know how you like it ... I would be nice to have a PRISM 0.5.0 that runs on PHP 5.5.0, I like the synergy of the fives.
PHP 5.5.0 (Alpha 1) New Features!
Dygear
S3 licensed
General improvements:Core:
  • Added boolval(). (Jille Timmermans)
  • Added "Z" option to pack/unpack. (Gustavo)
  • Implemented FR #60738 (Allow 'set_error_handler' to handle NULL). (Laruence, Nikita Popov)
  • Added optional second argument for assert() to specify custom message. Patch by Lonny Kapelushnik ([email protected]). (Lars)
  • Fixed bug #18556 (Engine uses locale rules to handle class names). (Stas)
  • Fixed bug #61681 (Malformed grammar). (Nikita Popov, Etienne, Laruence)
  • Fixed bug #61038 (unpack("a5", "str\0\0") does not work as expected). (srgoogleguy, Gustavo)
  • Return previous handler when passing NULL to set_error_handler and set_exception_handler. (Nikita Popov)
It should be noted that the penultimate item in the core fixes a bug in PRISM to do with license plates and the second item adds a feature to the PACK function that allows us to fix the handling of license plates in PRISM. Now that I've gotten over how it effects PRISM, let's talk about PHP in a more general sense.

---

The simplified password hashing API is a massive step in the right direction, after looking over the RFC they posted, they did a great job on it. And it passed unanimously into the next release.

---

Generators are going to be a massive boon for people using a small amount of ram, as it's much more efficent when you want to itarate over an item, really excited to start using that! Regarding coroutines, they are intresting, but I can't currently see a use case for the, running code side by side in such as way, seems ... odd. These did pass into the next release after a vote of 24 to 1.

---

Supporting lists within foreach is possible, no more redundant varables!

<?php 
php
$users 
= array(
    array(
'Foo''Bar'),
    array(
'Baz''Qux');
);
 
// Before
foreach ($users as $user) {
    list(
$firstName$lastName) = $user;
    echo 
"First name: $firstName, last name: $lastName. ";
}
 
// After
foreach ($users as list($firstName$lastName)) {
    echo 
"First name: $firstName, last name: $lastName. ";
}
?>

Thank good, god for this one! That should save me quite a bit of time and space within my codebase! This passed, 11 to 4, but using 'silent tokens' (error suppression) did not pass 10 to 2.

---

Support for finally keyword is 'finally' here. You can now have a try, catch, finally statement it all it's glory. Pokemon programming here we come (for when you gotta catch 'em all!). This oddly passed with a vote of 25 to 5.

---

With a vote of 12 to 2, empty() and isset() will accept arbitrary arguments, I find this almost odd, but sure if you really want to pass a function to these constructs why not!?

---

Quote from https://bugs.php.net/bug.php?id=61038 :Fixed bug #61038; "Z" and better behavior for unpack()

Added new "Z" argument to pack/unpack, now allowing "a" to return data without stripping, and "A" strips all trailing white space, while "Z" will strip everything after the first null.

Ah, that's much nicer!
Dygear
S3 licensed
As long as it's comparable with Google's / Facebooks OAuth platform I'm not really that worried. It's pretty easy to get them up and running.
WebSockets & Server Sent Events
Dygear
S3 licensed
WebSockets are supported on the iOS Safari platform, Google Chrome / Safari, FireFox, Internet Explorer and Opera. Server Sent Events are supported on Google Chrome but not Safari, FireFox, Internet Explorer and Opera.

WebSockets allow for asynchronous connections between the client and the web server. Server Side Events allow for push notifications to be sent from the web server to the client, basically out right replacing Comet and Long Polling.

I know you have implemented a WebSockets server on the current LFSWorld for Stats, I was wondering if you were planning to go further on the subject.
OAuth
Dygear
S3 licensed
I've spoken about OAuth from the prospective of PRISM, but I would like a discussion about it in the broader sense. OAuth would allow for people to use their LFS credientals on any related LFS site that wishes to make sure that you have an LFS account. You (Victor) and the client can control what information is given out about their account. This would allow for polls to be taken from the membership at the community awards each year without people cheating because we could ensure that each client really has an LFS account. It would also provide authenication to prove that you have a license on other websites, or could be used within admin systems like PRISM to allow them to access their server and admin them remotely from within a PRISM install.
Dygear
S3 licensed
Quote from Nilex :Making the ping numbers in the connection list appear right indented

That's a really good point, and would be a great idea to implement.

Quote from Degats :Yeah, that's what I figured for the 10-20ms readings, although I thought the 30ms was a bit high. I guess it's just an obscure combination of timing and maybe CPU load.

Well the over-under for ping time is anywhere from 0ms to 40ms in it's most extreme case.
Dygear
S3 licensed
Quote from Degats :I haven't seen more than 20ms to a localhost server, although I did see 30ms (B9, Wine) or so to a LAN server sometimes, which is a little strange as real ping time is ~400µs.

That's gotta be game engine lag time when it comes to getting around to processing the packet. Like DANIEL-CRO said, the game engine's resolution is centiseconds. Really I think that the LFS engine is just more honest about it then other game engines.
Dygear
S3 licensed
Quote from Whiskey :Actually on LFS it shows FPS count, while on OutGauge it will be always zero.

That's awesome, I never noticed that.
Dygear
S3 licensed
What is the best way to debug each build you give us Scawen as far as the networking flow? Do you have special developer tools that are built into the game's exe that would allow us to see more information while we are on each server so that we can give you better feedback? As you've said yourself that MPRs are not really useful as they contain engine events from the server side, it does not give an exact representation of what each client was feeling during the online session. If we could get more information during our online sessions maybe we could give you better feedback if the packet / buffer system is working better then the previous versions.

Do you have any command line switches, or keyboard shortcuts that have not been disclosed that would give us more information then a normal client would normally set when playing?

Also, if you could please report ping time's in Milliseconds only, as this is standard notation I think that would generally help quite a lot with people's understanding of what is going on.
Dygear
S3 licensed
If that's the case, I would leave the packet struts as packets and use another class where I would pass the packets as a struct when I wanted to work on it. Or nest the packet struct into the class and let the class act on it's nested data.
Dygear
S3 licensed
I would like the option repair an LFS install, by installing to the same location as a current install of LFS.
Dygear
S3 licensed
I know this is going to sound insane, but a 64KiB buffer for InSim connections should be OK for the foreseeable future.
Dygear
S3 licensed
Quote from Victor :Do you mean you couldn't connect to the relay with your JS client? Or do you mean you had trouble setting up your own server and couldn't connect to that?
What happened when you tried?

No, I mean, my WebSocket server is sending some garbage data that is throwing the connection off, as like time it get's a packet after the handshake the client disconnections or something. I really don't know at this point. I'm so delirious after Hurricane Sandy, this area is a disaster and I could not tell you what I did yesterday yet alone 4 months ago.
Dygear
S3 licensed
That's freaking awesome! I could not quite get it to connect, mind taking a look at my protocol implementation?

https://github.com/Dygear/PHPWebSockets
Dygear
S3 licensed
Two questions:
  1. What are you going to be using for an SCM?
  2. What are your qualifications in the areas of Programming, Design & Graphics?
Dygear
S3 licensed
Quote from cargame.nl :Fix of the Client and PlayerHandler would be nice because I fail to get the destruct routine working correctly and just decided yesterday not to rely anymore on these arrays and make my own again

Recap; they contain invalid data, primary due to the non removal of data when a client disconnects or joins the track, goes to pits and/or spectates (and joins again).

I'll add that to my to do list.
FGED GREDG RDFGDR GSFDG