If else in a procedure
Hi, Everyone,
I am new to pl/sql and when i am writing a if else statment in a procedure i get errors. could anyone please help me how to write this one
procedure:
create or replace PROCEDURE call_all_test
( b_bmonth IN NUMBER,
b_TENR IN VARCHAR2,
b_BANNER_NAME IN VARCHAR2,
b_sample IN NUMBER,
b_tmonth1 IN NUMBER,
b_tmonth2 IN NUMBER
is
begin
dbms_output.put_line('BMONTH = ' ||B_BMONTH);
dbms_output.put_line('SAMPLE = ' ||B_SAMPLE);
dbms_output.put_line('BANNER_NAME = ' ||B_BANNER_NAME);
dbms_output.put_line('TMONTH1 = ' ||B_TMONTH1);
dbms_output.put_line('TMONTH2 = ' ||B_TMONTH2);
dbms_output.put_line('TENR = ' ||B_TENR);
IF B_BANNER_NAME = 'OVER ALL TOPS'
begin
PRO_CARDBASE_FULLBASE (b_bmonth,b_banner_name,b_sample);
else
begin
pro_cardbase (b_bmonth,b_banner_name,b_sample);
end
pro_agg_sales_BANNER (b_bmonth,b_banner_name,b_tmonth1,b_tmonth2);
pro_bas_sales_BANNER (b_bmonth,b_banner_name);
pro_card_sales_BANNER (b_bmonth,b_banner_name);
pro_SKU_BANNER (b_bmonth,b_banner_name,b_tmonth1,b_tmonth2);
pro_freq_BANNER (b_bmonth,b_banner_name);
pro_LAPSE_DAY_BANNER (b_bmonth,b_banner_name);
pro_card_agg_BANNER (b_bmonth,b_banner_name);
pro_LAST_VISIT_BANNER (b_bmonth,b_banner_name);
pro_RC_TMP_BANNER (b_bmonth,b_banner_name);
pro_RC_BANNER (b_bmonth,b_banner_name);
pro_agg_sales_disc_BANNER (b_bmonth,b_banner_name,b_tmonth1,b_tmonth2);
pro_bas_sales_disc_BANNER (b_bmonth,b_banner_name);
pro_card_sales_DISC_BANNER (b_bmonth,b_banner_name);
pro_TIMEBELT_BANNER(b_Bmonth,b_banner_name);
pro_WEEKDAYEND_BANNER(b_Bmonth,b_banner_name);
pro_CARDCUS_BANNER(b_Bmonth,b_TENR,b_banner_name);
pro_TMP_SAV_BANNER(b_Bmonth,b_banner_name);
pro_SAV_SS_BANNER(b_Bmonth,b_SAMPLE,b_banner_name);
end call_all_test;
Am i writing the if else statement in the correct way?
Thanks in advance
SQL> @a
SQL> declare
2 flag number;
3 begin
4 dbms_output.enable(10000);
5 flag := 0;
6 if (flag = 0)
7 then
8 dbms_output.put_line('flag1 is true');
9 else
10 dbms_output.put_line('flag1 is false');
11 end if;
12 flag := 1;
13 if (flag = 0)
14 then
15 dbms_output.put_line('flag2 is true');
16 else
17 dbms_output.put_line('flag2 is false');
18 end if;
19 end;
20 /
flag1 is true
flag2 is false
PL/SQL procedure successfully completed.
SQL>
Similar Messages
-
if @CustNo = '0142' begin insert #custnos (CustNo, ClientNo) values ('0142', '1100') ,('0142', '1200') ,('0142', '1201') ,('0142', '1700') ,('0142', '1602') ,('0142', '1202') ,('0142', '1603') ,('0142', '2002') endstore procUSE ODSSupport
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
if exists (select * from dbo.sysobjects where id = object_id(N'dbo.pr_Load_PASOArgusClaims_Work') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
BEGIN
drop procedure dbo.pr_Load_PASOArgusClaims_Work
IF OBJECT_ID ('dbo.pr_Load_PASOArgusClaims_Work') IS NOT NULL
PRINT '<<< FAILED DROPPING PROCEDURE dbo.pr_Load_PASOArgusClaims_Work >>>'
ELSE
PRINT '<<< DROP PROCEDURE dbo.pr_Load_PASOArgusClaims_Work >>>'
END
GO
CREATE PROC dbo.pr_Load_PASOArgusClaims_Work
@BatchNo varchar(7) = null,
@CustNo char(4) = null,
@NewBatchNo varchar(7) = null
AS
/* Object dbo.pr_Load_PASOArgusClaims_Work 2006234 */
-- SSR# : 2242
-- Date : 12/23/2005
-- Author : Roxy Newbill
-- Description : Add new PASO BCAT 1602
-- SSR# 1932 - 2/22/2006 SEN - Add logic to include only ArgusCustNo - 0142
-- and change PharmacyClaim.ProcessDate to DateWritten
-- SSR# : 2419
-- Date : 08/22/2006
-- Author : Betty Doran
-- Description : PASO reports project
-- Correct mapping of Dispense fee amt from 'AmtProfFee' to 'DispenseFee' -
-- Mapping changed by Argus - did not inform PHP. Used in calcs for mClaimTotAmtCharge and
-- mClaimAmtAllowed fields.
-- SSR# : 2496
-- Date : 06/27/2007
-- Author : Roxy Newbil
-- Description : PASO Reporting Project
-- Add data load for new columns: Prescription No, Drug Name, NDC
-- SSR# : PEBB PROJECT
-- Date : 10/13/2009
-- Author : Tj Meyer
-- Description : Add BCAT 1201 for new PEBB business--
-- SSR# : 132707
-- Date : 12/17/2009
-- Author : Terry Phillips
-- Description : PASO Reporting Project
-- Fix data length issues for Argus_SubGroupId,Argus_PlanCode,vchParticipantId,
-- vchProviderId
-- SSR# : 3253
-- Date : 03/28/2011
-- Author : Susan Naanes
-- Description : PrescriptionNo increased in size from 7 to 12 characters
-- SSR# : SPOCK project
-- Date : 08/09/2012
-- Author : Raymond Beckett
-- Description : Modifed to bring in RxKey from PharmacyClaim instead of using identity value for iRecId
-- Also, modified to load any new batches since last batch loaded into PASOArgusClaims
-- if @BatchNo not supplied
-- Various 'fixes'
-- - removed grouping from initial query due to unique grouping caused by BatchNo, ClaimNumber, ClaimType
-- SSR# : TFS 5264 - Premera Remediation -(3997)
-- Date : 12/21/2012
-- Author : Satish Pandey
-- Description : Add BCATs 1202 and 1603 to the Where clause selecting pharmclm.ArgusClientNo as BCAT
-- SSR# : TFS 10286
-- Date : 1/15/2014
-- Author : Raymond Beckett
-- Description : Add HRI Customer Number and BCAT's. Also add Customer Number and alternate batchno to parameters
-- Only use '@NewBatchNo' if adding data from missed custno and the batchno already exists in PASOArgusClaims
-- ITSM Ticket : 1800925
-- Date : 4/15/2014
-- Author : Roxy Newbill
-- Description : Silverton Hospital had new BCAT (2002) with start of 2014 business. This was never accomodated for
-- Adding this BCAT in so that we can start capturing these claims (Note, special insert being done to capture
-- all BCAT 2002 claims prior to this fix.)
-- ITSM Ticket : TFS 14587 -Intel BCAT Remediation
-- Date : 08/14/2014
-- Author : Andrew Omofonma
-- Description : Added BCAT's (1604,& 2103) for Intel
SET NOCOUNT ON
DECLARE @iCount int
create table #tmpArgusWork (
iRecId int,
BatchNo varchar (7) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
BatchDateTime datetime NULL ,
BatchStatus varchar (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
ReadyDateTime datetime NULL ,
Argus_GroupId varchar (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
Argus_SubGroupId varchar (4) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
Argus_ClassId varchar (4) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
Argus_PlanCode varchar (8) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
Argus_BusinessCategory varchar (8) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
FacetsClaimSubType varchar (4) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
PASOClaimType varchar (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
vchClaimNumber varchar (14) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
dtPaidDate datetime NULL ,
dtProcessDate datetime NULL ,
dtServiceDate datetime NULL ,
vchParticipantId varchar (14) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
vchProviderId varchar (12) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
vchProviderName varchar (55) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
mClaimTotAmtCharge money NULL ,
mClaimAmtDiscount money NULL ,
mClaimAmtAllowed money NULL ,
mClaimAmtDenied money NULL ,
mClaimAmtDeduct money NULL ,
mClaimAmtCoinsurance money NULL ,
mClaimAmtCopay money NULL ,
mClaimAmtPaid money NULL ,
PASO_GroupId varchar (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
PASO_SubGroupId varchar (4) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
PASO_ClassID varchar (4) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
PASO_PlanCode varchar (8) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
PASO_BusinessCategory varchar (8) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
RecordStatus varchar (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
ErrorDesc varchar (128) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
PrescriptionNo char(12) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
DrugName varchar(30)COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
NDC char(11) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
create table #batches (
BatchNo char(7) not null
primary key (BatchNo))
create table #custnos (
CustNo char(4),
ClientNo char(5), -- bcats associated with the customer
primary key (CustNo, ClientNo)
DECLARE
@len_Argus_SubGroupId smallint,
@len_Argus_PlanCode smallint,
@len_vchParticipantId smallint,
@len_vchProviderId smallint
--Get field lengths for the following fields
SELECT @len_Argus_SubGroupId = 4, --datalength([@tmpArgusWork].[Argus_SubGroupId]),
@len_Argus_PlanCode = 8, --datalength(@tmpArgusWork.Argus_PlanCode),
@len_vchParticipantId = 14, --datalength(@tmpArgusWork.vchParticipantId),
@len_vchProviderId = 12 --datalength(@tmpArgusWork.vchProviderId)
declare @maxbatch char(7)
IF @BatchNo IS NULL
begin
-- assume normal run. Add ClientNo's and custno's to tables
insert #custnos (CustNo, ClientNo)
values ('0142', '1100')
,('0142', '1200')
,('0142', '1201')
,('0142', '1700')
,('0142', '1602')
,('0142', '1202')
,('0142', '1603')
,('0142', '2002')
,('0142', '1604')
,('0142', '2103')
,('0669', '*')
-- get batches loaded since last batch loaded into PASOArgusClaims
SELECT @maxbatch=Max(BatchNo)
FROM ODSSupport.dbo.PASOArgusClaims
declare @dt datetime
declare @ds datetime
select @dt = MIN(DateTimeStamp)
from ODS.dbo.PharmacyClaim_Common
where BatchNo <= @maxbatch
and DateTimeStamp > DATEADD(dd,-16,getdate())
insert #batches (BatchNo)
select distinct BatchNo
from ODS.dbo.PharmacyClaim_Common pcc
inner join #custnos ct
on ct.CustNo = pcc.ArgusCustNo
and (
ct.ClientNo = '*'
or
ct.ClientNo = pcc.ArgusClientNo
where DateTimeStamp > @dt
; -- batch may have had a claim altered since last load, drop any batches already loaded into PASOArgusClaims
with pba as (
select distinct BatchNo
from ODSSupport.dbo.PASOArgusClaims
delete ba
from #batches ba
inner join pba
on pba.BatchNo = ba.BatchNo
end
else if @NewBatchNo is not null and @CustNo is not null
begin
--make sure we haven't already done this batch number/customer combination
set @maxbatch = @NewBatchNo
SELECT @iCount=count(*)
FROM PASOArgusClaims
WHERE BatchNo=@maxbatch
and Argus_BusinessCategory = @CustNo
IF @iCount > 0
begin
PRINT 'Msg: Batch ' + @maxbatch + ' already exists for CustNo ' + @CustNo + '.'
end
else
begin
if @CustNo = '0142'
begin
insert #custnos (CustNo, ClientNo)
values ('0142', '1100')
,('0142', '1200')
,('0142', '1201')
,('0142', '1700')
,('0142', '1602')
,('0142', '1202')
,('0142', '1603')
,('0142', '2002')
,('0142', '1604')
,('0142', '2103')
end
if @CustNo = '0669'
begin
insert #custnos (CustNo, ClientNo)
values ('0669', '*')
end
insert #batches (BatchNo)
values (@BatchNo)
end
end
else
begin
--make sure we haven't already done this batch number
set @maxbatch = @BatchNo
SELECT @iCount=count(*)
FROM PASOArgusClaims
WHERE BatchNo=@maxbatch
IF @iCount > 0
begin
PRINT 'Msg: Batch ' + @maxbatch + ' already loaded.'
end
else
begin
insert #batches (BatchNo)
values (@maxbatch)
end
end
** Insert Pharmacy Claims to temporary table
INSERT INTO #tmpArgusWork
SELECT
pharmClm.RxKey,
isnull(@NewBatchNo, pharmClm.BatchNo),
pharmclm.OrigDateTimeStamp as BatchDateTime,
'PENDING' as BatchStatus,
NULL as ReadyDateTime,
substring(pharmClm.GrpNumber,1,8)as Argus_GroupID,
left(pharmClm.ArgusSubgroup1,@len_Argus_SubGroupId) as Argus_SubgroupID,
substring(pharmClm.GrpNumber,9,4) as Argus_ClassId,
substring(pharmClm.GrpNumber,13,@len_Argus_PlanCode) as Argus_PlanCode,
pharmClm.ArgusClientNo as Argus_BusinessCategory,
'' as vchFacetsClaimSubtype,
PASOClaimType = CASE WHEN pharmClm.ClaimType='A'
THEN 'PHARMACY-ADJUST'
ELSE 'PHARMACY'
END,
pharmClm.ClaimNo,
pharmClm.DateCutoff as dtPaidDate,
pharmClm.DateWritten as dtProcessDate,
NULL as dtServiceDate,
left(pharmClm.MemberId,@len_vchParticipantId) as vchParticipantId,
left(pharmClm.PharmacyNo,@len_vchProviderId) as vchProviderId,
vchProviderName = CASE WHEN pharmclm.PayMemberInd = 'Y'
THEN 'Member Reimbursement'
ELSE pharm.PharmName
END,
mClaimTotAmtCharge = CASE WHEN pharmclm.PayMemberInd = 'Y' -- When this is a member reimbursement use the amt paid
THEN isnull(pharmClm.IngredientCostPaid,0) + isnull(pharmClm.DispenseFee,0) + isnull(APSFee,0) -- as amt charged.
ELSE isnull(pharmClm.AmtBilled,0)
END,
case when pharmclm.PayMemberInd = 'Y'
then isnull(pharmClm.AmtRejected,0) * -1
else isnull(pharmClm.AmtBilled,0) - isnull(pharmClm.IngredientCostPaid,0) - isnull(pharmClm.DispenseFee,0) - isnull(APSFee,0) -isnull(pharmClm.AmtRejected,0)
end as mClaimAmtDiscount,
isnull(pharmClm.IngredientCostPaid,0) + isnull(pharmClm.DispenseFee,0) + isnull(APSFee,0) as mClaimAmtAllowed,
isnull(pharmClm.AmtRejected,0) as mClaimAmtDenied,
isnull(pharmClm.MemberPaidAmt,0) - isnull(pharmClm.MemberCopayAmt,0) as mClaimAmtDeduct,
0 as mClaimAmtCoinsurance,
isnull(pharmClm.MemberCopayAmt,0) as mClaimAmtCopay,
isnull(pharmClm.AmtPaid,0) + isnull(APSFee,0) as mClaimAmtPaid,
NULL as PASO_GroupID,
NULL as PASO_SubgroupID,
NULL as PASO_ClassID,
NULL as PASO_PlanCode,
NULL as PASO_BusinessCategory,
'OK' as RecordStatus,
NULL as ErrorDesc,
PrescriptionNo = pharmClm.PrescriptionNo,
DrugName = pharmClm.DrugName,
NDC = pharmClm.NDC
FROM ODS..PharmacyClaim as pharmClm
LEFT JOIN ODS..pharmacy as pharm on
pharmClm.PharmacyNo = pharm.PharmacyNo
INNER join #batches ba
on ba.BatchNo = pharmClm.BatchNo
INNER join #custnos ct
on ct.CustNo = pharmClm.ArgusCustNo
and (
ct.ClientNo = '*'
or
ct.ClientNo = pharmClm.ArgusClientNo
WHERE pharmClm.ClaimType in ('P','A') -- Processed or Adjusted
--AND pharmClm.ProcessCode <> 'MC' --code doesn't exist
--GROUP BY
-- pharmClm.BatchNo,
-- substring(pharmClm.GrpNumber,1,8),
-- substring(pharmClm.GrpNumber,9,4) ,
-- substring(pharmClm.GrpNumber,13,@len_Argus_PlanCode),
-- pharmClm.ArgusSubgroup1,
-- pharmClm.ClaimNo,
-- pharmClm.ArgusClientNo,
-- pharmClm.DateCutoff,
-- pharmClm.DateWritten,
-- pharmClm.MemberId,
-- pharmClm.PayMemberInd,
-- pharmClm.PharmacyNo,
-- pharm.PharmName,
-- pharmClm.OrigDateTimeStamp,
-- pharmClm.ClaimType,
-- pharmClm.PrescriptionNo,
-- pharmClm.DrugName,
-- pharmClm.NDC
IF @@RowCount=0
BEGIN
PRINT 'Msg: No records found.'
RETURN
END
--Update the Discount column for these Pharmacy Claims
--UPDATE @tmpArgusWork
--SET mClaimAmtDiscount=mClaimTotAmtCharge-mClaimAmtAllowed-mClaimAmtDenied
** Get the lowest service Date for each claim and update temp table
UPDATE #tmpArgusWork
SET dtServiceDate = (SELECT min(pharmclm.DateSvc)
FROM ODS..pharmacyClaim AS pharmclm
WHERE pharmclm.ClaimNo = tcpr.vchClaimNumber
AND pharmclm.MemberID = tcpr.vchParticipantId)
FROM #tmpArgusWork as tcpr
** Copy over the eligibility fields that Argus provided
UPDATE #tmpArgusWork
SET PASO_GroupId = Argus_GroupID,
PASO_SubGroupId = Argus_SubGroupId,
PASO_ClassID=Argus_classid,
PASO_PlanCode=Argus_PlanCode,
PASO_BusinessCategory=Argus_BusinessCategory
FROM #tmpArgusWork pw
WHERE COALESCE(Argus_GroupID,'') <> ''
OR COALESCE(Argus_SubGroupId,'') <> ''
OR COALESCE(Argus_classid,'') <> ''
OR COALESCE(Argus_PlanCode,'') <> ''
OR COALESCE(Argus_BusinessCategory,'') <> ''
** If Argus did not provide all 5 eligibility fields, get them from faEnrollmentHistory
** based on the group, member, date of service
UPDATE #tmpArgusWork
SET PASO_GroupId = eh.GroupId,
PASO_SubGroupId = eh.SubGroupId,
PASO_ClassID=eh.Class,
PASO_PlanCode=eh.PlanCode,
PASO_BusinessCategory=eh.BusinessCategory
FROM #tmpArgusWork pw
INNER JOIN ODS..FAEnrollmentHistory eh
ON eh.MemberID =pw.vchParticipantID
AND eh.Groupid =pw.Argus_GroupID
AND eh.eligind='Y'
AND eh.ProcessCode<>'ID'
AND pw.dtServiceDate BETWEEN eh.EligEffDate AND eh.EligTermDate
WHERE COALESCE(Argus_GroupID,'') = ''
OR COALESCE(Argus_SubGroupId,'') = ''
OR COALESCE(Argus_classid,'') = ''
OR COALESCE(Argus_PlanCode,'') = ''
OR COALESCE(Argus_BusinessCategory,'') = ''
** If we have eligibility for all records, go ahead and set the ready date to today.
IF NOT EXISTS ( SELECT *
FROM #tmpArgusWork
WHERE COALESCE(PASO_GroupID,'') = ''
OR COALESCE(PASO_SubGroupID,'') = ''
OR COALESCE(PASO_ClassID,'') = ''
OR COALESCE(PASO_PlanCode,'') = ''
OR COALESCE(PASO_BusinessCategory,'') = '')
BEGIN
UPDATE #tmpArgusWork
SET ReadyDateTime=convert(varchar(10),GetDate(),101),
BatchStatus='READY'
END
ELSE
BEGIN
PRINT 'Msg: Exceptions found.'
UPDATE #tmpArgusWork
SET RecordStatus='ERR',
ErrorDesc='No valid Eligible span for this Member/Group/Subgroup at time of Service'
WHERE COALESCE(PASO_GroupID,'') = ''
OR COALESCE(PASO_SubGroupId,'') = ''
OR COALESCE(PASO_ClassID,'') = ''
OR COALESCE(PASO_PlanCode,'') = ''
OR COALESCE(PASO_BusinessCategory,'') = ''
END
** Insert the records into the final table.
INSERT INTO PASOArgusClaims
SELECT * FROM #tmpArgusWork
SET NOCOUNT OFF
END
GO
-- Verify that the stored procedure was created successfully.
IF OBJECT_ID ('dbo.pr_Load_PASOArgusClaims_Work') IS NOT NULL
PRINT '<<< CREATED PROCEDURE dbo.pr_Load_PASOArgusClaims_Work >>>'
ELSE
PRINT '<<< FAILED CREATING PROCEDURE dbo.pr_Load_PASOArgusClaims_Work >>>'
GO
GRANT EXECUTE ON dbo.pr_Load_PASOArgusClaims_Work to role_ODSLoad
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ONthis part of the code below
if@CustNo
= '0142'
begin
insert #custnos(CustNo,
ClientNo)
values ('0142',
'1100')
,('0142',
'1200')
,('0142',
'1201')
,('0142',
'1700')
,('0142',
'1602')
,('0142',
'1202')
,('0142',
'1603')
,('0142',
'2002')
end
store proc
How do I covert it to a common table where the values can be selected from when needed. -
MBP suddenly extremely slow, checks return fine - anything else?
Hi there,
The issue: MBP had been working fine but all of a sudden it is frustratingly slow to the point it is near unusable. This literally happened overnight - it was fine, then I woke up to use the laptop and these issues occured. 95% of requests (clicking on something) are followed by a few sections of nothing, then the spinning pinwheel for anywhere from 5-30 seconds, this also happens when scrolling or opening web pages or writing things in word or on the web. I have just timed my boot up at 3.23mins and I have nothing that opens on boot up.
Spec: I am using an MBP mid 2012 model, 2.5Ghz Intel Core i5 processor, 4GB 1600MHz DDR3 memory running OS X Lion 10.7.5. The 500GB hard drive has 323.13GB free space and 2.69GB free memory.
So far: I have removed any external additions, unplugged anything that was plugged in, disabled my firewall and turned off WI-FI - this didn't help. I have checked the CPU usage and the computer is having issues even when running at 95% idle. I just did the AHT which reported no issues and checked the HD in disk utility - it gave me both the brand, model, size of the HD which as far as I know means theres no hard drive issue (correct me if I am wrong). I also just finished backing up all my files on time machine which took about 2 days.
I know there have been similar threads which is where I got most of my troubleshooting noted above from. I am aware that it would also seem logical to take the laptop to get checked out at the apple store, however I am an international student at college in quite a remote area - the nearest apple store is at least 90 minutes away and I am unable to drive cars in the US. We do have a computer store on campus who have technicians however they charge regardless of if they can help - I am wondering if there is anything else I can do myself to fix the issues, or at least determine what might be causing them, before taking the laptop in to be seen as a last resort.
Any help at all would be greatly appreicated.
Thanks.
P.s, apologies for the length of this, I have tried to be as in-depth as possible to avoid any time wasted asking simple questions etc.If you don't already have a current backup, back up all data before doing anything else. This procedure is a diagnostic test. It changes nothing, for better or worse, and therefore will not, in itself, solve your problem. The backup is necessary on general principle, not because of anything suggested in this comment. There are ways to back up a computer that isn't fully functional. Ask if you need guidance.
Below are instructions to run a UNIX shell script, a type of program. It does nothing but produce human-readable data about the state of your computer. However, you need to be cautious about running any program at the behest of a stranger on a public message board. If you question the safety of the procedure suggested here — which you should — search this site for other discussions in which it’s been followed without any report of ill effects. If you can't satisfy yourself that these instructions are safe, don't follow them.
Here's a summary of what you need to do: Copy a line of text from this web page into the window of another application. Wait about a minute. Then paste some other text, which will have been copied automatically, back into a reply on this page. The sequence is: copy, paste, wait, paste again. Details follow.
You may have started the computer in "safe" mode. Preferably, these steps should be taken in “normal” mode. If the system is now in safe mode and works well enough in normal mode to run the test, restart as usual. If you can only run the test in safe mode, proceed anyway.
If you have more than one user, and the affected user is not an administrator, then please run the script twice: once while logged in as the affected user, and once as an administrator. The results may be different. The administrator is the user that is created automatically on a new computer when you start it for the first time. If you can't log in as an administrator, just run the script as the affected user. Most personal Macs have only one user, and in that case this paragraph doesn’t apply.
The script is a single long line, all of which must be selected. You can accomplish this easily by triple-clicking anywhere in the line. The whole line will highlight, though you may not see all of it in your browser, and you can then copy it.
Launch the built-in Terminal application in any of the following ways:
☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
When you launch Terminal, a text window will open with a line already in it, ending either in a dollar sign ($) or a percent sign (%). If you get the percent sign, enter “sh” and press return. You should then get a new line ending in a dollar sign.
Triple-click anywhere in the line of text below on this page to select it:
clear; shopt -s extglob; Fb='%s\n\t(%s)\n'; Fm='\n%s:\n\n%s\n'; Fs='\n%s: %s\n'; PB="/usr/libexec/PlistBuddy -c Print"; Pm () { [[ "$o" ]] && o=$(sed 's/^/ /' <<< "$o") && printf "$Fm" "$1" "$o"; }; Pc () { o=$(egrep -v '^[[:blank:]]*($|#)' "$2"); Pm "$1"; }; Pp () { o=$($PB "$2" | awk -F'= ' \/$3'/{print $2}'); Pm "$1"; }; Ps () { o="${o##+( )}"; [[ "$o" -ne 0 ]] && printf "$Fs" "$1" "$o"; }; a=$(id | grep -w '80(admin)'); r=1; [[ "$a" ]] && { sudo true; r=$?; }; { [[ "$a" ]] || echo $'No admin access\n'; [[ "$a" && "$r" -ne 0 ]] && echo $'No root access\n'; system_profiler SPSoftwareDataType | sed '8!d;s/^ *//'; o=$(system_profiler SPDiagnosticsDataType | sed '5,6!d'); fgrep -q P <<< "$o" && o=; Pm "POST"; o=$(nvram boot-args | awk '{$1=""; print}'); Ps "boot-args"; o=$(df -m / | awk 'NR==2 {print $4}'); [[ $o -lt 5120 ]] && Ps "Free space (MiB)"; o=$(($(vm_stat | awk '/Pageo/{sub("\\.",""); print $2}')/256)); o=$((o>=1024?o:0)); Ps "Pageouts (MiB)"; s=( $(sar -u 1 10 | sed '$!d') ); [[ ${s[4]} -lt 90 ]] && o=$(printf 'User %s%%\t\tSystem %s%%' ${s[1]} ${s[3]}) || o=; Pm "Total CPU usage" && o=$(ps acrx -o comm,ruid,%cpu | sed '2!d'); Pm "Max %CPU by process (name, UID, %)"; o=$(kextstat -kl | grep -v com\\.apple | cut -c53- | cut -d\< -f1); Pm "Loaded extrinsic kernel extensions"; o=$(launchctl list | sed 1d | awk '!/0x|com\.apple|org\.(x|openbsd)|\.[0-9]+$/{print $3}'); Pm "Loaded extrinsic user agents"; o=$(launchctl getenv DYLD_INSERT_LIBRARIES); Pm "Inserted libraries"; for f in crontab fstab launchd.conf sysctl.conf; do Pc $f /etc/$f; done; Pc "hosts" <(sed '1,10d' /etc/hosts); Pc "User crontab" <(crontab -l); Pc "User launchd" ~/.launchd; o=$(find {,/u*/lo*}/e*/periodic -type f -mtime -10d); Pm "Modified periodic scripts"; Pp "Global login items" /L*/P*/loginw* Path; Pp "User login items" L*/P*/*loginit* Name; Pp "Safari extensions" L*/Saf*/*/E*.plist Bundle | sed 's/\..*$//;s/-[1-9]$//'; o=$(find ~ $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 \) | wc -l); Ps "Restricted user files"; cd; o=$(find -L /S*/L*/E* {/,}L*/{A*d,Compon,Ex,In,Keyb,Mail/Bu,P*P,Qu,Scripti,Servi,Spo}* -type d -name Contents -prune | while read d; do ID=$($PB\ :CFBundleIdentifier "$d/Info.plist") || ID="No bundle ID"; egrep -qv "^com\.apple\.[^x]|Accusys|ArcMSR|ATTO|HDPro|HighPoint|driver\.stex|hp-fax|\.hpio|JMicron|microsoft\.MDI|print|SoftRAID" <<< $ID && printf "$Fb" "${d%/Contents}" "$ID"; done); Pm "Extrinsic loadable bundles"; o=$(find /u*/{,*/}lib -type f -exec sh -c 'file -b "$1" | grep -qw shared && ! codesign -v "$1"' {} {} \; -print); Pm "Unsigned shared libraries"; o=$(system_profiler SPFontsDataType | egrep "Valid: N|Duplicate: Y" | wc -l); Ps "Font problems"; for d in {/,}L*/{La,Priv,Sta}*; do o=$(ls -A "$d" | egrep -v '\.DS_Store|^com\.apple'); Pm "$d"; done; o=$(ls /L*/L*/Dia*/*.panic | wc -l); Ps "Panics"; o=$(ls /L*/L*/Dia*/*.c* | tail); Pm "System crash logs"; o=$(ls L*/L*/Dia* | tail); Pm "User crash logs"; [[ "$r" -eq 0 ]] && { o=$(sudo profiles -P); Pm "Profiles"; o=$(sudo launchctl list | sed 1d | awk '!/0x|com\.(apple|openssh|vix\.cron)|org\.(amav|apac|calendarse|cups|dove|isc|ntp|post[fg]|x)/{print $3}'); Pm "Loaded extrinsic daemons"; o=$(sudo defaults read com.apple.loginwindow LoginHook); Pm "Login hook"; Pc "Root crontab" <(sudo crontab -l);}; o=$(syslog -F bsd -k Sender kernel -k Message CReq 'GPU |hfs: Ru|I/O e|n Cause: -|NVDA\(|pagin|timed? ?o' | tail -n25 | awk '/:/{$4=""; $5=""; print}'); Pm "Kernel messages"; } 2> /dev/null | pbcopy; exit
Copy the selected text to the Clipboard by pressing the key combination command-C. Then click anywhere in the Terminal window and paste (command-V). The text you pasted should vanish immediately. If it doesn't, press the return key.
If you're logged in as an administrator, you'll be prompted for your login password. Nothing will be displayed when you type it. You will not see the usual dots in place of typed characters. Make sure caps lock is off. Type carefully and then press return. You may get a one-time warning to be careful. If you make three failed attempts to enter the password, the script will run anyway, but it will produce less information. In most cases, the difference is not important, so don't worry about it.
The script may take up to a few minutes to run, depending on how many files you have and the speed of the computer. Wait for the line "[Process completed]" to appear in the Terminal window.
You can then quit Terminal. The output of the script will have been copied to the Clipboard automatically. All you have to do is paste into a reply to this message by pressing command-V again. If any personal information, such as your name or email address, appears in the output, anonymize it before posting. Usually that won't be necessary. Please don't copy anything from the Terminal window.
When you post the output, you might see in your browser the message, "You have included content in your post that is not permitted." That's because the forum software falsely identifies something in the post as a violation of the terms of use. If that happens, please post the output on Pastebin, then post a link here to the page you created.
Note: This is a public forum, and others may offer you advice based on the output of the script. They speak only for themselves and I don't necessarily agree with their views.
Copyright © 2014 Linc Davis. As the sole author of this work, I reserve all rights to it except as provided in the Terms of Use of Apple Support Communities ("ASC"). Readers of ASC may copy it for their own personal use. Neither the whole nor any part may be redistributed. -
Actuate 7 PL/SQL Stored Procedure Call Before the Report Run.
Hi,
I need a small help to call a pl sql stored procedure in actuate 7.
I wrote a code a on component content
Function runProc(procName as String, connection As AcDBConnection )
' Insert your code here
Dim statement As AcDBStatement
Dim results as string
' Prepare statement
Set statement = connection.Prepare("BEGIN " & procName & "; END;" )
If statement Is Nothing Then
results = "Failed to prepare statement."
results = results & " " & connection.GetSpecificErrorText( )
results = results & " " & connection.GetGeneralErrorText( )
Exit sub
End If
' Execute sprocoutparam
If statement.Execute() = 0 Then
results = "Stored procedure " & procName & "execution failed."
results = results & " " & connection.GetSpecificErrorText( )
results = results & " " & connection.GetGeneralErrorText( )
Else
results = "Stored procedure " & procName & " execution success."
End if
ShowFactoryStatus(results)
End FunctionNow this Code I am calling on the Chart Start Method
Sub Start( )
Super::Start( )
' Insert your code here
Dim ProcName as String
Dim connectionObject As AcDBConnection
ProcName="DELETECUSTOMER(1234)"
runProc(ProcName, connectionObject )
End SubNow when i Run the Report i get this Error !
NewReportApp::Frame::Chart%Start(9): Invalid procedure reference. - (runProc)
1 Semantic Error(s) found
Thanks,
Asifhi,
Finally Figured Out Here....
Steps to Call the Stored Procedure In Actuate 7
1 – Right Click on Content – Frame and go to properties and method Tab.
1 – Click on New Button to you create own custom method.
2 – Write the following code :
Sub runProc(procName as String, connection As AcDBConnection )
Dim statement As AcDBStatement
Dim results as string
Set connection = GetConnection()
'Prepare statement
Set statement = connection.Prepare("BEGIN " & procName & "; END;" )
If statement Is Nothing Then
results = "Failed to prepare statement."
results = results & " " & connection.GetSpecificErrorText( )
results = results & " " & connection.GetGeneralErrorText( )
MsgBox "Procedure Not Called....Badddddd"
Exit sub
End If
' Execute sprocoutparam
If statement.Execute() = 0 Then
results = "Stored procedure " & procName & "execution failed."
results = results & " " & connection.GetSpecificErrorText( )
results = results & " " & connection.GetGeneralErrorText( )
MsgBox "Procedure Not Called....Badddddd" & results
Else
results = "Stored procedure " & procName & " execution success."
MsgBox "Procedure Called....Wowwww"
End if
ShowFactoryStatus(results)
End Sub2 – Now let call the stored procedure before our actual report query runs.
1 - Right Click on Content – Frame and go to properties and method Tab.
2 - Select the Start Method and Click on Override button.
3 - Write the following code:
Sub Start( )
Dim ProcName as String
Dim connectionObject As AcDBConnection
Set connectionObject = GetConnection()
ProcName="XXTEST ()"
runProc( ProcName, connectionObject )
Super::Start ( )
End Sub3 – Now design your report as usual using the Textual Query window. -
Possible to use stored procedure to fill excel template?
Hi,
I want to fill a defined named range in an Excel file with a matrix of values from a stored procedure in Oracle. Is this possible?
Today from our ASP.NET client we ask an oracle database for resultset and then rearrange and work with the resultset and print the final resultset to defined named ranges in an Excel file with the OLEDB provider. We repeatingly execute a SQL statement like "INSERT INTO [DATA_RANGE1] VALUES ('var1','var2','var3');" and for each sql statement a new row is inserted in excel file in the defined named range "DATA_RANGE1". This works fine, but is VERY time consuming!
It would be nice writing all insert statements in one call to the excel file instead of repeatingly call the excel file.
If I try to use sql statements separated with ";", like "INSERT INTO [DATA_RANGE1] VALUES ('var1','var2','var3'); INSERT INTO [DATA_RANGE1] VALUES ('var1','var2','var3');" in one query from the ASP.NET client I get System.Data.Oledb.OledbException "Characters found after end of SQL statement".
Today the connectionstring look like
_connectionExcel = NewSystem.Data.OleDb.OleDbConnection ("Provider=Microsoft.ACE.OLEDB.12.0; Data Source="+ "'" & strFullPathAndName & "';Extended Properties=Excel 12.0 Macro;")
for Excel 2010 files and
_connectionExcel = NewSystem.Data.OleDb.OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ "'" & strFullPathAndName & "';Extended Properties=Excel 8.0 Macro;")
for Excel 2003 files.
Is there another method to solve this?
I asked about this in an Excel forum and they advised me to use a stored procedure, but I am not sure about how to do this, and if it is possible?
BR, Siri>
Is it possible to provide a very simple example how to implement such a lock?
>
Funny you should ask. I wanted to check out Tubby's suggestion also so did a very simple (i.e. non-useable) example.
-- function to get a handle - this could be in a package - the AUTONOMOUS_TRANSACTION is only needed if you care about the COMMIT that gets done.
create or replace function get_lock_handle (p_name IN varchar2)
return VARCHAR2 is
--PRAGMA AUTONOMOUS_TRANSACTION;
v_handle VARCHAR2(2000);
begin
DBMS_LOCK.ALLOCATE_UNIQUE (P_NAME, v_handle);
RETURN v_handle;
end;
-- actual procedure you want to serialize
create or replace procedure test_lock is
v_handle VARCHAR2(2000);
v_lock_result INTEGER;
v_i INTEGER;
begin
v_handle := get_lock_handle('test_lock'); -- here you could pass the name of the procedure as the name of the lock
v_lock_result := dbms_lock.request(v_handle, timeout => 2); -- only wait 2 seconds to get the lock
if (v_lock_result = 0) then
v_i := 1;
loop
if (v_i = 10) then
exit;
end if;
v_i := v_i + 1;
dbms_output.put_line ('procedure is executing');
dbms_lock.sleep(5);
end loop;
else
dbms_output.put_line('procedure is locked');
return;
end if;
v_lock_result := DBMS_LOCK.RELEASE(v_handle);
EXCEPTION
WHEN OTHERS THEN
v_lock_result := DBMS_LOCK.RELEASE(v_handle);
end;Now call EXEC TEST_LOCK from two different sessions.
The second session will time out after 2 seconds. Keep running it and once the first session releases the lock the second will execute.
Thanks for the question - and thanks Tubby for suggesting DBMS_LOCK - I hadn't used it for this purpose before. -
How do I stop Finder from crashing when I try to view my external drive?
Hello,
I've read through a few similar posts, but the solutions don't seem to fit my problem. I was moving some files around on an external drive that I've been using for a year with no problems. While moving one file to another folder (within the drive, not between my computer and the drive), it froze up. After waiting for 20 minutes or so, I pulled the drive out and restarted the computer.
Now when I plug the drive back in, it shows up as usual, but when I click on it, Finder crashes immediately. I ran disk utility repair, and it says "The volume appears to be ok" in green, but it still crashes finder when I try to open it. Based on the advice of another post, I ran Console, and copied what I thought to be the relevant portion of the transcript, though I don't know what any of it means ("Uzak" is the name of the drive):
12/27/13 7:02:27.778 PM fseventsd: disk logger: failed to open output file /Volumes/Uzak/.fseventsd/000000000003357c (No such file or directory). mount point /Volumes/Uzak/.fseventsd
12/27/13 7:02:27.779 PM fseventsd: disk logger: failed to open output file /Volumes/Uzak/.fseventsd/000000000003357c (No such file or directory). mount point /Volumes/Uzak/.fseventsd
12/27/13 7:02:27.826 PM mds: (Error) LSOF: File '/Volumes/Uzak' (fd=11) left open on device 234881033
12/27/13 7:02:31.598 PM WDSecurityHelper: DriveDisappeared Called with a string of disk1
12/27/13 7:04:05.000 PM kernel: USBF: 881.622 [0xffffff800a66fc00] The IOUSBFamily is having trouble enumerating a USB device that has been plugged in. It will keep retrying. (Port 1 of Hub at 0xfd100000)
12/27/13 7:04:05.000 PM kernel: USBF: 881.622 [0xffffff800a66fc00] The IOUSBFamily was not able to enumerate a device.
12/27/13 7:04:07.000 PM kernel: USBMSC Identifier (non-unique): 575844314537324E4E453037 0x1058 0x7a8 0x1033
12/27/13 7:04:08.683 PM WDSecurityHelper: UnrecognizedDiskPeek Called with a string of disk1
12/27/13 7:04:08.737 PM WDSecurityHelper: UnrecognizedDiskPeek Called with a string of disk1s0
12/27/13 7:04:08.000 PM kernel: SAM Multimedia: READ or WRITE failed, SENSE_KEY = 0x05, ASC = 0x24, ASCQ = 0x00
12/27/13 7:04:08.000 PM kernel: SAM Multimedia: READ or WRITE failed, SENSE_KEY = 0x05, ASC = 0x24, ASCQ = 0x00
12/27/13 7:04:08.000 PM kernel: SAM Multimedia: READ or WRITE failed, SENSE_KEY = 0x05, ASC = 0x24, ASCQ = 0x00
12/27/13 7:04:08.000 PM kernel: SAM Multimedia: READ or WRITE failed, SENSE_KEY = 0x05, ASC = 0x24, ASCQ = 0x00
12/27/13 7:04:08.000 PM kernel: SAM Multimedia: READ or WRITE failed, SENSE_KEY = 0x05, ASC = 0x24, ASCQ = 0x00
12/27/13 7:04:08.958 PM WDSecurityHelper: UnrecognizedDiskPeek Called with a string of disk1s0s1
12/27/13 7:04:08.960 PM WDSecurityHelper: mountApproval Called for device disk1s0s2
12/27/13 7:04:08.961 PM WDSecurityHelper: Approved mount devices = (
12/27/13 7:04:08.962 PM WDSecurityHelper: The mounting of WD Unlocker on disk1s0s2 was not approved.
12/27/13 7:04:08.969 PM WDSecurityHelper: processDiskApperance for device disk1s0s2
12/27/13 7:04:08.999 PM WDSecurityHelper: encryptionStatus = 1
12/27/13 7:04:09.118 PM [0x0-0x16016].com.westerndigital.WDSecurityHelper: WDDevice::PerformDriveConfiguration
12/27/13 7:04:09.629 PM WDSecurityHelper: UnrecognizedDiskPeek Called with a string of disk2
12/27/13 7:04:09.712 PM WDSecurityHelper: mountApproval Called for device disk2s1
12/27/13 7:04:09.713 PM WDSecurityHelper: Approving mount of Uzak on disk2s1
12/27/13 7:04:09.836 PM WDSecurityHelper: processDiskApperance for device disk2s1
12/27/13 7:04:09.837 PM WDSecurityHelper: disk2s1 is not supported...
12/27/13 7:04:09.881 PM fseventsd: could not open <</Volumes/Uzak/.fseventsd/fseventsd-uuid>> (No such file or directory)
12/27/13 7:04:09.882 PM fseventsd: log dir: /Volumes/Uzak/.fseventsd getting new uuid: E6CE571A-E193-4549-94FC-0A76ACCEA37F
Sorry to dump all these lines of code, but if anyone can decipher them for me I'd be extremely grateful...If you don't already have a current backup, back up all data before doing anything else. This procedure is a diagnostic test. It changes nothing, for better or worse, and therefore will not, in itself, solve your problem. The backup is necessary on general principle, not because of anything suggested in this comment. There are ways to back up a computer that isn't fully functional. Ask if you need guidance.
Third-party system modifications are a common cause of usability problems. By a “system modification,” I mean software that affects the operation of other software — potentially for the worse. The procedure will help identify which such modifications you've installed, as well as some other aspects of the configuration that may be related to the problem.
Don’t be alarmed by the seeming complexity of these instructions — they’re easy to carry out. Here's a brief summary: In each of two steps, you copy a line of text from this web page into a window in another application. You wait about a minute. Then you paste some other text, which will have been copied automatically, back into a reply on this page. The sequence is copy; paste; paste again. That's all there is to it. Details follow.
You may have started the computer in "safe" mode. Preferably, these steps should be taken while booted in “normal” mode. If the system is now running in safe mode and is bootable in normal mode, reboot as usual. If it only boots in safe mode, use that.
Below are instructions to enter UNIX shell commands. They do nothing but produce human-readable output. However, you need to think carefully before running any program at the behest of a stranger on a public message board. If you question the safety of the procedure suggested here — which you should — search this site for other discussions in which it’s been followed without any report of ill effects. If you can't satisfy yourself that these instructions are safe, don't follow them.
The commands will line-wrap or scroll in your browser, but each one is really just a single long line, all of which must be selected. You can accomplish this easily by triple-clicking anywhere in the line. The whole line will highlight, and you can then copy it.
If you have more than one user account, Step 2 must be taken as an administrator. Ordinarily that would be the user created automatically when you booted the system for the first time. Step 1 should be taken as the user who has the problem, if different. Most personal Macs have only one user, and in that case this paragraph doesn’t apply.
Launch the Terminal application in any of the following ways:
☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
When you launch Terminal, a text window will open with a line already in it, ending either in a dollar sign (“$”) or a percent sign (“%”). If you get the percent sign, enter “sh” and press return. You should then get a new line ending in a dollar sign.
Step 1
Triple-click anywhere in the line of text below on this page to select it:
PB=/usr/libexec/PlistBuddy; PR () { [[ "$o" ]] && printf '\n%s:\n\n%s\n' "$1" "$o"; }; PC () { o=$(grep [^[:blank:]] "$2"); PR "$1"; }; PF () { o=$($PB -c Print "$2" | awk -F'= ' \/$3'/{print $2}'); PR "$1"; }; PN () { [[ $o -eq 0 ]] || printf "\n%s: %s\n" "$1" $o; }; { system_profiler SPSoftwareDataType | sed '8!d;s/^ *//'; o=$(system_profiler SPDiagnosticsDataType | sed '5,6!d'); fgrep -q P <<< "$o" && o=; PR "POST"; o=$(( $(vm_stat | awk '/Pageo/{sub("\\.",""); print $2}')/256 )); [[ $o -gt 1024 ]] && printf "\nPageouts: %s MiB\n" $o; s=( $(sar -u 1 10 | sed '$!d') ); [[ ${s[4]} -lt 90 ]] && o=$( printf 'User %s%%\t\tSystem %s%%' ${s[1]} ${s[3]} ) || o=; PR "Total CPU usage"; [[ "$o" ]] && o=$(ps acrx -o comm=Process,ruid=User,%cpu | sed 's/ */:/g' | head -6 | awk -F: '{ printf "%-10s\t%s\t%s\n", $1, $2, $3 }'); PR "CPU usage by process"; o=$(kextstat -kl | grep -v com\\.apple | cut -c53- | cut -d\< -f1); PR "Loaded extrinsic kernel extensions"; o=$(launchctl list | sed 1d | awk '!/0x|com\.apple|org\.(x|openbsd)|\.[0-9]+$/{print $3}'); PR "Loaded extrinsic user agents"; o=$(launchctl getenv DYLD_INSERT_LIBRARIES); PR "Inserted libraries"; PC "cron configuration" /e*/cron*; o=$(crontab -l | grep [^[:blank:]]); PR "User cron tasks"; PC "Global launchd configuration" /e*/lau*; PC "Per-user launchd configuration" ~/.lau*; PF "Global login items" /L*/P*/loginw* Path; PF "Per-user login items" L*/P*/*loginit* Name; PF "Safari extensions" L*/Saf*/*/E*.plist Bundle | sed 's/\..*$//;s/-[1-9]$//'; o=$(find ~ $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 \) | wc -l); PN "Restricted user files"; cd; o=$(find -L /S*/L*/E* {,/}L*/{A*d,Compon,Ex,In,Keyb,Mail/Bu,P*P,Qu,Scripti,Servi,Spo}* -type d -name Contents -prune | while read d; do ID=$($PB -c 'Print :CFBundleIdentifier' "$d/Info.plist") || ID=; ID=${ID:-No bundle ID}; egrep -qv "^com\.apple\.[^x]|Accusys|ArcMSR|ATTO|HDPro|HighPoint|driver\.stex|hp-fax|JMicron|microsoft\.MDI|print|SoftRAID" <<< $ID && printf '%s\n\t(%s)\n' "${d%/Contents}" "$ID"; done); PR "Extrinsic loadable bundles"; o=$(find /u*/{,*/}lib -type f -exec sh -c 'file -b "$1" | grep -qw shared && ! codesign -v "$1"' {} {} \; -print); PR "Unsigned shared libraries"; o=$(system_profiler SPFontsDataType | egrep "Valid: N|Duplicate: Y" | wc -l); PN "Font problems"; for d in {,/}L*/{La,Priv,Sta}*; do o=$(ls -A "$d"); PR "$d"; done; } 2> /dev/null | pbcopy; echo $'\nStep 1 done'
Copy the selected text to the Clipboard by pressing the key combination command-C. Then click anywhere in the Terminal window and paste (command-V). I've tested these instructions only with the Safari web browser. If you use another browser, you may have to press the return key after pasting.
The command may take up to a few minutes to run, depending on how many files you have and the speed of the computer. Wait for the line "Step 1 done" to appear below what you entered. The output of the command will beautomatically copied to the Clipboard. All you have to do is paste into a reply to this message by pressing command-Vagain. Please don't copy anything from the Terminal window. No typing is involved in this step.
Step 2
Remember that you must be logged in as an administrator for this step. Do as in Step 1 with this line:
PR () { [[ "$o" ]] && printf '\n%s:\n\n%s\n' "$1" "$o"; }; { o=$(sudo launchctl list | sed 1d | awk '!/0x|com\.(apple|openssh|vix\.cron)|org\.(amav|apac|calendarse|cups|dove|isc|ntp|post[fg]|x)/{print $3}'); PR "Loaded extrinsic daemons"; o=$(sudo defaults read com.apple.loginwindow LoginHook); PR "Login hook"; o=$(sudo crontab -l | grep [^[:blank:]]); PR "Root cron tasks"; o=$(syslog -k Sender kernel -k Message CReq 'GPU |hfs: Ru|I/O e|find tok|n Cause: -|NVDA\(|pagin|timed? ?o' | tail -n25 | awk '/:/{$4=""; print}'); PR "Log check"; } 2>&- | pbcopy; echo $'\nStep 2 done'
This time you'll be prompted for your login password, which you do have to type. Nothing will be displayed when you type it. Type it carefully and then press return. You may get a one-time warning to be careful. Heed that warning, but don't post it. If you see a message that your username "is not in the sudoers file," then you're not logged in as an administrator.
You can then quit Terminal. Please note:
☞ Steps 1 and 2 are all copy-and-paste — type only your login password when prompted.
☞ When you type your password, you won't see what you're typing.
☞ If you don’t have a password, set one before taking Step 2. If that’s not possible, skip the step.
☞ Step 2 might not produce any output, in which case the Clipboard will be empty. Step 1 will always produce something.
☞ The commands don't change anything, and merely running them will do neither good nor harm.
☞ Remember to post the output. It's already in the Clipboard. You don't have to copy it. Just paste into a reply
☞ If any personal information, such as your name or email address, appears in the output of either command, anonymize it before posting. Usually that won't be necessary.
☞ Don't post the contents of the Terminal window.
☞ Don't paste the output of Step 1 into the Terminal window. Paste it into a reply. -
Script won't quit; AppleEvent timeouts and Errors! Any advice?
Hi Forum,
Applescript is driving me crazy... I'm using quite a bunch of scripts on a highly automated server which are supposed to shuffle files and folders, process images, create and export XML files, etc.
All scripts are tested multiple times and run without a problem, however, when I put them in a Cron to execute during nighttime, I get mysterious messages in the morning like:
"AppleEvent timed out" or
"NSReceiverEvaluationScriptError:4"
Of course, all folloving scripts and events are then stucked and even the weekly reboot will not be executed! And I can't understand why; when I launch the apps (the scripts are saved as executable applications) manually, they never fail!
Anyone any idea? How could I trap this problem? Many thanks in advance!
Kind regards,
ASIn fact, the same scripts do not always run into problems; one day it works, the next not. So enabling logging would be helpful in any case... but how can I do this?
Concerning the user, I already tried running the script with the only user account as well as root; the problems are basically the same. The system goes never to sleep and only a screensaver is activated. Also the scripts do not rely on any dynamic path, only fixed AS pathes are used, however they mostly point to server volumes!
I can post a (simplified) script as an example. This script is in real too big to post here but this should give you an idea. It basically looks for TIFFs in an INPUT folder and generates downsampled JPEGs in an OUTPUT folder if they do not exist yet. All this is logged in a file and finally a message with the results is being mailed:
tell application "Finder"
set the_date to (current date) as string
if exists disk "SERVER_VOLUME" then
set theInputFolder to folder "INPUT" of disk "SERVER_VOLUME"
set theInFiles to every file of theInputFolder
set theOutputFolder to folder "OUTPUT" of disk "SERVER_VOLUME"
set theOutFiles to every file of theOutputFolder
set theLoggingPath to a reference to "SERVER_VOLUME:" as string
set log_path to theLoggingPath & "tiff.log"
set logfilecontent to (open for access file log_path with write permission)
try
write the_date & return to logfilecontent starting at eof
on error
close access logfilecontent
end try
close access logfilecontent
repeat with x from 1 to length of theInFiles
set theInFile to file ((item x of theInFiles) as string)
set extension hidden of theInFile to false
update theInFile
end repeat
repeat with y from 1 to length of theOutFiles
set theOutFile to file ((item y of theOutFiles) as string)
set extension hidden of theOutFile to false
set label index of theOutFile to 4
update theOutFile
end repeat
set theExisting to every file of theOutputFolder whose name extension = "jpg"
count (every file of theOutputFolder whose name extension = "jpg")
set ExistingCount to result
repeat with z from 1 to length of theExisting
set theImage to file ((item z of theExisting) as string)
set the file_name to the name of theImage
set logfilecontent to (open for access file log_path with write permission)
try
write "[EXST] " & file_name & return to logfilecontent starting at eof
on error
close access logfilecontent
end try
close access logfilecontent
end repeat
set theTiffs to every file of theInputFolder whose name extension = "tif"
count (every file of theInputFolder whose name extension = "tif")
set TiffCount to result
tell application "Image Events"
launch
repeat with a from 1 to length of theTiffs
-- the image processing is done and logged
end repeat
quit
end tell
tell application "Mail"
launch
-- a mail is sent
quit
end tell
else
-- a restart procedure is initiated
end if
end tell
In the morning I mostly have the JPEGs, the Log and the Mail, yet the script failed to quit with an error message and all further scripts are blocked!
Thanks again! -
HT6065 After upgrading to Mavericks , I now find my Mac mini runs very slowly.
Now that I've upgraded to Mavericks why does my Mac mini feel like a PC?
Speed was never an issue I have stock standard 2011 model....
Processor 2.3 GHz Intel Core i5
Memory 16 GB 1333 MHz DDR3
Graphics Intel HD Graphics 3000 512 MB
500Gb Hdd SATA (175Gb free)
1x USB3 external hub w/- 4 Seagate external self powered hard drives
(3x 2Tb/ 1x 1Tb)
I regularly remove files that I no longer require, I use Clean my Mac and remove the garbage regularly too.
I have checked for any open programs with activity monitor and the results are.....there hasn't been any.
As mentioned before upgrading I was using OSX Mountain Lion with no problems at all.
My son said" Don't upgrade until all the bugs are ironed out"
Well.....Younger generation knows best
and of course I use Time machine for back ups.
So I am very tempted to downgrade after the new year...
Any speed resolutions would be handy
Thanks in advanceIf you don't already have a current backup, back up all data before doing anything else. This procedure is a diagnostictest. It changes nothing, for better or worse, and therefore will not, in itself, solve your problem. The backup is necessary in case your startup drive is failing.
Third-party system modifications are a common cause of usability problems. By a “system modification,” I mean software that affects the operation of other software — potentially for the worse. The procedure will help identify which such modifications you've installed, as well as some other aspects of the configuration that may be related to the problem. Don’t be alarmed by the seeming complexity of these instructions — they’re easy to carry out.
If possible, these steps should be taken while booted in “normal” mode, not in safe mode. If you’re now running in safe mode, reboot as usual before continuing. If you can only boot in safe mode, you can still use this procedure, but not all of it will work. Be sure to mention that in your reply, if you haven't already done so.
Below are instructions to enter UNIX shell commands. The commands are safe and do nothing but produce human-readable output, but they must be entered exactly as given in order to work. If you question the safety of the procedure suggested here — which you should — search this site for other discussions in which it’s been followed without any report of ill effects. I am not asking you to trust me. If you can't satisfy yourself that these instructions are safe, don't follow them.
The commands will line-wrap or scroll in your browser, but each one is really just a single long line, all of which must be selected. You can accomplish this easily by triple-clicking anywhere in the line. The whole line will highlight, and you can then copy it.
Note: If you have more than one user account, Step 2 must be taken as an administrator. Ordinarily that would be the user created automatically when you booted the system for the first time. Step 1 should be taken as the user who has the problem, if different. Most personal Macs have only one user, and in that case this paragraph doesn’t apply.
Launch the Terminal application in any of the following ways:
☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
When you launch Terminal, a text window will open with a line already in it, ending either in a dollar sign (“$”) or a percent sign (“%”). If you get the percent sign, enter “sh” and press return. You should then get a new line ending in a dollar sign.
Step 1
Triple-click anywhere in the line of text below on this page to select it:
PB=/usr/libexec/PlistBuddy; PR () { [[ "$o" ]] && printf '\n%s:\n%s\n' "$1" "$o"; }; PF () { o=$($PB -c Print "$2" | awk -F'= ' \/$3'/{print $2}'); PR "$1"; }; { o=$(( $(vm_stat | awk '/Pageo/{print $2}' | tr -d .)/256 )); [[ $o -gt 1024 ]] && printf "\nPageouts: %s MiB\n" $o; o=$(kextstat -kl | grep -v com\\.apple | cut -c53- | cut -d\< -f1); PR "Loaded extrinsic kernel extensions"; o=$(launchctl list | sed 1d | awk '!/0x|com\.apple|org\.(x|openbsd)|\.[0-9]+$/{print $3}'); PR "Loaded extrinsic user agents"; o=$(launchctl getenv DYLD_INSERT_LIBRARIES); PR "Inserted libraries"; o=$(crontab -l); PR "User cron tasks"; o=$(cat /e*/lau*); PR "Global launchd configuration"; o=$(cat ~/.lau*); PR "Per-user launchd configuration"; PF "Global login items" /L*/P*/loginw* Path; PF "Per-user login items" L*/P*/*loginit* Name; PF "Safari extensions" L*/Saf*/*/E*.plist Bundle | sed 's/\..*$//;s/-[1-9]$//'; o=$(find ~ $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 \) | wc -l); [[ $o -eq 0 ]] || printf "\nRestricted user files: %s\n" $o; cd; o=$(find -L /S*/L*/E* {,/}L*/{A*d,Compon,Ex,In,Keyb,Mail/Bu,P*P,Qu,Scripti,Servi,Spo}* -type d -name Contents -prune | while read d; do ID=$($PB -c 'Print :CFBundleIdentifier' "$d/Info.plist"); ID=${ID:-No bundle ID}; egrep -qv "^com\.apple\.[^x]|Accusys|ArcMSR|ATTO|HDPro|HighPoint|driver\.stex|hp-fax|JMicron|microsoft\.MDI|print|SoftRAID" <<< $ID && printf '%s (%s)\n' "${d%/Contents}" "$ID"; done); PR "Extrinsic loadable bundles"; o=$(find /u*/{,*/}lib -type f -exec sh -c 'file -b "$1" | grep -qw shared && ! codesign -v "$1"' {} {} \; -print); PR "Unsigned shared libraries"; for d in {,/}L*/{La,Priv,Sta}* L*/Fonts; do o=$(ls -A "$d"); PR "$d"; done; } 2> /dev/null | pbcopy; echo $'\nStep 1 done'
Copy the selected text to the Clipboard by pressing the key combination command-C. Then click anywhere in the Terminal window and paste (command-V). I've tested these instructions only with the Safari web browser. If you use another browser, you may have to press the return key after pasting.
The command may take up to a few minutes to run, depending on how many files you have and the speed of the computer. Wait for the line "Step 1 done" to appear below what you entered. The output of the command will be automatically copied to the Clipboard. If the command produced no output, the Clipboard will be empty. Paste into a reply to this message. No typing is involved in this step.
Step 2
Remember that you must be logged in as an administrator for this step. Do as in Step 1 with this line:
PR () { [[ "$o" ]] && printf '\n%s:\n%s\n' "$1" "$o"; }; { o=$(sudo launchctl list | sed 1d | awk '!/0x|com\.(apple|openssh|vix\.cron)|org\.(amav|apac|calendarse|cups|dove|isc|ntp|post[fg]|x)/{print $3}'); PR "Loaded extrinsic daemons"; o=$(sudo defaults read com.apple.loginwindow LoginHook); PR "Login hook"; o=$(sudo crontab -l); PR "Root cron tasks"; o=$(syslog -k Sender kernel -k Message CReq 'GPU |hfs: Ru|I/O e|find tok|n Cause: -|NVDA\(|pagin|timed? ?o' | tail | awk '/:/{$4=""; print}'); PR "Log check"; } 2> /dev/null | pbcopy; echo $'\nStep 2 done'
This time you'll be prompted for your login password, which you do have to type. Nothing will be displayed when you type it. Type it carefully and then press return. You may get a one-time warning to be careful. Heed that warning, but don't post it. If you see a message that your username "is not in the sudoers file," then you're not logged in as an administrator.
You can then quit Terminal.
To prevent confusion, I'll repeat: When you type your password in the Terminal window, you won't see what you're typing.
Note: If you don’t have a login password, set one before taking Step 2. If that’s not possible, skip the step.
Important: If any personal information, such as your name or email address, appears in the output of these commands, anonymize it before posting. Usually that won't be necessary.
Remember, Steps 1 and 2 are all copy-and-paste — type only your password. Also remember to post the output. -
Macbook Pro getting slower and slower, freezing all the time
Hi,
My early 2011 Macbook Pro is gettin slower and slower, and I'm pretty sure Mavericks only worsened the condition. This is my report, can someone help me on why this is happening?
Hardware Information:
MacBook Pro (13-inch, Early 2011)
MacBook Pro - model: MacBookPro8,1
1 2.3 GHz Intel Core i5 CPU: 2 cores
4 GB RAM
Video Information:
Intel HD Graphics 3000 - VRAM: 384 MB
Audio Plug-ins:
BluetoothAudioPlugIn: Version: 1.0 - SDK 10.9
AirPlay: Version: 1.9 - SDK 10.9
AppleAVBAudio: Version: 2.0.0 - SDK 10.9
iSightAudio: Version: 7.7.3 - SDK 10.9
Startup Items:
FanControlDaemon: Path: /Library/StartupItems/FanControlDaemon
System Software:
OS X 10.9.1 (13B42) - Uptime: 1 day 1:28:0
Disk Information:
TOSHIBA MK5059GSXP disk0 : (500,11 GB)
EFI (disk0s1) <not mounted>: 209,7 MB
Macintosh HD (disk0s2) /: 499,25 GB (54,63 GB free)
Recovery HD (disk0s3) <not mounted>: 650 MB
MATSHITADVD-R UJ-898
USB Information:
JMicron USB to ATA/ATAPI bridge 500,11 GB
EFI (disk2s1) <not mounted>: 209,7 MB
Filmes (disk2s2) /Volumes/Filmes: 499,76 GB (330,53 GB free)
Apple Computer, Inc. IR Receiver
Apple Inc. FaceTime HD Camera (Built-in)
Apple Inc. iPhone
Apple Inc. Apple Internal Keyboard / Trackpad
Apple Inc. BRCM2070 Hub
Apple Inc. Bluetooth USB Host Controller
FireWire Information:
Thunderbolt Information:
Apple Inc. thunderbolt_bus
Kernel Extensions:
de.novamedia.driver.NMSmartplugSCSIDevice (1.0.1)
com.Cycling74.driver.Soundflower (1.5.1)
com.bresink.driver.BRESINKx86Monitoring (8.0)
Problem System Launch Daemons:
Problem System Launch Agents:
Launch Daemons:
[loaded] com.adobe.fpsaud.plist
[loaded] com.microsoft.office.licensing.helper.plist
[loaded] com.oracle.java.Helper-Tool.plist
Launch Agents:
[failed] com.brother.LOGINserver.plist
[loaded] com.oracle.java.Java-Updater.plist
[loaded] de.novamedia.VodafoneDeviceObserver.plist
User Launch Agents:
[failed] com.akamai.single-user-client.plist
[loaded] com.facebook.videochat.[redacted].plist
[failed] com.google.GoogleContactSyncAgent.plist
[loaded] com.macpaw.CleanMyMac.helperTool.plist
[loaded] com.macpaw.CleanMyMac.trashSizeWatcher.plist
[loaded] com.spotify.webhelper.plist
[loaded] com.valvesoftware.steamclean.plist
User Login Items:
uHD-Agent
GrowlHelperApp
Alfred
uTorrent
Dropbox
iShutdown
HyperDock Helper
Assistente de gestor de conteúdo
3rd Party Preference Panes:
Akamai NetSession Preferences
Fan Control
Flash Player
Flip4Mac WMV
Growl
HyperDock
Java
Internet Plug-ins::
DirectorShockwave: Version: 11.5.9r620
o1dbrowserplugin: Version: 4.9.1.16010
Unity Web Player: Version: UnityPlayer version 3.4.2f3 - SDK 10.5
Default Browser: Version: 537 - SDK 10.9
Flip4Mac WMV Plugin: Version: 2.3.8.1
RealPlayer Plugin: Version: Unknown
Silverlight: Version: 5.1.20913.0 - SDK 10.6
FlashPlayer-10.6: Version: 11.9.900.170 - SDK 10.6
Flash Player: Version: 11.9.900.170 - SDK 10.6
QuickTime Plugin: Version: 7.7.3
googletalkbrowserplugin: Version: 4.9.1.16010
npgtpo3dautoplugin: Version: 0.1.44.29 - SDK 10.5
iPhotoPhotocast: Version: 7.0 - SDK 10.8
SharePointBrowserPlugin: Version: 14.3.9 - SDK 10.6
JavaAppletPlugin: Version: Java 7 Update 45
Bad Fonts:
None
Old applications:
Content Manager Assistant: Version: 1.10.4086.78 - SDK 10.5
/Users/duarte_cunharosa/Applications/CMA.app
Content Manager Assistant: Version: 1.10.4086.78 - SDK 10.5
/Applications/CMA.app
FacebookVideoCalling: Version: 1.2.0.157 - SDK 10.5
/Users/duarte_cunharosa/Library/Application Support/Facebook/video/1.2.0.158/FacebookVideoCalling.app
Microsoft Alerts Daemon: Version: 14.3.9 - SDK 10.5
/Applications/Microsoft Office 2011/Office/Microsoft Alerts Daemon.app
Microsoft AutoUpdate: Version: 2.3.6 - SDK 10.4
/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app
Microsoft Chart Converter: Version: 14.3.9 - SDK 10.5
/Applications/Microsoft Office 2011/Office/Microsoft Chart Converter.app
Microsoft Clip Gallery: Version: 14.3.9 - SDK 10.5
/Applications/Microsoft Office 2011/Office/Microsoft Clip Gallery.app
Microsoft Database Daemon: Version: 14.3.9 - SDK 10.5
/Applications/Microsoft Office 2011/Office/Microsoft Database Daemon.app
Microsoft Database Utility: Version: 14.3.9 - SDK 10.5
/Applications/Microsoft Office 2011/Office/Microsoft Database Utility.app
Microsoft Document Connection: Version: 14.3.9 - SDK 10.5
/Applications/Microsoft Office 2011/Microsoft Document Connection.app
Microsoft Error Reporting: Version: 2.2.9 - SDK 10.4
/Library/Application Support/Microsoft/MERP2.0/Microsoft Error Reporting.app
Microsoft Excel: Version: 14.3.9 - SDK 10.5
/Applications/Microsoft Office 2011/Microsoft Excel.app
Microsoft Graph: Version: 14.3.9 - SDK 10.5
/Applications/Microsoft Office 2011/Office/Microsoft Graph.app
Microsoft Language Register: Version: 14.3.9 - SDK 10.5
/Applications/Microsoft Office 2011/Additional Tools/Microsoft Language Register/Microsoft Language Register.app
Microsoft Office Reminders: Version: 14.3.9 - SDK 10.5
/Applications/Microsoft Office 2011/Office/Microsoft Office Reminders.app
Microsoft Outlook: Version: 14.3.9 - SDK 10.5
/Applications/Microsoft Office 2011/Microsoft Outlook.app
Microsoft PowerPoint: Version: 14.3.9 - SDK 10.5
/Applications/Microsoft Office 2011/Microsoft PowerPoint.app
Microsoft Ship Asserts: Version: 1.1.4 - SDK 10.4
/Library/Application Support/Microsoft/MERP2.0/Microsoft Ship Asserts.app
Microsoft Upload Center: Version: 14.3.9 - SDK 10.5
/Applications/Microsoft Office 2011/Office/Microsoft Upload Center.app
Microsoft Word: Version: 14.3.9 - SDK 10.5
/Applications/Microsoft Office 2011/Microsoft Word.app
Miro Video Converter: Version: 2.6 - SDK 10.0
/Applications/Miro Video Converter.app
My Day: Version: 14.3.9 - SDK 10.5
/Applications/Microsoft Office 2011/Office/My Day.app
Open XML for Excel: Version: 14.3.9 - SDK 10.5
/Applications/Microsoft Office 2011/Office/Open XML for Excel.app
Plants vs: Version: 1.0.40 - SDK 10.5
/Applications/Plants vs. Zombies.app
RipIt: Version: 1.6.2 - SDK 10.5
/Applications/RipIt.app
SLLauncher: Version: 1.0 - SDK 10.5
/Library/Application Support/Microsoft/Silverlight/OutOfBrowser/SLLauncher.app
Solver: Version: 1.0 - SDK 10.5
/Applications/Microsoft Office 2011/Office/Add-Ins/Solver.app
SyncServicesAgent: Version: 14.3.9 - SDK 10.5
/Applications/Microsoft Office 2011/Office/SyncServicesAgent.app
UPlayBrowser: Version: 1.0.1.23853 - SDK 10.5
/Library/Application Support/Ubisoft/Assassin's Creed Brotherhood/UPlayBrowser.app
Time Machine:
Mobile backups: ON
Auto backup: YES
Volumes being backed up:
Macintosh HD: Disk size: 464.96 GB Disk used: 414.09 GB
Destinations:
Time Machine [Local] (Last used)
Total size: 698.32 GB
Total number of backups: 3
Oldest backup: 2013-12-20 18:10:54 +0000
Last backup: 2013-12-22 19:52:17 +0000
Size of backup disk: Too small
Backup size 698.32 GB < (Disk used 414.09 GB X 3)
Time Machine details may not be accurate.
All volumes being backed up may not be listed.
Top Processes by CPU:
9% Transmission
4% Dropbox
2% WindowServer
2% Dock
1% Google Chrome
Top Processes by Memory:
123 MB Google Chrome
119 MB iTunes
102 MB Dropbox
87 MB Google Chrome Helper
66 MB Finder
Virtual Memory Statistics:
148 MB Free RAM
995 MB Active RAM
859 MB Inactive RAM
1.03 GB Wired RAM
7.80 GB Page-ins
4.84 GB Page-outsIf you don't already have a current backup, back up all data before doing anything else. This procedure is a diagnostic test. It changes nothing, for better or worse, and therefore will not, in itself, solve your problem. The backup is necessary on general principle, not because of anything suggested in this comment. There are ways to back up a computer that isn't fully functional. Ask if you need guidance.
Third-party system modifications are a common cause of usability problems. By a “system modification,” I mean software that affects the operation of other software — potentially for the worse. The procedure will help identify which such modifications you've installed, as well as some other aspects of the configuration that may be related to the problem.
Don’t be alarmed by the seeming complexity of these instructions — they’re easy to carry out. Here's a brief summary: In each of two steps, you copy a line of text from this web page into a window in another application. You wait about a minute. Then you paste some other text, which will have been copied automatically, back into a reply on this page. The sequence is copy; paste; paste again. That's all there is to it. Details follow.
You may have started the computer in "safe" mode. Preferably, these steps should be taken while booted in “normal” mode. If the system is now running in safe mode and is bootable in normal mode, reboot as usual. If it only boots in safe mode, use that.
Below are instructions to enter UNIX shell commands. They do nothing but produce human-readable output. However, you need to think carefully before running any program at the behest of a stranger on a public message board. If you question the safety of the procedure suggested here — which you should — search this site for other discussions in which it’s been followed without any report of ill effects. If you can't satisfy yourself that these instructions are safe, don't follow them.
The commands will line-wrap or scroll in your browser, but each one is really just a single long line, all of which must be selected. You can accomplish this easily by triple-clicking anywhere in the line. The whole line will highlight, and you can then copy it.
If you have more than one user account, Step 2 must be taken as an administrator. Ordinarily that would be the user created automatically when you booted the system for the first time. Step 1 should be taken as the user who has the problem, if different. Most personal Macs have only one user, and in that case this paragraph doesn’t apply.
Launch the Terminal application in any of the following ways:
☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
When you launch Terminal, a text window will open with a line already in it, ending either in a dollar sign (“$”) or a percent sign (“%”). If you get the percent sign, enter “sh” and press return. You should then get a new line ending in a dollar sign.
Step 1
Triple-click anywhere in the line of text below on this page to select it:
PB=/usr/libexec/PlistBuddy; PR () { [[ "$o" ]] && printf '\n%s:\n\n%s\n' "$1" "$o"; }; PC () { o=$(grep [^[:blank:]] "$2"); PR "$1"; }; PF () { o=$($PB -c Print "$2" | awk -F'= ' \/$3'/{print $2}'); PR "$1"; }; PN () { [[ $o -eq 0 ]] || printf "\n%s: %s\n" "$1" $o; }; { system_profiler SPSoftwareDataType | sed '8!d;s/^ *//'; o=$(system_profiler SPDiagnosticsDataType | sed '5,6!d'); fgrep -q P <<< "$o" && o=; PR "POST"; o=$(( $(vm_stat | awk '/Pageo/{sub("\\.",""); print $2}')/256 )); [[ $o -gt 1024 ]] && printf "\nPageouts: %s MiB\n" $o; o=$(kextstat -kl | grep -v com\\.apple | cut -c53- | cut -d\< -f1); PR "Loaded extrinsic kernel extensions"; o=$(launchctl list | sed 1d | awk '!/0x|com\.apple|org\.(x|openbsd)|\.[0-9]+$/{print $3}'); PR "Loaded extrinsic user agents"; o=$(launchctl getenv DYLD_INSERT_LIBRARIES); PR "Inserted libraries"; PC "cron configuration" /e*/cron*; o=$(crontab -l | grep [^[:blank:]]); PR "User cron tasks"; PC "Global launchd configuration" /e*/lau*; PC "Per-user launchd configuration" ~/.lau*; PF "Global login items" /L*/P*/loginw* Path; PF "Per-user login items" L*/P*/*loginit* Name; PF "Safari extensions" L*/Saf*/*/E*.plist Bundle | sed 's/\..*$//;s/-[1-9]$//'; o=$(find ~ $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 \) | wc -l); PN "Restricted user files"; cd; o=$(find -L /S*/L*/E* {,/}L*/{A*d,Compon,Ex,In,Keyb,Mail/Bu,P*P,Qu,Scripti,Servi,Spo}* -type d -name Contents -prune | while read d; do ID=$($PB -c 'Print :CFBundleIdentifier' "$d/Info.plist") || ID=; ID=${ID:-No bundle ID}; egrep -qv "^com\.apple\.[^x]|Accusys|ArcMSR|ATTO|HDPro|HighPoint|driver\.stex|hp-fax|JMicron|microsoft\.MDI|print|SoftRAID" <<< $ID && printf '%s\n\t(%s)\n' "${d%/Contents}" "$ID"; done); PR "Extrinsic loadable bundles"; o=$(find /u*/{,*/}lib -type f -exec sh -c 'file -b "$1" | grep -qw shared && ! codesign -v "$1"' {} {} \; -print); PR "Unsigned shared libraries"; o=$(system_profiler SPFontsDataType | egrep "Valid: N|Duplicate: Y" | wc -l); PN "Font problems"; for d in {,/}L*/{La,Priv,Sta}*; do o=$(ls -A "$d"); PR "$d"; done; } 2> /dev/null | pbcopy; echo $'\nStep 1 done'
Copy the selected text to the Clipboard by pressing the key combination command-C. Then click anywhere in the Terminal window and paste (command-V). I've tested these instructions only with the Safari web browser. If you use another browser, you may have to press the return key after pasting.
The command may take up to a few minutes to run, depending on how many files you have and the speed of the computer. Wait for the line "Step 1 done" to appear below what you entered. The output of the command will beautomatically copied to the Clipboard. All you have to do is paste into a reply to this message by pressing command-Vagain. Please don't copy anything from the Terminal window. No typing is involved in this step.
Step 2
Remember that you must be logged in as an administrator for this step. Do as in Step 1 with this line:
PR () { [[ "$o" ]] && printf '\n%s:\n\n%s\n' "$1" "$o"; }; { o=$(sudo launchctl list | sed 1d | awk '!/0x|com\.(apple|openssh|vix\.cron)|org\.(amav|apac|calendarse|cups|dove|isc|ntp|post[fg]|x)/{print $3}'); PR "Loaded extrinsic daemons"; o=$(sudo defaults read com.apple.loginwindow LoginHook); PR "Login hook"; o=$(sudo crontab -l | grep [^[:blank:]]); PR "Root cron tasks"; o=$(syslog -k Sender kernel -k Message CReq 'GPU |hfs: Ru|I/O e|find tok|n Cause: -|NVDA\(|pagin|timed? ?o' | tail -n25 | awk '/:/{$4=""; print}'); PR "Log check"; } 2>&- | pbcopy; echo $'\nStep 2 done'
This time you'll be prompted for your login password, which you do have to type. Nothing will be displayed when you type it. Type it carefully and then press return. You may get a one-time warning to be careful. Heed that warning, but don't post it. If you see a message that your username "is not in the sudoers file," then you're not logged in as an administrator.
You can then quit Terminal. Please note:
☞ Steps 1 and 2 are all copy-and-paste — type only your login password when prompted.
☞ When you type your password, you won't see what you're typing.
☞ If you don’t have a password, set one before taking Step 2. If that’s not possible, skip the step.
☞ Step 2 might not produce any output, in which case the Clipboard will be empty. Step 1 will always produce something.
☞ The commands don't change anything, and merely running them will do neither good nor harm.
☞ Remember to post the output. It's already in the Clipboard. You don't have to copy it. Just paste into a reply
☞ If any personal information, such as your name or email address, appears in the output of either command, anonymize it before posting. Usually that won't be necessary.
☞ Don't post the contents of the Terminal window.
☞ Don't paste the output of Step 1 into the Terminal window. Paste it into a reply. -
After upgrading to Safari 6.1.1: Nothing works!
Opening new tabs (or windows) results in no new tab, empty address field, and empty content. Not possible to use History to go back either. Safari becomes non-responsive. Same thing when going into Preferences. I get the menu and I can navigate in it, but when I try to close the Preferences window - it freezes.
I am on a MacBook Pro (couple of years old) and OSX 10.8.5. I don't have any extensions that I know of. Installed a Safari Update. Before the update, everything was just fine and dandy - now I am two steps away from switching to Firefox...
Would be truly grateful for some clever thinking on this!If you don't already have a current backup, back up all data before doing anything else. This procedure is a diagnostic test. It changes nothing, for better or worse, and therefore will not, in itself, solve your problem. The backup is necessary on general principle, not because of anything suggested in this comment.
Third-party system modifications are a common cause of usability problems. By a “system modification,” I mean software that affects the operation of other software — potentially for the worse. The procedure will help identify which such modifications you've installed, as well as some other aspects of the configuration that may be related to the problem.
Don’t be alarmed by the seeming complexity of these instructions — they’re easy to carry out. Here's a brief summary: In each of two steps, you copy a line of text from this web page into a window in another application. You wait about a minute. Then you paste some other text, which will have been copied automatically, back into a reply on this page. The sequence is copy; paste; paste again. That's all there is to it. Details follow.
While investigating the problem, you may have started the computer in "safe" mode. If possible, these steps should be taken while booted in “normal” mode, not in safe mode. If you’re now running in safe mode, reboot as usual before continuing. If you can only boot in safe mode, you can still use this procedure, but not all of it will work. Be sure to mention that in your reply, if you haven't already done so.
Below are instructions to enter UNIX shell commands. The commands are safe and do nothing but produce human-readable output, but they must be entered exactly as given in order to work. If you question the safety of the procedure suggested here — which you should — search this site for other discussions in which it’s been followed without any report of ill effects. I am not asking you to trust me. If you can't satisfy yourself that these instructions are safe, don't follow them.
The commands will line-wrap or scroll in your browser, but each one is really just a single long line, all of which must be selected. You can accomplish this easily by triple-clicking anywhere in the line. The whole line will highlight, and you can then copy it.
Note: If you have more than one user account, Step 2 must be taken as an administrator. Ordinarily that would be the user created automatically when you booted the system for the first time. Step 1 should be taken as the user who has the problem, if different. Most personal Macs have only one user, and in that case this paragraph doesn’t apply.
Launch the Terminal application in any of the following ways:
☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
When you launch Terminal, a text window will open with a line already in it, ending either in a dollar sign (“$”) or a percent sign (“%”). If you get the percent sign, enter “sh” and press return. You should then get a new line ending in a dollar sign.
Step 1
Triple-click anywhere in the line of text below on this page to select it:
PB=/usr/libexec/PlistBuddy; PR () { [[ "$o" ]] && printf '\n%s:\n%s\n' "$1" "$o"; }; PF () { o=$($PB -c Print "$2" | awk -F'= ' \/$3'/{print $2}'); PR "$1"; }; { o=$(( $(vm_stat | awk '/Pageo/{sub("\\.",""); print $2}')/256 )); [[ $o -gt 1024 ]] && printf "\nPageouts: %s MiB\n" $o; o=$(kextstat -kl | grep -v com\\.apple | cut -c53- | cut -d\< -f1); PR "Loaded extrinsic kernel extensions"; o=$(launchctl list | sed 1d | awk '!/0x|com\.apple|org\.(x|openbsd)|\.[0-9]+$/{print $3}'); PR "Loaded extrinsic user agents"; o=$(launchctl getenv DYLD_INSERT_LIBRARIES); PR "Inserted libraries"; o=$(crontab -l); PR "User cron tasks"; o=$(cat /e*/lau*); PR "Global launchd configuration"; o=$(cat ~/.lau*); PR "Per-user launchd configuration"; PF "Global login items" /L*/P*/loginw* Path; PF "Per-user login items" L*/P*/*loginit* Name; PF "Safari extensions" L*/Saf*/*/E*.plist Bundle | sed 's/\..*$//;s/-[1-9]$//'; o=$(find ~ $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 \) | wc -l); [[ $o -eq 0 ]] || printf "\nRestricted user files: %s\n" $o; cd; o=$(find -L /S*/L*/E* {,/}L*/{A*d,Compon,Ex,In,Keyb,Mail/Bu,P*P,Qu,Scripti,Servi,Spo}* -type d -name Contents -prune | while read d; do ID=$($PB -c 'Print :CFBundleIdentifier' "$d/Info.plist"); ID=${ID:-No bundle ID}; egrep -qv "^com\.apple\.[^x]|Accusys|ArcMSR|ATTO|HDPro|HighPoint|driver\.stex|hp-fax|JMicron|microsoft\.MDI|print|SoftRAID" <<< $ID && printf '%s\n\t(%s)\n' "${d%/Contents}" "$ID"; done); PR "Extrinsic loadable bundles"; o=$(find /u*/{,*/}lib -type f -exec sh -c 'file -b "$1" | grep -qw shared && ! codesign -v "$1"' {} {} \; -print); PR "Unsigned shared libraries"; for d in {,/}L*/{La,Priv,Sta}* L*/Fonts; do o=$(ls -A "$d"); PR "$d"; done; } 2>&- | pbcopy; echo $'\nStep 1 done'
Copy the selected text to the Clipboard by pressing the key combination command-C. Then click anywhere in the Terminal window and paste (command-V). I've tested these instructions only with the Safari web browser. If you use another browser, you may have to press the return key after pasting.
The command may take up to a few minutes to run, depending on how many files you have and the speed of the computer. Wait for the line "Step 1 done" to appear below what you entered. The output of the command will be automatically copied to the Clipboard. If the command produced no output, the Clipboard will be empty. Paste into a reply to this message. No typing is involved in this step.
Step 2
Remember that you must be logged in as an administrator for this step. Do as in Step 1 with this line:
PR () { [[ "$o" ]] && printf '\n%s:\n%s\n' "$1" "$o"; }; { o=$(sudo launchctl list | sed 1d | awk '!/0x|com\.(apple|openssh|vix\.cron)|org\.(amav|apac|calendarse|cups|dove|isc|ntp|post[fg]|x)/{print $3}'); PR "Loaded extrinsic daemons"; o=$(sudo defaults read com.apple.loginwindow LoginHook); PR "Login hook"; o=$(sudo crontab -l); PR "Root cron tasks"; o=$(syslog -k Sender kernel -k Message CReq 'GPU |hfs: Ru|I/O e|find tok|n Cause: -|NVDA\(|pagin|timed? ?o' | tail -n25 | awk '/:/{$4=""; print}'); PR "Log check"; } 2>&- | pbcopy; echo $'\nStep 2 done'
This time you'll be prompted for your login password, which you do have to type. Nothing will be displayed when you type it. Type it carefully and then press return. You may get a one-time warning to be careful. Heed that warning, but don't post it. If you see a message that your username "is not in the sudoers file," then you're not logged in as an administrator.
You can then quit Terminal.
To prevent confusion, I'll repeat: When you type your password in the Terminal window, you won't see what you're typing.
Note: If you don’t have a login password, set one before taking Step 2. If that’s not possible, skip the step.
Important: If any personal information, such as your name or email address, appears in the output of these commands, anonymize it before posting. Usually that won't be necessary.
Remember, Steps 1 and 2 are all copy-and-paste — type only your password. Also remember to post the output. -
Are Power PC Macs open to infection by Flashback? And If so, how do I check to see whether my G4 has been a victim? All the scanners that I've seen are for Intel based Macs only.
I would run Terminal, then COPY the command shown in Step 2 (from the web site link). PASTE it in Terminal (to ensure you don't mistype something) and hit Return. If you do NOT get "... does not exist" message, don't do the anything else in the procedure.
If you DO get the "... does not exist" message, then COPY the command shown in Step 8. PASTE it in Terminal and hit Return. If you do NOT get "... does not exist" message, don't do the anything else in the procedure.
If you DO get the "... does not exist" message, then your Mac is clean.
The commands in Steps 2 and 8 can do no harm, because nothing is being changed. Some of the other commands for "removal" in the procedure do make changes. So if Steps 2 and 8 indicate your Mac is clean, that's good and you're done.
If they indicate otherwise, there may be a problem. You can ask additional questions here about what to do.
FYI - I just ran the procedure on my Power Mac G5 running Leopard, and I got the expected "... does not exist" messages after entering the commands in Steps 2 and 8. -
VERY SLOW Mac Book Pro after Mavericks update...
I have recently updated my MacBook Pro to Mavericks and everything is slow. I use IMovie and my computer freezes. What should I do?
If you don't already have a current backup, back up all data before doing anything else. This procedure is a diagnostic test. It changes nothing, for better or worse, and therefore will not, in itself, solve your problem. The backup is necessary on principle, not because of anything suggested in this comment. There are ways to back up a computer that isn't fully functional. Ask if you need guidance.
Third-party system modifications are a common cause of usability problems. By a “system modification,” I mean software that affects the operation of other software — potentially for the worse. The procedure will help to identify which such modifications you've installed, as well as some other aspects of the state of the system that may be pertinent.
Don’t be alarmed by the seeming complexity of these instructions — they’re easy to carry out. Here's a brief summary: You copy a line of text from this web page into a window in another application. You wait about a minute. Then you paste some other text, which will have been copied automatically, back into a reply on this page. The sequence is: copy, paste, paste again. That's all there is to it. Details follow.
You may have started the computer in "safe" mode. Preferably, these steps should be taken while booted in “normal” mode. If the system is now running in safe mode and is bootable in normal mode, reboot as usual. If it only boots in safe mode, proceed anyway.
Below are instructions to run a UNIX shell script. It does nothing but produce human-readable output. However, you need to be cautious about running any program at the behest of a stranger on a public message board. If you question the safety of the procedure suggested here — which you should — search this site for other discussions in which it’s been followed without any report of ill effects. If you can't satisfy yourself that these instructions are safe, don't follow them.
The script will line-wrap or scroll in your browser, but it's really a single long line, all of which must be selected. You can accomplish this easily by triple-clicking anywhere in the line. The whole line will highlight, and you can then copy it.
If you have more than one user, and the affected user is not an administrator, then please run the script twice: once while logged in as the affected user, and once as an administrator. The results may be different. The administrator is the user that is created automatically on a new computer when you start it for the first time. If you can't log in as an administrator, just run the script as the affected user. Most personal Macs have only one user, and in that case this paragraph doesn’t apply.
Launch the built-in Terminal application in any of the following ways:
☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
When you launch Terminal, a text window will open with a line already in it, ending either in a dollar sign ($) or a percent sign (%). If you get the percent sign, enter “sh” and press return. You should then get a new line ending in a dollar sign.
Triple-click anywhere in the line of text below on this page to select it:
clear; PB=/usr/libexec/PlistBuddy; PR () { [[ "$o" ]] && o=$(sed 's/^/ /' <<< "$o") && printf '\n%s:\n\n%s\n' "$1" "$o"; }; PC () { o=$(egrep -v '^[[:blank:]]*($|#)' "$2"); PR "$1"; }; PF () { o=$($PB -c Print "$2" | awk -F'= ' \/$3'/{print $2}'); PR "$1"; }; PN () { [[ $o -eq 0 ]] || printf "\n%s: %s\n" "$1" $o; }; a=$(id | grep -w '80(admin)'); [[ "$a" ]] && sudo true && r=1 || r=; { [[ "$a" ]] || echo $'No admin access\n'; [[ "$a" && ! "$r" ]] && echo $'No root access\n'; system_profiler SPSoftwareDataType | sed '8!d;s/^ *//'; o=$(system_profiler SPDiagnosticsDataType | sed '5,6!d'); fgrep -q P <<< "$o" && o=; PR "POST"; o=$(($(vm_stat | awk '/Pageo/{sub("\\.",""); print $2}')/256)); o=$((o>=1024?o:0)); PN "Pageouts (MiB)"; s=( $(sar -u 1 10 | sed '$!d') ); [[ ${s[4]} -lt 90 ]] && o=$( printf 'User %s%%\t\tSystem %s%%' ${s[1]} ${s[3]} ) || o=; PR "Total CPU usage"; [[ "$o" ]] && o=$(ps acrx -o comm,ruid,%cpu | sed '2!d'); PR "Max %CPU by process (name, UID, %)"; o=$(kextstat -kl | grep -v com\\.apple | cut -c53- | cut -d\< -f1); PR "Loaded extrinsic kernel extensions"; o=$(launchctl list | sed 1d | awk '!/0x|com\.apple|org\.(x|openbsd)|\.[0-9]+$/{print $3}'); PR "Loaded extrinsic user agents"; o=$(launchctl getenv DYLD_INSERT_LIBRARIES); PR "Inserted libraries"; PC "cron configuration" /e*/cron*; o=$(crontab -l | grep [^[:blank:]]); PR "User cron tasks"; PC "Global launchd configuration" /e*/lau*; PC "Per-user launchd configuration" ~/.lau*; PF "Global login items" /L*/P*/loginw* Path; PF "Per-user login items" L*/P*/*loginit* Name; PF "Safari extensions" L*/Saf*/*/E*.plist Bundle | sed 's/\..*$//;s/-[1-9]$//'; o=$(find ~ $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 \) | wc -l); PN "Restricted user files"; cd; o=$(find -L /S*/L*/E* {,/}L*/{A*d,Compon,Ex,In,Keyb,Mail/Bu,P*P,Qu,Scripti,Servi,Spo}* -type d -name Contents -prune | while read d; do ID=$($PB -c 'Print :CFBundleIdentifier' "$d/Info.plist") || ID=; ID=${ID:-No bundle ID}; egrep -qv "^com\.apple\.[^x]|Accusys|ArcMSR|ATTO|HDPro|HighPoint|driver\.stex|hp-fax|JMicron|microsoft\.MDI|print|SoftRAID" <<< $ID && printf '%s\n\t(%s)\n' "${d%/Contents}" "$ID"; done); PR "Extrinsic loadable bundles"; o=$(find /u*/{,*/}lib -type f -exec sh -c 'file -b "$1" | grep -qw shared && ! codesign -v "$1"' {} {} \; -print); PR "Unsigned shared libraries"; o=$(system_profiler SPFontsDataType | egrep "Valid: N|Duplicate: Y" | wc -l); PN "Font problems"; for d in {,/}L*/{La,Priv,Sta}*; do o=$(ls -A "$d"); PR "$d"; done; [ "$r" ] && { o=$(sudo launchctl list | sed 1d | awk '!/0x|com\.(apple|openssh|vix\.cron)|org\.(amav|apac|calendarse|cups|dove|isc|ntp|post[fg]|x)/{print $3}'); PR "Loaded extrinsic daemons"; o=$(sudo defaults read com.apple.loginwindow LoginHook); PR "Login hook"; o=$(sudo crontab -l | grep [^[:blank:]]); PR "Root cron tasks"; }; o=$(syslog -k Sender kernel -k Message CReq 'GPU |hfs: Ru|I/O e|find tok|n Cause: -|NVDA\(|pagin|timed? ?o' | tail -n25 | awk '/:/{$4=""; print}'); PR "Log check"; } 2> /dev/null | pbcopy; exit
Copy the selected text to the Clipboard by pressing the key combination command-C. Then click anywhere in the Terminal window and paste (command-V). The text you pasted should vanish immediately, leaving the Terminal window empty. If that doesn't happen, press the return key.
If you're logged in as an administrator, you'll be prompted for your login password. Nothing will be displayed when you type it. You will not see the usual dots in place of typed characters. Make sure caps lock is off. Type carefully and then press return. You may get a one-time warning to be careful. If you make three failed attempts to enter your password, the script will run anyway, but it will produce less information. In most cases, the difference is not important, so don't worry about it.
The script may take up to a few minutes to run, depending on how many files you have and the speed of the computer. Wait for the line "[Process completed]" to appear in the Terminal window.
You can then quit Terminal. The output of the script will have been copied to the Clipboard automatically. All you have to do is paste into a reply to this message by pressing command-V again.
Please note:
☞ This procedure is all copy-and-paste — type nothing in the Terminal window except your login password if and when prompted.
☞ Remember to post the output. It's already in the Clipboard when you see "[Process completed]" in the Terminal window. You don't have to copy the output; just paste into your web browser.
☞ If any personal information, such as your name or email address, appears in the output, anonymize it before posting. Usually that won't be necessary. -
IMac starting to really bog down
By bog down i mean that every operation has a noticeable lag time before initiating.
I have a mid-2010 iMac
3.2 GHz Intel Core i3
512 MB ATI Radeon graphic card
12 GB 1333MHz DDR3 in 4-4-2-2 formation
I'm using about 75% of my 1 TB hardrive (more than i should I know but not enough to be slowing down machine this dramatically).
The problem was most apparent initially when running Aperture and I'd be getting a lot of spinning beach balls and painfully slow processing. I rebuilt the aperture library but that didn't seem to fix the problem. The interesting thing is the activity monitor is not showing any obvious problems. Plenty of RAM available (over 8 gb), CPU is only running at about 10% on average with no noticeable spikes when trying to open a program nor any evidence of CPU Load spikes in the histogram.
The steps I've taken:
1. verified disk
2. repaired permissions
3. rebuilt aperture library
4. closed all applications and tried to open one at a time. all are slow to open.
Here is my most recent system diagnostic report from the Console. I really can't make sense of it unfortunately but was hoping some more technically literate folks out there might see something obvious that points to an identifiable problem.
Process:
coresymbolicationd [719]
Path:
/System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd
Identifier:
coresymbolicationd
Version:
141
Code Type:
X86-64 (Native)
Parent Process: launchd [1]
Responsible:
coresymbolicationd [719]
User ID:
0
Date/Time:
2013-12-30 18:51:57.908 -0600
OS Version:
Mac OS X 10.9.1 (13B42)
Report Version: 11
Anonymous UUID: C37F79B1-DC99-0E09-DA0E-38B0F635A22C
Crashed Thread: 0 Dispatch queue: com.apple.root.default-overcommit-priority
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: 0x000000000000000a, 0x0000000109e85000
VM Regions Near 0x109e85000:
VM_ALLOCATE
0000000109a00000-0000000109a89000 [ 548K] rw-/rw- SM=PRV
--> mapped file
0000000109a89000-0000000109ec5000 [ 4336K] r--/rwx SM=S/A /System/Library/Caches/com.apple.coresymbolicationd/data
mapped file
0000000109ec5000-000000010a301000 [ 4336K] rw-/rwx SM=S/A /System/Library/Caches/com.apple.coresymbolicationd/grow.3X7N0TQ
Thread 0 Crashed:: Dispatch queue: com.apple.root.default-overcommit-priority
0 libsystem_platform.dylib
0x00000001075bf0de _platform_memmove$VARIANT$Nehalem + 254
1 coresymbolicationd
0x00000001067983bc 0x106791000 + 29628
2 coresymbolicationd
0x00000001067987e9 0x106791000 + 30697
3 coresymbolicationd
0x0000000106792a23 0x106791000 + 6691
4 libxpc.dylib
0x000000010762d510 _xpc_connection_call_event_handler + 58
5 libxpc.dylib
0x000000010762c123 _xpc_connection_mach_event + 2124
6 libdispatch.dylib
0x00000001072ebafe _dispatch_client_callout4 + 9
7 libdispatch.dylib
0x00000001072ec3b8 _dispatch_mach_msg_invoke + 143
8 libdispatch.dylib
0x00000001072ea633 _dispatch_queue_drain + 359
9 libdispatch.dylib
0x00000001072eb69e _dispatch_mach_invoke + 154
10 libdispatch.dylib
0x00000001072e9fa3 _dispatch_root_queue_drain + 75
11 libdispatch.dylib
0x00000001072eb193 _dispatch_worker_thread2 + 40
12 libsystem_pthread.dylib
0x00000001075dcef8 _pthread_wqthread + 314
13 libsystem_pthread.dylib
0x00000001075dffb9 start_wqthread + 13
Thread 1:: Dispatch queue: com.apple.root.default-overcommit-priority
0 libsystem_kernel.dylib
0x00000001074c7caa __sigsuspend_nocancel + 10
1 libdispatch.dylib
0x00000001072f27e4 _dispatch_sigsuspend + 21
2 libdispatch.dylib
0x00000001072f27cf _dispatch_sig_thread + 45
Thread 2:: Dispatch queue: com.apple.libdispatch-manager
0 libsystem_kernel.dylib
0x00000001074c8662 kevent64 + 10
1 libdispatch.dylib
0x00000001072ea43d _dispatch_mgr_invoke + 239
2 libdispatch.dylib
0x00000001072ea152 _dispatch_mgr_thread + 52
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0000000109ec5000 rbx: 0x00000001091df198 rcx: 0x0000000000000010 rdx: 0x000000000003f1c9
rdi: 0x000000010a2c0fd0 rsi: 0x0000000109e84fd0 rbp: 0x00000001090c03c0 rsp: 0x00000001090c03c0
r8: 0x0000000000000005 r9: 0x000000000b6e0000 r10: 0x0000000000000001 r11: 0x000000000043c000
r12: 0x00000001091df198 r13: 0x00007f8b604175e0 r14: 0x0000000109a89000 r15: 0x0000000109ec5000
rip: 0x00000001075bf0de rfl: 0x0000000000010202 cr2: 0x0000000109e85000
Logical CPU:
2
Error Code:
0x00000004
Trap Number:
14
Binary Images:
0x106791000 -
0x10679bfff coresymbolicationd (141) <C459E6EE-7EE9-36F8-BCE9-7FC72C550772> /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolication d
0x1067a3000 -
0x106823fff com.apple.CoreSymbolication (3.0 - 141) <B018335C-698B-3F87-AF1C-6115C4FA8954> /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSy mbolication
0x106843000 -
0x106895fff libc++.1.dylib (120) <4F68DFC5-2077-39A8-A449-CAC5FDEE7BDE> /usr/lib/libc++.1.dylib
0x1068f5000 -
0x1068f6ff7 libSystem.B.dylib (1197.1.1) <BFC0DC97-46C6-3BE0-9983-54A98734897A> /usr/lib/libSystem.B.dylib
0x106904000 -
0x106933fff com.apple.DebugSymbols (106 - 106) <E1BDED08-523A-36F4-B2DA-9D5C712F0AC7> /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbol s
0x106955000 -
0x106b3aff7 com.apple.CoreFoundation (6.9 - 855.11) <E22C6A1F-8996-349C-905E-96C3BBE07C2F> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x106caf000 -
0x106d19ff7 com.apple.framework.IOKit (2.0.1 - 907.1.13) <C1E95F5C-B79B-31BE-9F2A-1B25163C1F16> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x106d4f000 -
0x106d4ffff com.apple.CoreServices (59 - 59) <7A697B5E-F179-30DF-93F2-8B503CEEEFD5> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
0x106d55000 -
0x106f02f27 libobjc.A.dylib (551.1) <AD7FD984-271E-30F4-A361-6B20319EC73B> /usr/lib/libobjc.A.dylib
0x106f29000 -
0x106f6bff7 libauto.dylib (185.5) <F45C36E8-B606-3886-B5B1-B6745E757CA8> /usr/lib/libauto.dylib
0x106f83000 -
0x106f84ff7 libDiagnosticMessagesClient.dylib (100) <4CDB0F7B-C0AF-3424-BC39-495696F0DB1E> /usr/lib/libDiagnosticMessagesClient.dylib
0x106f8a000 -
0x107142ff3 libicucore.A.dylib (511.27) <003B6C21-CBD1-3486-9A1D-030ADF5FA061> /usr/lib/libicucore.A.dylib
0x1071ec000 -
0x1071fdff7 libz.1.dylib (53) <42E0C8C6-CA38-3CA4-8619-D24ED5DD492E> /usr/lib/libz.1.dylib
0x107203000 -
0x10722cff7 libc++abi.dylib (48) <8C16158F-CBF8-3BD7-BEF4-022704B2A326> /usr/lib/libc++abi.dylib
0x10723d000 -
0x107241ff7 libcache.dylib (62) <BDC1E65B-72A1-3DA3-A57C-B23159CAAD0B> /usr/lib/system/libcache.dylib
0x107246000 -
0x107250fff libcommonCrypto.dylib (60049) <8C4F0CA0-389C-3EDC-B155-E62DD2187E1D> /usr/lib/system/libcommonCrypto.dylib
0x107261000 -
0x107268fff libcompiler_rt.dylib (35) <4CD916B2-1B17-362A-B403-EF24A1DAC141> /usr/lib/system/libcompiler_rt.dylib
0x107275000 -
0x10727cff3 libcopyfile.dylib (103) <5A881779-D0D6-3029-B371-E3021C2DDA5E> /usr/lib/system/libcopyfile.dylib
0x107283000 -
0x1072d1fff libcorecrypto.dylib (161.1) <F3973C28-14B6-3006-BB2B-00DD7F09ABC7> /usr/lib/system/libcorecrypto.dylib
0x1072e7000 -
0x107301fff libdispatch.dylib (339.1.9) <46878A5B-4248-3057-962C-6D4A235EEF31> /usr/lib/system/libdispatch.dylib
0x10731e000 -
0x107321ff7 libdyld.dylib (239.3) <62F4D752-4089-31A8-8B73-B95A68893B3C> /usr/lib/system/libdyld.dylib
0x10732d000 -
0x10732dff7 libkeymgr.dylib (28) <3AA8D85D-CF00-3BD3-A5A0-E28E1A32A6D8> /usr/lib/system/libkeymgr.dylib
0x107337000 -
0x10733eff7 liblaunch.dylib (842.1.4) <FCBF0A02-0B06-3F97-9248-5062A9DEB32C> /usr/lib/system/liblaunch.dylib
0x10734b000 -
0x107350fff libmacho.dylib (845) <1D2910DF-C036-3A82-A3FD-44FF73B5FF9B> /usr/lib/system/libmacho.dylib
0x107357000 -
0x107359ff7 libquarantine.dylib (71) <7A1A2BCB-C03D-3A25-BFA4-3E569B2D2C38> /usr/lib/system/libquarantine.dylib
0x107365000 -
0x107366ffb libremovefile.dylib (33) <3543F917-928E-3DB2-A2F4-7AB73B4970EF> /usr/lib/system/libremovefile.dylib
0x10736c000 -
0x10737dff7 libsystem_asl.dylib (217.1.4) <655FB343-52CF-3E2F-B14D-BEBF5AAEF94D> /usr/lib/system/libsystem_asl.dylib
0x10738e000 -
0x10738fff7 libsystem_blocks.dylib (63) <FB856CD1-2AEA-3907-8E9B-1E54B6827F82> /usr/lib/system/libsystem_blocks.dylib
0x107395000 -
0x10741eff7 libsystem_c.dylib (997.1.1) <61833FAA-7281-3FF9-937F-686B6F20427C> /usr/lib/system/libsystem_c.dylib
0x107451000 -
0x107453ff3 libsystem_configuration.dylib (596.12) <C4F633D9-94C8-35D9-BB2D-84C5122533C7> /usr/lib/system/libsystem_configuration.dylib
0x10745a000 -
0x107462fff libsystem_dnssd.dylib (522.1.11) <270DCF6C-502D-389A-AA9F-DE4624A36FF7> /usr/lib/system/libsystem_dnssd.dylib
0x10746f000 -
0x107496ffb libsystem_info.dylib (449.1.3) <7D41A156-D285-3849-A2C3-C04ADE797D98> /usr/lib/system/libsystem_info.dylib
0x1074b2000 -
0x1074ceff7 libsystem_kernel.dylib (2422.1.72) <D14913DB-47F1-3591-8DAF-D4B4EF5F8818> /usr/lib/system/libsystem_kernel.dylib
0x1074f7000 -
0x107526fd2 libsystem_m.dylib (3047.16) <B7F0E2E4-2777-33FC-A787-D6430B630D54> /usr/lib/system/libsystem_m.dylib
0x107538000 -
0x107553ff7 libsystem_malloc.dylib (23.1.10) <FFE5C472-B23A-318A-85BF-77CDE61900D1> /usr/lib/system/libsystem_malloc.dylib
0x107562000 -
0x107589ff7 libsystem_network.dylib (241.3) <8B1E1F1D-A5CC-3BAE-8B1E-ABC84337A364> /usr/lib/system/libsystem_network.dylib
0x1075a9000 -
0x1075b2ff3 libsystem_notify.dylib (121) <52571EC3-6894-37E4-946E-064B021ED44E> /usr/lib/system/libsystem_notify.dylib
0x1075bb000 -
0x1075c1ff7 libsystem_platform.dylib (24.1.4) <331BA4A5-55CE-3B95-99EB-44E0C89D7FB8> /usr/lib/system/libsystem_platform.dylib
0x1075da000 -
0x1075e1ff7 libsystem_pthread.dylib (53.1.4) <AB498556-B555-310E-9041-F67EC9E00E2C> /usr/lib/system/libsystem_pthread.dylib
0x1075f2000 -
0x1075f3ff7 libsystem_sandbox.dylib (278.10) <A47E7E11-3C76-318E-B67D-98972B86F094> /usr/lib/system/libsystem_sandbox.dylib
0x1075fb000 -
0x1075fffff libsystem_stats.dylib (93.1.26) <B9E26A9E-FBBC-3938-B8B7-6CF7CA8C99AD> /usr/lib/system/libsystem_stats.dylib
0x10760a000 -
0x10760bfff libunc.dylib (28) <62682455-1862-36FE-8A04-7A6B91256438> /usr/lib/system/libunc.dylib
0x107613000 -
0x107618ff7 libunwind.dylib (35.3) <78DCC358-2FC1-302E-B395-0155B47CB547> /usr/lib/system/libunwind.dylib
0x107622000 -
0x107646fff libxpc.dylib (300.1.17) <4554927A-9467-365C-91F1-5A116989DD7F> /usr/lib/system/libxpc.dylib
0x107664000 -
0x1077d4ff6 com.apple.CFNetwork (673.0.3 - 673.0.3) <42CFC3DB-35C8-3652-AF37-4BCC73D8BDEF> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
0x1078db000 -
0x107bc5fff com.apple.CoreServices.CarbonCore (1077.14 - 1077.14) <B00BEB34-A9F5-381F-99FD-11E405768A9A> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonC ore.framework/Versions/A/CarbonCore
0x107c44000 -
0x107cd3fff com.apple.Metadata (10.7.0 - 800.12.2) <A9F5D471-8732-3F95-A4A2-33864B92A181> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadat a.framework/Versions/A/Metadata
0x107d3e000 -
0x107db5fff com.apple.CoreServices.OSServices (600.4 - 600.4) <36B2B009-C35E-3F21-824E-E0D00E7808C7> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServi ces.framework/Versions/A/OSServices
0x107e5d000 -
0x107ecafff com.apple.SearchKit (1.4.0 - 1.4.0) <B9B8D510-A27E-36B0-93E9-17146D9E9045> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchK it.framework/Versions/A/SearchKit
0x107f0f000 -
0x107f6affb com.apple.AE (665.5 - 665.5) <BBA230F9-144C-3CAB-A77A-0621719244CD> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.fram ework/Versions/A/AE
0x107f9e000 -
0x108067fff com.apple.LaunchServices (572.23 - 572.23) <8D955BDE-2C4C-3DD4-B4D7-2D916174FE1D> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchS ervices.framework/Versions/A/LaunchServices
0x1080df000 -
0x108108fff com.apple.DictionaryServices (1.2 - 208) <A539A058-BA57-35EE-AA08-D0B0E835127D> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Diction aryServices.framework/Versions/A/DictionaryServices
0x108131000 -
0x108141fff libbsm.0.dylib (33) <2CAC00A2-1352-302A-88FA-C567D4D69179> /usr/lib/libbsm.0.dylib
0x10814c000 -
0x1081afff7 com.apple.SystemConfiguration (1.13 - 1.13) <F05F4149-981B-380B-8F50-51CE804BBB89> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfi guration
0x1081ed000 -
0x108445ff1 com.apple.security (7.0 - 55471) <233831C5-C457-3AD5-AFE7-E3E2DE6929C9> /System/Library/Frameworks/Security.framework/Versions/A/Security
0x10858f000 -
0x108679fff libsqlite3.dylib (158) <00269BF9-43BE-39E0-9C85-24585B9923C8> /usr/lib/libsqlite3.dylib
0x108690000 -
0x108777ff7 libxml2.2.dylib (26) <A1DADD11-89E5-3DE4-8802-07186225967F> /usr/lib/libxml2.2.dylib
0x1087b0000 -
0x1087bdff7 libxar.1.dylib (202) <5572AA71-E98D-3FE1-9402-BB4A84E0E71E> /usr/lib/libxar.1.dylib
0x1087cb000 -
0x1087cffff libpam.2.dylib (20) <B93CE8F5-DAA8-30A1-B1F6-F890509513CB> /usr/lib/libpam.2.dylib
0x1087d7000 -
0x1087d7ffd libOpenScriptingUtil.dylib (157) <19F0E769-0989-3062-9AFB-8976E90E9759> /usr/lib/libOpenScriptingUtil.dylib
0x1087e2000 -
0x1087efff0 libbz2.1.0.dylib (29) <0B98AC35-B138-349C-8063-2B987A75D24C> /usr/lib/libbz2.1.0.dylib
0x1087f9000 -
0x1087fefff com.apple.DiskArbitration (2.6 - 2.6) <F8A47F61-83D1-3F92-B7A8-A169E0D187C0> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
0x10880e000 -
0x108815fff com.apple.NetFS (6.0 - 4.0) <8E26C099-CE9D-3819-91A2-64EA929C6137> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
0x10881f000 -
0x10882afff libkxld.dylib (2422.1.72) <C88EF3E6-B31F-3E12-BE9B-562D912BA733> /usr/lib/system/libkxld.dylib
0x108836000 -
0x108841ff7 com.apple.NetAuth (5.0 - 5.0) <C811E662-9EC3-3B74-808A-A75D624F326B> /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
0x10884f000 -
0x108b4efff com.apple.Foundation (6.9 - 1056) <D608EDFD-9634-3573-9B7E-081C7D085F7A> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
0x108d8c000 -
0x108d8dfff liblangid.dylib (117) <9546E641-F730-3AB0-B3CD-E0E2FDD173D9> /usr/lib/liblangid.dylib
0x108d96000 -
0x108db1ff7 libCRFSuite.dylib (34) <FFAE75FA-C54E-398B-AA97-18164CD9789D> /usr/lib/libCRFSuite.dylib
0x108dbd000 -
0x108e21ff3 com.apple.datadetectorscore (5.0 - 354.0) <9ACF24B8-3268-3134-A5BC-D72C9371A195> /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDe tectorsCore
0x108e67000 -
0x108e6afff com.apple.TCC (1.0 - 1) <32A075D9-47FD-3E71-95BC-BFB0D583F41C> /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
0x108e71000 -
0x108e88fff com.apple.CFOpenDirectory (10.9 - 173.1.1) <3FB4D5FE-860B-3BDE-BAE2-3531D919EF10> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpen Directory.framework/Versions/A/CFOpenDirectory
0x108ea7000 -
0x108eb1ff7 com.apple.bsd.ServiceManagement (2.0 - 2.0) <2D27B498-BB9C-3D88-B05A-76908A8A26F3> /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManage ment
0x108ebc000 -
0x108ee4ffb libxslt.1.dylib (13) <C9794936-633C-3F0C-9E71-30190B9B41C1> /usr/lib/libxslt.1.dylib
0x7fff66cc6000 -
0x7fff66cf9817 dyld (239.3) <D1DFCF3F-0B0C-332A-BCC0-87A851B570FF> /usr/lib/dyld
External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 4500
thread_create: 0
thread_set_state: 0
VM Region Summary:
ReadOnly portion of Libraries: Total=35.3M resident=33.3M(94%) swapped_out_or_unallocated=2044K(6%)
Writable regions: Total=47.8M written=2120K(4%) resident=2688K(5%) swapped_out=0K(0%) unallocated=45.2M(95%)
REGION TYPE
VIRTUAL
===========
=======
Dispatch continuations
8192K
Kernel Alloc Once
4K
MALLOC
28.3M
MALLOC (admin)
16K
STACK GUARD
12K
Stack
65.1M
VM_ALLOCATE
572K
__DATA
3168K
__LINKEDIT
9892K
__TEXT
25.7M
__UNICODE
544K
mapped file
9808K
shared memory
4K
===========
=======
TOTAL
150.5M
From the looks of this report, it appears like on Thread 0 crashed. Unfortunately I'm not sure how to fix this.
Any help would be really appreciated. I'm kind of at my wits end here.
-RickIf you don't already have a current backup, back up all data before doing anything else. This procedure is a diagnostic test. It changes nothing, for better or worse, and therefore will not, in itself, solve your problem. The backup is necessary on general principle, not because of anything suggested in this comment. There are ways to back up a computer that isn't fully functional. Ask if you need guidance.
Third-party system modifications are a common cause of usability problems. By a “system modification,” I mean software that affects the operation of other software — potentially for the worse. The procedure will help identify which such modifications you've installed, as well as some other aspects of the configuration that may be related to the problem.
Don’t be alarmed by the seeming complexity of these instructions — they’re easy to carry out. Here's a brief summary: In each of two steps, you copy a line of text from this web page into a window in another application. You wait about a minute. Then you paste some other text, which will have been copied automatically, back into a reply on this page. The sequence is copy; paste; paste again. That's all there is to it. Details follow.
You may have started the computer in "safe" mode. Preferably, these steps should be taken while booted in “normal” mode. If the system is now running in safe mode and is bootable in normal mode, reboot as usual. If it only boots in safe mode, use that.
Below are instructions to enter UNIX shell commands. They do nothing but produce human-readable output. However, you need to think carefully before running any program at the behest of a stranger on a public message board. If you question the safety of the procedure suggested here — which you should — search this site for other discussions in which it’s been followed without any report of ill effects. If you can't satisfy yourself that these instructions are safe, don't follow them.
The commands will line-wrap or scroll in your browser, but each one is really just a single long line, all of which must be selected. You can accomplish this easily by triple-clicking anywhere in the line. The whole line will highlight, and you can then copy it.
If you have more than one user account, Step 2 must be taken as an administrator. Ordinarily that would be the user created automatically when you booted the system for the first time. Step 1 should be taken as the user who has the problem, if different. Most personal Macs have only one user, and in that case this paragraph doesn’t apply.
Launch the Terminal application in any of the following ways:
☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
When you launch Terminal, a text window will open with a line already in it, ending either in a dollar sign (“$”) or a percent sign (“%”). If you get the percent sign, enter “sh” and press return. You should then get a new line ending in a dollar sign.
Step 1
Triple-click anywhere in the line of text below on this page to select it:
PB=/usr/libexec/PlistBuddy; PR () { [[ "$o" ]] && o=$(sed 's/^/ /' <<< "$o") && printf '\n%s:\n\n%s\n' "$1" "$o"; }; PC () { o=$(grep [^[:blank:]] "$2"); PR "$1"; }; PF () { o=$($PB -c Print "$2" | awk -F'= ' \/$3'/{print $2}'); PR "$1"; }; PN () { [[ $o -eq 0 ]] || printf "\n%s: %s\n" "$1" $o; }; { system_profiler SPSoftwareDataType | sed '8!d;s/^ *//'; o=$(system_profiler SPDiagnosticsDataType | sed '5,6!d'); fgrep -q P <<< "$o" && o=; PR "POST"; o=$(($(vm_stat | awk '/Pageo/{sub("\\.",""); print $2}')/256)); o=$((o>=1024?o:0)); PN "Pageouts (MiB)"; s=( $(sar -u 1 10 | sed '$!d') ); [[ ${s[4]} -lt 90 ]] && o=$( printf 'User %s%%\t\tSystem %s%%' ${s[1]} ${s[3]} ) || o=; PR "Total CPU usage"; [[ "$o" ]] && o=$(ps acrx -o comm,ruid,%cpu | sed '2!d'); PR "Max %CPU by process (name, UID, %)"; o=$(kextstat -kl | grep -v com\\.apple | cut -c53- | cut -d\< -f1); PR "Loaded extrinsic kernel extensions"; o=$(launchctl list | sed 1d | awk '!/0x|com\.apple|org\.(x|openbsd)|\.[0-9]+$/{print $3}'); PR "Loaded extrinsic user agents"; o=$(launchctl getenv DYLD_INSERT_LIBRARIES); PR "Inserted libraries"; PC "cron configuration" /e*/cron*; o=$(crontab -l | grep [^[:blank:]]); PR "User cron tasks"; PC "Global launchd configuration" /e*/lau*; PC "Per-user launchd configuration" ~/.lau*; PF "Global login items" /L*/P*/loginw* Path; PF "Per-user login items" L*/P*/*loginit* Name; PF "Safari extensions" L*/Saf*/*/E*.plist Bundle | sed 's/\..*$//;s/-[1-9]$//'; o=$(find ~ $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 \) | wc -l); PN "Restricted user files"; cd; o=$(find -L /S*/L*/E* {,/}L*/{A*d,Compon,Ex,In,Keyb,Mail/Bu,P*P,Qu,Scripti,Servi,Spo}* -type d -name Contents -prune | while read d; do ID=$($PB -c 'Print :CFBundleIdentifier' "$d/Info.plist") || ID=; ID=${ID:-No bundle ID}; egrep -qv "^com\.apple\.[^x]|Accusys|ArcMSR|ATTO|HDPro|HighPoint|driver\.stex|hp-fax|JMicron|microsoft\.MDI|print|SoftRAID" <<< $ID && printf '%s\n\t(%s)\n' "${d%/Contents}" "$ID"; done); PR "Extrinsic loadable bundles"; o=$(find /u*/{,*/}lib -type f -exec sh -c 'file -b "$1" | grep -qw shared && ! codesign -v "$1"' {} {} \; -print); PR "Unsigned shared libraries"; o=$(system_profiler SPFontsDataType | egrep "Valid: N|Duplicate: Y" | wc -l); PN "Font problems"; for d in {,/}L*/{La,Priv,Sta}*; do o=$(ls -A "$d"); PR "$d"; done; } 2> /dev/null | pbcopy; echo $'\nStep 1 done'
Copy the selected text to the Clipboard by pressing the key combination command-C. Then click anywhere in the Terminal window and paste (command-V). I've tested these instructions only with the Safari web browser. If you use another browser, you may have to press the return key after pasting.
The command may take up to a few minutes to run, depending on how many files you have and the speed of the computer. Wait for the line "Step 1 done" to appear below what you entered. The output of the command will beautomatically copied to the Clipboard. All you have to do is paste into a reply to this message by pressing command-Vagain. Please don't copy anything from the Terminal window. No typing is involved in this step.
Step 2
Remember that you must be logged in as an administrator for this step. Do as in Step 1 with this line:
PR () { [[ "$o" ]] && o=$(sed 's/^/ /' <<< "$o") && printf '\n%s:\n\n%s\n' "$1" "$o"; }; { o=$(sudo launchctl list | sed 1d | awk '!/0x|com\.(apple|openssh|vix\.cron)|org\.(amav|apac|calendarse|cups|dove|isc|ntp|post[fg]|x)/{print $3}'); PR "Loaded extrinsic daemons"; o=$(sudo defaults read com.apple.loginwindow LoginHook); PR "Login hook"; o=$(sudo crontab -l | grep [^[:blank:]]); PR "Root cron tasks"; o=$(syslog -k Sender kernel -k Message CReq 'GPU |hfs: Ru|I/O e|find tok|n Cause: -|NVDA\(|pagin|timed? ?o' | tail -n25 | awk '/:/{$4=""; print}'); PR "Log check"; } 2>&- | pbcopy; echo $'\nStep 2 done'
This time you'll be prompted for your login password, which you do have to type. Nothing will be displayed when you type it. Type it carefully and then press return. You may get a one-time warning to be careful. Heed that warning, but don't post it. If you see a message that your username "is not in the sudoers file," then you're not logged in as an administrator.
You can then quit Terminal. Please note:
☞ Steps 1 and 2 are all copy-and-paste — type only your login password when prompted.
☞ When you type your password, you won't see what you're typing.
☞ If you don’t have a password, set one before taking Step 2. If that’s not possible, skip the step.
☞ Step 2 might not produce any output, in which case the Clipboard will be empty. Step 1 will always produce something.
☞ The commands don't change anything, and merely running them will do neither good nor harm.
☞ Remember to post the output of both steps (unless you had to skip Step 2.) It's already in the Clipboard after you complete each step. You don't have to copy it. Just paste into a reply
☞ If any personal information, such as your name or email address, appears in the output of either command, anonymize it before posting. Usually that won't be necessary.
☞ Don't post what you see in the Terminal window. The output is copied automatically to the Clipboard.
☞ Don't paste the output of Step 1 into the Terminal window. Paste it into a reply. -
SAFARI IS REALLY SLOW AND LAGGY IN OSX MAVERICKS 10.9.1 UPDATE
HELP!!! Okay so i stopped using Chrome a few months ago and switched to safari as my daily go-getter and it was fine. No bad lag and bad stuff. After I updated my Macbook Pro(13 inch, mid-2009 model, 2.26GHz, 2gb RAM) to OS X MAVERICKS 10.9.1 everything was working fine the first time. The next day(today) i switched on my laptop and started using safari. All of a sudden, safari became really laggy and it affected my laptop as well! So i forced quit it and tried it again. IT HAPPENED AGAIN! Safari and My laptop became laggy. This has been going on for the past 10 times i've forced quit and reopened safari. At first i thought maybe every browser would be this slow. But i opened chrome and its working flawlessly! As i'm typing this right now, i''m using chrome. Any suggestions to help me with safari? I don't wanna turn on Safari until i get a proper answer on how to fix this.
If you don't already have a current backup, back up all data before doing anything else. This procedure is a diagnostictest. It changes nothing, for better or worse, and therefore will not, in itself, solve your problem. The backup is necessary in case your startup drive is failing.
Third-party system modifications are a common cause of usability problems. By a “system modification,” I mean software that affects the operation of other software — potentially for the worse. The procedure will help identify which such modifications you've installed, as well as some other aspects of the configuration that may be related to the problem.
Don’t be alarmed by the seeming complexity of these instructions — they’re easy to carry out. Here's a brief summary: In each of two steps, you copy a line of text from this web page into a window in another application. You wait about a minute. Then you paste some other text, which will have been copied automatically, back into a reply on this page. The sequence is copy; paste; paste again. That's all there is to it. Details follow.
While investigating the problem, you may have started the computer in "safe" mode. If possible, these steps should be taken while booted in “normal” mode, not in safe mode. If you’re now running in safe mode, reboot as usual before continuing. If you can only boot in safe mode, you can still use this procedure, but not all of it will work. Be sure to mention that in your reply, if you haven't already done so.
Below are instructions to enter UNIX shell commands. The commands are safe and do nothing but produce human-readable output, but they must be entered exactly as given in order to work. If you question the safety of the procedure suggested here — which you should — search this site for other discussions in which it’s been followed without any report of ill effects. I am not asking you to trust me. If you can't satisfy yourself that these instructions are safe, don't follow them.
The commands will line-wrap or scroll in your browser, but each one is really just a single long line, all of which must be selected. You can accomplish this easily by triple-clicking anywhere in the line. The whole line will highlight, and you can then copy it.
Note: If you have more than one user account, Step 2 must be taken as an administrator. Ordinarily that would be the user created automatically when you booted the system for the first time. Step 1 should be taken as the user who has the problem, if different. Most personal Macs have only one user, and in that case this paragraph doesn’t apply.
Launch the Terminal application in any of the following ways:
☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
When you launch Terminal, a text window will open with a line already in it, ending either in a dollar sign (“$”) or a percent sign (“%”). If you get the percent sign, enter “sh” and press return. You should then get a new line ending in a dollar sign.
Step 1
Triple-click anywhere in the line of text below on this page to select it:
PB=/usr/libexec/PlistBuddy; PR () { [[ "$o" ]] && printf '\n%s:\n\n%s\n\n' "$1" "$o"; }; PF () { o=$($PB -c Print "$2" | awk -F'= ' \/$3'/{print $2}'); PR "$1"; }; { o=$(( $(vm_stat | awk '/Pageo/{sub("\\.",""); print $2}')/256 )); [[ $o -gt 1024 ]] && printf "\nPageouts: %s MiB\n\n" $o; o=$(kextstat -kl | grep -v com\\.apple | cut -c53- | cut -d\< -f1); PR "Loaded extrinsic kernel extensions"; o=$(launchctl list | sed 1d | awk '!/0x|com\.apple|org\.(x|openbsd)|\.[0-9]+$/{print $3}'); PR "Loaded extrinsic user agents"; o=$(launchctl getenv DYLD_INSERT_LIBRARIES); PR "Inserted libraries"; o=$(crontab -l); PR "User cron tasks"; o=$(cat /e*/lau*); PR "Global launchd configuration"; o=$(cat ~/.lau*); PR "Per-user launchd configuration"; PF "Global login items" /L*/P*/loginw* Path; PF "Per-user login items" L*/P*/*loginit* Name; PF "Safari extensions" L*/Saf*/*/E*.plist Bundle | sed 's/\..*$//;s/-[1-9]$//'; o=$(find ~ $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 \) | wc -l); [[ $o -eq 0 ]] || printf "\nRestricted user files: %s\n\n" $o; cd; o=$(find -L /S*/L*/E* {,/}L*/{A*d,Compon,Ex,In,Keyb,Mail/Bu,P*P,Qu,Scripti,Servi,Spo}* -type d -name Contents -prune | while read d; do ID=$($PB -c 'Print :CFBundleIdentifier' "$d/Info.plist"); ID=${ID:-No bundle ID}; egrep -qv "^com\.apple\.[^x]|Accusys|ArcMSR|ATTO|HDPro|HighPoint|driver\.stex|hp-fax|JMicron|microsoft\.MDI|print|SoftRAID" <<< $ID && printf '%s\n\t(%s)\n' "${d%/Contents}" "$ID"; done); PR "Extrinsic loadable bundles"; o=$(find /u*/{,*/}lib -type f -exec sh -c 'file -b "$1" | grep -qw shared && ! codesign -v "$1"' {} {} \; -print); PR "Unsigned shared libraries"; for d in {,/}L*/{La,Priv,Sta}* L*/Fonts; do o=$(ls -A "$d"); PR "$d"; done; } 2> /dev/null | pbcopy; echo $'\nStep 1 done'
Copy the selected text to the Clipboard by pressing the key combination command-C. Then click anywhere in the Terminal window and paste (command-V). I've tested these instructions only with the Safari web browser. If you use another browser, you may have to press the return key after pasting.
The command may take up to a few minutes to run, depending on how many files you have and the speed of the computer. Wait for the line "Step 1 done" to appear below what you entered. The output of the command will be automatically copied to the Clipboard. If the command produced no output, the Clipboard will be empty. Paste into a reply to this message. No typing is involved in this step.
Step 2
Remember that you must be logged in as an administrator for this step. Do as in Step 1 with this line:
PR () { [[ "$o" ]] && printf '\n%s:\n\n%s\n\n' "$1" "$o"; }; { o=$(sudo launchctl list | sed 1d | awk '!/0x|com\.(apple|openssh|vix\.cron)|org\.(amav|apac|calendarse|cups|dove|isc|ntp|post[fg]|x)/{print $3}'); PR "Loaded extrinsic daemons"; o=$(sudo defaults read com.apple.loginwindow LoginHook); PR "Login hook"; o=$(sudo crontab -l); PR "Root cron tasks"; o=$(syslog -k Sender kernel -k Message CReq 'error|GPU |hfs: Ru|I/O e|find tok|n Cause: -|NVDA\(|pagin|timed? ?o' | tail -n25 | awk '/:/{$4=""; print}'); PR "Log check"; } 2> /dev/null | pbcopy; echo $'\nStep 2 done'
This time you'll be prompted for your login password, which you do have to type. Nothing will be displayed when you type it. Type it carefully and then press return. You may get a one-time warning to be careful. Heed that warning, but don't post it. If you see a message that your username "is not in the sudoers file," then you're not logged in as an administrator.
You can then quit Terminal.
To prevent confusion, I'll repeat: When you type your password in the Terminal window, you won't see what you're typing.
Note: If you don’t have a login password, set one before taking Step 2. If that’s not possible, skip the step.
Important: If any personal information, such as your name or email address, appears in the output of these commands, anonymize it before posting. Usually that won't be necessary.
Remember, Steps 1 and 2 are all copy-and-paste — type only your password. Also remember to post the output. -
Intermittently, when I try to enter the internet through Safari on my Imac, it freezes up so that the loading line only goes 1/3 way across and then stops. If I shut down the computer and then restart, it usually loads fine. I have had my internet provider check eveything form their end and it is fine. I suspect that I have a software conflict. My provider and others have said that I should use FireFox because Safari is not that stable. I am running OSX Maverick on my system. This was a recent download. Is anyone else having this problem and have you any ideas how I can correct it.
If you don't already have a current backup, back up all data before doing anything else. This procedure is a diagnostic test. It changes nothing, for better or worse, and therefore will not, in itself, solve your problem. The backup is necessary on principle, not because of anything suggested in this comment. There are ways to back up a computer that isn't fully functional. Ask if you need guidance.
Third-party system modifications are a common cause of usability problems. By a “system modification,” I mean software that affects the operation of other software — potentially for the worse. The procedure will help to identify which such modifications you've installed, as well as some other aspects of the state of the system that may be pertinent.
Don’t be alarmed by the seeming complexity of these instructions — they’re easy to carry out. Here's a brief summary: You copy a line of text from this web page into a window in another application. You wait about a minute. Then you paste some other text, which will have been copied automatically, back into a reply on this page. The sequence is: copy, paste, paste again. That's all there is to it. Details follow.
You may have started the computer in "safe" mode. Preferably, these steps should be taken while booted in “normal” mode. If the system is now running in safe mode and is bootable in normal mode, reboot as usual. If it only boots in safe mode, proceed anyway.
Below are instructions to run a UNIX shell script. It does nothing but produce human-readable output. However, you need to be cautious about running any program at the behest of a stranger on a public message board. If you question the safety of the procedure suggested here — which you should — search this site for other discussions in which it’s been followed without any report of ill effects. If you can't satisfy yourself that these instructions are safe, don't follow them.
The script will line-wrap or scroll in your browser, but it's really a single long line, all of which must be selected. You can accomplish this easily by triple-clicking anywhere in the line. The whole line will highlight, and you can then copy it.
If you have more than one user, and the affected user is not an administrator, then please run the script twice: once while logged in as the affected user, and once as an administrator. The results may be different. The administrator is the user that is created automatically on a new computer when you start it for the first time. If you can't log in as an administrator, just run the script as the affected user. Most personal Macs have only one user, and in that case this paragraph doesn’t apply.
Launch the Terminal application in any of the following ways:
☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
When you launch Terminal, a text window will open with a line already in it, ending either in a dollar sign ($) or a percent sign (%). If you get the percent sign, enter “sh” and press return. You should then get a new line ending in a dollar sign.
Triple-click anywhere in the line of text below on this page to select it:
clear; PB=/usr/libexec/PlistBuddy; PR () { [[ "$o" ]] && o=$(sed 's/^/ /' <<< "$o") && printf '\n%s:\n\n%s\n' "$1" "$o"; }; PC () { o=$(egrep -v '^[[:blank:]]*($|#)' "$2"); PR "$1"; }; PF () { o=$($PB -c Print "$2" | awk -F'= ' \/$3'/{print $2}'); PR "$1"; }; PN () { [[ $o -eq 0 ]] || printf "\n%s: %s\n" "$1" $o; }; a=$(id | grep -w '80(admin)'); [[ "$a" ]] && sudo true && r=1 || r=; { [[ "$a" ]] || echo $'No admin access\n'; [[ "$a" && ! "$r" ]] && echo $'No root access\n'; system_profiler SPSoftwareDataType | sed '8!d;s/^ *//'; o=$(system_profiler SPDiagnosticsDataType | sed '5,6!d'); fgrep -q P <<< "$o" && o=; PR "POST"; o=$(($(vm_stat | awk '/Pageo/{sub("\\.",""); print $2}')/256)); o=$((o>=1024?o:0)); PN "Pageouts (MiB)"; s=( $(sar -u 1 10 | sed '$!d') ); [[ ${s[4]} -lt 90 ]] && o=$( printf 'User %s%%\t\tSystem %s%%' ${s[1]} ${s[3]} ) || o=; PR "Total CPU usage"; [[ "$o" ]] && o=$(ps acrx -o comm,ruid,%cpu | sed '2!d'); PR "Max %CPU by process (name, UID, %)"; o=$(kextstat -kl | grep -v com\\.apple | cut -c53- | cut -d\< -f1); PR "Loaded extrinsic kernel extensions"; o=$(launchctl list | sed 1d | awk '!/0x|com\.apple|org\.(x|openbsd)|\.[0-9]+$/{print $3}'); PR "Loaded extrinsic user agents"; o=$(launchctl getenv DYLD_INSERT_LIBRARIES); PR "Inserted libraries"; PC "cron configuration" /e*/cron*; o=$(crontab -l | grep [^[:blank:]]); PR "User cron tasks"; PC "Global launchd configuration" /e*/lau*; PC "Per-user launchd configuration" ~/.lau*; PF "Global login items" /L*/P*/loginw* Path; PF "Per-user login items" L*/P*/*loginit* Name; PF "Safari extensions" L*/Saf*/*/E*.plist Bundle | sed 's/\..*$//;s/-[1-9]$//'; o=$(find ~ $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 \) | wc -l); PN "Restricted user files"; cd; o=$(find -L /S*/L*/E* {,/}L*/{A*d,Compon,Ex,In,Keyb,Mail/Bu,P*P,Qu,Scripti,Servi,Spo}* -type d -name Contents -prune | while read d; do ID=$($PB -c 'Print :CFBundleIdentifier' "$d/Info.plist") || ID=; ID=${ID:-No bundle ID}; egrep -qv "^com\.apple\.[^x]|Accusys|ArcMSR|ATTO|HDPro|HighPoint|driver\.stex|hp-fax|JMicron|microsoft\.MDI|print|SoftRAID" <<< $ID && printf '%s\n\t(%s)\n' "${d%/Contents}" "$ID"; done); PR "Extrinsic loadable bundles"; o=$(find /u*/{,*/}lib -type f -exec sh -c 'file -b "$1" | grep -qw shared && ! codesign -v "$1"' {} {} \; -print); PR "Unsigned shared libraries"; o=$(system_profiler SPFontsDataType | egrep "Valid: N|Duplicate: Y" | wc -l); PN "Font problems"; for d in {,/}L*/{La,Priv,Sta}*; do o=$(ls -A "$d"); PR "$d"; done; [ "$r" ] && { o=$(sudo launchctl list | sed 1d | awk '!/0x|com\.(apple|openssh|vix\.cron)|org\.(amav|apac|calendarse|cups|dove|isc|ntp|post[fg]|x)/{print $3}'); PR "Loaded extrinsic daemons"; o=$(sudo defaults read com.apple.loginwindow LoginHook); PR "Login hook"; o=$(sudo crontab -l | grep [^[:blank:]]); PR "Root cron tasks"; }; o=$(syslog -k Sender kernel -k Message CReq 'GPU |hfs: Ru|I/O e|find tok|n Cause: -|NVDA\(|pagin|timed? ?o' | tail -n25 | awk '/:/{$4=""; print}'); PR "Log check"; } 2> /dev/null | pbcopy; exit
Copy the selected text to the Clipboard by pressing the key combination command-C. Then click anywhere in the Terminal window and paste (command-V). The text you pasted should vanish immediately, leaving the Terminal window empty. If that doesn't happen, press the return key.
If you're logged in as an administrator, you'll be prompted for your login password. Nothing will be displayed when you type it. Type it carefully and then press return. You may get a one-time warning to be careful. If you make three failed attempts to enter your password, the script will run anyway, but it will produce less information. In most cases, the difference is not important.
The script may take up to a few minutes to run, depending on how many files you have and the speed of the computer. Wait for the line "[Process completed]" to appear in the Terminal window.
You can then quit Terminal. The output of the script will have been copied to the Clipboard automatically. All you have to do is paste into a reply to this message by pressing command-V again.
Please note:
☞ This procedure is all copy-and-paste — type only your login password when prompted. When typing it, you won't see what you're typing. Make sure caps lock is off.
☞ Remember to post the output. It's already in the Clipboard when you see "[Process completed]" in the Terminal window.
☞ If any personal information, such as your name or email address, appears in the output, anonymize it before posting. Usually that won't be necessary.
Maybe you are looking for
-
Dear Master, I'm totally new to SAP NW CE 7.1. I've assigned to implement SAP NW CE 7.1. Currently I have one systen installed with SAP NW 7. Can I install SAP NW CE 7.1 on that system? Thanks a lot. Best Regards, Yan
-
Minimum ram and hdd space need for windows 7
What is the minimum of ram and hdd space memory to use with windows 7. Is the windows 7 faster than vista on the same machine ? thansk Nothing is impossible
-
Hp updates mess up my Notebook
Hi, I own a HP pavilion 15 p003la since a month ago. Everytime I go to the HP panel to upgrade the drivers or install any updates, It just messes everything up; from the wireless lan, the graphics card, the touchpad (depending on the upgrade) but EVE
-
Treo 755p cannot sync with Vista and old Treo 650
Have spent 4 hours with Palm chat analyst. Have downloaded several different applications from their site at their direction. Now I cannot download my old info/cannot sync old info with new Treo and completely frustrated. Post relates to: Treo 755p
-
Policy store can be re-associated with either OID or Oracle DB
I read that policy store can be re-associated with either OID or Oracle DB. Is there any official page describing comparison between both approach? If not, any personal view will also help. Thanks. Reference - http://docs.oracle.com/cd/E21764_01/webc