I think most people here have had one or more bugs that they have spent multiple days of work on without getting anywhere.
It's even worse to spend countless hours on something that you ultimately lose interest in and ditch.
What did you waste an incredible amount of time on (both in your OS, and in other programs)?
I never got beyond the point of a kernel that echoes the input of a PS/2 keyboard. Even then, I had a weird printf bug that kept me busy for days. Eventually I made a topic about it (which you can find somewhere here, but I won't link to it because I'm always slightly embarrassed when I see older posts by myself) and of course, someone saw fairly quickly that I didn't respect the ABI.
More recently, I worked in a high-level synthesis language that is an extension of Java, and I made the famous 'comparing objects with ==' error. Which is not too bad once you figure out the problem, but unfortunately for me this was an environment without a debugger (since the Java-ish code was only to generate (V)HDL code, the developers just assumed that you'd never need something so complicated that it would need debugging), and the resulting error was quite hard to spot.
Both cases made me lose my mind because they were in a place that I thought that the error could not possibly be (having wrong assumptions seems to be of the most difficult things to fix - so I try to work on this: If something seems off, check your assumptions).
What have you wasted most time on?
-
- Member
- Posts: 595
- Joined: Mon Jul 05, 2010 4:15 pm
Re: What have you wasted most time on?
The most time-wasting bug I've ever had in a project of my own was in the printf() code for PDCLib. I stared at it, I tried to trace it, I step-debugged it, and this cockroach just avoided "being seen". In the end it turned out that I was adding to the wrong variable, leading to not-all-the-time off-by-one errors in space padding.
Funny enough, I found the bugger during the Breakpoint 2006 demo party (hence the dedication in the source comment). Couldn't find it sober for weeks. But after three days of beer and junk food, in a packed and noisy and smelly coder party hall, it jumped at me and said "here I am, you twerp".
As for time-wasting projects... as I don't consider PDCLib a wasted effort in the least, I don't count the hours spend on it. I am not so sure about one other non-computing project. I re-edited the rules for Rolemaster 2nd Ed. and translated them to German. For copyright reasons, I will never be able to distribute this work to any extend -- "fair use" allows me to pass out copies of it to my players, but that's it.
588 pages of table-rich 10pt two-column roleplaying goodnees, layed out in LaTeX glory. Took me about five years, working on it basically all my spare time.
The former C.E.O. of Iron Crown Enterprises, Coleman Charlton, called me "a little nuts" for doing this.
I have yet to actually start a group, because "life happened" between completion of the tome and now. But things are looking better these days.
Funny enough, I found the bugger during the Breakpoint 2006 demo party (hence the dedication in the source comment). Couldn't find it sober for weeks. But after three days of beer and junk food, in a packed and noisy and smelly coder party hall, it jumped at me and said "here I am, you twerp".
As for time-wasting projects... as I don't consider PDCLib a wasted effort in the least, I don't count the hours spend on it. I am not so sure about one other non-computing project. I re-edited the rules for Rolemaster 2nd Ed. and translated them to German. For copyright reasons, I will never be able to distribute this work to any extend -- "fair use" allows me to pass out copies of it to my players, but that's it.
588 pages of table-rich 10pt two-column roleplaying goodnees, layed out in LaTeX glory. Took me about five years, working on it basically all my spare time.
The former C.E.O. of Iron Crown Enterprises, Coleman Charlton, called me "a little nuts" for doing this.
I have yet to actually start a group, because "life happened" between completion of the tome and now. But things are looking better these days.
Every good solution is obvious once you've found it.
- TheCool1Kevin
- Posts: 24
- Joined: Fri Oct 14, 2016 7:37 pm
- Location: Canada
- Contact:
Re: What have you wasted most time on?
ACPI yeahOSwhatever wrote:ACPI
LiquiDOS, my weird hobbyist OS.
"Strive for progress, not perfection" - Anonymous
"Strive for progress, not perfection" - Anonymous
-
- Member
- Posts: 396
- Joined: Wed Nov 18, 2015 3:04 pm
- Location: San Jose San Francisco Bay Area
- Contact:
Re: What have you wasted most time on?
open source linux builds, python libraries. all waste of time and energy.
key takeaway after spending yrs on sw industry: big issue small because everyone jumps on it and fixes it. small issue is big since everyone ignores and it causes catastrophy later. #devilisinthedetails
Re: What have you wasted most time on?
Did you guys write your own AML interpreters?TheCool1Kevin wrote:ACPI yeah
managarm: Microkernel-based OS capable of running a Wayland desktop (Discord: https://discord.gg/7WB6Ur3). My OS-dev projects: [mlibc: Portable C library for managarm, qword, Linux, Sigma, ...] [LAI: AML interpreter] [xbstrap: Build system for OS distributions].
Re: What have you wasted most time on?
This. So much of this.OSwhatever wrote:ACPI
Re: What have you wasted most time on?
A few days back, I was implementing runqueue balancing in my kernel. Everything was working fine except that on removing the task from on CPU and adding it on the other, a GPF was happening. This didn't happen with all or even the first task to transfer so that it made it confusing because the error wasn't consistent. I spent checking my list-struct handling code, then checking my scheduler, debugging NULL pointers, and so on for 2 days. Later, it came in my mind that a task running/going to run on a CPU cannot be transferred. I had to just add a check that if the current task is being executed or not.
Also, once in my PMA (physical-memory allocator) which I call KFrameManager, I was implementing a function which would set a field in every pageframe-descriptor for a region of physical memory - RegionStart to RegionEnd. Now, a triple-fault was occuring (no interrupts enabled before initializing KFrameManager). On turning O2/1 optimization off in GCC, it was fine. Then after 3 days I found that the function was going to after-end-of-RAM memory and causing a paging-related fault.
Also, once in my PMA (physical-memory allocator) which I call KFrameManager, I was implementing a function which would set a field in every pageframe-descriptor for a region of physical memory - RegionStart to RegionEnd. Now, a triple-fault was occuring (no interrupts enabled before initializing KFrameManager). On turning O2/1 optimization off in GCC, it was fine. Then after 3 days I found that the function was going to after-end-of-RAM memory and causing a paging-related fault.
-
- Posts: 2
- Joined: Thu Aug 17, 2017 9:47 am
- Location: United States
- Contact:
Re: What have you wasted most time on?
I was stuck for several months trying to get IRQs to work. Whenever I enabled interrupts, I would get a lot of Stack-Segment Faults. It was extremely frustrating because I had IRQs working once but I wasn't using git and later that day I messed them up and I didn't have any backups of it working. Finally, I found the problem and it was that I hadn't realized that I needed my IRQ wrappers to push dummy error codes.
If you do nothing, nothing happens!