Buffer overflow in dbms_output.put_line

If I code like this, an error happens. Do you know how can I
resolve this problem?
for i in 1..500
loop
dbms_output.put_line('Hello World');
end loop;
ORA-20000: ORU-10027: buffer overflow, limit of 2000 bytes
Thx

If you are running the PL/SQL block within SQL*Plus, use the SIZE
option to the SET SERVEROUTPUT command:
set serveroutput on size 7000
show serveroutput
begin
for i in 1..500
loop
dbms_output.put_line('Hello World');
end loop;
end;
-- CJ

Similar Messages

  • DBMS_OUTPUT.put_line  buffer overflow

    Hi all
    I am taking some values into a cursor and updating a table with those values, and catching the exception in the exception block
    EXCEPTION
    WHEN OTHERS
    THEN
    sqlm := SUBSTR (SQLERRM, 1, 100);
    sqlc := SQLCODE;
    DBMS_OUTPUT.put_line ( 'Error Code : '
    || sqlc
    || ' Error Message : '
    || sqlm
    || ' : aaa:: '
    || aaa_rec.recid
    Here the problem is the data which i am updating its huge(5 million records), i am getting the error for the exception block as Buffer overflow( After I set it to the buffer value to maximum i.e 1000000), how can i avoid this problem, i am not supposed to use utl file package, Can u be a little brief in ur answers
    Thnks in advance

    1000000 is not the maximum size:
    http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_output.htm#CIHEGBBF
    There used to be a maximum setting of 1000000 (in practice nearer 600K) in earlier versions of Oracle. Perhaps you are using one of those and forgot to mention it?
    In any case, why are you using a debugging tool for error handling?

  • Character set Conversion Buffer Overflow Error

    Hi,
    I have got an issue while loading data from a flat file to a staging table. i.e., Character set Conversion Buffer Overflow. Suppose there are 10,000 records in a flat file, after running control file only 100+ records are loading to the staging table. Remaining are errored out. I think there is no issue with control file because when I load data from different flat file containing same no. of records as the previous flat file, it is loading all the records. what could be the reason and solution for this issue.
    Can anyone please suggest me how to resolve this issue.

    DBNS_OUTPUT is a poor choice for debugging. It has very limited used. And as you've discovered, merely debugging code can now result in new exceptions in the code.
    The proper approach would be to create your own debug procedure (or package). Have your code call this instead of DBMS_OUTPUT.
    In your debug procedure, you can decide what you want to do with that debug data for that specific program in the current environment and circumstances.
    The program that runs could be a DBMS_JOB in which case DBMS_OUTPUT is useless. The program can be called several layers deep from other PL/SQL code.. and you want to know just who is calling your code. Etc.
    Having your own debug procedure allows you to:
    - create an autonomous transaction and log the debug data to a log table
    - write it to a DBMS_PIPE for interactive debugging
    - write it to DBMS_OUTPUT
    - record the PL/SQL call stack to determine who is calling who
    - record the current session's environment (e.g. session_context)
    - record the current session's statistics, opens cursors, current SQL, etc. (courtesy of the V$ views)
    etc. etc.
    In other words, your debug procedure gives you the flexibility to decide on HOW to handle the debugging.
    And when you code goes into production, your debug procedure ships with, containing a simple NULL command.. Which means that at any time the DBA can (when the need arise), add his/her debug methods into it in order to trace a production problem.
    Using DBMS_OUTPUT is a very poor, and often just wrong, choice.
    It is fine for writing a quick test. But when you are developing production code and using DBMS_OUTPUT, you must ask yourself whether you have made the right choice.
    And this is not just about wrapping DBMS_OUTPUT. But also wrapping other system calls like RAISE_APPLICATION_ERROR and so on.

  • Dbms_output.put_line does not write to stdout

    I expect the following code to fail and to write 'ERRORE' to stdout:
    ------------------- mm.sql
    set serveroutput on
    BEGIN
    select 1/0 from dual;
    exception
    when others then
    dbms_output.put_line('ERRORE');
    END;
    I execute this from the command line
    sqlplus rmsas_test/rmsas_test < mm.sql > mm.log 2>&1
    It produces
    ---------------------------- mm.log
    SQL*Plus: Release 9.2.0.6.0 - Production on Gio Lug 13 16:42:27 2006
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    Connected to:
    Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
    JServer Release 9.2.0.6.0 - Production
    SQL> SQL> 2 3 4 5 6 7 Disconnected from Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
    JServer Release 9.2.0.6.0 - Production
    But no 'ERRORE' has been written to stdout????
    Why?
    Thanks
    Mauro

    Just a comment. There are no STDOUT or STDERR devices when dealing with PL/SQL programs.
    The code runs inside an Oracle server process. That process itself is detached from any display device, any input device (e.g. mouse or keyboard) and any peripheral device (e.g. printer).
    DBMS_OUTPUT is simply a persistant PL/SQL buffer that can be created in an Oracle session. The contents of this buffer can be displayed by a client (using the DBMS_OUTPUT API to read and clear the buffer). Do not confuse it with a proper STDOUT/STDERR device.

  • Buffer overflow in sql plus...

    Hi,
    i am getting an error 'ORA-20000: ORU-10027: buffer overflow, limit of 2000 bytes' while using DBMS_OUTPUT function in a loop in pl/sql block in sql plus environment. please help me in this regard that how can i over come this error.
    thanks,

    i got the sulotion!
    it was really simple by setting the environment before running that code.
    Dbms_Output.Enable (1000000);
    although it is not permanent sulotion for the problem but at least one can get the much more output by increasing the limit of buffer size.
    best regards,

  • Enhancement possiblity in dbms_output.put_line..!

    hey,
    I am having a strange client requirement.
    I am using dbms_output.put_line for output.But I was getting buffer flow error.
    Then i used utl_file to write log into a file but when due to some permission problem for FTP log file from unix directory to computer I can't use utl_file.
    Is there any possibility in dbms_output that if buffer flow error raise then
    2nd log file generate with new name and remaining log data written in new log file.
    My code in generally is below..
    SET BUFFER 1000000
    SET SERVEROUTPUT ON
    spool LMG_DBmigration_CP_DATA_Log.log
    Declare
    begin
    stmnts for DBMS_OUTPUT.PUT_LINE;
    stmnts for DBMS_OUTPUT.PUT_LINE;
    stmnts for DBMS_OUTPUT.PUT_LINE;
    stmnts for DBMS_OUTPUT.PUT_LINE;
    end;
    spool off
    exit;
    any idea ...?
    rgds,
    pc

    hey Saubhik,thanks for your answer.
    In my code,SET BUFFER 1000000 in 1st line.
    Is there any impact of this line on log buffering error?
    I am running my code via batch file..
    SET BUFFER 1000000
    SET SERVEROUTPUT ON
    spool LMG_Log.log
    Declare
    begin
    stmnts for DBMS_OUTPUT.PUT_LINE;
    stmnts for DBMS_OUTPUT.PUT_LINE;
    stmnts for DBMS_OUTPUT.PUT_LINE;
    stmnts for DBMS_OUTPUT.PUT_LINE;
    end;
    spool off
    exit;

  • Dbms_output.put_line prints a varchar2(32767) variable partially.

    Please help if anyone knows.
    I have an anonymous block that declares a variable as below:
    v_return_code varchar2(32767);
    I am appending characters that I am building in the begin end block to this variable and at the end printing it out using dbms_output
    dbms_output.put_line(v_return_code);
    I observe that the output is generated partially when I ran the block through PL/SQL developer SQL window.
    My code appends a new line char chr(10) after each new value is appended to the variable.
    I have the below settiing in the output window
    buffer size: 2000000
    Can someone please help why it prints the output partially?
    Thanks in advance.
    Girish

    Hi Frank,
    Thanks for your reply.
    I figured out that some other developer in the team had same problem before and he had then written a library function to tokenise the variable into 255 chars and then dbms_output it. So I am good now.
    Thanks for coming by and replying though.
    Regards,
    Girish

  • DBMS_OUTPUT.put_line  to file

    Hi
    I have a PL/SQL code wiht DBMS_OUTPUT , I must print result in file
      DECLARE
        myvar   integer;
      BEGIN
        bla
        bla
        etc
       DBMS_OUTPUT.PUT_LINE ('my data is ' : myvar);
    END ;How can I do ?
    tks

    For 10gR2, per line limit is 32767. The total output now is (supposedly) unlimited
    It used to be 1000000.
    Rules and Limits
    The maximum line size is 32767 bytes.
    The default buffer size is 20000 bytes. The minimum size is 2000 bytes and the
    maximum is unlimited.
    Check this packages doc for more information.

  • Reg: DBMS_OUTPUT.PUT_LINE

    All,
    I have a package with couple procedures and functions.
    I have placed some dbms_output.put_line statements to check the flow from where to where the control is getting transfered. I can test the individual procedures by enabling the DBMS_OUTPUT option in SQL Developer / TOAD.
    If I want test the package flow, from the application level  ( say ex: I have clicked on 'SUBMIT' button ), where can i view the output displayed using the DBMS_OUTPUT.
    Sorry, If i am not clear. Please help me.
    Thanks,

    Thanks Kathick
    If you want to do the same in your application you need to use DBMS_OUTPUT.GET_LINE to retrive the content of the buffer.
    I did not understand it clearly. We write some procedure and to test it from TOAD / SQL Developer/ SQL Plus, we use the DBMS_OUTPUT statement to get the written buffer from the server ( Correct me if am wrong).
    SQL> CREATE OR REPLACE
      2  PROCEDURE p1
      3  IS
      4  BEGIN
      5    dbms_output.put_line('Inside of Proc P1');
      6  END;
      7  /
    Procedure created.
    SQL> set serverout on
    SQL> exec p1;
    Inside of Proc P1
    PL/SQL procedure successfully completed.
    SQL>
    But, the same procedure was called from the front end  ( java), in this scenario how can we get / view the written output from the server buffer, other than the logging statement to some test table.
    Thanks

  • How to manage buffer overflow

    hi
    If stored procedure is written and if the buffer overflows then how do i tackle buffer overflow.
    Thanks
    ram

    > DBMS_OUTPUT knows nothing about "Standard Output".
    Exactly. And to expand on William's comments.. <adding some weight to it by brandishing a lead pipe> ;-)
    That "buffer" sits smack inside the PGA as a PL/SQL static variable. And throwing tons of data into is just plain stupid.
    The best place for data is where? In some PL/SQL collection variable? That consumes "expensive" (dedicated and not shared) server memory? That needs to be "cleaned" by a client call (and does this really free the memory malloc'ed)? Data that cannot be filtered, aggregated, sorted, and analysed?
    Or is the best place for data in a table? An Oracle table? That can be filtered, sorted, aggregated and analysed? That can have a trigger to capture PL/SQL call stack and neat session stuff for debugging and analysis.
    And yes, I think we need to be very clear and very blunt about this.
    DBMS_OUTPUT is primitive.
    DMBS_OUTPUT is primarily for debugging purposes.
    DBMS_OUTPUT has no place in production code.
    DBMS_OUTPUT is not a "write" method to some "standard output".
    Using DBMS_OUTPUT as some render-client-display is missing the very basic issue of what client-server is.
    Is missing the point of how to use Oracle. And use it correctly.
    And if you think that DBMS_OUTPUT is a means to buffer/cache data for some report writing purposes, or for some client to retrieve.. then. you are missing it by a very, very, obscenely wide margin.

  • DBMS_OUTPUT.PUT_LINE multi records from PL/SQL procedure to Java web page.

    Hello
    I will explain the scenario:
    In our java web page, we are using three text boxes to enter "Part number,Description and Aircraft type". Every time the user no need to enter all these data. The person can enter any combination of data or only one text box. Actually the output data corresponding to this input entries is from five Oracle table. If we are using a single query to take data from all the five tables, the database will hang. So I written a procedure "SEARCH1",this will accept any combination of values (for empty values we need to pass NULL to this procedure) and output data from all the five tables. When I executing this procedure in SQL editor, the execution is very fast and giving exact result. I used "dbms_output.put_line" clause for outputing multiple records in my procedure. The output variables are "Serial No, part Number, Description, Aircraft type,Part No1,Part No2,Part No3,Part No4". I want to use the same procedure "SEARCH1" for outputing data in java web page.The passing argument I can take from the text box provided in java web page. I am using jdbc thin driver to connect our java web page to Oracle 9i database.
    Note1 : If any combination of search item not available, in procedure itself I am outputing a message like "Part Number not found". Here I am using four words ("Part" is the first word,"Number" is the second,"Not" s the third, and "found" is the fourth) for outputing this message.Is it necessary to equalise number of words I am using here to the record outputing eight variable?
    Our current development work is stopped because of this issue. So any one familier in this field,plese help me to solve our issue by giving the sample code for the same scenario.
    My Email-id is : [email protected]
    I will expect yor early mail.
    With thanks
    Pramod kumar.

    Hello Avi,
    I am trying to solve this issue by using objects. But the following part of code also throwing some warning like "PLS-00302: component must be declared". Plese cross check my code and help me to solve this issue.
    drop type rectab;
    create or replace type rectype as object(PartNo varchar2(30),Description varchar2(150),AIrcraft_type varchar2(15),status_IPC varchar2(30),status_ELOG varchar2(30),status_SUPCAT varchar2(30),status_AIRODWH varchar2(30));
    create or replace type rectab as table of rectype;
    create or replace package ioStructArray as
    procedure testsch2(pno in varchar2,pdes in varchar2,air in varchar2,orec in out rectab);
    end ioStructArray;
    create or replace package body ioStructArray as
    procedure testsch2(pno in varchar2,pdes in varchar2,air in varchar2,orec in out rectab) is
    mdescription varchar2(150);
    mpartnum varchar2(30);
    mpno varchar2(30);
    mdes varchar2(150);
    mair varchar2(15);
    mstat varchar2(1);
    cursor c1 is select partnum,description,aircraft_type from master_catalog where partnum=mpno and aircraft_type=mair and description like ltrim(rtrim(mdes))||'%';
    cursor c2 is select partnum from ipc_master where partnum=mpartnum;
    cursor c3 is select partnum from fedlog_data where partnum=mpartnum;
    cursor c4 is select partnum from superparts where partnum=mpartnum;
    cursor c5 is select part_no from supplier_catalog where part_no=mpartnum;
    mpno1 varchar2(30);
    mpno2 varchar2(30);
    mpno3 varchar2(30);
    mpno4 varchar2(30);
    mpno5 varchar2(30);
    maircraft_type varchar2(15);
    mstat1 varchar2(30);
    mstat2 varchar2(30);
    mstat3 varchar2(30);
    mstat4 varchar2(30);
    begin
    mstat:='N';
    mpno:=pno;
    mdes:=pdes;
    mair:=air;
    if mpno is not null and mdes is not null and mair is not null then
    begin
    mstat:='N';
    mpno:=pno;
    mdes:=pdes;
    mair:=air;
    for i in c1 loop
    mstat:='N';
    mstat1:='N';
    mstat2:='N';
    mstat3:='N';
    mstat4:='N';
    mpno1:=i.partnum;
    mpartnum:=i.partnum;
    mdescription:=i.description;
    maircraft_type:=i.aircraft_type;
    for j in c2 loop
    mpno2:=j.partnum;
    end loop;
    for k in c3 loop
    mpno3:=k.partnum;
    end loop;
    for l in c4 loop
    mpno4:=l.partnum;
    end loop;
    for m in c5 loop
    mpno5:=m.part_no;
    end loop;
    if mpno2=mpartnum then
    mstat1:=mpno2;
    end if;
    if mpno3=mpartnum then
    mstat2:=mpno3;
    end if;
    if mpno4=mpartnum then
    mstat3:=mpno4;
    end if;
    if mpno5=mpartnum then
    mstat4:=mpno5;
    end if;
    if mpno1=mpartnum then
    mstat:='Y';
    orec.PartNo:=mpno1;
    orec.Description:=mdescription;
    orec.AIrcraft_type:=maircraft_type;
    orec.status_IPC:=mstat1;
    orec.status_ELOG:=mstat2;
    orec.status_SUPCAT:=mstat3;
    orec.STATUS_AIRODWH:=status_AIRODWH;
    end if;
    end loop;
    end;
    end if;
    end testsch2;
    end ioStructArray;
    Expecting your early reply.
    With thanks
    Pramod kumar.

  • XMLTRANSFORM Too large stylesheet - code buffer overflow issue

    Hi All,
    My question is related to MSWordML generation from PLSQL stored procedure.
    1. I have table, containing XSLT stylesheets for different documents
    2. PLSQL stored procedure is generating dynamic content depending on some params and at the end I'm using
    SELECT XMLTRANSFORM(XMLTYPE.createxml(db_data_clob), XMLTYPE.createxml(x.xslt_clob)).GetClobVal()
    INTO   res
    FROM   msword_ml_data x
    WHERE  x.report_id = rep_id_variable;
    where : x.xslt_clob -> column, containing XSLT CLOB
    db_data_clob -> dynamic content CLOB
    res -> CLOB result
    All this was working fine on Oracle11gR1, but I had to reinstall database and I said why not install Oracle11gR2 ...
    Guess what. Stored procedure is raising exception when using XMLTRANSFORM :
    Exception : : ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00004: internal error "Too large stylesheet - code buffer overflow"
    Google says nothing about it. I don't recall setting some special DB property in Oracle11gR1.
    Has anyone encountered this ?
    I haven't changed procedure nor table.
    I'm using exactly the same XSLT's from Java code and they are working just fine, so they are not the reason. My guess is that something in Oracle11gR2 related to XML processing is changed.
    If anyone could help, thanks in advance

    For those who are interested.
    I have logged a service request and it turned out that this is is a bug in Oracle 11gR2.
    "The limitation on the style sheet is not exactly a size limit but a limitation on the number of style sheet instructions and depends on the way the style sheet has been written. This is a C based parser limitation"
    Anyway, the workaround is to create Java stored procedure and do transformation from there.

  • Dbms_output.put_line not printing in inner for loop using a parameter

    I cannot get the inner loop to print output. I can run both loops independent (hardcoding a value for the inner loop) Any help is apprecicated... Listed is the code
    set serveroutput on
    DECLARE
    cursor ACCNO_CUR is
    select accession_number from didb_studies where insert_time > to_date('02-JUN-12');
    cursor PATH_CUR (p1_accno VARCHAR2) is
    select distinct l.FILE_SYSTEM || '/' ||
    substr(LPAD(s.PATIENT_DB_UID, 12, '0'),1,3) || '/' ||
    substr(LPAD(s.PATIENT_DB_UID, 12, '0'),4,3) || '/' ||
    substr(LPAD(s.PATIENT_DB_UID, 12, '0'),7,3) || '/' ||
    substr(LPAD(s.PATIENT_DB_UID, 12, '0'),10,3) || '/' ||
    s.STUDY_DB_UID || '/' || i.SERIES_DB_UID || '/'||
    i.RAW_IMAGE_DB_UID || '.img' as FULLY_QUALIFIED_IMAGE_NAME
    , l.image_size
    , i.image_need_backup
    , i.sop_class_uid
    from medistore.didb_studies s
    , medistore.didb_raw_images_table i
    , medistore.didb_image_locations l
    where s.accession_number = 'p1_accno'
    and s.study_db_uid = i.study_db_uid
    and i.raw_image_db_uid = l.raw_image_db_uid
    and l.file_system is not null and INSTR(l.file_system, '.img') = 0
    UNION
    select distinct(l.FILE_SYSTEM) as FULLY_QUALIFIED_IMAGE_NAME
    , l.image_size
    , i.image_need_backup
    , i.sop_class_uid
    from medistore.didb_studies s, medistore.didb_raw_images_table i,
    medistore.didb_image_locations l
    where s.accession_number = 'p1_accno'
    and s.study_db_uid = i.study_db_uid
    and i.raw_image_db_uid = l.raw_image_db_uid
    and l.file_system is not null and INSTR(l.file_system, '.img') > 0
    order by 1;
    BEGIN
    FOR accno_rec in accno_cur LOOP
    DBMS_OUTPUT.put_line('ACCESSION_NUMBER is: '|| accno_rec.accession_number);
    FOR path_rec in path_cur(accno_rec.accession_number) LOOP
    DBMS_OUTPUT.put_line('Inner loop accession_number is :'||accno_rec.accession_number);
    DBMS_OUTPUT.put_line('Full path is : ' || path_rec.FULLY_QUALIFIED_IMAGE_NAME);
    END LOOP;
    END LOOP;
    END;

    Maybe
    DECLARE
      cursor ACCNO_CUR is
        select accession_number
          from didb_studies
         where insert_time > to_date('02-JUN-12');
      cursor PATH_CUR (p1_accno VARCHAR2) is
        select distinct
               l.FILE_SYSTEM || '/' ||
               substr(LPAD(s.PATIENT_DB_UID, 12, '0'),1,3) || '/' ||
               substr(LPAD(s.PATIENT_DB_UID, 12, '0'),4,3) || '/' ||
               substr(LPAD(s.PATIENT_DB_UID, 12, '0'),7,3) || '/' ||
               substr(LPAD(s.PATIENT_DB_UID, 12, '0'),10,3) || '/' ||
               s.STUDY_DB_UID || '/' || i.SERIES_DB_UID || '/'||
               i.RAW_IMAGE_DB_UID || '.img' as FULLY_QUALIFIED_IMAGE_NAME,
               l.image_size,
               i.image_need_backup,
               i.sop_class_uid
          from medistore.didb_studies s,
               medistore.didb_raw_images_table i,
               medistore.didb_image_locations l
         where s.accession_number = to_number(p1_accno) /* to_char(s.accession_number) = p1_accno */
           and s.study_db_uid = i.study_db_uid
           and i.raw_image_db_uid = l.raw_image_db_uid
           and l.file_system is not null
           and INSTR(l.file_system, '.img') = 0
        UNION
        select distinct
               l.FILE_SYSTEM as FULLY_QUALIFIED_IMAGE_NAME,
               l.image_size,
               i.image_need_backup,
               i.sop_class_uid
          from medistore.didb_studies s,
               medistore.didb_raw_images_table i,
               medistore.didb_image_locations l
         where s.accession_number = to_number(p1_accno) /* to_char(s.accession_number) = p1_accno */
           and s.study_db_uid = i.study_db_uid
           and i.raw_image_db_uid = l.raw_image_db_uid
           and l.file_system is not null and INSTR(l.file_system, '.img') > 0
         order by 1;
    BEGIN
      FOR accno_rec in accno_cur
      LOOP
        DBMS_OUTPUT.put_line('ACCESSION_NUMBER is: '|| accno_rec.accession_number);
        FOR path_rec in path_cur(accno_rec.accession_number)
        LOOP
          DBMS_OUTPUT.put_line('Inner loop accession_number is :'||accno_rec.accession_number);
          DBMS_OUTPUT.put_line('Full path is : ' || path_rec.FULLY_QUALIFIED_IMAGE_NAME);
        END LOOP;
      END LOOP;
    END;Regards
    Etbin

  • Spool file error - Buffer Overflow

    I've a sql script that is running from a.sql file. The script fetches almost 9 million data as a result of the query. Main problem is related to spool file generation. It is saying buffer overflow. But, when i write that query from sql prompts it is running within 2 mins and completes the task within 15 mins.
    I've written -
    set serveroutput on size ######
    But, still it is not working. Total application is freeze whenever i want to run it. Tell me any suggestion if u have.
    Satyaki.

    i guess what you are more concerned with is the output produced by your query (the spool file).
    you need not to see what is displayed on the screen all you need is open up the spool file to
    check for those data in there.
    to suppress the output from the screen and still generates spool file. use the SET TERMOUT option.
    e.g.
    -- code for a producing a sample spool file
    spool r:\sample_spool.txt;
    select * from emp;
    spool off;
    at the SQL*Plus command line:
    SQL> @r:\sample_spool.sql;
         EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
          7566 JONES      MANAGER         7839 02-APR-81       2975       1000         20
          7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
          7839 KING       PRESIDENT            17-NOV-81       5000                    10
          7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
          7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
          7369 SMITH      CLERK           7902 17-DEC-80        800                    20
          7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
          7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30
          7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
          7788 SCOTT      ANALYST         7566 09-DEC-82       3000                    20
          7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30
          7876 ADAMS      CLERK           7788 12-JAN-83       1100                    20
          7900 JAMES      CLERK           7698 03-DEC-81        950                    30
          7934 MILLER     CLERK           7782 23-JAN-82       1300                    10
    14 rows selected.
    SQL> -- the above example displays the output on the screen
    SQL> -- now we want to turn it off by using the SET TERMOUT option
    SQL> SQL> set termout off;
    SQL> @r:\sample_spool.sql;
    SQL>
    after executing the script sample_spool.sql it does not display output from the screen which
    we want to avoid the buffer overflow error. and still produce the spool file:
         EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO                                  
          7566 JONES      MANAGER         7839 02-APR-81       2975       1000         20                                  
          7902 FORD       ANALYST         7566 03-DEC-81       3000                    20                                  
          7839 KING       PRESIDENT            17-NOV-81       5000                    10                                  
          7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30                                  
          7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10                                  
          7369 SMITH      CLERK           7902 17-DEC-80        800                    20                                  
          7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30                                  
          7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30                                  
          7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30                                  
          7788 SCOTT      ANALYST         7566 09-DEC-82       3000                    20                                  
          7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30                                  
          7876 ADAMS      CLERK           7788 12-JAN-83       1100                    20                                  
          7900 JAMES      CLERK           7698 03-DEC-81        950                    30                                  
          7934 MILLER     CLERK           7782 23-JAN-82       1300                    10                                  
    14 rows selected.

  • Tiger to Snow Leopard upgrade fails  with buffer overflow

    I'm not sure where to proceed with the following situation:
    I have a 17" MB pro with 1GB memory and 22GB free hard drive space. I booted into the installer from the CD and stepped through the prompts without changing any options to the point where the install starts doing it's magic. Shortly after starting, the install will crash complaining about a buffer overflow during/just after the part where it's finding system files.
    I originally tried to do this with only 10GB free, but after the first failure, I did a repair disk using the Disk Utility and removed a bunch of really old files I no longer needed, which brought the available disk space to 22GB, but this did not help anything. At this point, I'm not sure what to do. I use Carbon Copy Cloner as a backup so I can do a full wipe and install, however I would prefer to avoid that as it is a lot of work to get things back.
    Any assistance is greatly appreciated!
    Error log follows. I cut out a lot of stuff so please let me know if that detail is needed.
    Sep 10 10:35:26 localhost OSInstaller[142]: Total install size including padding: 7325778944 b
    Sep 10 10:35:28 localhost OSInstaller[142]: Starting installation:
    Sep 10 10:35:28 localhost OSInstaller[142]: Calculating expected install size requirements
    Sep 10 10:35:28 localhost Unknown[84]: 2009-09-10 10:35:28.624 Mac OS X Installer[142:c607] Looking for system packages
    Sep 10 10:35:42 localhost Unknown[84]: 2009-09-10 10:35:42.115 Mac OS X Installer[142:c607] Finding system files...
    Sep 10 10:36:01 localhost Unknown[84]: buffer overflow!
    Sep 10 10:37:55 localhost LCA[83]: Child exited with status 6
    Sep 10 10:37:59 localhost Unknown[162]: Launching the Installer Crash Log Viewer
    Sep 10 10:38:32 localhost ReportCrash[159]: Process: Mac OS X Installer [142]
    Sep 10 10:38:32 localhost ReportCrash[159]: Path: /System/Installation/CDIS/Mac OS X Installer.app/Contents/MacOS/Mac OS X Installer
    Sep 10 10:38:32 localhost ReportCrash[159]: Identifier: Mac OS X Installer
    Sep 10 10:38:32 localhost ReportCrash[159]: Version: ??? (???)
    Sep 10 10:38:32 localhost ReportCrash[159]: Code Type: X86 (Native)
    Sep 10 10:38:32 localhost ReportCrash[159]: Parent Process: LCA [83]
    Sep 10 10:38:32 localhost ReportCrash[159]:
    Sep 10 10:38:32 localhost ReportCrash[159]: Date/Time: 2009-09-10 10:36:12.446 -0700
    Sep 10 10:38:32 localhost ReportCrash[159]: OS Version: Mac OS X 10.6 (10A432)
    Sep 10 10:38:32 localhost ReportCrash[159]: Report Version: 6
    Sep 10 10:38:32 localhost ReportCrash[159]:
    Sep 10 10:38:32 localhost ReportCrash[159]: Exception Type: EXC_CRASH (SIGABRT)
    Sep 10 10:38:32 localhost ReportCrash[159]: Exception Codes: 0x0000000000000000, 0x0000000000000000
    Sep 10 10:38:32 localhost ReportCrash[159]: Crashed Thread: 9
    Sep 10 10:38:32 localhost ReportCrash[159]:
    Sep 10 10:38:32 localhost ReportCrash[159]: Application Specific Information:
    Sep 10 10:38:32 localhost ReportCrash[159]: abort() called
    Sep 10 10:38:32 localhost ReportCrash[159]:
    Sep 10 10:38:32 localhost ReportCrash[159]: Thread 0: Dispatch queue: com.apple.main-thread
    Sep 10 10:38:32 localhost ReportCrash[159]: 0 libSystem.B.dylib 0x002b78fa machmsgtrap + 10
    Sep 10 10:38:32 localhost ReportCrash[159]: 1 libSystem.B.dylib 0x002b8067 mach_msg + 68
    Sep 10 10:38:32 localhost ReportCrash[159]: 2 com.apple.CoreFoundation 0x005d9dbf __CFRunLoopRun + 2447
    Sep 10 10:38:32 localhost ReportCrash[159]: 3 com.apple.CoreFoundation 0x005d8d34 CFRunLoopRunSpecific + 452
    Sep 10 10:38:32 localhost ReportCrash[159]: 4 com.apple.CoreFoundation 0x005d8b61 CFRunLoopRunInMode + 97
    Sep 10 10:38:32 localhost ReportCrash[159]: 5 com.apple.HIToolbox 0x05143fec RunCurrentEventLoopInMode + 392
    Sep 10 10:38:32 localhost ReportCrash[159]: 6 com.apple.HIToolbox 0x05143da3 ReceiveNextEventCommon + 354
    Sep 10 10:38:32 localhost ReportCrash[159]: 7 com.apple.HIToolbox 0x05143c28 BlockUntilNextEventMatchingListInMode + 81
    Sep 10 10:38:32 localhost ReportCrash[159]: 8 com.apple.AppKit 0x00bdbb99 _DPSNextEvent + 847
    Sep 10 10:38:32 localhost ReportCrash[159]: 9 com.apple.AppKit 0x00bdb40e -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 156
    Sep 10 10:38:32 localhost ReportCrash[159]: 10 com.apple.AppKit 0x00b9d5fb -[NSApplication run] + 821
    Sep 10 10:38:32 localhost ReportCrash[159]: 11 com.apple.AppKit 0x00b95695 NSApplicationMain + 574
    Sep 10 10:38:32 localhost ReportCrash[159]: 12 com.apple.MacOSXInstaller 0x00006393 0x1000 + 21395
    Sep 10 10:38:32 localhost ReportCrash[159]: 13 com.apple.MacOSXInstaller 0x00002f25 0x1000 + 7973
    Sep 10 10:38:32 localhost ReportCrash[159]:
    Sep 10 10:38:32 localhost ReportCrash[159]: Thread 1:
    Sep 10 10:38:32 localhost ReportCrash[159]: 0 libSystem.B.dylib 0x002e582a _semwaitsignal + 10
    Sep 10 10:38:32 localhost ReportCrash[159]: 1 libSystem.B.dylib 0x00311681 nanosleep$UNIX2003 + 188
    Sep 10 10:38:32 localhost ReportCrash[159]: 2 libSystem.B.dylib 0x00347872 sleep$UNIX2003 + 63
    Sep 10 10:38:32 localhost ReportCrash[159]: 3 com.apple.installframework 0x000abe13 dologwatch + 51
    Sep 10 10:38:32 localhost ReportCrash[159]: 4 libSystem.B.dylib 0x002e4fe1 pthreadstart + 345
    Sep 10 10:38:32 localhost ReportCrash[159]: 5 libSystem.B.dylib 0x002e4e66 thread_start + 34
    Sep 10 10:38:32 localhost ReportCrash[159]:
    Sep 10 10:38:32 localhost ReportCrash[159]: Thread 2: Dispatch queue: com.apple.libdispatch-manager
    Sep 10 10:38:32 localhost ReportCrash[159]: 0 libSystem.B.dylib 0x002de10a kevent + 10
    Sep 10 10:38:32 localhost ReportCrash[159]: 1 libSystem.B.dylib 0x002de824 dispatch_mgrinvoke + 215
    Sep 10 10:38:32 localhost ReportCrash[159]: 2 libSystem.B.dylib 0x002ddce1 dispatch_queueinvoke + 163
    Sep 10 10:38:32 localhost ReportCrash[159]: 3 libSystem.B.dylib 0x002dda86 dispatch_workerthread2 + 234
    Sep 10 10:38:32 localhost ReportCrash[159]: 4 libSystem.B.dylib 0x002dd511 pthreadwqthread + 390
    Sep 10 10:38:32 localhost ReportCrash[159]: 5 libSystem.B.dylib 0x002dd356 start_wqthread + 30
    Sep 10 10:38:32 localhost ReportCrash[159]:
    Sep 10 10:38:32 localhost ReportCrash[159]: Thread 3:
    Sep 10 10:38:32 localhost ReportCrash[159]: 0 libSystem.B.dylib 0x002b78fa machmsgtrap + 10
    Sep 10 10:38:32 localhost ReportCrash[159]: 1 libSystem.B.dylib 0x002b8067 mach_msg + 68
    Sep 10 10:38:32 localhost ReportCrash[159]: 2 com.apple.CoreFoundation 0x005d9dbf __CFRunLoopRun + 2447
    Sep 10 10:38:32 localhost ReportCrash[159]: 3 com.apple.CoreFoundation 0x005d8d34 CFRunLoopRunSpecific + 452
    Sep 10 10:38:32 localhost ReportCrash[159]: 4 com.apple.CoreFoundation 0x005d8b61 CFRunLoopRunInMode + 97
    Sep 10 10:38:32 localhost ReportCrash[159]: 5 com.apple.Foundation 0x00863498 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] + 329
    Sep 10 10:38:32 localhost ReportCrash[159]: 6 com.apple.Foundation 0x0082a964 -[NSThread main] + 45
    Sep 10 10:38:32 localhost ReportCrash[159]: 7 com.apple.Foundation 0x0082a914 _NSThread__main_ + 1499
    Sep 10 10:38:32 localhost ReportCrash[159]: 8 libSystem.B.dylib 0x002e4fe1 pthreadstart + 345
    Sep 10 10:38:32 localhost ReportCrash[159]: 9 libSystem.B.dylib 0x002e4e66 thread_start + 34
    Sep 10 10:38:32 localhost ReportCrash[159]:
    Sep 10 10:38:32 localhost ReportCrash[159]: Thread 4:
    Sep 10 10:38:32 localhost ReportCrash[159]: 0 libSystem.B.dylib 0x002b78fa machmsgtrap + 10
    Sep 10 10:38:32 localhost ReportCrash[159]: 1 libSystem.B.dylib 0x002b8067 mach_msg + 68
    Sep 10 10:38:32 localhost ReportCrash[159]: 2 com.apple.CoreFoundation 0x005d9dbf __CFRunLoopRun + 2447
    Sep 10 10:38:32 localhost ReportCrash[159]: 3 com.apple.CoreFoundation 0x005d8d34 CFRunLoopRunSpecific + 452
    Sep 10 10:38:32 localhost ReportCrash[159]: 4 com.apple.CoreFoundation 0x005d8b61 CFRunLoopRunInMode + 97
    Sep 10 10:38:32 localhost ReportCrash[159]: 5 com.apple.Foundation 0x008643e4 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 279
    Sep 10 10:38:32 localhost ReportCrash[159]: 6 com.apple.Foundation 0x008b93c8 -[NSRunLoop(NSRunLoop) runUntilDate:] + 79
    Sep 10 10:38:32 localhost ReportCrash[159]: 7 com.apple.osinstallframework 0x0002dbc3 -[OSPreInstallSizingQueueElement _calculateReapedFreeSpace] + 176
    Sep 10 10:38:32 localhost ReportCrash[159]: 8 com.apple.osinstallframework 0x0002e1dd -[OSPreInstallSizingQueueElement run] + 178
    Sep 10 10:38:32 localhost ReportCrash[159]: 9 com.apple.installframework 0x0007be54 -[IFSession(Jobs) _runMetaQueueEngine] + 1594
    Sep 10 10:38:32 localhost ReportCrash[159]: 10 com.apple.Foundation 0x0082a964 -[NSThread main] + 45
    Sep 10 10:38:32 localhost ReportCrash[159]: 11 com.apple.Foundation 0x0082a914 _NSThread__main_ + 1499
    Sep 10 10:38:32 localhost ReportCrash[159]: 12 libSystem.B.dylib 0x002e4fe1 pthreadstart + 345
    Sep 10 10:38:32 localhost ReportCrash[159]: 13 libSystem.B.dylib 0x002e4e66 thread_start + 34
    Sep 10 10:38:32 localhost ReportCrash[159]:
    Sep 10 10:38:32 localhost ReportCrash[159]: Thread 5:
    Sep 10 10:38:32 localhost ReportCrash[159]: 0 libSystem.B.dylib 0x002b795a semaphoretimedwait_signaltrap + 10
    Sep 10 10:38:32 localhost ReportCrash[159]: 1 libSystem.B.dylib 0x002e5469 pthread_condwait + 1066
    Sep 10 10:38:32 localhost ReportCrash[159]: 2 libSystem.B.dylib 0x00314268 pthreadcond_timedwait_relativenp + 47
    Sep 10 10:38:32 localhost ReportCrash[159]: 3 com.apple.Foundation 0x00866aec -[NSCondition waitUntilDate:] + 453
    Sep 10 10:38:32 localhost ReportCrash[159]: 4 com.apple.Foundation 0x0081f881 -[NSConditionLock lockWhenCondition:beforeDate:] + 279
    Sep 10 10:38:32 localhost ReportCrash[159]: 5 com.apple.Foundation 0x0081f764 -[NSConditionLock lockWhenCondition:] + 69
    Sep 10 10:38:32 localhost ReportCrash[159]: 6 com.apple.installframework 0x0006aef6 +[IFDTargetController(WorkerThread) _handleTargetRequests] + 1169
    Sep 10 10:38:32 localhost ReportCrash[159]: 7 com.apple.Foundation 0x0082a964 -[NSThread main] + 45
    Sep 10 10:38:32 localhost ReportCrash[159]: 8 com.apple.Foundation 0x0082a914 _NSThread__main_ + 1499
    Sep 10 10:38:32 localhost ReportCrash[159]: 9 libSystem.B.dylib 0x002e4fe1 pthreadstart + 345
    Sep 10 10:38:32 localhost ReportCrash[159]: 10 libSystem.B.dylib 0x002e4e66 thread_start + 34
    Sep 10 10:38:32 localhost ReportCrash[159]:
    Sep 10 10:38:32 localhost ReportCrash[159]: Thread 6:
    Sep 10 10:38:32 localhost ReportCrash[159]: 0 libSystem.B.dylib 0x002e582a _semwaitsignal + 10
    Sep 10 10:38:32 localhost ReportCrash[159]: 1 libSystem.B.dylib 0x00311681 nanosleep$UNIX2003 + 188
    Sep 10 10:38:32 localhost ReportCrash[159]: 2 com.apple.Foundation 0x008b4c30 +[NSThread sleepForTimeInterval:] + 123
    Sep 10 10:38:32 localhost ReportCrash[159]: 3 com.apple.SystemMigration 0x01a04b69 -[SMManager _suppressSpotlightThread:] + 104
    Sep 10 10:38:32 localhost ReportCrash[159]: 4 com.apple.Foundation 0x0082a964 -[NSThread main] + 45
    Sep 10 10:38:32 localhost ReportCrash[159]: 5 com.apple.Foundation 0x0082a914 _NSThread__main_ + 1499
    Sep 10 10:38:32 localhost ReportCrash[159]: 6 libSystem.B.dylib 0x002e4fe1 pthreadstart + 345
    Sep 10 10:38:32 localhost ReportCrash[159]: 7 libSystem.B.dylib 0x002e4e66 thread_start + 34
    Sep 10 10:38:32 localhost ReportCrash[159]:
    Sep 10 10:38:32 localhost ReportCrash[159]: Thread 7:
    Sep 10 10:38:32 localhost ReportCrash[159]: 0 libSystem.B.dylib 0x002d6876 select$DARWIN_EXTSN + 10
    Sep 10 10:38:32 localhost ReportCrash[159]: 1 com.apple.CoreFoundation 0x0061904d __CFSocketManager + 1085
    Sep 10 10:38:32 localhost ReportCrash[159]: 2 libSystem.B.dylib 0x002e4fe1 pthreadstart + 345
    Sep 10 10:38:32 localhost ReportCrash[159]: 3 libSystem.B.dylib 0x002e4e66 thread_start + 34
    Sep 10 10:38:32 localhost ReportCrash[159]:
    Sep 10 10:38:32 localhost ReportCrash[159]: Thread 8:
    Sep 10 10:38:32 localhost ReportCrash[159]: 0 libSystem.B.dylib 0x002b78fa machmsgtrap + 10
    Sep 10 10:38:32 localhost ReportCrash[159]: 1 libSystem.B.dylib 0x002b8067 mach_msg + 68
    Sep 10 10:38:32 localhost ReportCrash[159]: 2 com.apple.CoreFoundation 0x005d9dbf __CFRunLoopRun + 2447
    Sep 10 10:38:32 localhost ReportCrash[159]: 3 com.apple.CoreFoundation 0x005d8d34 CFRunLoopRunSpecific + 452
    Sep 10 10:38:32 localhost ReportCrash[159]: 4 com.apple.CoreFoundation 0x005d8b61 CFRunLoopRunInMode + 97
    Sep 10 10:38:32 localhost ReportCrash[159]: 5 com.apple.Foundation 0x008643e4 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 279
    Sep 10 10:38:32 localhost ReportCrash[159]: 6 com.apple.Foundation 0x008b93c8 -[NSRunLoop(NSRunLoop) runUntilDate:] + 79
    Sep 10 10:38:32 localhost ReportCrash[159]: 7 com.apple.installframework 0x0007d48d -[IFDInstallController(Private) _install] + 1561
    Sep 10 10:38:32 localhost ReportCrash[159]: 8 com.apple.osinstallframework 0x00018ccc -[OSInstallController(Private) _install] + 552
    Sep 10 10:38:32 localhost ReportCrash[159]: 9 com.apple.Foundation 0x0082a964 -[NSThread main] + 45
    Sep 10 10:38:32 localhost ReportCrash[159]: 10 com.apple.Foundation 0x0082a914 _NSThread__main_ + 1499
    Sep 10 10:38:32 localhost ReportCrash[159]: 11 libSystem.B.dylib 0x002e4fe1 pthreadstart + 345
    Sep 10 10:38:32 localhost ReportCrash[159]: 12 libSystem.B.dylib 0x002e4e66 thread_start + 34
    Sep 10 10:38:32 localhost ReportCrash[159]:
    Sep 10 10:38:32 localhost ReportCrash[159]: Thread 9 Crashed:
    Sep 10 10:38:32 localhost ReportCrash[159]: 0 libSystem.B.dylib 0x00324c8e _semwait_signalnocancel + 10
    Sep 10 10:38:32 localhost ReportCrash[159]: 1 libSystem.B.dylib 0x00324b72 nanosleep$NOCANCEL$UNIX2003 + 166
    Sep 10 10:38:32 localhost ReportCrash[159]: 2 libSystem.B.dylib 0x003a05b2 usleep$NOCANCEL$UNIX2003 + 61
    Sep 10 10:38:32 localhost ReportCrash[159]: 3 libSystem.B.dylib 0x003c1c68 abort + 105
    Sep 10 10:38:32 localhost ReportCrash[159]: 4 com.apple.bom 0x0194fb3d _defaultHandler + 64
    Sep 10 10:38:32 localhost ReportCrash[159]: 5 com.apple.bom 0x0194fa8f _BOMExceptionHandlerCall + 89
    Sep 10 10:38:32 localhost ReportCrash[159]: 6 com.apple.bom 0x01971c01 BOMStreamReadUInt32 + 134
    Sep 10 10:38:32 localhost ReportCrash[159]: 7 com.apple.bom 0x01954e40 BOMBomOpen + 226
    Sep 10 10:38:32 localhost ReportCrash[159]: 8 com.apple.PackageKit 0x019a98e7 -[PKBOM initWithBOMPath:] + 148
    Sep 10 10:38:32 localhost ReportCrash[159]: 9 com.apple.PackageKit 0x019b82fe -[PKReceipt(Private) _BOM] + 77
    Sep 10 10:38:32 localhost ReportCrash[159]: 10 com.apple.PackageKit 0x019b7d55 -[PKReceipt(Private) _directoryEnumerator] + 34
    Sep 10 10:38:32 localhost ReportCrash[159]: 11 com.apple.SystemMigration 0x01a4deff -[SMFindSystemFiles _findSystemPaths] + 1785
    Sep 10 10:38:32 localhost ReportCrash[159]: 12 com.apple.SystemMigration 0x01a4e490 -[SMFindSystemFiles systemPaths] + 796
    Sep 10 10:38:32 localhost ReportCrash[159]: 13 com.apple.SystemMigration 0x01a50387 -[SMPathAnalyzer prunedSystemPathsReturningSize:] + 179
    Sep 10 10:38:32 localhost ReportCrash[159]: 14 com.apple.SystemMigration 0x01a508ca -[SMPathAnalyzer prunedReaperPathsReturningSize:] + 53
    Sep 10 10:38:32 localhost ReportCrash[159]: 15 com.apple.osinstallframework 0x00028807 -[IFDiskObject(OSExtensions) calculateReapedFreeSpace] + 404
    Sep 10 10:38:32 localhost ReportCrash[159]: 16 com.apple.osinstallframework 0x0002daf4 -[OSPreInstallSizingQueueElement _calculateReapedFreeSpaceThread] + 71
    Sep 10 10:38:32 localhost ReportCrash[159]: 17 com.apple.Foundation 0x0082a964 -[NSThread main] + 45
    Sep 10 10:38:32 localhost ReportCrash[159]: 18 com.apple.Foundation 0x0082a914 _NSThread__main_ + 1499
    Sep 10 10:38:32 localhost ReportCrash[159]: 19 libSystem.B.dylib 0x002e4fe1 pthreadstart + 345
    Sep 10 10:38:32 localhost ReportCrash[159]: 20 libSystem.B.dylib 0x002e4e66 thread_start + 34
    Sep 10 10:38:32 localhost ReportCrash[159]:
    Sep 10 10:38:32 localhost ReportCrash[159]: Thread 9 crashed with X86 Thread State (32-bit):
    Sep 10 10:38:32 localhost ReportCrash[159]: eax: 0x0000003c ebx: 0x00324ad9 ecx: 0xb04aa82c edx: 0x00324c8e
    Sep 10 10:38:32 localhost ReportCrash[159]: edi: 0x00000000 esi: 0xb04aa888 ebp: 0xb04aa868 esp: 0xb04aa82c
    Sep 10 10:38:32 localhost ReportCrash[159]: ss: 0x0000001f efl: 0x00000247 eip: 0x00324c8e cs: 0x00000007
    Sep 10 10:38:32 localhost ReportCrash[159]: ds: 0x0000001f es: 0x0000001f fs: 0x0000001f gs: 0x00000037
    Sep 10 10:38:32 localhost ReportCrash[159]: cr2: 0xffe2a178
    Sep 10 10:38:32 localhost ReportCrash[159]:

    a brody wrote:
    Regarding the need to buy the packaged bundle, I keep seeing folks here and elsewhere claiming that is not necessary.
    That's because they have not read, or concern themselves with the license agreement. Section 2. "Permitted License Uses and Restrictions", section C says on http://images.apple.com/legal/sla/docs/macosx106.pdf
    It's been read forwards, backwards, and upside down. Nowhere on the packaging is there any identification of the $29 (or $49 family pack) version as only suitable as a "Leopard upgrade" version. There are vague mentions about it on Apple's online sales page and in press releases. I've read the license terms thoroughly and the only conclusion that could reasonably be conferred is that the $29 version carries a "single user" license simply because it doesn't say "family pack". There are plenty of reports that it installs over Tiger just fine.
    Granted I've read numerous reports and I installed my copy over Leopard. However - imagine someone who vaguely heard about it, walked into a store and bought a copy, thoroughly looked over the box and the license terms (within the disc), and installed it in good faith over Tiger. There is ZERO, ZIP, NADA on the package that would lead anyone to believe it is anything but a copy with a "SINGLE USER" license where the terms don't preclude installing over Tiger.
    C. Leopard Upgrade Licenses. If you have purchased an Upgrade for Mac OS X Leopard license, then subject to the terms and conditions of this License, you are granted a limited non-exclusive license to install, use and run one (1) copy of the Apple Software on a single Apple-branded computer as long as that computer has a properly licensed copy of *Mac OS X Leopard already installed on it.*
    The emphasis above is mine.
    While this may not be enforced by a software key, it is there in the license agreement on the PDF included on the CD, when you purchase the under $100 licenses, which are also called "Upgrade" on the store.
    There's an opinion that "Leopard upgrade" only applies to the "Up To Date" versions that require proof of purchase of a recent Mac computer. The reports on those installer discs are that they do in fact check for a valid Leopard installation.
    The following has the most in-depth discussion on the subject of whether or not the license allows for Snow Leopard over Tiger that I've seen so far:
    http://www.mackb.com/Uwe/Forum.aspx/mac/26361/the-29-purchase-price-of-Snow-Leop ard
    This is the best description I've heard on it, from someone who identifies himself as "David Empson":
    http://www.mackb.com/Uwe/Threads/Single.aspx/mac/26361?ArtId=1j5mofd.1pw6lllbtpj dwN%25dempson%40actrix.gen.nz
    If someone walks in and buys Snow Leopard, without written notice from
    Apple that they are buying an Upgrade version which requires Leopard,
    and without discussing that point with the seller, the buyer is under no
    obligation to have researched their purchase in advance and know all of
    Apple's publicity statements from three months ago.
    They are buying it in good faith, and the contract (licence) is valid.

Maybe you are looking for