Corrupted TypeDef

I somehow got a corrupted TypeDef. I made a TypeDef of a system boolean control (although I suspect the control type I made a TypeDef of is irrelevant, but just this one got corrupted).
I placed a lot of these TypeDef-Controls on my FP. On the blockdiagram I created References for these controls. With "build-array" I created an array of these references. I connected the output from "build-array" to the Event-loop of my Producer/Consumer Design Pattern (Events) VI. I added the ValueChange-Events for all controls to one Event-Case (if there is an easier way than this, please let me know because I need a lot of controls, same goes for creating references for each control and building an array of these references, i use the order in which i added them to the build-array function). In this Event Case I connect the ctrlRef as the search element to "search 1D-array"-function and the reference-array to the array input of the "search 1D-array"-function. The "search 1D-array"-function never finds the ctrRef in the reference-array I build.
I found out that my TypeDef was corrupted by making a simplified VI from the Producer/Consumer Design Pattern (Events) and placing only two controls of the same kind in my VI but the rest exactly the same as described above. I also tested if a search 1D-array outside of the event-loop works, before the consumer and producer-loops start running. I found out that this always works, also in the case of my corrupted TypeDef. I started with two numeric digital controls and the search 1D-array worked inside and outside the event-loop. Also no problems with booleans, also no problems with system-booleans and i verified that mechanical action has also no influence on correctly comparing references. I made new TypeDefs to see if that caused any problems but also this did not reproduce my problem, even creating another TypeDef of the same system boolean control worked fine. Only when using my corrupted TypeDef the "search 1D-array" function always returns -1. I typecasted the ctrlRef I get inside the eventcase to U32 and this value differs from the one I read when I cast the corresponding reference of the control I evoked an event with, althoug control name and label.text are the same. Can I quickly select all my controls on the blockdiagram and replace them with a fresh TypeDef? All my controls on the frontpanel so that entails more work. Is there anyone who has an idea what could have corrupted my TypeDef or has anyone experienced something similar. Can I refresh or restore my corrupt Typedef perhaps? I tried replacing the control in my typedef but to no avail. Thanks in advance for your suggestions and answers and I apologize for my elaborate post. 

I read this: LabVIEW Artisan  but out of curiosity I typecasted the reference I received in the EventCase and the reference of the control directly to U32 (that is, the control that I would click on when running the VI to evoke the Event) and noticed that only in the case where the search 1D array function does not find the controlReference in the controlReferenceArray these two U32 numbers differ but even though, if the compare function does not compare the numeric values of the refnums but the objects they refer to I conclude that the two references refer to different objects and the reference I get in the EventCase is not refering to an object who's reference is in the controlReferenceArray. As I mentioned, I also checked Control Name and Label.Text, these both correspond to the control that dispatched the Event. How does the Equals function compare references exactly? I could only find that it compares if two references refer to the same objects, but how exactly, is there another property I can read to see what exactly goes wrong here? I need to replace the damaged Typedef I guess but I don't understand the reason why it got damaged in the first place.

Similar Messages

  • Binary Values unreadable - Database corrupt?

    Hi,
    I'm experiencing a really weird problem here, I have a table with some varchar columns and two binary columns. What I do now, is to select data from it via Python with the following select statement:
    select * from torder where customerid=1624 order by torderid desc
    What happens is, that only for this customerid some binary data is missing, they contain an empty string. If I do the select like this:
    select * from torder where customerid=1624 order by torderid
    It does work, the data is there. With this, it works too:
    select * from torder order by torderid desc
    So it seems, the combination of "customerid=1624" and "desc" somehow corrupts the results.
    What's furthermore interesting is, that when I delete the last inserted row of the result, it works, and if I add a new one, it's broken again.
    I could not check if the error is Python-related or not, as I found no way to retrieve/display the binary data in sqlcli, as it displays only something like 0x8002637A6F70652E6931 , but I doubt that this has something to do with Python.
    Any clues of how to fix this?
    My database version is Kernel    7.6.06   Build 003-121-202-135 | X32/LINUX 7.6.06   Build 003-121-20
    2-135
    Previously, I had 7.6.03 and updated it to the above version, hoping that this would fix the problem, but it did not.
    Best Regards,
    Hermann Himmelbauer

    Ok, first many thanks for your quick reply. I did not answer at first as the problem magically went away. But unfortunately the problem is back today.
    <p/>
    The DDL statements look the following, there are no indexes on the table:
    <p/>
    <pre>
    CREATE TABLE torder (
            torderid INTEGER NOT NULL DEFAULT SERIAL,
            creation_date TIMESTAMP,
            transfer_date TIMESTAMP,
            signed_date TIMESTAMP,
            signed_with VARCHAR(3) CHECK (signed_with in ('TAN', 'BKU', 'MAN') OR signed_with IS NULL),
            revocation_date TIMESTAMP,
            done_date TIMESTAMP,
            formdata LONG BYTE NOT NULL,
            trans_function VARCHAR(30) NOT NULL CHECK (trans_function in ('do_bank_transfer', 'do_bank_collection',
                                    'do_cheque_transfer', 'do_cash', 'do_cashdraw')),
            trans_type VARCHAR(30) NOT NULL CHECK (trans_type in ('national','sepa','international')),
            applet_location VARCHAR(35),
            errors_text VARCHAR(100),
            errors LONG BYTE,
            customerid INTEGER,
            dbuserid INTEGER,
            torder_periodicid INTEGER,
            PRIMARY KEY (torderid),
             FOREIGN KEY(customerid) REFERENCES kunde (kundeid),
             FOREIGN KEY(dbuserid) REFERENCES dbuser (dbuserid),
             FOREIGN KEY(torder_periodicid) REFERENCES torder_periodic (torder_periodicid)
    </pre>
    <p/>
    The insert statements look the following (They are copied out of the SQLAlchemy SQL log), one can see that the binary values are inserted here:
    <p/>
    <pre>
    INFO:sqlalchemy.engine.base.Engine.0x...d110:INSERT INTO torder (creation_date, transfer_date, signed_date, si
    gned_with, revocation_date, done_date, formdata, trans_function, trans_type, applet_location, errors_text, err
    ors, customerid, dbuserid, torder_periodicid) VALUES (now(), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
    INFO:sqlalchemy.engine.base.Engine.0x...d110:['20091027113506345604', None, None, None, None, '\x80\x02}q\x01(
    U\x0bcharges_forq\x02U\x04bothq\x03U\x05dcodeq\x04U\x0588888q\x05U\x0ccurrency_isoq\x06U\x03EURq\x07U\x06valut
    aq\x08K\x00U\x11foreign_acc_name1q\tU\x11Foreign Account 2q\nU\x0cacc_payer_noq\x0bX\t\x00\x00\x00999111110q\x
    0cU\ttextlinesq\r]q\x0e(U\x0c1st transferq\x0fU\tMultilineq\x10U\x0bFor testingq\x11eU\x06amountq\x12cdecimal\
    nDecimal\nq\x13U\x071000.00\x85Rq\x14U\x0cacc_benef_noq\x15X\t\x00\x00\x00888111110q\x16U\x11foreign_acc_name2
    q\x17U\x0bfor Testingq\x18u.', 'do_bank_transfer', 'national', 'url:test_transfer', None, None, None, None, No
    ne]
    </pre>
    <p/>
    All rows are inserted with binary data, so it's never NULL and it's also never set to an empty string ('').
    <p/>
    But when reading back the rows, some binary values are an empty string.
    <p/>
    The following Python code illustrates the problem:
    <pre>
    import sapdb.dbapi
    def true_false_result(result):
        if result:
            return 'Bug begins'
        else:
            return 'Bug ends'
    def check_bincols(bdb, sqlcmd):
        print "----
        print "QUERY: %s" % sqlcmd
        print "----
        bdbc = bdb.cursor()
        bdbe = bdbc.execute(sqlcmd)
        bug_occured = False
        stored_bin_result = False
        while 1:
            row = bdbe.fetchone()
            if row is None:
                break
    Now check if the binary data results to an empty string,
    This should never happen (= the database bug)
            bin_result = (row[7]() == '')
            if bin_result != stored_bin_result:
                bug_occured = True
                print "Toggle to %s at torderid %s" % (
                    true_false_result(bin_result),
                    row[0])
                stored_bin_result = bin_result
        if not bug_occured:
            print "No Bug for this query"
        bdbe.close()
        bdbc.close()
    #bdb.close()
    if __name__ == '__main__':
        bdb = sapdb.dbapi.connect('USER', 'PASS', 'DBNAME', 'LOCALHOST')
    First try the original query, which results in a bug
        sqlcmd = 'select * from torder where customerid=1624 order by torderid desc'
        check_bincols(bdb, sqlcmd)
    This query normally is bugfree
        sqlcmd = 'select * from torder where customerid=1624 order by torderid'
        check_bincols(bdb, sqlcmd)
    This query has a bug, too
        sqlcmd = 'select * from torder order by torderid desc'
        check_bincols(bdb, sqlcmd)
    But this one not
        sqlcmd = 'select * from torder order by torderid'
        check_bincols(bdb, sqlcmd)
    This triggers the bug, too, which is curious as there's practically no ordering
        sqlcmd = 'select * from torder where customerid=1624 order by customerid desc'
        check_bincols(bdb, sqlcmd)
    So, it seems that the bug occurs only when using "DESC" for descending
    ordering.
    </pre>
    <p/>
    The output of this program is:
    <p/>
    <pre>
    QUERY: select * from torder where customerid=1624 order by torderid desc
    Toggle to Bug begins at torderid 1355
    Toggle to Bug ends at torderid 582
    QUERY: select * from torder where customerid=1624 order by torderid
    No Bug for this query
    QUERY: select * from torder order by torderid desc
    No Bug for this query
    QUERY: select * from torder order by torderid
    No Bug for this query
    QUERY: select * from torder where customerid=1624 order by customerid desc
    Toggle to Bug begins at torderid 1355
    Toggle to Bug ends at torderid 582
    </pre>
    <p/>
    So, it can be seen that the problem occurs ONLY when using descending ordering. Moreover it's interesting that the result for "select * from torder order by torderid desc" is sometimes buggy, sometimes not, which seems to be related if someone inserted some more rows or not. What's furthermore interesting is the last query, as there the order is applied to "customerid", which is the very same for every row, so there is no ordering and the bug occurs here, too.
    <p/>
    All this happens on my production instance. I have a testing environment, where I imported the very same data set (same database version etc.) and there is no such problem (for now), so it's quite complicated to nail down the problem further as I cannot easily disrupt the availability of the production instance.
    <p/>
    All I could do for now is not to use the "DESC" command and reorder the data in my application, but that is really suboptimal as I have to keep all results in memory.
    <p/>
    Any help is really appreciated!
    <p/>
    Best Regards,<BR>
    Hermann Himmelbauer
    <p>
    Update: I tried the same query with the following code with C++ / SQLDBC (I modified one of the SQLDBC examples):
    <p>
    <pre>
    First you have to include SQLDBC.h
    #include "SQLDBC.h"
    #include <stdio.h>
    typedef struct ConnectArgsT {
        char * username;
        char * password;
        char * dbname;
        char * host;
    } ConnectArgsT;
    static void parseArgs (ConnectArgsT * connectArgs, int argc, char **argv);
    using namespace SQLDBC;
    Let start your program with a main function
    int main(int argc, char *argv[])
       ConnectArgsT connectArgs;
       parseArgs (&connectArgs, argc, argv);
       char errorText[200];
    Every application has to initialize the SQLDBC library by getting a
    reference to the ClientRuntime and calling the SQLDBC_Environment constructor.
       SQLDBC_IRuntime *runtime;
       runtime = SQLDBC::GetClientRuntime(errorText, sizeof(errorText));
       if (!runtime) {
         fprintf(stderr, "Getting instance of the ClientRuntime failed %s", errorText);
         return (1);
       SQLDBC_Environment env(runtime);
    Create a new connection object and open a session to the database.
       SQLDBC_Connection *conn = env.createConnection();
       SQLDBC_Retcode rc;
       rc = conn->connect(connectArgs.host, connectArgs.dbname,
                          connectArgs.username, connectArgs.password);
       if(SQLDBC_OK != rc) {
         fprintf(stderr, "Connecting to the database failed %s", conn->error().getErrorText());
         return (1);
       printf("Sucessfull connected to %s as user %s\n",
              connectArgs.dbname, connectArgs.username);
    Create a new statment object and execute it.
       SQLDBC_Statement *stmt = conn->createStatement();
       rc = stmt->execute("select * from torder where customerid=1624 order by torderid desc");
       if(SQLDBC_OK != rc) {
         fprintf(stderr, "Execution failed %s", stmt->error().getErrorText());
         return (1);
    Check if the SQL command return a resultset and get a result set object.
       SQLDBC_ResultSet *result;
       result = stmt->getResultSet();
       if(!result) {
         fprintf(stderr, "SQL command doesn't return a result set %s", stmt->error().getErrorText());
         return (1);
    Position the curors within the resultset by doing a fetch next call.
       while (1) {
         rc = result->next();
         if(SQLDBC_OK != rc) {
           break;
           //fprintf(stderr, "Error fetching data %s", stmt->error().getErrorText());
           //return (1);
         char szString[30];
         char szString1[3000];
         SQLDBC_Length ind;
    Get a string value from the column.
         rc = result->getObject(1, SQLDBC_HOSTTYPE_ASCII, szString, &ind, sizeof(szString));
         if(SQLDBC_OK != rc) {
           fprintf(stderr, "Error getObject %s", stmt->error().getErrorText());
           return (1);
         rc = result->getObject(8, SQLDBC_HOSTTYPE_ASCII, szString1, &ind, sizeof(szString1));
         if(SQLDBC_OK != rc) {
           fprintf(stderr, "Error getObject %s", stmt->error().getErrorText());
           return (1);
         printf("%s %s\n", szString, szString1);
    Finish your program with a returncode.
       return 0;
    static void parseArgs (ConnectArgsT * connectArgs, int argc, char **argv)
    setting defaults for demo database
        connectArgs->username = (char*)"USER";
        connectArgs->password = (char*)"PASS";
        connectArgs->dbname = (char*)"MYDB";
        connectArgs->host = (char*)"localhost";
    use values from command line
        if (argc > 4) {
            connectArgs->host = argv [4];
        if (argc > 3) {
            connectArgs->dbname = argv [3];
        if (argc > 2) {
            connectArgs->password = argv [2];
        if (argc > 1) {
            connectArgs->username = argv [1];
    </pre>
    <p/>
    This works!! So it seems, that the problem is related to the Python module, which is interesting, as adding "DESC" should not be any difference to it. I personally suspect that there are some memory leaks in the code, which result in this strange behavior.
    <p/>
    Any suggestions?<p/>
    Best Regards<br>
    Hermann Himmelbauer
    Edited by: Hermann Himmelbauer on Oct 28, 2009 12:51 PM
    Edited by: Hermann Himmelbauer on Oct 28, 2009 12:55 PM

  • Renaming typedef file caused constants reset

    Hello!
    Here's a short description of the problem I encountered:
    I renamed the filename of the typedef that was used in my state machine for state coding (see for example State Machine template shipped with LV). As result I lost values of ALL constants that coded states in my state machine, i.e. they were reset to value of the first value in state enum.
    Note: when opening state machine that used the typedef
    I got the message something like "VI was changed in memory. Reload from disk or view from the memory?". And 2 buttons: View and Discard. I clicked "View".
    Then after restoring all constants manually, I saved my work to archive and tried to rename typedef file again, the result was the same - all constants reset to first value of enum.
    I restored files from archive, again renamed typedef file,
    then closed my app WITHOUT saving state machine that used typedef. After opening my program I got the message "Searching for my typedef", pressed "Browse..." and loaded typedef from renamed file. Constants were left without any change (uh-r-r-a!).
    Before posting this message to forum I tried to make an example to show the problem, but o-o-ps I failed to do it.
    It didn't repeat even with my program.
    This post can't be considered as bug report, as I can't repeat the problem. But I think the problem exists as I lost values of all constants after renaming typedef file, and this is the fact.
    So my advice (that old as the world) to everybody is to save work even when innocent actions are made such as renaming typedef file names.
    Probably somebody encountered this problem and knows how to repeat it.
    Thanks for attention.
    Any comments appreciated.
    Rashid.
    Using LV 8.0 (LV Run Time Engine 8.0.1) on Win XP with Russian locale, all VIs used in my programs have names in cyrillic sometimes mixed with english letters, e.g. "russian name (typedef).ctl".

    Hello, Charlie,
    I can say absolutely sure that I always used LabView to rename my typedef file. I never use Windows Explorer to rename typedef files (or any other LV files) in my practice.
    Besides, when the values of my constants were reset there wasn't any broken wires. The block diagram wasn't corrupted. Everything was fine except default values of my constants. Due to that I noticed this error a little later - after renaming typedef file I ran my program and couldn't understand why it fails to act as should. When debugging this problem I went down to my state machine and only then I saw that all my state constants are reset to default values.
    I never used "Substitute copy for original". I used only
    "Rename" when renaming my typedef file.
    I didn't add any items to my typedef. The only things I did are:
    - renaming my typedef enum label in the *.ctl file;
    - and "Save as.." -> "Rename..." - renaming my typedef file.
    Besides, when I did try renaming 2nd time to reproduce such behaviour: I left typedef enum label without change and the behaviour was the same.
    So, such behaviour (loosing constant values) I get TWO times.
    But after I worked around this (see 1st post) I couldn't already reproduce this behaviour.
    If I'll succeed in this one more time again, and be able to reproduce this behaviour, I'll certainly post to you my steps.
    Thanks for attention.
    Rashid.
    P.S.
    1. As to broken wires if I get it right - in your case you added new items to typedef but your case structure in state machine was not updated to contain new states handlers. If so, then it's obvious why you got broken wires. But as I didn't change the typedef itself (only renamed it), I didn't get broken wires.
    2. I wouldn't be surprised if I'd have done something in the weird way: I mean renaming by Explorer or saving, closing and so on. I was doing everything from the LabView environment. As far as I remember I didn't rename the state machine vi file at that, only typedef file. And my state machine was always opened. The only file I was opening/renaming/closing was typedef file. And as far as I remember I opened it by "File -> Open..." and not right-clicking at constant and "Open TypeDef..".
    3. I understand that my description is foggy :-) and that it's difficult to find this weird set of steps, but who knows. Anyway I appreciate your help.Message Edited by Rashid on 06-13-2006 12:03 PM

  • Run-Time Check Failure #2 - Stack around the variable was corrupted.

     I had checked on net as well as on social msdn site for this kind of error. Usually error is due to writing out of index. I tried to figure out same mistake in below mentioned code but I failed to do so. I am using Visual Studio 2010 for compilation
    on Windows 7 (64 bit) machine. I am getting following error "Run-Time Check Failure #2 - Stack around the variable 'lcPacketPrefix' was corrupted."
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define TRUE 1
    #define FALSE 0
    #define BYTE unsigned char
    typedef struct {
    int i;
    double e;
    long t;
    char ar[45];
    }Sample;
    bool getMCXBuffPrefix(char * lpSource,char* Destination, int piSourceLen)
    char lcPacketLen[10];
    char lcPacketPrefix[5];
    try
    memset(lcPacketLen,'0',sizeof(lcPacketLen));
    memset(lcPacketPrefix,'0',sizeof(lcPacketPrefix));
    _itoa(piSourceLen,lcPacketLen,10);
    strcpy_s(lcPacketPrefix+(sizeof(lcPacketPrefix)-strlen(lcPacketLen)),sizeof(lcPacketPrefix),lcPacketLen);
    //To Prefix Length in send Packet
    memcpy(Destination,lcPacketPrefix,5);
    memcpy(Destination+5,(char*)lpSource,piSourceLen);
    catch(...)
    printf("In Catch: While Prefixing MCX Buffer.\n");
    return FALSE;
    return TRUE;
    int main(int argc, char *argv[])
    BYTE* lcCompData = (BYTE*) malloc (1024);
    BYTE* gpcSendSource = (BYTE*) malloc (1024);
    Sample sample_t;
    memset((BYTE*)gpcSendSource,'0',1024);
    memset(&sample_t, '\0', sizeof(Sample));
    memcpy(gpcSendSource, &sample_t, sizeof(Sample));
    bool lbPrefixed = getMCXBuffPrefix((char*)gpcSendSource,(char*)lcCompData,sizeof(Sample));
    return 0;
    Little guidance will be helpful.

     I had checked on net as well as on social msdn site for this kind of error. Usually error is due to writing out of index.
    As it is in your code.
           strcpy_s(lcPacketPrefix+(sizeof(lcPacketPrefix)-strlen(lcPacketLen)),sizeof(lcPacketPrefix),lcPacketLen);
    You're saying that the size of the buffer is greater than it is
    because you're offsetting the start pointer.
    If you'd more correctly written the code like this:
      size_t offset = (sizeof(lcPacketPrefix) - strlen(lcPacketLen));
    strcpy_s(lcPacketPrefix+offset,sizeof(lcPacketPrefix)-offset,lcPacketLen);
    You'd have got a run-time error in the debug version of your code.
    However that's not what you want. Try something like this instead:
      size_t offset = (sizeof(lcPacketPrefix) - strlen(lcPacketLen));
      strncpy(lcPacketPrefix + offset, lcPacketLen, strlen(lcPacketLen) );
    But most importantly, understand what you'd done wrong and learn from
    it.
    Dave

  • List view in iCal on my iPod touch is corrupted

    The 'list view' seems to be all wonky in Calendar on my iPod touch.
    The dates for a given day that's displayed don't make sense:
    i.e. Sunday Oct. 27 2030 followed by Saturday July 14 2001 followed by Tuesday Jan. 16 2001 are listed in consecutive order instead of today, tomorrow and next day (with correct dates).
    Also, the 'events' given for each day listed don't make sense and are often duplicated.
    The 'day' and 'month' views however, seem to be ok and not corrupted. The 'list' field in the month view also seems fine ?
    Has anybody experienced this ? Very frustrating, since I like the list view.
    I make most of my entries/changes to iCal on our main desktop (iMac 24") then sync. to my iPod. The list view seems ok on the desktop.
    Any help greatly appreciated.
    ps. not sure if the problem corresponded with an upgrade of the Ipod software to OS 3.1 from 2.x....

    See this previous discussion:
    FIX for iPod Touch Home Button: Apple Support Communities

  • Download error in (osx) adobe desktop app (corrupted download link).

    Here is a discription of the problem. Please consider that some of the wording might not be correct, as I do have to translate the error message from German into English.
    Using OSX 10.9.2, when clicking inside the adobe desktop app (top of the screen bar) on the tap "apps", the following screen (screenshot) appears, which states, translated from top to bottom:
    download error
    download error. Please contact support.
    (link) contact support
    (link/button) download creative cloud -> This button unfortunatly leads to the following error page "http://www.adobe.com/special/errorpages/404.html"
    All apps, like Bridge, Photoshop, Lightroom, etc. are installed and work just fine. So no problem here. I seem however unable to redownload the desktop app (in order to reinstall). As stated above the provided link inside the desktop app itself is coruppted and within the (online) web-based download centre (user logged in) I am only adviced to use the desktop app. This is a dead end and I do not know what to make of this error, let alone solving it. Please help!

    I am sorry Romsinha but this doesn't really help.
    I already restarted the desktop app and while I am obviously online and connected the problem (error message) remains the same. Information within the "home" tap is recieved/loaded  (little blue spinning wheel) stating that various apps recently have been updated. Yet the same loading wheel within the "apps" tap results in an error. My best guess is that some internal link within the app is corrupted, leading to a source on a server that can not be reached.
    UPDATE
    I clean uninstalled adobe creative cloud as discribed in the article you provided (using the cleaner tool) and even uninstalled the browser plugin. After downloading and reinstalling creative cloud the problem however remains the same. "Apps" tap still shows the same problem. "Home" tap now displays the following:

  • Help, itunes wont open and saying it is corrupt

    HELP! I just went to open my itunes and it is coming up with error message saying it is corrupt. It is asking me to reinstall it. If I reinstall it, will I loose all of my music?
    Please be aware I am useless with computers especially our mac that we have had for 3 years now !

    indi4 wrote:
    If I reinstall it, will I loose all of my music?
    no !
    click here and follow the instructions. *read the article to the end !*
    edited by the Jolly Green Giant (where Green stands for environmentally friendly)

  • Questions on Logical corruption

    Hello all,
    My DB version is 10g+ - 11.2.0.3 on various different OS.  We are in process of deploying RMAN on our system and i am having a hard time on testing/get a grip around the whole logical corruption... from what i understand(please correct me if i am wrong)
    1. I can have a check logical syntax in my backup cmd(and that will check both physical and logical corruption)...But how much overhead dose it have, Seems to be anywhere from 14-20% overhead on backup time. 
    2. Leaving the maxCorrupt to default(which i beleive is 0)...if there is a physical corruption my backup will break and i should get an email/alert saying backup broke...
    3.  Would this be same for logical corruption too ??, would RMAN report logical corrution right away like physical corruption would do?  Or do i have to query v$database_block_corruption after backup is done to figure out if i have logical corruption
    4. how would one test logical corruption ?? (besides the NO_LOGGING operation, as our DB have force logging turned on)
    5. Is it a good practice to have check logical corruption in your daily backup? ( i guess i have no problems for it if DB are small, but some of our DB are close to 50TB+ and i think the check logical is going to increase the backup time significantly)
    6. If RMAN cannot repair logical corruption, then why would i want to do the check logical (besides knowing i have a problem and the end user have to fix it by reload the data...assuming its a table not index that is corrupt)..
    7. any best practices when it comes for checking logical corruption for DB in 50+ TB
    I have actually searched on here and on google, but i could not find any way to reproducing logical corrpution(maybe there is none), but i wanted to ask the community about it....
    Thank you in advance for your time. 

    General info:
    http://www.oracle.com/technetwork/database/focus-areas/availability/maa-datacorruption-bestpractices-396464.pdf
    You might want to google "fractured block" for information about it without RMAN.  You can simulate that by writing a C program to flip some bits, although technically that would be physical corruption.  Also see Dealing with Oracle Database Block Corruption in 11g | The Oracle Instructor
    One way to simulate is to use nologging operations and then try to recover (this is why force logging is used, so google corruption force logging).  Here's an example: Block corruption after RMAN restore and recovery !!! | Practical Oracl Hey, no simulate, that's for realz!
    Somewhere in the recovery docs it explains... aw, I lost my train of thought, you might get better answers with shorter questions, or one question per thread, for this kind of fora.  Oh yeah, somewhere in the docs it explains that RMAN doesn't report the error right away, because later in the recovery stream it may decide the block is newly formatted and there wasn't really a problem.
    This really is dependent on how much data is changing and how.  If you do many nologging operations or run complicated standby, you can run into this more.  There's a trade-off between verifying everything and backup windows, site requirements control everything.  That said, I've found only paranoid DBA's check enough, IT managers often say "that will never happen."  Actually, even paranoid DBA's don't check enough, the vagaries of manual labor and flaky equipment can overshadow anything.

  • You click on a .pdf file; Firefox won't load and says "not a pdf or corrupted," but all other browsers open it normally

    Clicking on a link to a .pdf file in Firefox results in Firefox displaying the box "Format error: not a .pdf or corrupted"
    This has happened for several years with any number of web pages. A link to the latest event is below, but it typically happens almost every time I click on a link to a .pdf

    Upgrade your browser to Firefox 9 and check
    * getfirefox.com

  • I downloaded mountain lion and then the new office suite (word, ppt, excel) but now when I try to display one of my ppt's it says 'ppt cannot open the file...the file may be corrupt, in use, not a type recognized by ppt etc.." how can I fix it?? HELP

    I downloaded mountain lion and then the new office suite (word, ppt, excel) but now when I try to display one of my ppt's it says 'ppt cannot open the file...the file may be corrupt, in use, not a type recognized by ppt etc.." how can I fix it?? HELP

    Did you try to open teh fle by double-clicking its icon? If the file was made with an older version of Office, you may get that message. Try opeing PP and, from its "File" menu, see if you can open the ppt. I've foundthat often gets around that message and then yo ucan save the file from the newer version.
    If that doesn't work, consider asking in the Microsoft Office: Mac forums here:
    Office for Mac forums
    PowerPoint is not an Apple product and it seems a lot of people around here avoid Office.

  • How can I replace just the corrupt page(s) in the domain file of iWeb using Time Machine?

    I back up with Time Machine and have an extensive elaborate website I created in iWeb '09 over a couple months and publish to a local folder and then upload to my server, but in the last few days I notice certain pages (that I haven't even worked on or touched) somehow become corrupted or "cross-contaminated" with elements and images from other pages.  Once I see they are corrupt I make sure not to publish them (if the current published versions are the correct, non-corrupt versions) or if they did get published I can use Time Machine to retrieve the .html file and page files folder for that specific page and replace it in my published folder/server so it shows correctly on the Web.  However, that does not replace the corrupted page(s) you see and work with when you launch iWeb and try to edit or continue working on that page.
    I am confused as to how I go to the package contents of the domain file and replace just that page with a previous version from time machine.  I don't want to replace the entire domain file because I have new changes I made to other pages even in the past hours.  How can I keep the good pages and just get earlier, non-corrupted versions of the corrupt page(s)? I know it's not as easy as with the published site folder where you can just replace the page's .html file and folder, but I don't want to have to re-create the corrupted page(s) from scratch or have to replace it with the last non-corrupted domain file and then have to redo all my recent changes to new pages I made before discovering the corrupt page(s).  Thanks for your help as now I can't make changes to the page(s) within iWeb itself.

    Thanks for the response, Wyodor.  I don't know what that is, but I'll have a look.  Is it an alternative to iWeb or a way to transfer pre-existing iWeb sites?  When you say merge domain files, is that like so multiple copies of the same site show up then you can pick and choose the non-corrupted pages and group them then delete the corrupted ones?  I am on Snow Leopard with no plans or need to upgrade anytime soon.
    And yes, I will read your links but just wanted to ask those questions.  Maybe they'll answer my questions, maybe not.
    I was able to discern that within the domain file is a domain folder with all the site folders, each with their own page ".gz" files which expand into ".xml" files.  I was trying to figure out if you could simply drag the corrupt pages out that way and replace them with backup copies that are still good.  I am having trouble discerning which pages are which as they all have random names like site-page-30F175E3-AE33-4F10-A490-1A096D9B185B.xml and although I expanded and opened each in Text Wrangler, I still couldn't discern which were which for sure, and trial and error proved cumbersome.  Also, I did notice some of the later corrupted domain files had one or two more pages than the site itself has, so not sure how they got added or duplicated or what.
    Again, I'll look at your links, but do you know about swapping out individual page .xml files this way within the domain file?

  • [CS5.5] Recovering a "corrupted" link

    Hi,
    I recently opened a document, and observed this in my Links panel :
    In my document, I have three picture frames. Two of them are "corrupted" : in the link panel, there is no little preview at the left of the link name (the second and the third in my screenshot). The first one is well-formed and behaves correctly.
    The problem is when I drop a new picture in the frames with corrupted links :
    Here, I have dropped a new picture in the frame associated with the link "109325315.lay". The picture in the frame is left unchanged (is there a problem with low def preview ?), and the old link is preserved. When I click on that frame, the old link and the new link are highlighted in the Links panel.
    I tried, via the SDK, various ideas :
    * delete the link before the drop (ILinkFacade::DeleteLinks)
    * delete the resource before the drop (ILinkFacade::DeleteResources)
    * Relink the link during the drop (ILinkFacade::RelinkLink)
    * Reinit the resource during the drop (ILinkFacade::ReinitResource)
    * Reattach the link during the drop (ILinkFacade->AttachLink)
    * Update the link after reinit the resource or after relink the link (ILinkFacade::UpdateLink)
    It seems the resource is valid, because the contained URI is correct.
    In all these cases, I can't get the situation back to a normal one. It looks like there is someting wrong in the link or in the resource, but I can't see what.
    Has anyone an idea of what I could investigate further to get more informations and help me in my debug ?
    Thanks
    Rémi
    Edit : What is responsible for mapping between source object (here the picture frame) and the link ? I can't see any reference in the lin or in the resource to the source object. Maybe this mapping is broken ?

    Try using a Forum search or a Google search - 'Using Adobe Dynamic Link with After Effects requires Adobe Production Premium' was quite common error. Deactivating and reactivating the Suite resolved the issue in most cases.

  • Itunes, ID3 tags, & hard drive corruption

    My wife is having a strange problem with her iMac, and it’s got me a bit mystified. I’m hoping someone here can shed some light on what might be going on. I apologize in advance for the long post.
    The problem is that when she plays some songs in iTunes, and entirely different (wrong) song plays instead. Most songs play fine, but some just play entirely different songs (or sections of a song or podcast). All of the tracks are MP3 (either 192 kbps or 256 kbps) and almost all of them were encoded using Windows Media Player on an XP machine. Initially, I copied the music over from an NTFS drive to a newly formatted (Mac OS/HFS+) drive on the Mac, then I ran iTunes and created the library. At that point, everything seemed fine. All the meta data (song title, album title, artist, album artist, genre, album art) showed up in iTunes, and everything played correctly.
    Now we’re getting this weird behavior where we play some songs and get the wrong music. At first I thought the iTunes library files (ITL and/or XML) had been corrupted, but it seems on closer inspection that the entire hard drive has been corrupted. When I look at the files on Mac hard drive via the Finder, all seems ok – the directory structure is intact, the file names and sizes are all correct, and a Get Info on any MP3 file shows that the ID3 data is all there and seems accurate. This is true even for the songs that play wrong, but if I play one of those songs using the little mini player in the Get Info dialog, the wrong song plays (the same wrong song as in iTunes). So now I’m getting the behavior straight off the drive, with iTunes closed and the iTunes library completely out of the equation.
    Some other interesting clues/evidence:
    * This has happened before. When her first hard drive got corrupted (in the same way), I was mystified but chalked it up as a bad hard drive and got her a new one. Then we started over with a clean HFS+ formatted drive and clean music files and built a new iTunes library. And now the same thing has happened again. So I don’t think it’s just a bad hard drive.
    * It seems to be progressive. That is, everything was fine in the beginning, but over time more and more files get messed up. We know this because we have a backup that’s about a month old on which we can locate files that are fine (on the backup) but that are messed up on her connected day-to-day drive. So it seems like some activity on the drive is causing problems that are growing over time.
    * There is some weird meta data (ID3) behavior. I copied a few hundred MP3 files from the Mac drive back to the PC (over our home network) and looked at them in the Windows Explorer. The first thing I saw was that the same (wrong) music played for the bad tracks as had on the Mac. And I also saw that a lot of ID3 tags were not showing on the Windows side. Lots of tracks have no ID3 data (album, artist, genre, etc. is missing) when I look at them on the PC. There are many albums where tags show up correctly for some of the tracks but not for others. In fact, the number of files where the ID3 tags aren’t visible on the PC far exceeds the number of songs that play incorrectly on the Mac. When I look back on the Mac at the songs that have no ID3 data on the PC and do a Get Info, I see the ID3 data.
    * Often, though I can’t say always for sure, the wrong music that plays on the Mac is stuff that has been recently added. Either podcasts or music that my wife has added since the initial library was established.
    My best guess (though still full of holes):
    Something is confusing the Mac OS into writing on top of occupied space on the hard drive or into mapping files incorrectly in the drive’s allocation table, and chaos results. The Mac doesn’t think anything is wrong, and it shows everything as being clean in the Finder. So I started thinking about the kind of reads & writes my wife is doing on that drive. She rips new CDs to add to the library, she downloads new Podcasts and deletes old ones, and she changes ID3 tags.
    I’m focusing on the changing ID3 tag activity. My wife doesn’t like the way I tag genre. I like big broad categories, an she likes smaller, more specific categories. So she has gone through the initial library of 42K+ songs and changed the genre on thousands of songs. She’s change some from Pop to Power Pop or from Pop to Indie Pop or from Rock to Indie Rock, etc. Both WMP (where the tags were created) and iTunes support ID3v2.3, and so these two programs ought to be able to change tags in a totally interchangeable and safe way. But what if iTunes writes its new genre tags in a way that’s slightly different from WMP? Could iTunes be writing to memory/disk locations that are outside the boundaries of the file and thus creating some kind of buffer overrun?
    It really doesn’t make a lot of sense, but it does tie back to the evidence that this has something to do with meta data, gets worse over time, happened on more than one disk, and seems to be a file allocation table issue.
    Even if I get to the bottom of this, I think my wife’s HD is toast for sure. Here’s what I think I will do: I’ll reformat the drive, re-copy the music over from the PC, and build a new iTunes library. Then, first thing, I’ll open iTunes, select all the songs in the new library, and run “Convert ID3 Tags” to ID3v2.4. If that works and everything behaves correctly, I’ll try to change some genre tags and test the results. The problem is that the library is so large that problems can go undetected for a long time, so maybe I should do this first with a small subset of the music as a trial run.
    The thing I want to avoid is having to do this (ever) again, so I’d feel more comfortable if I understood the bug/problem before just following this guess (which feels like a roll of the dice). If anyone has seem similar behavior or has heard of any IDS incompatibilities between WMP 11 and iTunes 7, I’d love to hear about it. Any help is appreciated.
    Jim

    Wow, that was a long and detailed post. I haven't the energy to reply in equal fervor, but I will just say that lately these boards have been peppered with posts from people whose MP3s are being eaten alive by iTunes. What I don't get is why you suspect the hard drive is at fault. Unless the rest of the system is caving in, I don't think there's any reason to suspect a failing drive. Check the S.M.A.R.T. status in Disk Utility if you haven't already, and perform whatever maintenance you believe is in order.
    For the most reliable ID3 tag editing, I'd certainly recommend using foobar2000 on a Windows PC (or a Mac with Windows installed) or MP3Tag. I would definitely, at least for the time being, not put your huge music collection at risk by doing any further editing of the tags in iTunes.

  • Error message "iTunes has detected an iPod that appears to be corrupted"

    Everything used to work just fine until recently. On my Windows XP Home SP3 laptop, with iTunes (version 9.0.2.25) already open, I connect my 5th Generation iPod Nano and get the following message in iTunes:
    "iTunes has detected an iPod that appears to be corrupted. You may need to restore this iPod before it can be used with iTunes. You may also try disconnecting and reconnecting the iPod."
    If I plug the iPod into the computer without first starting iTunes, the Windows ‘Auto Play’ message comes up immediately then disappears and then the following message appears:
    "Your iPod needs to be formatted for use with Windows. Would you like to run iTunes to restore your iPod Now?"
    Otherwise, the iPod functions normally when not connected in iTunes. I can play the music, videos, and record videos with no problems.
    The troubleshooting steps I took were:
    I performed a reset of the Nano by first sliding the hold switch on/off a few cycles, leaving switch off (no orange showing), then pressed and held the Menu + Select button until the Apple logo appeared. Then I tried it in iTunes again; no such luck, same error. I then did a reset again, this time with the iPod connected to an AC power source; still no luck. I tried the reset numerous times and it didn’t help.
    Next, I ran the diagnostics by pressing and holding the Menu + Select buttons immediately followed by the Select + Reverse buttons. I stepped through all the diagnostics tests and all tests passed as far as I could tell (there was no errors reported).
    After this, I tried it in iTunes again and still no luck.
    I even tried the iPod on my Windows Vista Home Premium (32 bit) machine and it behaved the same way. The version of iTunes on that machine was at an earlier version when I first tried it there. I then upgraded iTunes to the latest version but that didn’t help either.
    I can sync my iPod Touch and 2nd gen Nano without any problems.
    Sorry about be long winded about this but I am wondering if anyone else may have other suggestions. I want to try and avoid a restore if possible because I have some videos I recorded that I would like to get off the iPod. I’m not concerned about my music files as I have them always backed up but didn’t get the videos off yet.

    I am having this same problem with my brand new Mac Pro. It seems to be tied to the computer awaking from sleep (no I am not leaving the iPod connected while sleep... I am referring to waking the computer from sleep and then connecting iPod as opposed to restarting the computer and then connecting the iPod). In other words, if you are getting this error message, try ejecting the iPod, restart your computer, then connect the iPod and see if the error message goes away. For me it does, but I only get one shot at it, if I eject the iPod and then reconnect it, the error message returns. This happens on both iPods I have. I have rebooted (hold menu-select) and gone to disc mode (hold select-play) and the error message remains. The only way it goes away is to reboot the computer, then I get one shot at hooking up an iPod.
    I NEVER had nor get this error message when I connect to the Windows PC that I started with. Perhaps the iPod does not like moving from PC to Mac?

  • My computer became corrupted, and I reinstalled windows, only to find my iphone will no longer sync with the same computer. How do I sync my phone and tones to the same computer without losing everything?

    This is my first time using this forum, and I apologize if my post isn't "normal" or if my question is too long. My old acer computer had become corrupted and I had to reinstall my copy of windows. When I tried to sync a new ringtone to my iphone, which was only ever synced to this same computer, I was prompted to delete everything I had so I could install one ringtone. That does not sound ideal, and I refuse to delete everything I've put on my phone and my data to sync to itunes. There has to be another way to show my phone that this is the same computer. So I do not have to go through the hassle of doing everything again. I could not find an answer in the forums, and hope you can help me. This is pretty close to being a deal breaker for me. I'm beyond frustrated with this policy.
    I don't believe it matters, but I'm running the latest version of itunes, as of today, and I have an iPhone 4 CDMA iOS 7.4.

    Thanks, Lawrence. I figured that was what I was going to have to do in the end. I have a few games with quite a few hours invested, and I worry that I'll lose the progress I have as they do not save to the cloud. I may have to bite the bullet, and just take the plunge to resolve this. I just want a way to easily transfer my "Home Computer" for my iPhone. My laptop is years old and in need of being replaced, and it's about time to upgrade my phone. These life events piling up are making me consider switching to a friendlier OS. I'm not using this as a threat. I just hope some apple high up will read this, and realize that we need alternatives. Life happens.
    Thank you both Paul and Lawrence. I clicked "This helped me" not knowing it would remove the option to choose "This fixed my problem" too. For anyone else reading this thread. Using the guide provided has done both. It has helped me and given me a fix to my current problem. Lawrence has also provided me with the last bit of information I feel is missing from wjosten's guide. That syncing will completely erase all of your data and reinstall it in one fell swoop. It's a great fix. Even if it isn't the exact one I wanted. Thank you again!

Maybe you are looking for