Constantly Crashing Apps and OS

Joined
Oct 6, 2009
Messages
7
Reaction score
0
Points
1
Hi All

We do hope someone can help . . .

My wife and I both have Macs. My MacBook Pro works fine. My wife's PowerBook G4 (OS X 10.5.5. 1.67Ghz. 2GB DDR2 SDRAM. 74GB free space on HD) is having major problems.

For last two days her machine has been failing to work properly and apps and OS X now shut down whilst loading or show lots of 'beachballs' then fail after a time.

A specific example is Safari - it will load, go online and then freeze after two navigations. This is pretty constant.
Also Utility apps like Console and Activity Monitor will not load (crash whilst opening).

I've searched the forum for advice and so far I've tried:

PRAM Clean - Yes.
Safe Start - Yes.
Removing all unwanted apps and files - Yes.
Repairing Permissions - Yes.
Clearing prefs - Yes.

I could not get Yasu, OnyX or CleanMyMac to run. They too crash whilst loading up. I also thought maybe we needed to update OS X but Software Update also crashes.

However, I have succeeded in loading and running the following:
iFreeMem - which made the machine run a little faster.
Disk Inventory X - which confirmed I had 73GB of free space on HD.
IceClean - I ran all Maintenance and Clean Up scripts and this made the machine run considerably faster (which means the app crash considerably quicker!).

Background:
We are currently in Africa for a year and have not updated any software since October 2008. We do not have any installation disks with us as the Mac had never failed us.

Any help would be appreciated.

Thanks

Robbie
 
Joined
Apr 7, 2009
Messages
3,308
Reaction score
58
Points
48
Location
Whangarei NZ
Your Mac's Specs
27 iMac+Thunderbolt, iMac 21,
Welcome to the Forum - Try getting rid of all third party apps then downloading this and running it and testing again - then download any third party apps u need and re install.
 
OP
S
Joined
Oct 6, 2009
Messages
7
Reaction score
0
Points
1
Thanks Collin. Downloading now though it's going to take 8hrs. This is Africa!
 
OP
S
Joined
Oct 6, 2009
Messages
7
Reaction score
0
Points
1
Hi Colin and all

I downloaded the MacOSXUpdCombo10.5.8.pkg with my MacBook Pro and transfered it to the troubled PowerBook G4 via a 2GB memory stick. When I run the installation it tells me:

Installation Failed: The installer could not validate the contents of the 'MacOSXUpdCombo10.5.8' package. Contact the software manufacturer for assistance.

I then installed it from the original download on my MacBook Pro and it works fine and the new Safari runs well too.

Am I doing something wrong when I copy it via the memory stick? If so, can I get round it? The PowerBook can't connect to the internet because Safari quits.

Any help?

Thanks

Robbie
 
Joined
Aug 25, 2004
Messages
760
Reaction score
22
Points
18
Location
New Zealand
Your Mac's Specs
13" MBA. 15" MBP. iPhone 4. 3G Pad 2.
Open finder & Drag the original downloaded Combo dmg file onto the stick as is, do not open it first. Drag onto the Power book desktop and open from there. As the combo update is large will take time to copy both ways so give it plenty of time.
Best.
S.
 
OP
S
Joined
Oct 6, 2009
Messages
7
Reaction score
0
Points
1
Hi torchy

Thanks for your help.

I've done as you suggested:
Dragged MacOSXUpdCombo10.5.8.dmg to the 2GB stick. About 4mins to copy.
Ejected the stick icon from MacBook Pro.
Removed stick.
Inserted the stick into PowerBook.
Opened icon and dragged MacOSXUpdCombo10.5.8.dmg to desktop. About 4mins to copy.
When I click on the MacOSXUpdCombo10.5.8.dmg I get a small card which reads opening MacOSXUpdCombo10.5.8.dmg and underneath it reads verifying.
After a moment this card stops and a warning card appears:
Warning
The following disk image failed to mount
Image: MacOSXUpdCombo10.5.8.dmg
Reason: codec overrun

On that small card there is an skip option. If I click this the image mounts and I can access the MacOSXUpdCombo10.5.8.pkg.

If I click this I can Install as normal but I then get the original card:
Installation Failed: The installer could not validate the contents of the 'MacOSXUpdCombo10.5.8' package. Contact the software manufacturer for assistance.

Any clues?

Thanks

Robbie
 
Joined
Aug 25, 2004
Messages
760
Reaction score
22
Points
18
Location
New Zealand
Your Mac's Specs
13" MBA. 15" MBP. iPhone 4. 3G Pad 2.
Hi Robbie,
As you have very limited options:
Beg, Buy or Borrow a retail copy of Leopard or get your discs sent over, at this rate it might be quicker..

If you have or can get hold of a new empty stick use that to transfer the combo dmg instead.
or
Attach stick to MBP & drag everything on the stick to the trash > Empty trash while the stick is still attached.
or
Use disc utility to delete the files on the stick.
Then try again with the clean & empty stick.

At worse you will have to share one Mac for the duration, maybe a timer would come in handy :)
S.
 
OP
S
Joined
Oct 6, 2009
Messages
7
Reaction score
0
Points
1
Hi torchy

Hope this finds you well and thank you for your help.

I've cleaned the stick drive and that worked. I was then able to Install OSX 10.5.8 and that's all working. I then ran IceClean and ran the Maintenance and CleanUp scripts and finally rebooted.

Unfortunately, Safari (the new version) still quits after two navigations and also Activity Monitor won't load up just like my original problem. I've tried Firefox and it also quits while loading.

When I reboot, the Finder seems unstable and will relaunch itself after lengthy beachballs.

I ran Word and it quit whilst loading up and I was able to copy the following ERROR REPORT:
Microsoft Error Reporting log version: 1.0

Error Signature:
Exception: EXC_BAD_ACCESS
Date/Time: 2009-10-08 13:51:17 +0000
Application Name: Microsoft Word
Application Version: 11.5.0.080429
Module Name: unknown
Module Version: unknown
Module Offset: unknown
Extra app info: Reg=English Loc=0x0409

Operating System Information
Operating System: Mac OS X 10.5.8 (Build 9L31a)
CPU: G4 (7450), Number: 1, Speed: 1666 MHz
gestaltPhysicalRAMSize err = 0, result = 2047 MB
gestaltSystemVersion err = 0, result = 0x1058
Screen: 1680 x 1050, depth = 32, ltbr = 0, 0, 1050, 1680

Microsoft Application Information:
Error Reporting UUID: EEDE1B62-B1FA-11DE-9193-001124E2CD3A
Time from launch: 0 hours, 0 minutes, 20 seconds
Total errors on this client: 3

Any suggestions as to my next move - that doesn't involve rope and a crossbeam?

In anticipation

Robbie
 
Joined
Aug 6, 2004
Messages
1,713
Reaction score
71
Points
48
Location
Tejas
Your Mac's Specs
2GHz Mac Mini 2GB RAM 160GB 10.6.2 | MDD DP 1.25GHz G4 1.5GB RAM 10.4.11 | 233MHz iMac G3 10.3.9
OP
S
Joined
Oct 6, 2009
Messages
7
Reaction score
0
Points
1
Hi torchy, collin and all

Here's the Safari error message content.

Any help would be greatly appreciated.

Kind regards

Robbie


Process: Safari [418]
Path: /Applications/Safari.app/Contents/MacOS/Safari
Identifier: com.apple.Safari
Version: 4.0.2 (5530.19)
Build Info: WebBrowser-55301900~3
Code Type: PPC (Native)
Parent Process: launchd [135]

Interval Since Last Report: 367 sec
Crashes Since Last Report: 2
Per-App Interval Since Last Report: 148 sec
Per-App Crashes Since Last Report: 2

Date/Time: 2009-10-08 15:19:58.336 +0000
OS Version: Mac OS X 10.5.8 (9L31a)
Report Version: 6
Anonymous UUID: 4B47550F-7B40-41E5-BFB3-F09313117102

Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: 0x000000000000000a, 0x000000000b421ee2
Crashed Thread: 0

Thread 0 Crashed:
0 ...ple.ApplicationServices.ATS 0x91a584c8 MapString4_16 + 168
1 ...ple.ApplicationServices.ATS 0x91a57eac _eFOApplyUnicodeEncoding + 388
2 ...ple.ApplicationServices.ATS 0x91a58afc FOApplyUnicodeEncoding + 136
3 libCGATS.A.dylib 0x902a2074 ats_font_get_glyphs_for_unichars + 104
4 libCGATS.A.dylib 0x902a3254 get_glyphs_for_unichars + 56
5 com.apple.WebCore 0x904a4d04 WebCore::GlyphPage::fill(unsigned int, unsigned int, unsigned short*, unsigned int, WebCore::SimpleFontData const*) + 180
6 com.apple.WebCore 0x904a4948 WebCore::GlyphPageTreeNode::initializePage(WebCore::FontData const*, unsigned int) + 1064
7 com.apple.WebCore 0x904a436c WebCore::GlyphPageTreeNode::getChild(WebCore::FontData const*, unsigned int) + 364
8 com.apple.WebCore 0x904a3f40 WebCore::SimpleFontData::platformInit() + 992
9 com.apple.WebCore 0x904a3a64 WebCore::SimpleFontData::SimpleFontData(WebCore::FontPlatformData const&, bool, bool, WebCore::SVGFontData*) + 564
10 com.apple.WebCore 0x904a36fc WebCore::FontCache::getCachedFontData(WebCore::FontPlatformData const*) + 284
11 com.apple.WebCore 0x90521570 WebCore::FontCache::getFontDataForCharacters(WebCore::Font const&, unsigned short const*, int) + 784
12 com.apple.WebCore 0x904a68cc WebCore::Font::glyphDataForCharacter(int, bool, bool) const + 940
13 com.apple.WebCore 0x904a5f2c WebCore::WidthIterator::advance(int, WebCore::GlyphBuffer*) + 540
14 com.apple.WebCore 0x90b5bd74 WebCore::Font::floatWidthForSimpleText(WebCore::TextRun const&, WebCore::GlyphBuffer*, ***::HashSet<WebCore::SimpleFontData const*, ***::ptrHash<WebCore::SimpleFontData const*>, ***::HashTraits<WebCore::SimpleFontData const*> >*) const + 52
15 com.apple.WebCore 0x90520708 WebCore::RenderMenuList::updateOptionsWidth() + 664
16 com.apple.WebCore 0x90520440 WebCore::RenderMenuList::styleDidChange(WebCore::StyleDifference, WebCore::RenderStyle const*) + 224
17 com.apple.WebCore 0x9046a32c WebCore::RenderObject::setStyle(***::passRefPtr<WebCore::RenderStyle>) + 684
18 com.apple.WebCore 0x904977a8 WebCore::RenderObject::setAnimatableStyle(***::passRefPtr<WebCore::RenderStyle>) + 104
19 com.apple.WebCore 0x90476050 WebCore::Node::createRendererIfNeeded() + 336
20 com.apple.WebCore 0x90475e04 WebCore::Element::attach() + 36
21 com.apple.WebCore 0x9050195c WebCore::HTMLFormControlElement::attach() + 28
22 com.apple.WebCore 0x9046e694 WebCore::ContainerNode::attach() + 68
23 com.apple.WebCore 0x90475e0c WebCore::Element::attach() + 44
24 com.apple.WebCore 0x9050195c WebCore::HTMLFormControlElement::attach() + 28
25 com.apple.WebCore 0x9046e694 WebCore::ContainerNode::attach() + 68
26 com.apple.WebCore 0x90475e0c WebCore::Element::attach() + 44
27 com.apple.WebCore 0x9046e694 WebCore::ContainerNode::attach() + 68
28 com.apple.WebCore 0x90475e0c WebCore::Element::attach() + 44
29 com.apple.WebCore 0x9046e694 WebCore::ContainerNode::attach() + 68
30 com.apple.WebCore 0x90475e0c WebCore::Element::attach() + 44
31 com.apple.WebCore 0x9046e694 WebCore::ContainerNode::attach() + 68
32 com.apple.WebCore 0x90475e0c WebCore::Element::attach() + 44
33 com.apple.WebCore 0x9046e694 WebCore::ContainerNode::attach() + 68
34 com.apple.WebCore 0x90475e0c WebCore::Element::attach() + 44
35 com.apple.WebCore 0x904eef68 WebCore::Element::recalcStyle(WebCore::Node::StyleChange) + 728
36 com.apple.WebCore 0x904ef2e8 WebCore::Element::recalcStyle(WebCore::Node::StyleChange) + 1624
37 com.apple.WebCore 0x90466128 WebCore::Document::recalcStyle(WebCore::Node::StyleChange) + 1592
38 com.apple.WebCore 0x904d10b0 WebCore::Document::updateStyleSelector() + 144
39 com.apple.WebCore 0x904ee988 WebCore::Document::removePendingSheet() + 40
40 com.apple.WebCore 0x904ee8f0 WebCore::HTMLStyleElement::sheetLoaded() + 64
41 com.apple.WebCore 0x904ed484 WebCore::CSSStyleSheet::checkLoaded() + 132
42 com.apple.WebCore 0x9050f150 WebCore::CSSImportRule::setCSSStyleSheet(WebCore::String const&, WebCore::String const&, WebCore::CachedCSSStyleSheet const*) + 352
43 com.apple.WebCore 0x9050eecc WebCore::CachedCSSStyleSheet::checkNotify() + 140
44 com.apple.WebCore 0x9050eacc WebCore::CachedCSSStyleSheet::data(***::passRefPtr<WebCore::SharedBuffer>, bool) + 444
45 com.apple.WebCore 0x9050e774 WebCore::Loader::Host::didFinishLoading(WebCore::SubresourceLoader*) + 276
46 com.apple.WebCore 0x9050e56c WebCore::SubresourceLoader::didFinishLoading() + 92
47 com.apple.Foundation 0x93126814 _NSURLConnectionDidFinishLoading + 120
48 com.apple.CFNetwork 0x922b8d8c URLConnectionClient::_clientDidFinishLoading(URLConnectionClient::ClientConnectionEventQueue*) + 236
49 com.apple.CFNetwork 0x922b9a08 URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent, XClientEventParams>*, long) + 172
50 com.apple.CFNetwork 0x922b8500 URLConnectionClient::processEvents() + 132
51 com.apple.CFNetwork 0x92262020 MultiplexerSource::perform() + 168
52 com.apple.CoreFoundation 0x965450d0 CFRunLoopRunSpecific + 1104
53 com.apple.HIToolbox 0x93c79b14 RunCurrentEventLoopInMode + 264
54 com.apple.HIToolbox 0x93c79938 ReceiveNextEventCommon + 412
55 com.apple.HIToolbox 0x93c79778 BlockUntilNextEventMatchingListInMode + 84
56 com.apple.AppKit 0x90e38244 _DPSNextEvent + 596
57 com.apple.AppKit 0x90e37bfc -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 112
58 com.apple.Safari 0x0000dd54 0x1000 + 52564
59 com.apple.AppKit 0x90e3189c -[NSApplication run] + 744
60 com.apple.AppKit 0x90e02298 NSApplicationMain + 440
61 com.apple.Safari 0x00002f5c 0x1000 + 8028
 
Joined
Aug 6, 2004
Messages
1,713
Reaction score
71
Points
48
Location
Tejas
Your Mac's Specs
2GHz Mac Mini 2GB RAM 160GB 10.6.2 | MDD DP 1.25GHz G4 1.5GB RAM 10.4.11 | 233MHz iMac G3 10.3.9
If you hadn't already tried the steps I wrote, here's another:

Create a new account, make it admin and similar to the bad one. Once checked that all apps work fine on new account, copy your prefs from that one to the old, overwriting them.

Post the results.
 
OP
S
Joined
Oct 6, 2009
Messages
7
Reaction score
0
Points
1
Dear Deus

Thanks for your help.

Yes - I've tried both your suggestions - still no joy.

Below is the results from the Safari error log:

Process: Safari [639]
Path: /Applications/Safari.app/Contents/MacOS/Safari
Identifier: com.apple.Safari
Version: 4.0.2 (5530.19)
Build Info: WebBrowser-55301900~3
Code Type: PPC (Native)
Parent Process: launchd [533]

Interval Since Last Report: 633 sec
Crashes Since Last Report: 3
Per-App Interval Since Last Report: 182 sec
Per-App Crashes Since Last Report: 2

Date/Time: 2009-10-08 18:43:27.273 +0000
OS Version: Mac OS X 10.5.8 (9L31a)
Report Version: 6
Anonymous UUID: 4A6FE106-E8EA-4C93-ADEC-E9251676CD9D

Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: 0x000000000000000a, 0x0000000008e9222a
Crashed Thread: 0

Thread 0 Crashed:
0 ...ple.ApplicationServices.ATS 0x91a58570 MapString4_16 + 336
1 ...ple.ApplicationServices.ATS 0x91a57eac _eFOApplyUnicodeEncoding + 388
2 ...ple.ApplicationServices.ATS 0x91a58afc FOApplyUnicodeEncoding + 136
3 libCGATS.A.dylib 0x902a2074 ats_font_get_glyphs_for_unichars + 104
4 libCGATS.A.dylib 0x902a3254 get_glyphs_for_unichars + 56
5 com.apple.WebCore 0x904a4d04 WebCore::GlyphPage::fill(unsigned int, unsigned int, unsigned short*, unsigned int, WebCore::SimpleFontData const*) + 180
6 com.apple.WebCore 0x904a4948 WebCore::GlyphPageTreeNode::initializePage(WebCore::FontData const*, unsigned int) + 1064
7 com.apple.WebCore 0x904a436c WebCore::GlyphPageTreeNode::getChild(WebCore::FontData const*, unsigned int) + 364
8 com.apple.WebCore 0x904a3f40 WebCore::SimpleFontData::platformInit() + 992
9 com.apple.WebCore 0x904a3a64 WebCore::SimpleFontData::SimpleFontData(WebCore::FontPlatformData const&, bool, bool, WebCore::SVGFontData*) + 564
10 com.apple.WebCore 0x904a36fc WebCore::FontCache::getCachedFontData(WebCore::FontPlatformData const*) + 284
11 com.apple.WebCore 0x90521570 WebCore::FontCache::getFontDataForCharacters(WebCore::Font const&, unsigned short const*, int) + 784
12 com.apple.WebCore 0x904a68cc WebCore::Font::glyphDataForCharacter(int, bool, bool) const + 940
13 com.apple.WebCore 0x904a5f2c WebCore::WidthIterator::advance(int, WebCore::GlyphBuffer*) + 540
14 com.apple.WebCore 0x90b5bd74 WebCore::Font::floatWidthForSimpleText(WebCore::TextRun const&, WebCore::GlyphBuffer*, ***::HashSet<WebCore::SimpleFontData const*, ***::ptrHash<WebCore::SimpleFontData const*>, ***::HashTraits<WebCore::SimpleFontData const*> >*) const + 52
15 com.apple.WebCore 0x90520708 WebCore::RenderMenuList::updateOptionsWidth() + 664
16 com.apple.WebCore 0x90520440 WebCore::RenderMenuList::styleDidChange(WebCore::StyleDifference, WebCore::RenderStyle const*) + 224
17 com.apple.WebCore 0x9046a32c WebCore::RenderObject::setStyle(***::passRefPtr<WebCore::RenderStyle>) + 684
18 com.apple.WebCore 0x904977a8 WebCore::RenderObject::setAnimatableStyle(***::passRefPtr<WebCore::RenderStyle>) + 104
19 com.apple.WebCore 0x90476050 WebCore::Node::createRendererIfNeeded() + 336
20 com.apple.WebCore 0x90475e04 WebCore::Element::attach() + 36
21 com.apple.WebCore 0x9050195c WebCore::HTMLFormControlElement::attach() + 28
22 com.apple.WebCore 0x9046e694 WebCore::ContainerNode::attach() + 68
23 com.apple.WebCore 0x90475e0c WebCore::Element::attach() + 44
24 com.apple.WebCore 0x9050195c WebCore::HTMLFormControlElement::attach() + 28
25 com.apple.WebCore 0x9046e694 WebCore::ContainerNode::attach() + 68
26 com.apple.WebCore 0x90475e0c WebCore::Element::attach() + 44
27 com.apple.WebCore 0x9046e694 WebCore::ContainerNode::attach() + 68
28 com.apple.WebCore 0x90475e0c WebCore::Element::attach() + 44
29 com.apple.WebCore 0x9046e694 WebCore::ContainerNode::attach() + 68
30 com.apple.WebCore 0x90475e0c WebCore::Element::attach() + 44
31 com.apple.WebCore 0x9046e694 WebCore::ContainerNode::attach() + 68
32 com.apple.WebCore 0x90475e0c WebCore::Element::attach() + 44
33 com.apple.WebCore 0x9046e694 WebCore::ContainerNode::attach() + 68
34 com.apple.WebCore 0x90475e0c WebCore::Element::attach() + 44
35 com.apple.WebCore 0x904eef68 WebCore::Element::recalcStyle(WebCore::Node::StyleChange) + 728
36 com.apple.WebCore 0x904ef2e8 WebCore::Element::recalcStyle(WebCore::Node::StyleChange) + 1624
37 com.apple.WebCore 0x90466128 WebCore::Document::recalcStyle(WebCore::Node::StyleChange) + 1592
38 com.apple.WebCore 0x904d10b0 WebCore::Document::updateStyleSelector() + 144
39 com.apple.WebCore 0x904ee988 WebCore::Document::removePendingSheet() + 40
40 com.apple.WebCore 0x904ee8f0 WebCore::HTMLStyleElement::sheetLoaded() + 64
41 com.apple.WebCore 0x904ed484 WebCore::CSSStyleSheet::checkLoaded() + 132
42 com.apple.WebCore 0x9050f150 WebCore::CSSImportRule::setCSSStyleSheet(WebCore::String const&, WebCore::String const&, WebCore::CachedCSSStyleSheet const*) + 352
43 com.apple.WebCore 0x9050eecc WebCore::CachedCSSStyleSheet::checkNotify() + 140
44 com.apple.WebCore 0x9050eacc WebCore::CachedCSSStyleSheet::data(***::passRefPtr<WebCore::SharedBuffer>, bool) + 444
45 com.apple.WebCore 0x9050e774 WebCore::Loader::Host::didFinishLoading(WebCore::SubresourceLoader*) + 276
46 com.apple.WebCore 0x9050e56c WebCore::SubresourceLoader::didFinishLoading() + 92
47 com.apple.Foundation 0x93126814 _NSURLConnectionDidFinishLoading + 120
48 com.apple.CFNetwork 0x922b8d8c URLConnectionClient::_clientDidFinishLoading(URLConnectionClient::ClientConnectionEventQueue*) + 236
49 com.apple.CFNetwork 0x922b9a08 URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent, XClientEventParams>*, long) + 172
50 com.apple.CFNetwork 0x922b8500 URLConnectionClient::processEvents() + 132
51 com.apple.CFNetwork 0x92262020 MultiplexerSource::perform() + 168
52 com.apple.CoreFoundation 0x965450d0 CFRunLoopRunSpecific + 1104
53 com.apple.HIToolbox 0x93c79b14 RunCurrentEventLoopInMode + 264
54 com.apple.HIToolbox 0x93c79938 ReceiveNextEventCommon + 412
55 com.apple.HIToolbox 0x93c79778 BlockUntilNextEventMatchingListInMode + 84
56 com.apple.AppKit 0x90e38244 _DPSNextEvent + 596
57 com.apple.AppKit 0x90e37bfc -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 112
58 com.apple.Safari 0x0000dd54 0x1000 + 52564
59 com.apple.AppKit 0x90e3189c -[NSApplication run] + 744
60 com.apple.AppKit 0x90e02298 NSApplicationMain + 440
61 com.apple.Safari 0x00002f5c 0x1000 + 8028
 
Joined
Aug 6, 2004
Messages
1,713
Reaction score
71
Points
48
Location
Tejas
Your Mac's Specs
2GHz Mac Mini 2GB RAM 160GB 10.6.2 | MDD DP 1.25GHz G4 1.5GB RAM 10.4.11 | 233MHz iMac G3 10.3.9
try using the program Pacifist (free) to install the 10.5.8 update package. Good luck.
nm - got that already :p

I'm feeling font corruption - did you delete your fonts folder? HD/library/fonts? you can copy the folder back from your other computer.
 

Shop Amazon


Shop for your Apple, Mac, iPhone and other computer products on Amazon.
We are a participant in the Amazon Services LLC Associates Program, an affiliate program designed to provide a means for us to earn fees by linking to Amazon and affiliated sites.
Top