thenickdude / wacom-driver-fix

Fixes the Wacom Bamboo, Graphire, Intuos 1+2+3 and Cintiq 1st gen tablet drivers for macOS Catalina, Big Sur, Monterey (including M1 macs)
1.44k stars 60 forks source link

Crash when setting screen mapping to "portion" for Intuos 3 and Bamboo tablets #13

Open G-spot-1 opened 4 years ago

G-spot-1 commented 4 years ago

All Wacom preferences are working! Except for the Mapping option, which returns an error and closes the pane. Respect.

thenickdude commented 4 years ago

Can you open up the Console app, go to the Crash Reports tab and see if there is a corresponding crash logged there? If so please send me a copy of the crash report.

I talked to one person with an Intuos tablet who had a similar problem but it sounded like it was intermittent enough that they were able to make it work - specifically they said that it seemed if they clicked on the mapping button using their mouse instead of their pen it worked.

BETEP-ok commented 4 years ago

Similar issue with mapping here Wacom Bamboo pen & touch CTH-470

In Wacom Settings can not switch to using full surface - click the button and nothing changes. Every second time the settings just crash. If only central part is used- can map it down no problem, but I want to use the full surface of tha pad, not just the central part. B09F7AAC-C648-4E11-B9D4-65C168BC828A

thenickdude commented 4 years ago

Can you open up the Console app, go to the Crash Reports tab and see if there is a corresponding crash logged there? (it may be titled "legacyloader") If so please send me a copy of the crash report to n.sherlock@gmail.com

BETEP-ok commented 4 years ago

thnx for the fast reply..

experimented today a bit. the "full surface" radiobutton gives no reaction. just shows the center space of the tablet as seen on the screenshot above. reducing the interactive area thrower an error as following

in the log I see following events (when filter by "Legacy")

10:46:25.218219+0200    legacyLoader    setLegacyPreferencePanePath: /Library/PreferencePanes/PenTablet.prefpane
стандартное 10:46:39.144361+0200    legacyLoader    *** Assertion failure in -[NSPanel _beginSheet:isCritical:completionHandler:], /AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/ViewBridge/ViewBridge-464.1/NSViewServiceMarshal.m:572
ошибка  10:46:39.152245+0200    legacyLoader    Invalid parameter not satisfying: sheet != self
ошибка  10:46:39.165970+0200    legacyLoader    (
    0   CoreFoundation                      0x00007fff3922bbe7 __exceptionPreprocess + 250
    1   libobjc.A.dylib                     0x00007fff71e6a5bf objc_exception_throw + 48
    2   CoreFoundation                      0x00007fff39254d98 +[NSException raise:format:arguments:] + 88
    3   Foundation                          0x00007fff3b943e9d -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 191
    4   ViewBridge                          0x00007fff6bcd65a5 -[NSWindow(ViewBridgeSwizzle) _beginSheet:isCritical:completionHandler:] + 155
    5   ViewBridge                          0x00007fff6bcd66de -[NSWindow(ViewBridgeSwizzle) swizzledBeginSheet:completionHandler:] + 51
    6   ViewBridge                          0x00007fff6bcd28b1 -[NSViewServiceApplication beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:] + 512
    7   PenTablet                           0x0000000111b60fbd -[OWacomWindowController beginDialog] + 171
    8   PenTablet                           0x0000000111b60ed7 -[OWacomWindowController handleWacomEvent:forViewID:sender:] + 320
    9   PenTablet                           0x0000000111b6130e -[OWacomWindowController dismissDialogWithCode:] + 520
    10  PenTablet                           0x0000000111b61388 -[OWacomWindowController sheetDidEnd:returnCode:contextInfo:] + 20
    11  PenTablet                           0x0000000111b6466b -[OPortionOfTabletController sheetDidEnd:returnCode:contextInfo:] + 39
    12  AppKit                              0x00007fff36cc543a NSWindowEndWindowModalSession + 187
    13  ViewBridge                          0x00007fff6bcd695b -[NSWindow(ViewBridgeSwizzle) swizzledEndSheet:returnCode:] + 46
    14  PenTablet                           0x0000000111b60c9a -[OWacomWindowController okAction:] + 215
    15  AppKit                              0x00007fff36666fc7 -[NSApplication(NSResponder) sendAction:to:from:] + 299
    16  AppKit                              0x00007fff36666e62 -[NSControl sendAction:to:] + 86
    17  AppKit                              0x00007fff36666d94 __26-[NSCell _sendActionFrom:]_block_invoke + 136
    18  AppKit                              0x00007fff36666c96 -[NSCell _sendActionFrom:] + 171
    19  AppKit                              0x00007fff36666bdd -[NSButtonCell _sendActionFrom:] + 96
    20  AppKit                              0x00007fff36662ebb NSControlTrackMouse + 1745
    21  AppKit                              0x00007fff366627c2 -[NSCell trackMouse:inRect:ofView:untilMouseUp:] + 130
    22  AppKit                              0x00007fff36662681 -[NSButtonCell trackMouse:inRect:ofView:untilMouseUp:] + 691
    23  AppKit                              0x00007fff366619fd -[NSControl mouseDown:] + 748
    24  AppKit                              0x00007fff3665fe10 -[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 4914
    25  AppKit                              0x00007fff365ca611 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 2612
    26  AppKit                              0x00007fff365c99b9 -[NSWindow(NSEventRouting) sendEvent:] + 349
    27  ViewBridge                          0x00007fff6bcf1dd5 -[NSViewServiceMarshal whileFilteringResponderChain:] + 197
    28  ViewBridge                          0x00007fff6bcea159 -[NSViewServiceMarshal wrap:sendEvent:] + 77
    29  ViewBridge                          0x00007fff6bcea328 -[NSViewServiceMarshal sendEvent:to:] + 230
    30  ViewBridge                          0x00007fff6bcd766d -[NSWindow(ViewBridgeSwizzle) swizzledSendEvent:] + 63
    31  AppKit                              0x00007fff365c7d44 -[NSApplication(NSEvent) sendEvent:] + 352
    32  ViewBridge                          0x00007fff6bcbf711 __65-[NSViewServiceApplication sendEventWithoutCatch:withForwarding:]_block_invoke + 46
    33  ViewBridge                          0x00007fff6bcbf6a6 -[NSViewServiceApplication eventHasNotHitWindow:actions:] + 62
    34  ViewBridge                          0x00007fff6bcbf36a -[NSViewServiceApplication sendEventWithoutCatch:withForwarding:] + 225
    35  ViewBridge                          0x00007fff6bcbf1d7 -[NSViewServiceApplication sendEvent:withForwarding:] + 26
    36  AppKit                              0x00007fff36414daf -[NSApplication run] + 707
    37  AppKit                              0x00007fff363e6b86 NSApplicationMain + 777
    38  libxpc.dylib                        0x00007fff73270984 _xpc_objc_main.cold.3 + 56
    39  libxpc.dylib                        0x00007fff7325f492 _xpc_objc_main + 609
    40  libxpc.dylib                        0x00007fff7325ef93 _xpc_copy_xpcservice_dictionary + 0
    41  ViewBridge                          0x00007fff6bcb5d54 xpc_connection_handler + 0
    42  ViewBridge                          0x00007fff6bcb94d1 NSViewServiceApplicationMain + 4411
    43  PreferencePanes                     0x00007fff44305148 PreferencePaneMain + 179
    44  legacyLoader                        0x000000010eebbc89 main + 40
    45  libdyld.dylib                       0x00007fff73011cc9 start + 1
)

the errors log contains the following entry:

Process:               legacyLoader [3616]
Path:                  /System/Library/Frameworks/PreferencePanes.framework/Versions/A/XPCServices/legacyLoader.xpc/Contents/MacOS/legacyLoader
Identifier:            com.apple.systempreferences.legacyLoader
Version:               1.0 (1)
Build Info:            PrefPanesFramework-374000000000000~900
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           System Preferences [3596]
User ID:               501

Date/Time:             2020-05-30 10:46:39.288 +0200
OS Version:            Mac OS X 10.15.5 (19F96)
Report Version:        12
Anonymous UUID:        60441C6E-A66F-EBFF-0FE9-747D06862E31

Sleep/Wake UUID:       761E1FDB-F025-4AC2-8B0B-2B7CAB890CFE

Time Awake Since Boot: 40000 seconds
Time Since Wake:       38000 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes:       0x0000000000000001, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Illegal instruction: 4
Termination Reason:    Namespace SIGNAL, Code 0x4
Terminating Process:   exc handler [3616]

Application Specific Information:
dyld3 mode
Crashing on exception: Invalid parameter not satisfying: sheet != self

Application Specific Backtrace 1:
0   CoreFoundation                      0x00007fff3922bbe7 __exceptionPreprocess + 250
1   libobjc.A.dylib                     0x00007fff71e6a5bf objc_exception_throw + 48
2   CoreFoundation                      0x00007fff39254d98 +[NSException raise:format:arguments:] + 88
3   Foundation                          0x00007fff3b943e9d -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 191
4   ViewBridge                          0x00007fff6bcd65a5 -[NSWindow(ViewBridgeSwizzle) _beginSheet:isCritical:completionHandler:] + 155
5   ViewBridge                          0x00007fff6bcd66de -[NSWindow(ViewBridgeSwizzle) swizzledBeginSheet:completionHandler:] + 51
6   ViewBridge                          0x00007fff6bcd28b1 -[NSViewServiceApplication beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:] + 512
7   PenTablet                           0x0000000111b60fbd -[OWacomWindowController beginDialog] + 171
8   PenTablet                           0x0000000111b60ed7 -[OWacomWindowController handleWacomEvent:forViewID:sender:] + 320
9   PenTablet                           0x0000000111b6130e -[OWacomWindowController dismissDialogWithCode:] + 520
10  PenTablet                           0x0000000111b61388 -[OWacomWindowController sheetDidEnd:returnCode:contextInfo:] + 20
11  PenTablet                           0x0000000111b6466b -[OPortionOfTabletController sheetDidEnd:returnCode:contextInfo:] + 39
12  AppKit                              0x00007fff36cc543a NSWindowEndWindowModalSession + 187
13  ViewBridge                          0x00007fff6bcd695b -[NSWindow(ViewBridgeSwizzle) swizzledEndSheet:returnCode:] + 46
14  PenTablet                           0x0000000111b60c9a -[OWacomWindowController okAction:] + 215
15  AppKit                              0x00007fff36666fc7 -[NSApplication(NSResponder) sendAction:to:from:] + 299
16  AppKit                              0x00007fff36666e62 -[NSControl sendAction:to:] + 86
17  AppKit                              0x00007fff36666d94 __26-[NSCell _sendActionFrom:]_block_invoke + 136
18  AppKit                              0x00007fff36666c96 -[NSCell _sendActionFrom:] + 171
19  AppKit                              0x00007fff36666bdd -[NSButtonCell _sendActionFrom:] + 96
20  AppKit                              0x00007fff36662ebb NSControlTrackMouse + 1745
21  AppKit                              0x00007fff366627c2 -[NSCell trackMouse:inRect:ofView:untilMouseUp:] + 130
22  AppKit                              0x00007fff36662681 -[NSButtonCell trackMouse:inRect:ofView:untilMouseUp:] + 691
23  AppKit                              0x00007fff366619fd -[NSControl mouseDown:] + 748
24  AppKit                              0x00007fff3665fe10 -[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 4914
25  AppKit                              0x00007fff365ca611 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 2612
26  AppKit                              0x00007fff365c99b9 -[NSWindow(NSEventRouting) sendEvent:] + 349
27  ViewBridge                          0x00007fff6bcf1dd5 -[NSViewServiceMarshal whileFilteringResponderChain:] + 197
28  ViewBridge                          0x00007fff6bcea159 -[NSViewServiceMarshal wrap:sendEvent:] + 77
29  ViewBridge                          0x00007fff6bcea328 -[NSViewServiceMarshal sendEvent:to:] + 230
30  ViewBridge                          0x00007fff6bcd766d -[NSWindow(ViewBridgeSwizzle) swizzledSendEvent:] + 63
31  AppKit                              0x00007fff365c7d44 -[NSApplication(NSEvent) sendEvent:] + 352
32  ViewBridge                          0x00007fff6bcbf711 __65-[NSViewServiceApplication sendEventWithoutCatch:withForwarding:]_block_invoke + 46
33  ViewBridge                          0x00007fff6bcbf6a6 -[NSViewServiceApplication eventHasNotHitWindow:actions:] + 62
34  ViewBridge                          0x00007fff6bcbf36a -[NSViewServiceApplication sendEventWithoutCatch:withForwarding:] + 225
35  ViewBridge                          0x00007fff6bcbf1d7 -[NSViewServiceApplication sendEvent:withForwarding:] + 26
36  AppKit                              0x00007fff36414daf -[NSApplication run] + 707
37  AppKit                              0x00007fff363e6b86 NSApplicationMain + 777
38  libxpc.dylib                        0x00007fff73270984 _xpc_objc_main.cold.3 + 56
39  libxpc.dylib                        0x00007fff7325f492 _xpc_objc_main + 609
40  libxpc.dylib                        0x00007fff7325ef93 _xpc_copy_xpcservice_dictionary + 0
41  ViewBridge                          0x00007fff6bcb5d54 xpc_connection_handler + 0
42  ViewBridge                          0x00007fff6bcb94d1 NSViewServiceApplicationMain + 4411
43  PreferencePanes                     0x00007fff44305148 PreferencePaneMain + 179
44  legacyLoader                        0x000000010eebbc89 main + 40
45  libdyld.dylib                       0x00007fff73011cc9 start + 1

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.AppKit                0x00007fff36806b43 -[NSApplication _crashOnException:] + 106
1   com.apple.AppKit                0x00007fff36806a26 -[NSApplication reportException:] + 901
2   com.apple.AppKit                0x00007fff36414e30 -[NSApplication run] + 836
3   com.apple.AppKit                0x00007fff363e6b86 NSApplicationMain + 777
4   libxpc.dylib                    0x00007fff73270984 _xpc_objc_main.cold.3 + 56
5   libxpc.dylib                    0x00007fff7325f492 _xpc_objc_main + 609
6   libxpc.dylib                    0x00007fff7325ef93 xpc_main + 377
7   com.apple.ViewBridge            0x00007fff6bcb5d54 -[NSXPCSharedListener resume] + 16
8   com.apple.ViewBridge            0x00007fff6bcb94d1 NSViewServiceApplicationMain + 4411
9   com.apple.frameworks.preferencepanes    0x00007fff44305148 PreferencePaneMain + 179
10  com.apple.systempreferences.legacyLoader    0x000000010eebbc89 main + 40
11  libdyld.dylib                   0x00007fff73011cc9 start + 1

Thread 1:: com.apple.NSEventThread
0   libsystem_kernel.dylib          0x00007fff73152dfa mach_msg_trap + 10
1   libsystem_kernel.dylib          0x00007fff73153170 mach_msg + 60
2   com.apple.CoreFoundation        0x00007fff391aff85 __CFRunLoopServiceMachPort + 247
3   com.apple.CoreFoundation        0x00007fff391aea52 __CFRunLoopRun + 1319
4   com.apple.CoreFoundation        0x00007fff391adece CFRunLoopRunSpecific + 462
5   com.apple.AppKit                0x00007fff365c6144 _NSEventThread + 132
6   libsystem_pthread.dylib         0x00007fff73216109 _pthread_start + 148
7   libsystem_pthread.dylib         0x00007fff73211b8b thread_start + 15

Thread 2:: AMCP Logging Spool
0   libsystem_kernel.dylib          0x00007fff73152e36 semaphore_wait_trap + 10
1   com.apple.audio.caulk           0x00007fff6cbe6b16 caulk::mach::semaphore::wait() + 16
2   com.apple.audio.caulk           0x00007fff6cbe69b2 caulk::semaphore::timed_wait(double) + 106
3   com.apple.audio.caulk           0x00007fff6cbe67c4 caulk::concurrent::details::worker_thread::run() + 30
4   com.apple.audio.caulk           0x00007fff6cbe61e4 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*> > >(void*) + 45
5   libsystem_pthread.dylib         0x00007fff73216109 _pthread_start + 148
6   libsystem_pthread.dylib         0x00007fff73211b8b thread_start + 15

Thread 3:
0   libsystem_kernel.dylib          0x00007fff73152e36 semaphore_wait_trap + 10
1   com.apple.audio.caulk           0x00007fff6cbe6b16 caulk::mach::semaphore::wait() + 16
2   com.apple.audio.caulk           0x00007fff6cbe69b2 caulk::semaphore::timed_wait(double) + 106
3   com.apple.audio.caulk           0x00007fff6cbe67c4 caulk::concurrent::details::worker_thread::run() + 30
4   com.apple.audio.caulk           0x00007fff6cbe61e4 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*> > >(void*) + 45
5   libsystem_pthread.dylib         0x00007fff73216109 _pthread_start + 148
6   libsystem_pthread.dylib         0x00007fff73211b8b thread_start + 15

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x00007fac8223d000  rbx: 0x000060000331ccc0  rcx: 0x4d13bbe3bb03008b  rdx: 0x0000000000000101
  rdi: 0x00007ffee0d44280  rsi: 0x000000000000134c  rbp: 0x00007ffee0d446f0  rsp: 0x00007ffee0d446e0
   r8: 0x0000000000001200   r9: 0x00007fac8223e34c  r10: 0x000000000000014c  r11: 0x00007ffee0d44018
  r12: 0x000060000331ccc0  r13: 0x00007fff71e5d800  r14: 0x00007fff71e5d800  r15: 0x00006000008d0300
  rip: 0x00007fff36806b43  rfl: 0x0000000000010202  cr2: 0x0000600000ff7000

Logical CPU:     2
Error Code:      0x00000000
Trap Number:     6
thenickdude commented 4 years ago

That central area shown on that display is actually the only active area in the hardware, the tablet doesn't physically support using the pen outside of that region. You can see little crosshairs printed on the tablet's surface which delineate this area.

Screen Shot 2020-05-30 at 9 15 33 PM
BETEP-ok commented 4 years ago

Feels like you are right. (((

alex-kovac commented 4 years ago

On Intuos 3 PTZ-631W I was able to access Mapping tab for Pen but each time Mapping tab for mouse was used, the panel would throw an error and close. There was no console crash log created. But, this somehow worked: Selected the Pen in Tool chooser, and selected Mapping tab for it there. Then, I chose the Mouse in Tool choser. It switched to Mouse Mapping settings directly and did not have problems since.

@thenickdude Thank you for keeping these devices alive!

thenickdude commented 4 years ago

It looks like this is triggered when the preference pane tries to show a second modal popup when a first one is already open. (The popups that slide down from the top of the window)

@alex-kovac can you try this workaround for me on your Intuos tablet: After the first popup is shown (e.g. the Mapping page), drag the window using the window title, then after that open the second popup (e.g. the "Portion: Set..." button). For me on Bamboo this prevented the crash from happening.

alex-kovac commented 4 years ago

Hi, @thenickdude. After changing the title this might be a little off-topic. :) I do not experience issues with Portion... popup, Screen area or Tablet area. It operates as expected. However, the issue I experienced was this:

  1. Clicking on 'Wacom Tablet' from 'System preferences', 'Wacom Tablet' panel opens. 'Grip pen' tool is preselected, 'Pen' tab.
  2. Clicking on 'Mouse' tool, and then 'Mapping' closes the preferences panel with dialog box: "Preferences error. There was an error in Wacom Tablet preferences."

On my machine, solution for this is to select 'Mapping' tab on 'Grip pen' tool first. Then, click on 'Mouse' tool and enter the 'Mapping' tab this way without an error.

thenickdude commented 4 years ago

Ah okay, thanks for that detail!

thenickdude commented 4 years ago

Okay, I think I've tracked this down to a bug in macOS Catalina. I'm going to report the bug to Apple and see what they have to say about it. If they won't fix it then I can likely work around it in the Wacom preference pane instead.

swirly commented 3 years ago

Hello

First of all MANY thanks for your work. Thanks to you, I can use my tablet instead of having to buy a new one In big sur, I experience the same problem. Every time I try to activate the preference for the stylet to have only a portion of the screen, the preference pane crash

I have two screens, and I also experience this when I try to map the stylet on second screen : crash the preference pane

I can map the stylet to first screen although

Hoping this can help you to find the bug

robertlindin commented 3 years ago

I have an Intous 3 PTZ-631W tablet with Grip Pen and Airbrush.

Could not enter the Mapping tab without the preferences panel crashing. I've found a workaround that works for me.

  1. Select the tool for which you want to enter Mapping
  2. Press the - button
  3. Press Delete button in the confirmation dialog (this will remove your tool and its settings)
  4. Move the tool to the tablet, it will once again be registered and reappear in Tool:
  5. Reselect the same tool
  6. Now press Mapping tab - it should not crash!
ibadenglish commented 2 years ago

@robertlindin HALLELUJAH!

thenickdude commented 1 year ago

For Bamboo tablets, I've now fixed this problem in this release:

https://github.com/thenickdude/wacom-driver-fix/releases/tag/patch-10-bamboo