When your OS goes crazy - Screenshots
- thepowersgang
- Member
- Posts: 734
- Joined: Tue Dec 25, 2007 6:03 am
- Libera.chat IRC: thePowersGang
- Location: Perth, Western Australia
- Contact:
Re: When your OS goes crazy - Screenshots
And, what happens when you don't quite get video configured properly on a Tegra2 board.
Kernel Development, It's the brain surgery of programming.
Acess2 OS (c) | Tifflin OS (rust) | mrustc - Rust compiler
Currently Working on: mrustc
Acess2 OS (c) | Tifflin OS (rust) | mrustc - Rust compiler
Currently Working on: mrustc
Re: When your OS goes crazy - Screenshots
Normally my OS isn't very interesting when things go wrong, but recently I made my console rendering (rendering a text buffer to a linear framebuffer) asynchronous. Naturally, that did give a few cases suitable for this thread.
First up, the console deadlocked and if I was lucky I could get something on the screen. That meant my kprintf had no working output device, and things kind of got broken when I redirected it to the serial line.
After fixing that issue, I finally got text on the screen. But when I tried scrolling:
And when I scrolled further:
The font and console metadata was being screwed up by a stupid buffer overrun. Then later, when I tried refactor my ls and column program a bit:
And when I tried to debug the ls/column problem, things got a bit out of hand:
A couple days ago I attempted to a ppoll(2) system call, but I messed up and some long-forgotten debug code took over.
Ok, hopefully that was interesting. Normally things tend to halt and catch fire in very unremarkable manners. I'll soon start work on a display server, that'll surely give some fun craziness.
First up, the console deadlocked and if I was lucky I could get something on the screen. That meant my kprintf had no working output device, and things kind of got broken when I redirected it to the serial line.
After fixing that issue, I finally got text on the screen. But when I tried scrolling:
And when I scrolled further:
The font and console metadata was being screwed up by a stupid buffer overrun. Then later, when I tried refactor my ls and column program a bit:
And when I tried to debug the ls/column problem, things got a bit out of hand:
A couple days ago I attempted to a ppoll(2) system call, but I messed up and some long-forgotten debug code took over.
Ok, hopefully that was interesting. Normally things tend to halt and catch fire in very unremarkable manners. I'll soon start work on a display server, that'll surely give some fun craziness.
Re: When your OS goes crazy - Screenshots
This thread went quiet? Anyways, I managed to get a weird corruption problem when working on my GUI:
- Brynet-Inc
- Member
- Posts: 2426
- Joined: Tue Oct 17, 2006 9:29 pm
- Libera.chat IRC: brynet
- Location: Canada
- Contact:
Re: When your OS goes crazy - Screenshots
You posted here just last month, as have others the months previous.sortie wrote:This thread went quiet?
-
- Member
- Posts: 92
- Joined: Tue Aug 14, 2012 8:51 am
Re: When your OS goes crazy - Screenshots
Wow !
It's crazy to think that this all is not voluntary !
You all are lucky, I don't know if it's my OS design or something, but I never get such crazy screenshots !
Instead, I have setup a special system for debugging. When a program is doing something it shouldn't (such as writing memory it shouldn't, or other things of this kind), the OS detects it and skips to a special "debug mode" and launches a (very complicated) program I made where all the symbol tables of all programs are loaded, and where I can see the (almost) whole state of the computer. Then, it starts a "recovery process", thus making the whole system operationnal again, and starts some kind of debugging console.
That said, I have not yet worked on my graphical shell nor GUI. The only strange thing I got was when writing my audio driver (at the time, it was just an emulated SoundBlaster one). It went a bit crazy... And Vivaldi's "4 Seasons" was no longer what I thought it was...
It's crazy to think that this all is not voluntary !
You all are lucky, I don't know if it's my OS design or something, but I never get such crazy screenshots !
Instead, I have setup a special system for debugging. When a program is doing something it shouldn't (such as writing memory it shouldn't, or other things of this kind), the OS detects it and skips to a special "debug mode" and launches a (very complicated) program I made where all the symbol tables of all programs are loaded, and where I can see the (almost) whole state of the computer. Then, it starts a "recovery process", thus making the whole system operationnal again, and starts some kind of debugging console.
That said, I have not yet worked on my graphical shell nor GUI. The only strange thing I got was when writing my audio driver (at the time, it was just an emulated SoundBlaster one). It went a bit crazy... And Vivaldi's "4 Seasons" was no longer what I thought it was...
- Griwes
- Member
- Posts: 374
- Joined: Sat Jul 30, 2011 10:07 am
- Libera.chat IRC: Griwes
- Location: Wrocław/Racibórz, Poland
- Contact:
Re: When your OS goes crazy - Screenshots
Lessons to be learned:
1) add some locking to console code
2) don't ever let all APs panic at the same time
It looked even better in a bit more realish QEMU:
1) add some locking to console code
2) don't ever let all APs panic at the same time
It looked even better in a bit more realish QEMU:
Reaver Project :: Repository :: Ohloh project page
<klange> This is a horror story about what happens when you need a hammer and all you have is the skulls of the damned.
<drake1> as long as the lock is read and modified by atomic operations
<klange> This is a horror story about what happens when you need a hammer and all you have is the skulls of the damned.
<drake1> as long as the lock is read and modified by atomic operations
Re: When your OS goes crazy - Screenshots
Printf and pointers to member functions don't mix well it seems.
EDIT:
You know that feeling when you find an incredibly stupid mistake?
EDIT:
You know that feeling when you find an incredibly stupid mistake?
Code: Select all
void screen::kprint(string str) {
while(*str) kprint(str++);
}
- thepowersgang
- Member
- Posts: 734
- Joined: Tue Dec 25, 2007 6:03 am
- Libera.chat IRC: thePowersGang
- Location: Perth, Western Australia
- Contact:
Re: When your OS goes crazy - Screenshots
Something recent, and fun
I got something wrong (not sure yet) in my image loading code... this is what happened for a simple 16x16 "new file" icon... not sure users will make the association.
I got something wrong (not sure yet) in my image loading code... this is what happened for a simple 16x16 "new file" icon... not sure users will make the association.
- Attachments
-
- acess2-gui-image_fail.png (6.47 KiB) Viewed 7497 times
Kernel Development, It's the brain surgery of programming.
Acess2 OS (c) | Tifflin OS (rust) | mrustc - Rust compiler
Currently Working on: mrustc
Acess2 OS (c) | Tifflin OS (rust) | mrustc - Rust compiler
Currently Working on: mrustc
Re: When your OS goes crazy - Screenshots
@thepowersgang
Access is spelled with two 'C's.
Access is spelled with two 'C's.
Re: When your OS goes crazy - Screenshots
Hehe the one c is actually intentional. I hope =)
Fudge - Simplicity, clarity and speed.
http://github.com/Jezze/fudge/
http://github.com/Jezze/fudge/
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: When your OS goes crazy - Screenshots
What's with the too few Cs? it's got an S too many
Re: When your OS goes crazy - Screenshots
I was working on a real mode console. It seems to have broke when I tried implementing backspace.
The reason is because 1) I made an error in my backspace procedure - Might help to delete both the character and the style, it was basically picking a random one, and 2) I forgot to have the normal text procedure jump past the backspace.
anyway, see how you like it. In case you're wondering, it says, "Ghostss<backspace> are mythological creaa<backspace>tures, which seem to like the dark.
The reason is because 1) I made an error in my backspace procedure - Might help to delete both the character and the style, it was basically picking a random one, and 2) I forgot to have the normal text procedure jump past the backspace.
anyway, see how you like it. In case you're wondering, it says, "Ghostss<backspace> are mythological creaa<backspace>tures, which seem to like the dark.
Programming is 80% Math, 20% Grammar, and 10% Creativity <--- Do not make fun of my joke!
If you're new, check this out.
If you're new, check this out.
- Kazinsal
- Member
- Posts: 559
- Joined: Wed Jul 13, 2011 7:38 pm
- Libera.chat IRC: Kazinsal
- Location: Vancouver
- Contact:
Re: When your OS goes crazy - Screenshots
Accidentally plotted each character backwards.
(12:51:29 AM) <klange> IN SOVIET RUSSIA, BACKWARDS PRINT TEXT!
(12:51:29 AM) <klange> IN SOVIET RUSSIA, BACKWARDS PRINT TEXT!
Re: When your OS goes crazy - Screenshots
I'm not even sure what happened here.
The buffered text came out just fine...
Re: When your OS goes crazy - Screenshots
I figured I'd improve the standards compliance of my stdio routines by adding setvbuf and implementing buffering semantics. Something went wrong.
Init wasn't pleased and the shell much less. Interestingly, the system did run - although it crashed a lot and the shell was an unreadable mess!
Init wasn't pleased and the shell much less. Interestingly, the system did run - although it crashed a lot and the shell was an unreadable mess!