Freezing in Ubuntu Lucid

Feedback and support for the PC version of Osmos
markhadman
Posts: 1
Joined: Fri Dec 17, 2010 9:27 am

Re: Freezing in Ubuntu Lucid

Postby markhadman » Fri Dec 17, 2010 9:37 am

Hi,
I have the same (I think) problem -the game freezes after 30-90 mins of play. Video freezes first, then audio stutters/loops for a bit then dies. This is true for both OSS and Alsa options, I'm afraid, no difference as far as I can tell (I don't have Pulse audio on my Arch system so I can't test that option).

(On a related note - since I've paid for the game through Humble Indie Bundle, how do I get updates & bug fixes?)

jackdone
Posts: 2
Joined: Wed Dec 22, 2010 12:49 pm

Re: Freezing in Ubuntu Lucid

Postby jackdone » Wed Dec 22, 2010 12:55 pm

Apparently I was lucky enough to change the engine sound of the ALSA sound device is "1" in my /. Osmos / config.cfg. Played about 20 minutes and had no problems. This binary version. This trick is really good.

User avatar
eddybox
Site Admin
Posts: 644
Joined: Sat Dec 13, 2008 11:22 am
Location: Nelson, BC, Canada
Contact:

Re: Freezing in Ubuntu Lucid

Postby eddybox » Wed Dec 22, 2010 5:47 pm

@markhadman: once we have a solid fix we'll update the version on the download page of the Humble Bundle as well. :)

achurch
Posts: 2
Joined: Sat Dec 25, 2010 2:34 am
Contact:

Re: Freezing in Ubuntu Lucid

Postby achurch » Sat Dec 25, 2010 2:50 am

I've run into this problem a few times now myself (in my case, on a 32-bit Gentoo system). I took the liberty of pulling it up in GDB and found something that struck me as odd:

Code: Select all

(gdb) bt
#0  0xb7815424 in __kernel_vsyscall ()
#1  0xb72c9746 in gettimeofday () from /lib/libc.so.6
#2  0x0809a2d1 in ?? ()
#3  0x0809a307 in ?? ()
#4  0x0808196f in ?? ()
#5  0xb7255be6 in __libc_start_main () from /lib/libc.so.6
#6  0x0804c211 in ?? ()
(gdb) finish
Run till exit from #0  0xb7815424 in __kernel_vsyscall ()
0xb72c9746 in gettimeofday () from /lib/libc.so.6
(gdb) finish
Run till exit from #0  0xb72c9746 in gettimeofday () from /lib/libc.so.6
0x0809a2d1 in ?? ()
(gdb) disass $pc-32,$pc+32
Dump of assembler code from 0x809a2b1 to 0x809a2f1:
[...]
   0x0809a2c8:  lea    -0x10(%ebp),%eax
   0x0809a2cb:  push   %eax
   0x0809a2cc:  call   0x804ba70 <gettimeofday@plt>
=> 0x0809a2d1:  imul   $0xf4240,-0x10(%ebp),%eax
   0x0809a2d8:  add    -0xc(%ebp),%eax
[...]
End of assembler dump.

(So this function is just a wrapper for gettimeofday() that returns the current time in microseconds.)

Code: Select all

(gdb) nexti
0x0809a2d8 in ?? ()
(gdb) nexti
0x0809a2db in ?? ()
(gdb) p/x $eax
$1 = 0x8198e52a

(That's the current time value. Finishing the function and going a little farther:)

Code: Select all

(gdb) finish
(gdb) nexti
(gdb) nexti
(gdb) nexti
0x0809a30d in ?? ()
(gdb) x/i $pc
=> 0x809a30d:   mov    (%eax),%eax
(gdb) nexti
0x0809a30f in ?? ()
(gdb) p/x $eax
$2 = 0x7fffdea5
(gdb) x/i $pc
=> 0x809a30f:   sub    %eax,(%ebx)

(Here EBX is pointing to the microseconds value calculated above, 0x81...)

This is what caught my attention: there's what looks like a reference time value right at the upper limit of a 32-bit signed integer being subtracted from the current time value. Is there any chance this might be an integer overflow issue?

EDIT: I was able to get the game to continue running by waiting 2^31 microseconds for the 32-bit counter to roll over, then resetting the reference value loaded from EAX above with the current time pointed to by EBX.

User avatar
Meal Worms
Posts: 624
Joined: Wed Apr 22, 2009 12:22 pm
Location: Toronto, Ontario, Canada
Contact:

Re: Freezing in Ubuntu Lucid

Postby Meal Worms » Thu Dec 30, 2010 6:12 am

Thanks for the detective-work achruch. Sure does sounds like overflow. More soon...

Dave

User avatar
Meal Worms
Posts: 624
Joined: Wed Apr 22, 2009 12:22 pm
Location: Toronto, Ontario, Canada
Contact:

Re: Freezing in Ubuntu Lucid

Postby Meal Worms » Sat Jan 01, 2011 2:16 pm

Hey folks,

Great news: with the help of achurch's detective work, I've tracked down and fixed the Linux freeze bug. Anyone who is interested in verifying the fix is welcome to get in touch with me at daveburke at hemispheregames.com to try out the binary. In the mean time, we're packaging up a patch containing fixes for the freezing and font issues and will be rolling out soon.

Cheers all,
Dave

wizkid
Posts: 1
Joined: Thu Jan 06, 2011 9:04 am

Re: Freezing in Ubuntu Lucid

Postby wizkid » Fri Jan 07, 2011 3:16 pm

Great to hear there's a fix. My copy has been locking up within a few minutes now that I'm past the intro levels. I'd like to get a copy of the updated version, because it's locking up my system to the point I have to reboot. Blech!

User avatar
Meal Worms
Posts: 624
Joined: Wed Apr 22, 2009 12:22 pm
Location: Toronto, Ontario, Canada
Contact:

Re: Freezing in Ubuntu Lucid

Postby Meal Worms » Fri Jan 07, 2011 3:29 pm

wizkid, ping me at daveburke at hemispheregames dot com citing this thread and I'll hook you up.

Dave

e2los
Posts: 2
Joined: Tue Jan 11, 2011 3:17 pm
Contact:

Re: Freezing in Ubuntu Lucid

Postby e2los » Tue Jan 11, 2011 4:05 pm

Meal Worms wrote:wizkid, ping me at daveburke at hemispheregames dot com citing this thread and I'll hook you up.

Dave


I've sent you an email as well... Not had to reboot myself, but the game is pretty much unplayable due to the freezing in ubuntu 10.10 and debian squeeze 32bit anyway.

User avatar
Meal Worms
Posts: 624
Joined: Wed Apr 22, 2009 12:22 pm
Location: Toronto, Ontario, Canada
Contact:

Re: Freezing in Ubuntu Lucid

Postby Meal Worms » Thu Jan 13, 2011 12:35 pm

FYI, everyone who's run the new executable has found it to fix the freeze, so we're going ahead with the patch! More details soon... ;-)

Thanks all,
Dave


Return to “Osmos PC (Win/Mac/Linux)”

Who is online

Users browsing this forum: No registered users and 6 guests