xpra icon
Bug tracker and wiki

Opened 4 months ago

Last modified 5 weeks ago

#2671 new defect

xdg-open download file fails

Reported by: stdedos Owned by: stdedos
Priority: minor Milestone: 4.1
Component: server Version: 3.0.x
Keywords: Cc:

Description

I cannot download the following file:

~/aaaaaaaaa/aaaaaaaaaa/aaa/aaaaaaaaa aaaaaa aaaaaaaaa.md (with and without the spaces in-path)

I've tried it multiple times, with no output what-so-ever.

The file downloaded is empty, even though it's detected properly (6.3kb):

23/03/2020  04:33 μμ                 0 aaaaaaaaa aaaaaa aaaaaaaaa.md

It also seems that xpra holds the file handle for the file it fails to download for ever.


Once, I found the following output:

client:

2020-03-23 16:33:32,537 unknown string message: 0xc297 / 0x0 / 0x0
2020-03-23 16:33:40,144 Error: chunked file transfer timed out

server:

 293   │ 2020-03-23 16:33:30,560 Error: cannot find the file transfer id '0fba2d456f3a4af0bbc092a52fea6b3e'

Attachments (3)

xdg-open_explorer_2020-03-23_16-09-09.png (8.3 KB) - added by stdedos 4 months ago.
xpra-2671_2020-05-19_15-44-49.png (225.4 KB) - added by stdedos 7 weeks ago.
Xpra-2671_cmd_2020-06-01_14-03-00.png (13.9 KB) - added by stdedos 5 weeks ago.

Download all attachments as: .zip

Change History (20)

Changed 4 months ago by stdedos

comment:1 Changed 4 months ago by stdedos

File ~/aaaaaaaaa/aaaaaaaaaa/aaa/redact-xpra-2604-200-1.log can be downloaded normally (same directory), idk what's the deal with my original file.

They have the same access rights (0664/-rw-rw-r--)

comment:2 Changed 4 months ago by Antoine Martin

Owner: changed from Antoine Martin to stdedos

Can you attach the problematic file?
Or one that triggers the problem? (same size? same header? same content-type?)

And post the server log, running both the client and server with -d file.

I've just tried it and the file was not locked.

It could just be a fluke. Maybe we're losing track of transfers somehow and it eventually times out. But your file is tiny, so it should fit in a single chunk - which is even easier to handle.

comment:3 in reply to:  2 Changed 3 months ago by stdedos

Replying to Antoine Martin:

Can you attach the problematic file?
Or one that triggers the problem? (same size? same header? same content-type?)

And post the server log, running both the client and server with -d file.

I've just tried it and the file was not locked.

It could just be a fluke. Maybe we're losing track of transfers somehow and it eventually times out. But your file is tiny, so it should fit in a single chunk - which is even easier to handle.

It seems "random": File redact-xpra-sidekick-2640-all.log can be downloaded:

$ stat redact-xpra-sidekick-2640-all.log 
  File: 'redact-xpra-sidekick-2640-all.log'
  Size: 173084    	Blocks: 360        IO Block: 4096   regular file
Device: 35h/53d	Inode: 30411749    Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/user.ix)   Gid: ( 1000/user.ix)
Access: 2020-03-25 11:56:51.046512149 +0200
Modify: 2020-03-25 11:56:51.042512119 +0200
Change: 2020-03-25 11:56:51.042512119 +0200
 Birth: -
$ file redact-xpra-sidekick-*
redact-xpra-sidekick-2640-all.log:    ASCII text, with very long lines
redact-xpra-sidekick-2640-opengl.log: ASCII text
$ 

But file redact-xpra-sidekick-2640-opengl.log cannot:

$ cat !$
cat ~/redact-xpra-sidekick-2640-opengl.log
2020-03-25 10:26:32,266 Xpra GTK3 X11 client version 3.0.8-r25747 64-bit
2020-03-25 10:26:32,329  running on Linux Ubuntu 16.04 xenial
2020-03-25 10:26:32,330  window manager is 'Xpra'
2020-03-25 10:26:32,362 Warning: failed to query pulseaudio using 'pactl info'
2020-03-25 10:26:32,362  Connection failure: Connection refused
2020-03-25 10:26:32,362  pa_context_connect() failed: Connection refused
2020-03-25 10:26:32,398 init_opengl(probe)
2020-03-25 10:26:32,398 init_opengl: enable_option=probe
2020-03-25 10:26:32,398 checking with <function OpenGL_safety_check at 0x7f76c6229f28>
2020-03-25 10:26:32,399 <function OpenGL_safety_check at 0x7f76c6229f28>()=None
2020-03-25 10:26:32,399 checking with <function gl_check at 0x7f76b838f048>
2020-03-25 10:26:32,399 <function gl_check at 0x7f76b838f048>()=None
2020-03-25 10:26:32,399 init_opengl: going to import xpra.client.gl
2020-03-25 10:26:32,399 init_opengl: backend options: ('native',)
2020-03-25 10:26:32,399 attempting to load 'native' OpenGL backend
2020-03-25 10:26:32,399 importing xpra.client.gl.gtk3.nativegl_client_window
2020-03-25 10:26:32,422 No OpenGL_accelerate module loaded: No module named 'OpenGL_accelerate'
2020-03-25 10:26:32,526 xpra.client.gl.gtk3.nativegl_client_window=<module 'xpra.client.gl.gtk3.nativegl_client_window' from '/usr/lib/python3/dist-packages/xpra/client/gl/gtk3/nativegl_client_window.py'>
2020-03-25 10:26:32,534 found GLX version 1.4

(xpra:17842): Gdk-ERROR **: The program 'xpra' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 231 error_code 2 request_code 151 (GLX) minor_code 3)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

$ stat ~/redact-xpra-sidekick-2640-opengl.log 
  File: 'redact-xpra-sidekick-2640-opengl.log'
  Size: 2064      	Blocks: 24         IO Block: 4096   regular file
Device: 35h/53d	Inode: 30411846    Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/user.ix)   Gid: ( 1000/user.ix)
Access: 2020-03-25 11:56:51.058512237 +0200
Modify: 2020-03-25 11:56:51.054512207 +0200
Change: 2020-03-25 11:56:51.054512207 +0200
 Birth: -

comment:4 Changed 3 months ago by Antoine Martin

The crash from comment:3 is an opengl crash, nothing to do with downloads AFAICT.

comment:5 Changed 3 months ago by stdedos

This is the file that failed to download. (as it may be obvious, I should/will upload that to #2640)

The file contents (ie the opengl core) are not of this ticket's concern

comment:6 Changed 3 months ago by Antoine Martin

This is the file that failed to download. (as it may be obvious, I should/will upload that to #2640)

I saved it to a text file and downloaded it without problems...

comment:7 Changed 3 months ago by stdedos

Yeah, I guess, it makes no sense. But it does happen.

comment:8 Changed 3 months ago by Antoine Martin

Milestone: 4.04.1
Owner: changed from stdedos to Antoine Martin
Status: newassigned

comment:9 Changed 3 months ago by stdedos

I cannot append the timestamp just before I start the transfer to prove it, but it happens instantaneously.

$ stat !$
stat ~/out.txt
  File: '/home/user.ix/out.txt'
  Size: 5173      	Blocks: 32         IO Block: 4096   regular file
Device: 35h/53d	Inode: 30410946    Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/user.ix)   Gid: ( 1000/user.ix)
Access: 2020-03-30 11:32:26.102253548 +0300
Modify: 2020-03-30 11:32:18.510197083 +0300
Change: 2020-03-30 11:32:18.510197083 +0300
 Birth: -
3968   │ 2020-03-30 11:17:47,694 client  32 @14.351 Warning: static gravity is not handled
3969   │ 2020-03-30 11:32:26,105 New unix-domain connection received
3970   │ 2020-03-30 11:32:26,105  on '/run/user/1000/xpra//user.ix-precision-t3620-20'
3971   │ 2020-03-30 11:32:28,049 Error: cannot find the file transfer id '08ad32d86b2a49a985b4d958b63191a1'
3972   │ 2020-03-30 11:32:38,052 client  32 @04.714 Error: chunked file transfer timed out
3973   │ 2020-03-30 11:32:39,054 client  32 @05.722 unknown string message: 0xc2b9 / 0x0 / 0x0
3974   │ 2020-03-30 11:34:42,218 New unix-domain connection received
3975   │ 2020-03-30 11:34:42,218  on '/run/user/1000/xpra//user.ix-precision-t3620-20'
3976   │ 2020-03-30 11:34:43,344 Error: cannot find the file transfer id '08ad32d86b2a49a985b4d958b63191a1'
3977   │ 2020-03-30 11:34:53,364 client  32 @20.017 Error: chunked file transfer timed out
3978   │ 2020-03-30 11:35:06,158 New unix-domain connection received
3979   │ 2020-03-30 11:35:06,158  on '/run/user/1000/xpra//user.ix-precision-t3620-20'
3980   │ 2020-03-30 11:35:07,516 Error: cannot find the file transfer id '08ad32d86b2a49a985b4d958b63191a1'
3981   │ 2020-03-30 11:35:17,523 client  32 @44.188 Error: chunked file transfer timed out
3982   │ 2020-03-30 11:35:17,972 New unix-domain connection received
3983   │ 2020-03-30 11:35:17,972  on '/run/user/1000/xpra//user.ix-precision-t3620-20'
3984   │ 2020-03-30 11:35:19,227 Error: cannot find the file transfer id '08ad32d86b2a49a985b4d958b63191a1'
3985   │ 2020-03-30 11:35:29,228 client  32 @55.905 Error: chunked file transfer timed out

comment:10 Changed 7 weeks ago by stdedos

Would that be the fix? r26358

If yes, would you put a beta build in the pipeline sometime for next week?

comment:11 Changed 7 weeks ago by Antoine Martin

Would that be the fix? r26358

No.

I am still unable to reproduce your problem.

comment:12 Changed 7 weeks ago by stdedos

I guessed that, but that's all the diagnostic xpra spews anyway.

Any -d file with server/client:

sending/receiving file %abs_path%, stat: %stat%, size: %size%
up/downloading: %percent %%
sent/received file %abs_path%, size: %size%

or anything else that you think it might help?

comment:13 Changed 7 weeks ago by stdedos


filename is visible, I just scrubbed too much

Canceling

2020-05-19 15:44:14,840 Error: chunked file transfer timed out
2020-05-19 15:48:51,490 Error: cannot cancel download 7d872178d4e74691b34736eb4a3f478e, entry not found!

does not seem to release the file hand on the file either.

I ran:

u@h:~/a/b/c$ xdg-open /home/u/d/e/f/file.csv

... and I am 3/3 replicated this issue

Last edited 7 weeks ago by stdedos (previous) (diff)

Changed 7 weeks ago by stdedos

comment:14 Changed 5 weeks ago by stdedos

File is downloaded, but the progress bar does not appear complete.


Changed 5 weeks ago by stdedos

comment:15 Changed 5 weeks ago by stdedos

Last edited 5 weeks ago by Antoine Martin (previous) (diff)

comment:16 Changed 5 weeks ago by Antoine Martin

Owner: changed from Antoine Martin to stdedos
Status: assignednew

File is downloaded, but the progress bar does not appear complete.

Is this reproducible reliably?
Do you have the -d file output?

comment:17 Changed 5 weeks ago by stdedos

As all the file issues - no. It is reproducible intermittently.

I'll try to have -d file active-by-default, hopefully I'll scoop up something ...

Note: See TracTickets for help on using tickets.