[UC] 0.3.0.6 crash when copying into CIFS

Aidez Ultracopier/Supercopier en postant vos bug ici
Post Reply
MarcNa
Posts: 3
Joined: Fri Jun 01, 2012 8:33 pm

[UC] 0.3.0.6 crash when copying into CIFS

Post by MarcNa » Fri Jun 01, 2012 8:51 pm

Note: Désolé pour le rapport en anglais. Je n'ai vu qu'après l'avoir rédigé et m'être inscrit qu'il y avait une section fr. Et pis, ça vous fera de l'exercice :mrgreen:

Reporter: Marc Na (eye.of.the.beholder <@t> millie [dot] uk[dot]to)
Product: UltraCopier
Version: 0.3.0.6 beta ultracopier-debug-portable-windows-x86 (Windows 32Bits Platform, Portable Version)
Component: Copy Engine
Operating system: Windows 7 SP1 x64 [source] / Busybox Linux + Samba (Freebox Revolution Server 1.1.6) [destination]
Severity: Major (Application crash, destination file may be corrupted)
Summary: Application crash when copying into a CIFS network share with unreliable endpoint
Description:

Reproduce steps:
* (pristine extracted PORTABLE version)
* Right-click on tray icon and start a transfer
* Drag and drop a large, local, file
* Set destination to a pre-mounted Network share
* (optional) click on "pause" before it prebuffers the copy
* cause a network outage (for Freebox Revolution Server 1.1.6, it automatically fails, see [FreeBox V6] Problème copie vers NAS)
* (optional) click on "resume" if paused

Expected result:

Application notifies link disconnection and suggests an action such as starting over, resuming, or cancelling the transfer.

Actual result:

1) Network share temporarily stops responding (dimmed out Explorer window in Windows 7 + hourglass cursor)
2) Ultracopier also stops responding. After a while, the Windows Error Reporting Tool automatically appears.
Its contents are (fr locale):
Signature du problème :
Nom d’événement de problème: APPCRASH
Nom de l’application: ultracopier.exe
Version de l’application: 0.3.0.6
Horodatage de l’application: 4fc28d02
Nom du module par défaut: QtCore4.dll
Version du module par défaut: 4.8.0.0
Horodateur du module par défaut: 4ee593bc
Code de l’exception: c0000005
Décalage de l’exception: 001300cf
Version du système: 6.1.7601.2.1.0.256.4
Identificateur de paramètres régionaux: 1036
Information supplémentaire n° 1: 0a9e
Information supplémentaire n° 2: 0a9e372d3b4ad19135b953a78882e789
Information supplémentaire n° 3: 0a9e
Information supplémentaire n° 4: 0a9e372d3b4ad19135b953a78882e789

Stack trace in VS 2008 is:

> QtCore4.dll!6a2f00cf()
[Frames below may be incorrect and/or missing, no symbols loaded for QtCore4.dll]
QtCore4.dll!6a2f102c()
QtCore4.dll!6a2cd481()
QtCore4.dll!6a1d9f05()
copyEngine.dll!69ace6d6()
msvcrt.dll!7645a53a()
msvcrt.dll!76461287()
msvcrt.dll!76461328()
kernel32.dll!7681339a()
ntdll.dll!773b9ef2()
ntdll.dll!773b9ec5()

Registers:
EAX = 00000000 EBX = 02E93BA0 ECX = 00000000 EDX = 00000001 ESI = 023DB5E0 EDI = 00000000 EIP = 6A2F00CF
ESP = 04B0FE50 EBP = 04B0FE68 EFL = 00010206

00000011 = ??

Disassembly at EIP:
6A2F00CF test byte ptr [eax+11h],1

3) As long as the application does not respond, copying files in Explorer complains about a pipe not responding and some windows become unrespondive.
When the application is closed, several error popups are displayed, then operations return to normal.

Other:
See attached generated report log file.

According to Why does the NT redirector close file handles when the network connection breaks?, the SMB client side closes file handles when it cannot contact the server.
Attachments
log.zip
log.zip
(8.38 KiB) Downloaded 300 times

User avatar
alpha_one_x86
Site Admin
Posts: 1434
Joined: Sun Oct 26, 2008 9:09 am
Contact:

Re: [Beta 0.3.0.6 x86] Appcrash when copying into a CIFS net

Post by alpha_one_x86 » Fri Jun 01, 2012 10:38 pm

Rapport très complet.
Alors ça freeze lors de la déconnexion du cable réseau si j'ai bien compris?

Ultracopier crash lamentablement avec une copie normale vers un partage samba (la copie de windows marche). (Win7 64Bits SP1 -> Linux samba). D'aprés le log, au même endroit.
Tout les accès au fichiers copié ce font dans un thread (donc ça ne devrai jamais freezer, sauf peu être à la fermeture de la fenêtre car il y as une sync assez chiante à faire). EDIT: ça semble être ça.
Le pipe qui est utilisé pour intercepter le copier/coller, à un timeout, donc si l'application freeze, le pipe est détecté comme foireux et ce ferme.

Je regarde plus en détails ce week-end pour essaye de transmettre rapidement un correctif. J'ai peur d'un bug de Qt, car dans ce cas je vais hélas devoir les attendre...
Developer of ImageUltracopier/ImageSupercopier and of the game ImageCatchChallenger

MarcNa
Posts: 3
Joined: Fri Jun 01, 2012 8:33 pm

Re: [Beta 0.3.0.6 x86] Appcrash when copying into a CIFS net

Post by MarcNa » Sat Jun 02, 2012 12:01 am

Bonsoir,

À vrai dire, pas besoin de tirer le câble dans mon cas : je crois qu'il y a un problème avec les fichiers larges (= situation également présente en transférant avec Explorer).
La freebox étant basée sur du Linux, le système de fichiers est probablement du ext3 ou similaire.
Mon hypothèse est que lorsque Samba crée un gros fichier, il est configuré pour préallouer l'espace (option "strict allocate" activée). Je pensais que c'est surtout la suppression qui prenait du temps sous ce filesystem, mais la création aussi peut-être ?
Quoi qu'il en soit, cela causerait un retard dans l'envoi d'une réponse à mon PC (et là c'est la cata).

Mais comme la freebox est un système en boîte noire, difficile de dire si c'est ce qui se passe effectivement.


EDIT: Hmm, je ne crois pas qu'il s'agit de cela. Je copie des fichiers .iso plus volumineux sans problème.
En réalité, je crois qu'il s'agit d'un comportement erroné de Windows et le fait qu'il s'agit d'une archive zip. Je crois que Windows cherche à charger le contenu du zip pour l'afficher en tant que dossier (ZipFldr)
Même en changeant l'extension, ça ne marche pas mieux :O

User avatar
alpha_one_x86
Site Admin
Posts: 1434
Joined: Sun Oct 26, 2008 9:09 am
Contact:

Re: [Beta 0.3.0.6 x86] Appcrash when copying into a CIFS net

Post by alpha_one_x86 » Sat Jun 02, 2012 1:29 pm

L’analyse est bonne, sur ext3, l'allocation est complète du fichier (avec le copieur de windows), et la destruction peu être longue. Le point noir, surtout sur linux, c'est quand ont écrit un fichier, lors de l'appelle du close() pour dire qu'on ferme le fichier précédemment ouvert et qu'on en as plus besoin, il flush un certain nombre de chose, ce que peut dans pas mal de cas être problématique. (Faut pas fermé l'application/le thread à ce moment la), après intervienne les appelles systèmes foireux, ...

Dll à mettre dans CopyEngine/Ultracopier-0.3/ :
http://files.first-world.info/temp/copyEngine.dll

Normalement ça devrai mieux aller, par contre je note que la gestion par ultracopier de la copie vers un partage samba n'est pas fluide.
Developer of ImageUltracopier/ImageSupercopier and of the game ImageCatchChallenger

MarcNa
Posts: 3
Joined: Fri Jun 01, 2012 8:33 pm

Re: [Beta 0.3.0.6 x86] Appcrash when copying into a CIFS net

Post by MarcNa » Sat Jun 02, 2012 10:35 pm

OK, il semble qu"avec ce patch, au moins ça ne crashe plus.
Le seul point épineux est qu'on n'a pas de remontée que ça n'a pas copié correctement.

User avatar
alpha_one_x86
Site Admin
Posts: 1434
Joined: Sun Oct 26, 2008 9:09 am
Contact:

Re: [Beta 0.3.0.6 x86] Appcrash when copying into a CIFS net

Post by alpha_one_x86 » Sun Jun 03, 2012 11:25 am

C'est à dire, que c'est la version non debug, zip complet:
http://files.first-world.info/ultracopi ... 0.7.tar.xz
Comme ça, le rapport de bug montrera tout.

Mais si ça n'as pas remonté d'erreur (et que l'application n'as ni freezer, ni crasher) -> c'est qu'il n'y en as pas eu. J'ai déjà vu que dans certain cas, (notamment un bug avec mon partage réseau samba aussi), que ultracopier arrive à copier sans problème la ou la plus part des copiers/coller ne marche pas.
Developer of ImageUltracopier/ImageSupercopier and of the game ImageCatchChallenger

Post Reply