Accessing IDA databases remotely

I wanted to synchronize my IDA databases on my local network and figured storing them on my Samba server would be a great way to do so, but I run into corruption issues on some databases and not on others.

I tried setting my WORKDIR so that files are cached on the machine I run my IDA instance from, but that didn’t help with the corruption on save.

Any tips or suggestions are more than welcome. Thank you.

Hello @natrist,
Thank you for the report!

We’ll try to give you some tips, but in the meantime, to help us better understand your issue, could you please provide more specific information where possible, like for example the following:

  • IDA version/Samba version
  • Database types and file/IDB sample: (Would it be possible for you to provide a small exemplary sample?)
  • Corruption symptoms: What exactly do you mean by “corruption”? Does IDA crash or give a specific error? (screenshots may be handy)
  • Reproduction steps

Hello,

IDA’s database (id0/id1 files) works similarly to a pagefile, so IDA may need to read from or write to them at any time. If the file handles become invalid or a write is dropped due to network issues, it can lead to corruption. Unfortunately there is no good solution for it besides keeping the important files local or saving often. Normally WORKDIR should help with transient network issues by keeping the unpacked files local to the machine, but if an error happens during packing into .idb/.i64, there’s not much IDA can do.

If you can come up with a way to reliably reproduce the problem, we could investigate if it’s possible to mitigate it somehow.

I’m using latest publicly available IDA Pro with Samba version 4.21.4-Ubuntu-4.21.4+dfsg-1ubuntu3.

The databases are in IDB format and by corruption, what I mean is that I get the following errors:

The input database is corrupted: CRC32 mismatch. Continue?
Followed by: /Users/patchman/.idapro/cache/WowB_15662patch5.0.1.id0: bTree error: index file is bad

It’s probably worth noting that the following files are still in my WORKDIR folder upon saving to the remote drive:

WowB_15662patch5.0.1.id0
WowB_15662patch5.0.1.id1
WowB_15662patch5.0.1.id2
WowB_15662patch5.0.1.nam
WowB_15662patch5.0.1.til