Efter opdateringen til Lion sidste år, har ydelsen i Safari på min maskine været alt andet end optimal. Jeg har forgæves ventet på, at en opdatering af OS X ville løse problemet, men der er bare ikke sket noget.

Tvangsindlæsning af hjemmesider

Problemet er helt konkret, at Safari med ujævne mellemrum, når man vil åbne en ny hjemmeside, kommer med en dialogboks, der fortæller en, at “Websiderne ikke svarer. Hvis du vil besøge den valgte webside, skal alle websider i andre faner og vinduer tvinges til indlæsning igen.”

Herefter bliver man spurgt om man vil besøge siden. Trykker man på “Annuller” kan man ikke besøge den side man ønsker, så i realiteten er der ikke noget valg. Man bliver derfor nødt til at trykke på “Se side”. Resultatet er, at samtlige de sider man har åbne, skal genindlæses igen. Ud over at det tager tid, er der også den risiko, at man mister oplysninger. Havde man eksempelvis skrevet en kommentar her på onx.dk, men endnu ikke trykket på Send, fordi man eksempelvis lige skulle tjekke noget i Wikipedia inden man afsendte kommentaren, er indholdet i kommentarboksen væk, fordi Safari reloader siden.

Det er sandboxing, der skaber problemet

Problemet er paradoksalt nok, at Apple har valgt at sandboxe indholdet i Safari endnu mere i Lion end tidligere. Sandboxing er en sikkerhedsmetode, der separerer programmer, så de ikke har indflydelse på hinanden. Eksempelvis får indholdet i Safari tildelt nogle afgrænsede systemresourcer og -muligheder, som selve Safari ikke er begrænset af. Indholdet får altså sin egen sandkasse at lege i. Uanset hvor galt det går i sandkassen, kan det ikke lægge selve Safari ned.

Apple har blandt andet gjort det for at modvirke de utallige Safari-genstarter, som skyldes fejl i Flash-pluginnet. tidligere medførte fejl i Flash af hele Safari crashede. Nu er det kun Flash-sandkassen, der crasher, mens resten af Safari med indhold ikke berøres. Ganske smart og effektivt.

Løbet af sporet

Af en eller anden grund er det dog løbet af sporet, eller også har Apple ikke været effektive nok. I hvert fald er det sådan, at man af og til oplever den beskrevne fejlmeddelelse. Den skyldes givetvis, at sandkassen løber tør for resourcer og derfor ikke kan rumme endnu en hjemmeside uden at skulle genindlæse det hele og få nulstillet resourcerne, men noget egentligt mønster har jeg ikke kunnet finde.

Det ville været meget mere effektivt, hvis Apple sørgede for at sandkassen galt på fane- eller vinduesbasis, så det at én ny hjemmeside, der ønskes åbnet, ikke betyder at man skal genindlæse samtlige andre hjemmeside. For undertegnede, der konsekvent har 40-50 forskellige hjemmesider åbne, er det ret irriterende, når det sker. Og det gør det desværre alt for tit. Det er næsten på daglig basis – underligt også på tidspunkter, hvor der kun er 5-6 åbne hjemmesider.

Opdatering: Problemet er løst i en senere udgave af OS X

Sideb frigivelsen af OS X Lion har Apple opdateret sandkasse-modellen i Safari, så den nu netop virker for hver enkelt fane. Det betyder at en fane der crasher, eller løber tør for resourcer, ikke påvirker de andre faner. Dette problem ser altså ud til at være løst. Eller sagt på en anden måde: Hvis du oplever problemet på en ældre udgave af OS X, er løsningen at opdatere systemet til en nyere udgave. Hvis ellers maskinen kan trække det.

Artiklen er ajourført i februar 2016.