• (cs) in reply to graywh

    graywh:
    The REAL WTF is that no one actually read and/or understood the WTF which makes no sense whatsoever.  UNIX's sleep command sleeps for N seconds, not until there are X seconds left in the EPOCH.  WTF?  The startup script should have run for 1000000000 seconds from the time it was started, regardless of the date.

    Wow .. you are wrong, because if you look at the code behind the 'sleep' command (i think they keep 'em in the bin folder or something) you will see that a date/time variable is created to hold the end time, which will overflow during execution.

    You could test this by changing the system date (adding 999999990) while it is executing to see which is the case.  If it ends in 10 seconds....

    I really don't care though.

  • (cs) in reply to Digitalbath
    Digitalbath:

    JBL:
    Anonymous:
    Got to love code that requires continued maintance

    Heck, if they upgrade the OS to 64-bit, then no problem.

    On the other hand, I'll be in my early 70's by then. I look forward to not receiving a Social Security check for a few years while the govt sorts it out on their 30-year-old servers.

    On the other other hand, that check will be worth about 85 cents anyway, yes?

    [and how long until someone manages to fit "none of us has a girlfriend anyway" in here?]

    Stop it you crazy sexist.  How dare you refer to women as "girlfriends."  That singles them out as compared to "boyfriends."  Please use "significant other" from now on, or I will stick our my lower lip and pout.

    </OverflowingSarcasm>



    that is assuming that said person has time / interest in persuing a relationship with an actual person (apposed to talking to his/her pc late on a friday night when no one is around).
  • Fromeo (unregistered) in reply to Jojosh_the_Pi
    Jojosh_the_Pi:
    Anonymous:
    Otto:
    Anonymous:
    Satanicpuppy:
    the next common datasize up from 32 is 64, and 64 will last 584,942,417,355 years, which should be enough for anyone.

    One of my clients is a huge block of carbon-14, so it's not okay to them.

    I don't know. I hear that everything is acceptable to Inanimate Carbon Rod.



    But Carbon-14's half-life is about 5,730 years, so that means about 2^(-1.02*10^8) percent of your client will be left by that point...


    Actually, it's 2^-(1.02*10^8) percent.   (-1.02*10^8 ends up being positive)

    (Of course, everyone knows what you meant.  But why participate in the TheDailyWTF forums without the chance to try to sound smart by pointing out minutae even though everyone will forget by tomorrow?)



    And, just for kicks (it took me a while to do this as I didn't have an easy arbitrary-precision calculator lying around...) it would mean that in order for 1 atom of Carbon-14 to be left at the end of that time, you'd have to start with 3.61*10^(307,050,059) atoms, which works out to about 8.40*10^(307,050,036) kg of Carbon-14.

    I apologize for boring you with that information.  I'll quietly go back to work now.  I find it rather appropriate that the captcha test is "perfection" this time.  Though, "pathetic" might have been better....
  • 123 (unregistered)

    <CTRL>I<CTRL>B<CTRL>U<CENTER><CTRL>V</CENTER><CTRL>U<CTRL>B<CTRL>I

  • 123 (unregistered) in reply to 123
    Anonymous:

    <CTRL>I<CTRL>B<CTRL>U<CENTER><CTRL>V</CENTER><CTRL>U<CTRL>B<CTRL>I

    Arrrrrrrrrrrrggggggghhhhhh - I hate using FrontPage as an editor - sorry for the garbled gibberish

     

  • (cs) in reply to TDC
    TDC:
    Jojosh_the_Pi:
    (-1.02*10^8 ends up being positive)

    No, it doesn't.


    I give up.  Yes, I am aware -1.02*10^8 is negative.  You were undoubtedly trying to be helpful, which is to be commended.  However, no more sarcasm from me, ever.

    Until, of course, the next time I post.


  • (cs)
    Alex Papadimoulis:

    start oracle
    sleep 1000000000
    stop oracle

    It was pretty clear why the script failed. Time passed 2^31-10^9 that weekend, so the sleep command was overflowing and terminating, and thus the database was shut down. No one, including the vendor, could explain why their startup script issued 30+ year sleep command and then a shutdown, but the fix was pretty simple: the vendor shaved a zero off the sleep command.

    Greetings earthlings, I am Uatu, the watcher. For epochs, I have observed your server with interest and fascination. I now break my vow of silence and non-interference to assist you in dealing with Scripticus - the devourer of servers. Now that time has passed 2^31-10^9, the Herald of Scripticus, the Silver Sleeper, will find your server so Scripticus can satisfy his world devouring hunger.

    Johnny Storm, I will send you to the homeworld of Scripticus so you can find the Very Nullifier. Make haste, for if you find it in time, Reed Richards will be able to use it to shave a zero off the sleep command - thus sparing your world until time 2^31-10^8. Susan Storm Richards, your husband has already realized that this will mean rebooting the server every three years. And so, it falls to you to use your powers to make this reboot.... transparent to the end user.

  • (cs) in reply to Jojosh_the_Pi
    Jojosh_the_Pi:
    TDC:
    Jojosh_the_Pi:
    (-1.02*10^8 ends up being positive)

    No, it doesn't.


    I give up.  Yes, I am aware -1.02*10^8 is negative.  You were undoubtedly trying to be helpful, which is to be commended.  However, no more sarcasm from me, ever.

    Until, of course, the next time I post.



    *searches for a new sarcasm detector on ebay*

    (uh-oh, unblockable ads!)
  • Shizzle (unregistered) in reply to graywh
    graywh:
    The REAL WTF is that no one actually read and/or understood the WTF which makes no sense whatsoever.  UNIX's sleep command sleeps for N seconds, not until there are X seconds left in the EPOCH.  WTF?  The startup script should have run for 1000000000 seconds from the time it was started, regardless of the date.

    Wow, the WTF is you don't understand the WTF.  There is no easy way to do "sleep for x seconds" other than to add x to the current time to determine the wakup time.  It is the result of this addition that is overflowing the maximum value for the number and thus going to negative.  I would guess the sleep command does not do any extensive testing to make sure this overflow doesn't happen, as it expects the caller of the sleep command to use it in a reasonable manner.

    Although I assume the best way to implement a sleep function would be to store both the time sleep was called AND the offset, and use both of those to test against the current time, instead of just adding the duration to the time the sleep was called to determine the wakup time.

    i.e. this function would say whether a process that called sleep at time_sleep_was_called with a duration of duration_of_sleep should wake up yet.  It should allow you to use the maximum duration storable in a time variable without overflow, though it might never wake up if the current clock overflows, but that is a whole other problem now, isn't it.

    function should_it_wake_up_yet( time_sleep_was_called, duration_of_sleep ) {
        return ( get_current_time() - time_sleep_was_called ) < duration;
    }

  • Bob (unregistered) in reply to RyuO
    RyuO:

    Uh, I hope nobody is reading this thread for technical tips - better read a paragraph or two in the  online docs before trying anything. You need to respect whatever technology you are using, whether it is a kerosene lamp or system software, or you will get burned. In this case, the Oracle executable has rules for how it is invoked, and it is not an interactive program you can run in the background.

    Good example of why Oracle has a bad name in these parts...


    Sound's like Oracles WTF to me...
  • dfhfdhoihsghjsrgij (unregistered) in reply to Bob
    1) Start Oracle
    2) Sleep 10000000
    3) ????
    4) Profit!!
  • .* (unregistered) in reply to dfhfdhoihsghjsrgij

    start oracle
    sleep 100000
    sleep 100000
    (repeat as needed)
    stop oracle

  • (cs) in reply to Bob
    Anonymous:
    RyuO:

    Uh, I hope nobody is reading this thread for technical tips - better read a paragraph or two in the  online docs before trying anything. You need to respect whatever technology you are using, whether it is a kerosene lamp or system software, or you will get burned. In this case, the Oracle executable has rules for how it is invoked, and it is not an interactive program you can run in the background.

    Good example of why Oracle has a bad name in these parts...


    Sound's like Oracles WTF to me...

    The real WTF would be:
    • nohup cat < gasolinetank match|light &
    Should be safe enough running in the background...
  • Curious One (unregistered)

    I understand why rebooting would cause the overflow/shutdown, but how could this bug be the cause of the server going down to begin with, barring it last being down in the seventies? You aren't adding the current time to the sleep time except at script bootup.

     

     

  • khane (unregistered) in reply to graywh

    he startup script should have run for 1000000000 seconds from the time it was started, regardless of the date.

    Actually having a buffer and incrementing (or decrementing your choice) it every second is not exactly a sane choice. If anything hangs the system for a while, then your buffer is not incremented (or decremented) in a while which can cause some oddities. Of course you could resort to real time interrupts or kernel space timer to circumvent the problem, but that is not considered sane either (at least when your are not in a time critical application).
    So basically you can gobble up ressources to keep your buffer acurate, or you can simply add the current timestamp with the sleep time, put the result in a variable and compare it from time to time with the new current time stamp. This of course has some disavantages: for example invoquing sleep(100) won't assure you that your script will actually sleep for 100 seconds exactly, it will sleep for at least 100 seconds, but it could be more if the system is under a heavy load. I guess that is why programmer dealing in real time are so overpaid, they can't use niceties such as sleep (in fact they tend to avoid shell scripting as well)

    Note that the WTF is still double. An oracle application staying up for three years is nothing that extraordinary (though it is rare) so setting 10^8 instead of 10^9 is a little bit pessimistic. Without sufficient time or knowledge to check wether the sleep is actually usefull, I would have gone for 0.5*10^9 - 16 years maximum uptime and 16 years without upgrade of the starting script both seems unreasonable. A comment added would be a nice touch.

  • Reed (unregistered) in reply to Shizzle

    "There is no easy way to do "sleep for x seconds" other than to add x to the current time to determine the wakup time"

    huh?

    int main(int argc, char** argv) {
       time_t duration = (time_t) atol(argv[1]);
       time_t start = time(NULL);
       for(;;) {
         time_t now = time(NULL);
         if( (now - start) >= duration)
           return 0;
      }
    }


    I guess it's theoretically possible for the result of the subtraction to be somehow undefined or unexpected depending on the computer. And certainly duration is limited by the capacity of either long int (atol) or time_t (probably also a long int), whichever is smaller.

    [In reality though, the sleep(1) command just calls the sleep(3) function, or alarm(); pause();, not a busywait like that.]

    It's really a bug in the sleep command, it should probably return immediately and print an error if its argument is too big.


  • Ibiwan (unregistered) in reply to bcat
    Anonymous:
    JBL:
    Digitalbath:

    JBL:
    Anonymous:
    Got to love code that requires continued maintance

    Heck, if they upgrade the OS to 64-bit, then no problem.

    On the other hand, I'll be in my early 70's by then. I look forward to not receiving a Social Security check for a few years while the govt sorts it out on their 30-year-old servers.

    On the other other hand, that check will be worth about 85 cents anyway, yes?

    [and how long until someone manages to fit "none of us has a girlfriend anyway" in here?]

    Stop it you crazy sexist.  How dare you refer to women as "girlfriends."  That singles them out as compared to "boyfriends."  Please use "significant other" from now on, or I will stick our my lower lip and pout.

    </OverflowingSarcasm>


    As you wish.


    Don't you mean "I love you"?


    You keep on using that phrase... I do not think it means what you think it means...
  • fist (unregistered) in reply to 123
    Anonymous:
    Anonymous:

    <CTRL>I<CTRL>B<CTRL>U<CENTER><CTRL>V</CENTER><CTRL>U<CTRL>B<CTRL>I

    Arrrrrrrrrrrrggggggghhhhhh - I hate using FrontPage as an editor - sorry for the garbled gibberish

     



    sweet, a nested wtf

    i cant believe my "fist" post got taken down...like everybody else's post is more meaningful? pish
  • Reed (unregistered) in reply to Bob

    "Sound's like Oracles WTF to me..."

    A "startup" script run as a command that properly runs a daemon in the background, or properly tells it to quit, and then exits back to the shell is completely standard Unix procedure.   Fire and forget, and it runs correcly in the background as a daemon.  This WTF script that sleeps is a stupid hack that for some unimaginable reason intentially tries to defeat this procedure.

    Do they run this script at the server console or something?  Or just hope that their remote terminal never exits... ?    What if you want to remotely restart oracle -- if you keep using this script you end up with N of them all just sleeping...

  • dave (unregistered) in reply to Satanicpuppy

    "The number of seconds since 1/1/70? WTF?"

    Actually, there are two things us Windows guys don't understand.

    1)  You count in seconds?  WTF?

    2)  You use 32 bits for time?  WTF?

    Windows guys, at least of the NT persuasion, use a 64-bit count of the number of 100nS ticks since 1/1/1601.

    We don't have no steenkin' 2038 bug.


    capcha: genius
    "Why, thanks!"

  • (cs)

    I guess they want to be able to stop Oracle by killing the sleep process, for whatever reason... Maybe they hoped that this would cleanly shut down Oracle in case of a system shutdown, without a shutdown script that has to be installed by root.

  • (cs) in reply to Ibiwan
    Anonymous:
    Anonymous:
    JBL:
    Digitalbath:

    JBL:
    Anonymous:
    Got to love code that requires continued maintance


    [and how long until someone manages to fit "none of us has a girlfriend anyway" in here?]

    Please use "significant other" from now on, or I will stick our my lower lip and pout.

    </OverflowingSarcasm>


    As you wish.


    Don't you mean "I love you"?


    You keep on using that phrase... I do not think it means what you think it means...

    hmmm...

    Vizzini:
    You fool! You fell victim to one of the classic blunders! The most famous is never get involved in a land war in Asia, but only slightly less well-known is this: never go in against Paula when death is on the line!

  • (cs) in reply to Curious One
    Anonymous:

    I understand why rebooting would cause the overflow/shutdown, but how could this bug be the cause of the server going down to begin with, barring it last being down in the seventies? You aren't adding the current time to the sleep time except at script bootup.

     

    Easily : if the sleep command does something like this

     

    int sleep_end = get_time_in_seconds_since_epoch_start() + get_sleep_duration();

    while (get_time_in_seconds_since_epoch_start() < sleep_end) do_nothing();

     

    then it will easily crash... I think someone explained this earlier in the thread.

  • (cs) in reply to Arancaytar
    Arancaytar:
    And the Oracle is still sleeping to this very day, waiting for the end of time, when it will cleave the mountain and stride forth in glory, prophesying the apocalypse...


    Don't you mean... (and it sorrows me that nobody else has made this joke yet)...

    the EPOCHalypse?

  • (cs) in reply to Ged
    Anonymous:
    That reminds me of our Computer Science teatcher who was talking about character encodings, first mentioning the good old ASCII, then UTF-8 which apparently has all the characters we need to encode. And, he emphasized, enough to code all the Chinese and even Klingonese characters. And dudes and dudettes, he was freaking serious about the Klingons. He wasn't kidding, he was just totally out there. :D

    Except that Unicode doesn't actually have Klingon character set... Unicode folks rejected it because everyone who studies Klingon uses Latin characters anyway. It's in ConScript though. (http://www.evertype.com/standards/csur/klingon.html)

    And exactly for the same reason, I don't really care about Klingon letters in Unicode. But where's my frigging Tengwar?

  • lurker (unregistered) in reply to .*
    Anonymous:
    start oracle
    sleep 100000
    sleep 100000
    (repeat as needed)
    stop oracle



    Hey! 

    Would this fool Uatu?
    ~~~~~~~~~
    start oracle
    sleep 100000
    sleep 10000
    sleep 1000
    sleep 100
    sleep 10
    sleep 1
    stop oracle
    ~~~~~~~~~
    And last as long as possible? 
    (I know some programmer type could use an "var n--" loopey thing to make that more elegant, but I ain't no programmer.)

  • 109 (unregistered) in reply to uber1024

    Anonymous:
    Satanicpuppy:
    the next common datasize up from 32 is 64, and 64 will last 584,942,417,355 years, which should be enough for anyone.


    One of my clients is a huge block of carbon-14, so it's not okay to them.

    http://en.wikipedia.org/wiki/Carbon-14

    The half-life of carbon-14 is 5730 years.

  • (cs) in reply to OneFactor

    I think it's funny. Maybe no one else remembers Galactus.

    edit: I swear I quoted the Watcher post...

  • unedjamacated (unregistered) in reply to lucky luke
    lucky luke:
    I can see the conversation between two developers who made the "fix":

    Dev1: Man, this sleep command is overflowing and causing the shutdown to happen immediately
    Dev2: Why are we shutting down the database after a long time?
    Dev1: Dunno... must be some REASON for it... this was HIS* project...
    Dev2: Ok... just make the number smaller so it doesn't overflow then...
    Dev1: How long should I make it for?
    Dev2: Eh, just start shaving off zeros till it doesn't overflow...
    Dev1: Sweet! Only had to take off one!
    Dev2: Done and done. Check it in.


    * HIS: that one guy who thinks he's a genius... but was self taught, never went to school for it and thus has a lot of crap that ends up on this site.
    schooling != intelligence && schooling != practicality;
  • Michael Rutherfurd (unregistered) in reply to qqqqqq
    qqqqqq:

    Satanicpuppy:
    If you work with unix enough, you see plenty of epoch errors. I've met plenty of windows guys who don't even understand the reasoning behind it...."The number of seconds since 1/1/70? WTF?"

    On the other hand, the epoch stuff will be much easier to correct than the stupid y2k error, because the next common datasize up from 32 is 64, and 64 will last 584,942,417,355 years, which should be enough for anyone.

    I was around in the 60's when they said that none of this software will be running come 2000... We used to use 9/9/99 as a test-date for production transactions so we could trace problems that couldn't be reproduced in our test environments. Seemed like a good idea, until Sept 9, 1999 came up on us.

    Famous last words...

    We had a Java web front end to an old mainframe (cobol ims/db) system. When we added a new piece of functionality we struck an interesting variant of the same problem. We started to see occasional dates that were obviously corrupted in some fashion but there were no exceptions being generated even though the date being displayed was <FONT size=2>07/06/10007. Turns out that during the date conversion process java is lenient by default and was quite happy with a date of 99/99/9999...

     

     

    </FONT>
  • LaurieF (unregistered) in reply to dave

    Anonymous:
    "The number of seconds since 1/1/70? WTF?"

    Actually, there are two things us Windows guys don't understand.

    1)  You count in seconds?  WTF?

    2)  You use 32 bits for time?  WTF?

    Windows guys, at least of the NT persuasion, use a 64-bit count of the number of 100nS ticks since 1/1/1601.

    We don't have no steenkin' 2038 bug.

    So does that take account of the eleven days taken out of September 1752 or not?

  • (cs) in reply to lurker

    Actually, i don't see the point in the sleep there. But if it is required (for any reason unknown to me), i don't think it is intented to ever end. So why not using:

    while true; do sleep 1; done; 

    (more expert shell-magic also possible :)

  • Tim (unregistered) in reply to unedjamacated
    Anonymous:
    lucky luke:
    I can see the conversation between two developers who made the "fix":

    Dev1: Man, this sleep command is overflowing and causing the shutdown to happen immediately
    Dev2: Why are we shutting down the database after a long time?
    Dev1: Dunno... must be some REASON for it... this was HIS* project...
    Dev2: Ok... just make the number smaller so it doesn't overflow then...
    Dev1: How long should I make it for?
    Dev2: Eh, just start shaving off zeros till it doesn't overflow...
    Dev1: Sweet! Only had to take off one!
    Dev2: Done and done. Check it in.


    * HIS: that one guy who thinks he's a genius... but was self taught, never went to school for it and thus has a lot of crap that ends up on this site.
    schooling != intelligence && schooling != practicality;


    I would say that in general I would take a self taught programmer who has worked over the past 4 years over a fresh graduate, but after a few years a solid foundation learned over those years should allow the average schooled programmer to surpass her self taught counterpart.  A programmer with a 4-year degree and 6 years of experience is probably a better bet than one with 10 years of experience and no formal learning in the subject.
  • (cs) in reply to Bus Raker
    Bus Raker:

    Satanicpuppy:
    64 will last 584,942,417,355 years, which should be enough for anyone.

    Well we are at least 24000,000,000 years away from the 'Big Crunch', so 64 should do for now.  Any more and the scope could possibly be beyond this universe and our budget.

    http://en.wikipedia.org/wiki/Big_Crunch



    Sadly, there was an article in Time that explained why that's never going to happen, the universe needs to have a decreased acceleration over time for that to happen, and its having a positive acceleration.  So this will need to be updated long before the heat death of the universe in T-1.0e10^100 years from now.
  • silkio (unregistered) in reply to robymus
    robymus:

    Actually, i don't see the point in the sleep there. But if it is required (for any reason unknown to me), i don't think it is intented to ever end. So why not using:

    while true; do sleep 1; done; 

    (more expert shell-magic also possible :)



    :shakes head:
    that would mean this process is always running and taking cpu time.

    what he should've done is sleep -1 if the command supports it, or wait on some mutex/object that won't be released.

  • (cs) in reply to dave
    Anonymous:
    "The number of seconds since 1/1/70? WTF?"

    Actually, there are two things us Windows guys don't understand.

    1)  You count in seconds?  WTF?

    2)  You use 32 bits for time?  WTF?

    Windows guys, at least of the NT persuasion, use a 64-bit count of the number of 100nS ticks since 1/1/1601.

    We don't have no steenkin' 2038 bug.


    capcha: genius
    "Why, thanks!"




    The REAL WTF is that your happy being M$'s PlayThing(tm).
  • Anonymous (unregistered) in reply to dfhfdhoihsghjsrgij
    Anonymous:
    1) Start Oracle
    2) Sleep 10000000
    3) ????
    4) Profit!!

    Ha ha, good one!

  • (cs) in reply to Digitalbath
    Digitalbath:

    Stop it you crazy sexist.  How dare you refer to women as "girlfriends."  That singles them out as compared to "boyfriends."  Please use "significant other" from now on, or I will stick our my lower lip and pout.

    </OverflowingSarcasm>

    WTF? You want us to refer to women as "boyfriends?"

  • coz (unregistered) in reply to HA!

    because you would have to run other commands like "jobs'' ,"nice" , "fg", "bg"...and others to monitor and stuff....

    http://www.physics.utah.edu/~detar/lessons/basic_unix/basic_unix/basic_unix.html

    besides...don't you need the client to come back to you for "maintenance & updates" ?

    As a "Marketing Director" said once to me ..."It's easy to make new clients, it's harder to keep them..."...but in my head that sounded "It's easy to fool anybody, it's harder not to get caught for a long time..."...that's when "Re-branding,  Aggresive Advertising and Special Offers" kick in

    If I were the dev. responsable for that app, i would have written the "startup script" in Assembler, and compiled it with GCC...and if it overflowed...that would have been a problem. ;)

     

     

  • TheDoom (unregistered) in reply to coz

    Yanks eh? Given enough time etc...

  • home homine lupus est (unregistered) in reply to sao
    Anonymous:
    "The number of seconds since 1/1/70? WTF?"

    Actually, there are two things us Windows guys don't understand.

    1)  You count in seconds?  WTF?

    2)  You use 32 bits for time?  WTF?

    Windows guys, at least of the NT persuasion, use a 64-bit count of the number of 100nS ticks since 1/1/1601.


    I think this time as a big integer is handy. If you sould calculate 96 hours from a date its better to diff 2 unixtimes ( or 'nttimes' ) than implement all the complex and strange rules about dates, leap years, etc.
    Handy mean is usefull for quickanddirty code, but theres something out here better, doing this the long and painfull way.

    Why write quick and dirty code?, well.. simple code often have less errors. And know problems. While complex and convulated code as unknowm problems, and much hard to read, mantain or fix code.

    The sizeof 32 bits its because this is legacy from filesystems. And filesystems are designed to be fast and store lotsa data. Having metadata stored as smaller posible size seems a good idea. And 32 bits whas sound like a good idea for a filesystem on year (no idea), 2038 its like the future future, with space ship wars, fliing cars, dukenukem forever and windows vista service pack 2.

    Legacy its like that, ugly, old and boring. On windows you have lots of legacy from MS-DOS and Windows 3.   A monouser enviroment, and a graphical interface built on top of MS-DOS.  Single and small legacy problems are hard to repair and deep. 
    On Windows a file is locked if a app has open it. But this lock mean other app can open the file and corrupt it. Can't delete, but can corrupt. This lock mean Windows can't update itself, and need a restart to update files. This is because the MS-DOS legacy.

    etc.. sorry the long post, theres here people that know zimbillions more than me about any topic on this post so.. I feel retard writing this here :I

    --Tei

  • (cs) in reply to don

    don:
    I think it's funny. Maybe no one else remembers Galactus.

    edit: I swear I quoted the Watcher post...

    Galactus is one of my favourites! Even named a character Galactus on NannyMUD (as if that would interest anyone, WTF???).

  • (cs) in reply to sao

    sao:
    Anonymous:
    "The number of seconds since 1/1/70? WTF?"

    Actually, there are two things us Windows guys don't understand.

    1)  You count in seconds?  WTF?

    2)  You use 32 bits for time?  WTF?

    Windows guys, at least of the NT persuasion, use a 64-bit count of the number of 100nS ticks since 1/1/1601.

    We don't have no steenkin' 2038 bug.


    capcha: genius
    "Why, thanks!"




    The REAL WTF is that your happy being M$'s PlayThing(tm).

    His WHAT? His happy??? WTF??? So his happy is some PlayThing? WTF?!? (I'm trying hard NOT to get a picture of this 'happy' of his...)

  • Cope with IT (unregistered) in reply to Fromeo

    Anonymous:
    And, just for kicks (it took me a while to do this as I didn't have an easy arbitrary-precision calculator lying around...) it would mean that in order for 1 atom of Carbon-14 to be left at the end of that time, you'd have to start with 3.61*10^(307,050,059) atoms, which works out to about 8.40*10^(307,050,036) kg of Carbon-14.

    Well, no. Radioactive dacay is a random process. So you might run out of the tiny rest of that customer years before. Or the last customer atom might stay with you for thousands of years. You can't know in advance, well not considering contemporary knowledge of quantum mechanics.

    Anyway customers consisting only of C-14, I'd reject anyway. They're too active, radio active infact. Of course customers who lack carbon entirely, aren't fun to work with either.

  • Quick Stop (unregistered) in reply to HA!

    Anonymous:
    start oracle&

    ?

    The & is quite obviously not needed here.  If it were, the startup script would never have reached the "sleep" line unless someone manually shut down Oracle first.

    Yes, Oracle obviously keeps on running after the "start oracle" comand, but I guess the "start" command itself doesn't.  Conceivably the "start" is itself some kind of script, and there's a & somewhere in there already?

  • (cs) in reply to Quick Stop
    Anonymous:

    Anonymous:
    start oracle&

    ?

    The & is quite obviously not needed here.  If it were, the startup script would never have reached the "sleep" line unless someone manually shut down Oracle first.

    Yes, Oracle obviously keeps on running after the "start oracle" comand, but I guess the "start" command itself doesn't.  Conceivably the "start" is itself some kind of script, and there's a & somewhere in there already?



    Sounds like the "start oracle" command doesn't detach the oracle instance(s) it starts, and that the script stopping is bad mojo for the started instances.  Looks like a hacky kludge to me, generally speaking you'd use a proper startup script that did stuff like storing the pid of the process etc.  It's not like these are exactly unknown, googling "oracle startup script" will provide ample examples.  So, is this script actually part of Oracle itself (in which case it's a fairly massive WTF) or just some clueless supplier providing worthless support?

    So clue us in, oh Oracle gurus.  Does this come from ${ORACLE_ROOT}/bin/dbstart, or is it from elsewhere?

    Simon
  • FreeSpace (unregistered) in reply to rammadman

    CAPTCHA: chocobot
    that's me ffs!

  • (cs) in reply to tufty

    32bit time_t is a property of the C library, not operating system - Linux internally also uses 64 bits for times. BTW, sleep 1000000000 (bash internal) and /bin/sleep 1000000000 (GNU coreutils 5.94) seem to work just fine on my linux boxes.

  • WHO WANTS TO KNOW (unregistered) in reply to Satanicpuppy

    HECK, why don't they just make the number unsigned, to EASILY add 160 years????

    Steve

  • Foo (unregistered) in reply to GoatCheez
    Last time I checked, a fix solves a problem, not delays it, but what do I know...

    You obviously missed the Software Engineering class that taught: "You cannot fix problems only delay them." Otherwise how could you have any job security? These guys are just making sure they'll have another tech support call in the future.

Leave a comment on “The Harbinger of the Epoch ”

Log In or post as a guest

Replying to comment #:

« Return to Article