| CARVIEW |
Select Language
HTTP/2 200
date: Mon, 19 Jan 2026 02:35:06 GMT
content-type: text/html; charset=utf-8
cache-control: max-age=0, private, must-revalidate
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com/ copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com github.githubassets.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
link: ; rel=preload; as=fetch; crossorigin=use-credentials
referrer-policy: no-referrer-when-downgrade
server-timing: issue_layout-fragment;desc="issue_layout fragment";dur=217.721232,issue_conversation_content-fragment;desc="issue_conversation_content fragment";dur=604.470169,nginx;desc="NGINX";dur=0.868456,glb;desc="GLB";dur=102.805476
strict-transport-security: max-age=31536000; includeSubdomains; preload
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With, X-Issues-React-Relay-Cache, Accept,Accept-Encoding, Accept, X-Requested-With
x-content-type-options: nosniff
x-frame-options: deny
x-voltron-version: 69ef6d1
x-xss-protection: 0
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=LKVIFBIw2tFsbQoqzXaq68Y2%2B8duNyf8fVqdKJuWcCC0aoFFSVuGirJk8cRlb%2F28uEZ1OnyavCZLVgttc74vyB%2BjbicR4O1psOFSMchqDpLUGeNcfRt8cyoZewi%2Fo8ixiyzP9wElOh1W3kfT5Swish%2FIV%2FLtU8tQj8Hqvu477veAdwBnPCrrmH1rZ1vjW2FuH7zkRa283i6SdUOIJ37j%2BGB%2Bh7qi8wC9GW1AZH5pmx%2Fegs5TjBMsZcR1o2R%2BdeTBNNksENtPzfnDeue6vr2%2FKA%3D%3D--k0nhDERQHG6KhJqO--t23oHkMNcFCiL%2FfOULl9aA%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.505589114.1768790105; Path=/; Domain=github.com; Expires=Tue, 19 Jan 2027 02:35:05 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Tue, 19 Jan 2027 02:35:05 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 81B6:3D351D:2795F7A:2F81F0A:696D9859
GUI actions on wrong thread [MacOs] · Issue #243 · haskell-gi/haskell-gi · GitHub
No one assignedNo labelsNo typeNo projectsNo milestoneNone yetNo branches or pull requests
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 75
Closed
Description
Hey there,
I think I'll place this here though I'm not sure if this is a gi-gtk issue. It seems that MacOs Mojave doesn't allow certain actions to be taken anywhere except the main thread. I am running this haskell-gi example code:
printHello :: IO ()
printHello = putStrLn "Hello, World!"
activateApp :: Gtk.Application -> IO ()
activateApp app = do
w <- new Gtk.ApplicationWindow [ #application := app
, #title := "Haskell Gi - Examples - Hello World"
, #defaultHeight := 200
, #defaultWidth := 200
]
bbox <- new Gtk.ButtonBox [ #orientation := Gtk.OrientationHorizontal ]
#add w bbox
btn <- new Gtk.Button [ #label := "Hello World!"]
on btn #clicked printHello
on btn #clicked $ Gtk.widgetDestroy w
#add bbox btn
#showAll w
return ()
main :: IO ()
main = do
app <- new Gtk.Application [ #applicationId := "haskell-gi.examples.hello-world"
, #flags := [ Gio.ApplicationFlagsFlagsNone ]
]
on app #activate $ activateApp app
Gio.applicationRun app Nothing
return ()
And the terminal returns the following error:
santi~/haskell_exploit/Exploit/src$ stack runghc Main.hs
2019-07-28 10:02:37.957 ghc[51071:1657595] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'NSWindow drag regions should only be invalidated on the Main Thread!'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff4aadbcfd __exceptionPreprocess + 256
1 libobjc.A.dylib 0x00007fff75185a17 objc_exception_throw + 48
2 CoreFoundation 0x00007fff4aaf585d -[NSException raise] + 9
3 AppKit 0x00007fff4812a7ae -[NSWindow(NSWindow_Theme) _postWindowNeedsToResetDragMarginsUnlessPostingDisabled] + 317
4 AppKit 0x00007fff48127bdb -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1479
5 AppKit 0x00007fff4812760e -[NSWindow initWithContentRect:styleMask:backing:defer:] + 45
6 AppKit 0x00007fff483f3f08 -[NSWindow initWithContentRect:styleMask:backing:defer:screen:] + 52
7 libgdk-3.0.dylib 0x00000001152aacb0 -[GdkQuartzNSWindow initWithContentRect:styleMask:backing:defer:screen:] + 64
8 libgdk-3.0.dylib 0x00000001152b7d1e _gdk_quartz_display_create_window_impl + 1454
9 libgdk-3.0.dylib 0x0000000115294008 gdk_window_new + 952
10 libgtk-3.0.dylib 0x000000011923b27a gtk_window_realize + 1242
11 libgtk-3.0.dylib 0x0000000118f384aa gtk_application_window_real_realize + 186
12 libgobject-2.0.0.dylib 0x000000010d67d6f6 _g_closure_invoke_va + 214
13 libgobject-2.0.0.dylib 0x000000010d6942b8 g_signal_emit_valist + 1352
14 libgobject-2.0.0.dylib 0x000000010d694d32 g_signal_emit + 130
15 libgtk-3.0.dylib 0x00000001192159d3 gtk_widget_realize + 291
16 libgtk-3.0.dylib 0x000000011923a6c3 gtk_window_show + 211
17 libgobject-2.0.0.dylib 0x000000010d67d4fd g_closure_invoke + 189
18 libgobject-2.0.0.dylib 0x000000010d693624 signal_emit_unlocked_R + 1316
19 libgobject-2.0.0.dylib 0x000000010d6946b1 g_signal_emit_valist + 2369
20 libgobject-2.0.0.dylib 0x000000010d694d32 g_signal_emit + 130
21 libgtk-3.0.dylib 0x0000000119215197 gtk_widget_show + 359
22 libHSgi-gtk-3.0.30-6QmVefkNP3Q8GQ3yTLidxY-ghc8.6.5.dylib 0x0000000116a1953c sFK6L_info + 132
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Abort trap: 6
I did some research and this is the relevant documentation on the developer.apple website:
https://developer.apple.com/documentation/code_diagnostics/main_thread_checker
This certainly seems to be intended behaviour - is there any way around this? I'm surprised that no other users seem to have had the same issue?
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Milestone
Relationships
Development
Issue actions
You can’t perform that action at this time.