"Error transferring" - Code 16


Author
Message
AKrishna
AKrishna
Distinguished Member (3.3K reputation)Distinguished Member (3.3K reputation)Distinguished Member (3.3K reputation)Distinguished Member (3.3K reputation)Distinguished Member (3.3K reputation)Distinguished Member (3.3K reputation)Distinguished Member (3.3K reputation)Distinguished Member (3.3K reputation)Distinguished Member (3.3K reputation)
Group: Forum Members
Posts: 110, Visits: 369
Hi all,

sorry to be spamming so much recently. :(

Our next planned experiment (bamz) is consistently showing errors when we test it. Specifically, we get this for multiple video files:


Unable to open file 'https://scripts.millisecond.eu/[REDACTED]/bamz/interventionsmus_m_provoziert.mp4'. Error transferring: 403 -


Oddly, it seems to only affect a subset of files, the others work fine. The affected files don't have longer names than some unaffected ones. I was also able to verify that the script runs fine if I set the Inquisit Player to download it for offline use (with the checkmark in the "Tests" tab).

I'm stumped, I'm afraid. Grateful for any ideas.

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 101K
AKrishna - 7/26/2024
Hi all,

sorry to be spamming so much recently. :(

Our next planned experiment (bamz) is consistently showing errors when we test it. Specifically, we get this for multiple video files:


Unable to open file 'https://scripts.millisecond.eu/[REDACTED]/bamz/interventionsmus_m_provoziert.mp4'. Error transferring: 403 -


Oddly, it seems to only affect a subset of files, the others work fine. The affected files don't have longer names than some unaffected ones. I was also able to verify that the script runs fine if I set the Inquisit Player to download it for offline use (with the checkmark in the "Tests" tab).

I'm stumped, I'm afraid. Grateful for any ideas.

You have typos in the script.

Interventionsmus is missing an i.

AKrishna
AKrishna
Distinguished Member (3.3K reputation)Distinguished Member (3.3K reputation)Distinguished Member (3.3K reputation)Distinguished Member (3.3K reputation)Distinguished Member (3.3K reputation)Distinguished Member (3.3K reputation)Distinguished Member (3.3K reputation)Distinguished Member (3.3K reputation)Distinguished Member (3.3K reputation)
Group: Forum Members
Posts: 110, Visits: 369
...but then why does the experiment run locally and when I set the Inquisit player to run in offline mode?

I figured it out, I think. For anyone who's interested:

For reasons of stimulus selection, my script assembles the name of the video stimulus to be played dynamically and passes it to a video element via a value, à la:

<values>
/ CurrentVid = ""
</values>

<trial MyTrial>
/ ontrialbegin = [
    values.CurrentVid = "myvideo.mp4"
]
/ stimulustimes = [0 = MyVideo]
/ validresponse = (noresponse)
/ timeout = 0
</trial>


<video MyVideo>
/ items = "<%values.CurrentVid%>"
/ playthrough = true
</video>


In the past, I have had trouble with this kind of approach because Inquisit sometimes wouldn't prepare stimulus files (e.g., htmls, videos, pictures) that weren't explicitly named in a relevant stimulus element somewhere in the script, so the script would fail when it was supposed to load a stimulus that didn't appear in an /items attribute somewhere. So I always add an otherwise unused and unreferenced stimulus element that contains all the files I plan to dynamically call to prevent this.

In this script, that unreferenced element had a typo in the filenames. But the dynamic file naming code creates the correct filenames, so in actual running, the script calls for the correct files. As the dynamic stimulus loading issue mentioned above doesn't seem to occur in this script for some reason, locally, the script runs fine - only correct filenames are dynamically called. However, in a web experiment, Inquisit checks the server for the files in all elements, including the ones with typos in the names in the unreferenced element. Ergo: failure.

Easy solution here, embarrassed I missed it - but I was completely thrown that the script ran locally, but not online...

Thanks Dave

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 101K
AKrishna - 7/26/2024
...but then why does the experiment run locally and when I set the Inquisit player to run in offline mode?

I figured it out, I think. For anyone who's interested:

For reasons of stimulus selection, my script assembles the name of the video stimulus to be played dynamically and passes it to a video element via a value, à la:

<values>
/ CurrentVid = ""
</values>

<trial MyTrial>
/ ontrialbegin = [
    values.CurrentVid = "myvideo.mp4"
]
/ stimulustimes = [0 = MyVideo]
/ validresponse = (noresponse)
/ timeout = 0
</trial>


<video MyVideo>
/ items = "<%values.CurrentVid%>"
/ playthrough = true
</video>


In the past, I have had trouble with this kind of approach because Inquisit sometimes wouldn't prepare stimulus files (e.g., htmls, videos, pictures) that weren't explicitly named in a relevant stimulus element somewhere in the script, so the script would fail when it was supposed to load a stimulus that didn't appear in an /items attribute somewhere. So I always add an otherwise unused and unreferenced stimulus element that contains all the files I plan to dynamically call to prevent this.

In this script, that unreferenced element had a typo in the filenames. But the dynamic file naming code creates the correct filenames, so in actual running, the script calls for the correct files. As the dynamic stimulus loading issue mentioned above doesn't seem to occur in this script for some reason, locally, the script runs fine - only correct filenames are dynamically called. However, in a web experiment, Inquisit checks the server for the files in all elements, including the ones with typos in the names in the unreferenced element. Ergo: failure.

Easy solution here, embarrassed I missed it - but I was completely thrown that the script ran locally, but not online...

Thanks Dave

Things work offline -- in both Inquisit Lab and in the Web Player -- because the correct files are present on disk and Inquisit isn't being instructed to download any non-existent files.

In online mode, what files to download is determined by the parsing of the script's various stimulus elements and their items, i.e. each necessary file is downloaded individually, Why is it done that way? Because not everybody will need every single file. You may have different scripts you adminster to different groups of participants. You may have different stimulus sets via conditional <include>s adminstered to different sets of participants. Downloading only those files that are needed saves time and bandwidth.

<item AllVids>
/ 1 = "Gesundheit_M_Neutral.mp4"
/ 2 = "Gesundheit_M_Neutral_Short.mp4"
/ 3 = "Gesundheit_M_Provoziert.mp4"
/ 4 = "Gesundheit_M_Provoziert_Short.mp4"
/ 5 = "Immigration_M_Neutral.mp4"
/ 6 = "Immigration_M_Neutral_Short.mp4"
/ 7 = "Immigration_M_Provoziert.mp4"
/ 8 = "Immigration_M_Provoziert_Short.mp4"
/ 9 = "Klima_M_Neutral.mp4"
/ 10 = "Klima_M_Neutral_Short.mp4"
/ 11 = "Klima_M_Provoziert.mp4"
/ 12 = "Klima_M_Provoziert_Short.mp4"
/ 13 = "interventionsmus_m_neutral.mp4"
/ 14 = "interventionsmus_m_neutral_short.mp4"
/ 15 = "interventionsmus_m_provoziert.mp4"
/ 16 = "interventionsmus_m_provoziert_short.mp4"
</item>

<video AllVids>
/ items = AllVids
</video>

is what instructs the app to try to download files that do not exist due to the typo in the file names.

For offline mode, files aren't downloaded individually. The server gives the player an IQZIP file to download, which contains all files uploaded to your experiment. The player then extracts the ZIP, so you have everything residing on disk. (The why should be obvious, e

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search