MacOS client 2021

Hi @Moisie,

I have run the installer twice, but after approving it from security side (in settings) the last step fails and the installer tells me that something goes wrong. Any way to overcome that?

Thanks!

Hi @Talkabout

My apologies - Iā€™ve reproduced the error here (it doesnā€™t fail on my macOS 10.12 build system, but does fail on a 10.14 systemā€¦), so will fix it ASAP!

Hi @Talkabout

Thanks for your patience. Hopefully hereā€™s a debug build that wonā€™t crash on installation for you:

https://drive.google.com/file/d/1JsbkUGQQv8CI4w6WdTm08mMHXl16M72R/view?usp=sharing

Follow the instructions here - MacOS client 2021 - #60 by Moisie - and please report back!

Thanks.

Hi @Moisie,
Building a copy with your DataVaults development branch fixes my main problem. However, now Iā€™m getting:

Error while listing files in folder ā€œ/Library/Application Support/com.apple.TCCā€. User may not have permissions to access this folder. Errno is 1

Iā€™ve tried giving Full Disk Access to every component I can think of, from the app package to every binary inside, but it still doesnā€™t work.

Hi @ravenclaw900,

Thanks for trying the build - glad it fixed your main issue.

Can you browse into /Library/Application Support/com.apple.TCC in the Finder? Iā€™ve checked on a 10.14 and 10.15 system, and I canā€™t see any issues with doing so here, and no permissions that I can see which would prevent it from working with the Urbackup client.

I can only get into it if I have a root terminal with Full Disk Access. Permissions:

% ls -l /Library/Application\ Support | grep 'TCC' 
drwx------   3 root          admin           96 May 30 13:49 com.apple.TCC

Thanks @ravenclaw900

Which OS version are you on? From my main machine running macOS Big Sur 11.4, I get this:

MBP:~ user$ ls -l /Library/Application\ Support | grep 'TCC'
drwxr-xr-x@   4 root      wheel     128 30 May 06:58 com.apple.TCC

Iā€™m not aware of having done anything special to open up the permissions - and a reasonably-clean 10.14 VM I use shows the same permissions too. I havenā€™t got SIP disabled either, FWIW.

Iā€™m using Mojave 10.14, but Iā€™ve been using this same (upgraded) copy of the OS since Mavericks or Yosemite.

Hi @Moisie ,

I found time now to test the package you provided. After installing Developer Command Line Tools and following your steps I can see the following after starting urbackup with debugger:

admin@macbook-pro CoreServices % sudo lldb /Applications/UrBackup\     Client.app/Contents/MacOS/sbin/urbackupclientbackend
Password:
(lldb) target create "/Applications/UrBackup Client.app/Contents/MacOS/sbin/urbackupclientbackend"
Current executable set to '/Applications/UrBackup Client.app/Contents/MacOS/sbin/urbackupclientbackend' (x86_64).
(lldb) run
Process 54893 launched: '/Applications/UrBackup Client.app/Contents/MacOS/sbin/urbackupclientbackend' (x86_64)
2021-05-31 00:41:12: SQLite: recovered 24 frames from WAL file /Library/Application Support/UrBackup Client/var/urbackup/backup_client.db-wal code: 283
2021-05-31 00:41:12: urbackupserver: Server started up successfully!
2021-05-31 00:41:12: ERROR: Error joining ipv6 multicast group ff12::f894:d:dd00:ef91
Process 54893 stopped
* thread #7, stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x00000001004dd002 urbackupclientbackend`ClientConnector::replaceSettings(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 930
urbackupclientbackend`ClientConnector::replaceSettings:
->  0x1004dd002 <+930>: movq   (%rax), %rcx
    0x1004dd005 <+933>: movq   0x28(%rcx), %rcx
    0x1004dd009 <+937>: leaq   -0x1298(%rbp), %rdi
    0x1004dd010 <+944>: movq   %rax, %rsi
Target 0: (urbackupclientbackend) stopped.

Does that help?

Thanks!

Thanks @Talkabout

Hereā€™s another build, this time peppered with logging messages throughout the ClientConnector::replaceSettings function. Please try with this version and do the same thing, and post the outcome here again - this will help narrow down exactly where the failure is happening.

https://drive.google.com/file/d/1K_w1q2liVc7Wcwtjx9EBV5stVA158-ap/view?usp=sharing

Hi @Moisie ,

done what you said, here is the output

2021-06-07 17:09:34: DBG replaceSettings 1
2021-06-07 17:09:34: DBG replaceSettings 2
2021-06-07 17:09:34: DBG replaceSettings 3
Process 73856 stopped
* thread #7, stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x00000001004dd29d urbackupclientbackend`ClientConnector::replaceSettings(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 1741
urbackupclientbackend`ClientConnector::replaceSettings:
->  0x1004dd29d <+1741>: movq   (%rax), %rcx
    0x1004dd2a0 <+1744>: movq   0x28(%rcx), %rcx
    0x1004dd2a4 <+1748>: leaq   -0x18a0(%rbp), %rdi
    0x1004dd2ab <+1755>: movq   %rax, %rsi
Target 0: (urbackupclientbackend) stopped.

Thanks!

Bye

Thanks @Talkabout - I think Iā€™m going to have to hand this over to someone who knows what theyā€™re talking about better than I nowā€¦

It looks like itā€™s failing on line 1956 of urbackupclient/ClientService.cpp:

if(!ncname.empty() && ncname!=IndexThread::getFileSrv()->getServerName())

ā€¦but I couldnā€™t tell you why this should be the case on your system alone!

It could be a race which becomes apparent because starting the file server takes long on this client (because getting the computer name on macOS).

Best fix would perhaps be to start the filesrv+index thread before accepting command (like replace settings), i.e. moving down this line:

@Moisie Could you move it down, check if it works then build a package to see if that fixes it?

@Uroni Many thanks for this. Iā€™ve built the package with this change, and it successfully loads on my build VM.

@Talkabout please try it from here: https://drive.google.com/file/d/1L2musyzL5f-QWVHheJrqX3i1p34Kqo_7/view?usp=sharing

[Note: as Iā€™m building off the 2.4.x branch, the highlighted line was at line 400 of dllman.cpp; I moved it to just before this line:

internetclient_ticket=InternetClient::start(do_leak_check);

Please let me know if Iā€™ve misunderstood your instructions!]

Iā€™ve applied Moisies pull requests and the previously discussed change here:

2.4.x

https://beta.urbackup.org/macos/UrBackup%20Client%202.4.12.pkg

2.5.x (beta branch)

https://beta.urbackup.org/macos/UrBackup%20Client%202.5.14%20beta.pkg

If I get confirmation it works, Iā€™ll update the top postā€¦

Hi @uroni ,

for me this version does not work at all:

  • the context menu of the urbackup client taskbar icon only shows ā€œAccess Backupsā€, ā€œAboutā€¦ā€, ā€œStatusā€ and ā€œUninstallā€
  • trying to debug it I get the following error: macOSTaskPolicy: (com.apple.debugserver) may not get the taskport of (urbackupclientba) (pid: 15628): (urbackupclientba) is hardened, (urbackupclientba) doesnā€™t have get-task-allow, (com.apple.debugserver) is a declared debugger

With the previous version provided by @Moisie debugging was possible and also I was able to see ā€œSettingsā€ in the context menu.

Bye

Hi @Talkabout

Thanks for the feedback; could you please clarify which version youā€™re referring to here:

I suspect @Uroniā€™s builds donā€™t have the debug symbols included, so youā€™d be best trying the version I posted for now: MacOS client 2021 - #75 by Moisie

Thanks.

Hi @Moisie ,

thank you very much for that hint. In deed your version runs fine in the debugger, but the problem I described with uroniā€™s version remains the same. After installation the icon of the application stays white for quite some time (1-2 minutes), then finally turns red. But in both cases the context menu only shows the options mentioned above (ā€œAccess Backupsā€, ā€œAboutā€¦ā€, ā€œStatusā€ and ā€œUninstallā€). Your previous version worked better :slight_smile:

Bye

So, Iā€™ll not update the top post thenā€¦ Thanks for testing!

Hi @Talkabout

Ah - understood - thanks for clarifying. FWIW, Iā€™ve reproduced the same issue with my build on macOS 10.14 - but it behaves ā€˜normallyā€™ on macOS 10.12.