Post

Replies

Boosts

Views

Activity

Reveal "" logs from JavaScriptCore stack trace
I'm developing an application that makes use of a WebView. When resuming the app I occasionally run into an issue where the application just shows as a blank page. In the Console.app I see a stack trace, however the details are hidden (see below). The stack trace is thrown from JavaScriptCore. default 13:37:07.029261+0200 outlinerrs_dioxus 1 0x1b80cd678 <private> default 13:37:07.029360+0200 outlinerrs_dioxus 2 0x1b7d50e30 <private> default 13:37:07.029369+0200 outlinerrs_dioxus 3 0x1047ec800 <private> default 13:37:07.029539+0200 outlinerrs_dioxus 4 0x1b7d37924 <private> default 13:37:07.029548+0200 outlinerrs_dioxus 5 0x1b8102a78 <private> default 13:37:07.029789+0200 outlinerrs_dioxus 6 0x1b8100cb8 <private> default 13:37:07.029834+0200 outlinerrs_dioxus 7 0x1b7ba7b0c <private> default 13:37:07.029851+0200 outlinerrs_dioxus 8 0x1b879a520 <private> default 13:37:07.029870+0200 outlinerrs_dioxus 9 0x1b817f204 <private> default 13:37:07.030159+0200 outlinerrs_dioxus 10 0x1b76bfce8 <private> default 13:37:07.030186+0200 outlinerrs_dioxus 11 0x1b76ad838 <private> default 13:37:07.030245+0200 outlinerrs_dioxus 12 0x1b76bd76c <private> default 13:37:07.030324+0200 outlinerrs_dioxus 13 0x1b22c827c <private> default 13:37:07.030424+0200 outlinerrs_dioxus 14 0x1b22c8034 <private> default 13:37:07.030461+0200 outlinerrs_dioxus 15 0x19d6df230 <private> default 13:37:07.030514+0200 outlinerrs_dioxus 16 0x19d6df1a4 <private> default 13:37:07.030584+0200 outlinerrs_dioxus 17 0x19d6bcc6c <private> default 13:37:07.030592+0200 outlinerrs_dioxus 18 0x19d6928b0 <private> default 13:37:07.030601+0200 outlinerrs_dioxus 19 0x19d691c44 <private> default 13:37:07.030607+0200 outlinerrs_dioxus 20 0x23ca6e498 GSEventRunModal default 13:37:07.030675+0200 outlinerrs_dioxus 21 0x1a300cddc <private> default 13:37:07.031049+0200 outlinerrs_dioxus 22 0x1a2fb1b0c UIApplicationMain default 13:37:07.031064+0200 outlinerrs_dioxus 23 0x104a76278 <private> default 13:37:07.031070+0200 outlinerrs_dioxus 24 0x1047a0064 <private> default 13:37:07.031254+0200 outlinerrs_dioxus 25 0x104781efc <private> default 13:37:07.031343+0200 outlinerrs_dioxus 26 0x1047493e0 <private> default 13:37:07.031352+0200 outlinerrs_dioxus 27 0x10477e1c8 <private> default 13:37:07.031358+0200 outlinerrs_dioxus 28 0x1047a0184 <private> default 13:37:07.031373+0200 outlinerrs_dioxus 29 0x1047a033c <private> default 13:37:07.031409+0200 outlinerrs_dioxus 30 0x104733724 <private> default 13:37:07.031451+0200 outlinerrs_dioxus 31 0x104464e98 <private> I tried to create com.apple.WebKit.plist in /Library/Preferences/Logging/Subsystems with the following contents: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>DEFAULT-OPTIONS</key> <dict> <key>Enable-Private-Data</key> <true/> </dict> </dict> </plist> Does anyone know how to reveal the hidden logs?
Topic: Safari & Web SubTopic: General Tags:
1
0
341
Oct ’25
CoreML dynamic shapes excessive memory use
Hi everyone, I'm developing an iOS app which uses a PyTorch GPT2 model converted to Core ML via the Python coremltools. When I use dynamic shapes (either via RangeDim or EnumeratedShapes using coremtools) I get HUGE memory spikes when creating the model instance, while I don't get them when I specify a specific shape. Specifically, I have a single vector input with a specific length. below is the peak and sustained memory usage with different settings. The difference between just a fixed input and a dynamic input is really big and I can't explain why or what to do against it. static (length 64): 15.5 MB RangeDim (64 max length):227 MB peak then 22.8 MB RangeDim (512 max length): 281 MB peak then 25.8 MB enum (from 0 to 64 with step size 10): 328 MB peak then 24.7 MB Code to produce reproduce: import coremltools as ct import torch import os from transformers import GPT2LMHeadModel, GPT2Config from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained(Path(model_folder)) # Create a module that just extracts the logits class JustLogits(torch.nn.Module): def __init__(self, model): super().__init__() self.model = model def forward(self, input_ids): return self.model(input_ids, return_dict=True).logits def create_models_for(n_embd, n_layer, n_head, n_inner): model_str = f"n_embd_{n_embd}_n_layer_{n_layer}_n_head_{n_head}_n_inner_{n_inner}" model_out = f"models/gpt2_{model_str}.mlpackage" configuration = GPT2Config( vocab_size=tokenizer.vocab_size, n_embd=n_embd, n_layer=n_layer, n_head=n_head, n_inner=n_inner, bos_token_id=tokenizer.bos_token_id, eos_token_id=tokenizer.eos_token_id, ) model = GPT2LMHeadModel(configuration) model.init_weights() model.eval() logit_model = JustLogits(model) logit_model.eval(); max_sequence_length = 64 all_input_ids = [torch.ones((seq_len,), dtype=torch.int32) for seq_len in [1, 64, max_sequence_length]] out = model(all_input_ids[1], return_dict=True); logit_model.eval() traced_model = torch.jit.trace(logit_model, all_input_ids[-1]) from coremltools.converters.mil.mil import types mlmodel = ct.convert( traced_model, convert_to="mlprogram", minimum_deployment_target=ct.target.iOS15, inputs=[ct.TensorType(shape=[64], name="input_ids", dtype=types.int32)], outputs=[ct.TensorType(name="output_logits")] ) mlmodel.save(model_out) out = mlmodel.predict({"input_ids": all_input_ids[-1]}) for inference_max_len in [64, 512]: mlmodel = ct.convert( traced_model, convert_to="mlprogram", minimum_deployment_target=ct.target.iOS15, inputs=[ct.TensorType(shape=[ct.RangeDim(1, inference_max_len, default=inference_max_len)], name="input_ids", dtype=types.int32)], outputs=[ct.TensorType(name="output_logits")] ) mlmodel.save(f"models/gpt2_{model_str}_dynamic_{inference_max_len}.mlpackage") create_models_for(192, 1, 6, 4*192)
0
0
1.9k
Dec ’22