ROOT 5.27/06 on Windows 7 64bit, VC++9 build,

I installed ROOT v 5.27/06 for Windows via the MSI installer, VC++9 build. I am working on Windows 7, 64 bit.

It installed nicely and seemed to work fine, but when I tried saving a canvas I got a pop-up error from windows as in the attachment.
It translates as: Impossible to find the disk in the drive. Insert a disk in drive \Device…
The pop-up in quite annoying, especially since it is always repeated 5 times for Harddisk1 to 5. It appears also when using Open from a TBrowser
Any idea of what could be the cause?

Thanks,
Roberto

Hi Roberto,

This is weird… It comes from the File Dialog, when checking the available disk drives. But it should not complain… I never had this problem, but I’ll try to guess where it comes from and how to solve it.

Cheers, Bertrand.

Hi Roberto,

Could you try to execute the following in a Root session (output is specific to my PC):

root [1] gSystem->GetVolumes("all")->ls() OBJ: TList TList Doubly linked list : 0 OBJ: TNamed C: Local Disk (C:) : 0 at: 035210B8 OBJ: TNamed D: CD/DVD Drive (D:) : 0 at: 03521068 OBJ: TNamed G: Network Drive (NTFS) (G:) : 0 at: 03521090 OBJ: TNamed K: Network Drive (AFS) (K:) : 0 at: 03521018 OBJ: TNamed L: Network Drive (AFS) (L:) : 0 at: 03521040 OBJ: TNamed Z: Network Drive (AFS) (Z:) : 0 at: 03520FC8 root [2]And tell if you see the message box popping-up?

Cheers, Bertrand.

Hi Bertrand,
sorry for taking so long to reply but I was away for some time due to an experiment.
I tried doing as you asked, and I realized that the problem appears only after I plug my usb key (and stays even after I remove it, until the next reboot). Below I show the output of the command you asked, no popup appeared even after plugging the key (drive L).
It is possible that it’s just a problem of the usb key, and at least now that I know I will avoid using it when I need to use root on the windows box…

root [1] gSystem->GetVolumes("all")->ls()
OBJ: TList      TList   Doubly linked list : 0
 OBJ: TNamed    C:      Local Disk (C:) : 0 at: 00C744C0
 OBJ: TNamed    D:      Local Disk (D:) : 0 at: 063E9970
 OBJ: TNamed    E:      Removable Disk (E:) : 0 at: 063E9B00
 OBJ: TNamed    F:      CD/DVD Drive (F:) : 0 at: 063E9A88
 OBJ: TNamed    G:      Removable Disk (G:) : 0 at: 063E9A10
 OBJ: TNamed    H:      Removable Disk (H:) : 0 at: 063E9998
 OBJ: TNamed    I:      Removable Disk (I:) : 0 at: 063E9BA0
 OBJ: TNamed    J:      Removable Disk (J:) : 0 at: 063E9AD8
root [2] gSystem->GetVolumes("all")->ls()
OBJ: TList      TList   Doubly linked list : 0
 OBJ: TNamed    C:      Local Disk (C:) : 0 at: 063E9CE0
 OBJ: TNamed    D:      Local Disk (D:) : 0 at: 063E9E20
 OBJ: TNamed    E:      Removable Disk (E:) : 0 at: 063E9AB0
 OBJ: TNamed    F:      CD/DVD Drive (F:) : 0 at: 063E9D58
 OBJ: TNamed    G:      Removable Disk (G:) : 0 at: 063E9F60
 OBJ: TNamed    H:      Removable Disk (H:) : 0 at: 063E9DD0
 OBJ: TNamed    I:      Removable Disk (I:) : 0 at: 063E9BF0
 OBJ: TNamed    J:      Removable Disk (J:) : 0 at: 063E9E48
 OBJ: TNamed    L:      Removable Disk (L:) : 0 at: 063E9EC0

Ho Roberto,

OK, I’ll try with usb keys and see if I can reproduce it. Thanks for the info.
BTW, are you properly “ejecting” the key before to physically remove it?

Cheers, Bertrand.

Of course

Hello Rooters,

I am having this same problem with root 5.28 on win7 64-bit, and root 5.27.04 on winxp 32bit,
with systems that have removable disk drives with no media installed.

On my win7 system,
root [0] gSystem->GetVolumes(“all”)->ls();
OBJ: TList TList Doubly linked list : 0
OBJ: TNamed C: Local Disk (C:) : 0 at: 00F0A3B8
OBJ: TNamed D: Local Disk (D:) : 0 at: 049BCF68
OBJ: TNamed E: Local Disk (E:) : 0 at: 049BCFB0
OBJ: TNamed F: Local Disk (F:) : 0 at: 049BCFF8
OBJ: TNamed G: Removable Disk (G:) : 0 at: 049BD040
OBJ: TNamed H: Removable Disk (H:) : 0 at: 049BD088
OBJ: TNamed I: CD/DVD Drive (I:) : 0 at: 049BD0D0
root [1]

In my root app, whenTGFileDialog() calls TGFSComboBox() calls gSystem->AccessPathName() calls AccessPathName() calls ::_access() calls _taccess_s() calls GetFileAttributes(), that’s when the pop up error box occurs (for both disk G: and H:)

Googling this, I came across a change to windows registry to change the popup behaviour:
support.microsoft.com/kb/128642

This is changing HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows\ErrorMode to 2.

I tried this and the popup does indeed go away. I don’t know yet if there are undesirable side-affects to this registry change.

So I’m not sure if this is just some windows problem, or if root could be changed to detect when a removable drive has no media and ignore it?

thanks
buddy

Hi buddy,

This should be (hopefully) solved in svn trunk now (rev. 38249). Thanks for the report and sorry for the delay

Cheers, Bertrand.