Bug #37409

Page Module unuseable if resource is missing due to exception

Added by Kay Strobach almost 8 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Backend User Interface
Target version:
-
Start date:
2012-05-23
Due date:
% Done:

0%

TYPO3 Version:
6.0
PHP Version:
5.3
Tags:
Complexity:
Is Regression:
No
Sprint Focus:

Description


Uncaught TYPO3 Exception

t3lib_file_exception_FileDoesNotExistException thrown in file
D:\devenv\mowesII\www\t3-trunk\t3lib\file\Driver\AbstractDriver.php in line 407.

12 t3lib_file_Driver_AbstractDriver::getFile("uploads/pics/a2.jpg")

D:\devenv\mowesII\www\t3-trunk\t3lib\file\Storage.php:
00861:   */
00862:  public function getFile($identifier) {
00863:   return $this->driver->getFile($identifier);
00864:  }
00865: 

11 t3lib_file_Storage::getFile("uploads/pics/a2.jpg")

D:\devenv\mowesII\www\t3-trunk\t3lib\file\Factory.php:
00312:   }
00313: 
00314:   return $this->getStorageObject($storageUid)->getFile($fileIdentifier);
00315:  }
00316: 

10 t3lib_file_Factory::getFileObjectFromCombinedIdentifier("uploads/pics/a2.jpg")

D:\devenv\mowesII\www\t3-trunk\t3lib\file\Factory.php:
00355:   } else {
00356:     // only the path
00357:    return $this->getFileObjectFromCombinedIdentifier($input);
00358:   }
00359:  }

9 t3lib_file_Factory::retrieveFileOrFolderObject("uploads/pics/a2.jpg")

D:\devenv\mowesII\www\t3-trunk\t3lib\class.t3lib_befunc.php:
01629:     if ($theFile) {
01630:      $fileName = trim($uploaddir . '/' . $theFile, '/');
01631:      $fileObject = t3lib_file_Factory::getInstance()->retrieveFileOrFolderObject($fileName);
01632: 
01633:      $fileExtension = $fileObject->getExtension();

8 t3lib_BEfunc::thumbCode(array, "tt_content", "image", "../../../")

D:\devenv\mowesII\www\t3-trunk\typo3\class.db_list.inc:
00440:   */
00441:  function thumbCode($row, $table, $field) {
00442:   return t3lib_BEfunc::thumbCode($row, $table, $field, $this->backPath);
00443:  }
00444: 

7 recordList::thumbCode(array, "tt_content", "image")

D:\devenv\mowesII\www\t3-trunk\typo3\sysext\cms\layout\class.tx_cms_layout.php:
01388:      if ($row['CType'] == 'textpic' || $row['CType'] == 'image') {
01389:       if ($row['image']) {
01390:        $out .= $this->thumbCode($row, 'tt_content', 'image') . '
';
01391:        if ($row['imagecaption']) {
01392:         $out .= $this->linkEditContent($this->renderText($row['imagecaption']), $row) . '
';

6 tx_cms_layout::tt_content_drawItem(array, boolean)

D:\devenv\mowesII\www\t3-trunk\typo3\sysext\cms\layout\class.tx_cms_layout.php:
00417: 
00418:        $isRTE = $RTE && $this->isRTEforField('tt_content', $row, 'bodytext');
00419:        $innerContent = '
' . $this->tt_content_drawItem($row, $isRTE) . '
';
00420: 
00421:        $singleElementHTML .= '
' .

5 tx_cms_layout::getTable_tt_content(1)

D:\devenv\mowesII\www\t3-trunk\typo3\sysext\cms\layout\class.tx_cms_layout.php:
00116:      break;
00117:     case 'tt_content':
00118:      return $this->getTable_tt_content($id);
00119:      break;
00120:    }

4 tx_cms_layout::getTable("tt_content", 1, "")

D:\devenv\mowesII\www\t3-trunk\typo3\class.db_list.inc:
00281: 
00282:      // Finally, render the list:
00283:     $this->HTMLcode.=$this->getTable($tableName, $this->id, implode(',',$fields));
00284:    }
00285:   }

3 recordList::generateList()

D:\devenv\mowesII\www\t3-trunk\typo3\sysext\cms\layout\db_layout.php:
01065: 
01066:     // Generate the list of elements here:
01067:    $dblist->generateList();
01068: 
01069:     // Adding the list content to the tableOutput variable:

2 SC_db_layout::renderListContent()

D:\devenv\mowesII\www\t3-trunk\typo3\sysext\cms\layout\db_layout.php:
00501:     $body = $this->renderQuickEdit(); // QuickEdit
00502:    } else {
00503:     $body = $this->renderListContent(); // All other listings
00504:    }
00505: 

1 SC_db_layout::main()

D:\devenv\mowesII\www\t3-trunk\typo3\sysext\cms\layout\db_layout.php:
01337: 
01338: $SOBE->clearCache();
01339: $SOBE->main();
01340: $SOBE->printContent();
01341: 

Screen_Shot_2013-03-26_at_08.22.18.png View - Upload a file into storage and cut it out for "cutting and pasting" (34.4 KB) Christoph Dörfel, 2013-03-26 08:32

Screen_Shot_2013-03-26_at_08.22.40.png View - Delete the file while "cutting and pasting" is still active (13 KB) Christoph Dörfel, 2013-03-26 08:32

Screen_Shot_2013-03-26_at_08.22.59.png View - Get an error (31.4 KB) Christoph Dörfel, 2013-03-26 08:32


Related issues

Related to TYPO3 Core - Bug #37423: Install tool fails fal conversion, if a file is missing Closed 2012-05-23
Related to TYPO3 Core - Bug #46535: Image rendering of non-existing files throws exception Closed 2013-03-22

History

#1 Updated by Lorenz Ulrich over 7 years ago

Yes, I also think that this handling is very strict compared to the pre-FAL handling (image not present => image not rendered).

#2 Updated by Helmut Hummel about 7 years ago

  • Target version changed from 6.0.0-alpha2 to 6.0.1

#3 Updated by Christoph Dörfel about 7 years ago

It's really annoying in a shared development environment.
For simplicity we're sharing one database but commit changes in the filesystem only once in a while (when a feature is fully implemented). The uploads-folder isn't even tracked through versioning.
A simple warning that doesn't interrupt your workflow should be enough.
Had to modify TYPO3\CMS\Backend\Utility with a try{}catch(){} clause to be able to continue working.

#4 Updated by Andreas Wolf about 7 years ago

  • Status changed from New to Accepted
  • Assignee set to Andreas Wolf

#5 Updated by Thomas Allmer about 7 years ago

have the same Problem... if you delete a file that is used somewhere you can't even remove it from the CE as it won't let you edit it...

#6 Updated by Andreas Wolf about 7 years ago

  • Status changed from Accepted to Needs Feedback

I'm sorry, I could not reproduce this bug using the introduction package. I inserted a file into a content element, deleted it in fileadmin and emptied sys_file_processedfile. The backend shows me the small gray "No thumb generated" image afterwards.

Could you provide me with a more accurate description of the steps you did to provoke this error? Ideally base this on a current introduction package, as this makes it easier to reproduce the error.

#7 Updated by Christoph Dörfel about 7 years ago

Andreas Wolf wrote:

Could you provide me with a more accurate description of the steps you did to provoke this error? Ideally base this on a current introduction package, as this makes it easier to reproduce the error.

This is not really the same error as described above, but probably from the same origin (I didn't investigate this yet).
@see screenshots and descriptions

edit:
File 1: Upload an image and cut it out for "cutting and pasting"
File 2: Delete this file while "cutting and pasting" is still active
File 3: Get an error

#8 Updated by Nico de Haen almost 7 years ago

This still happens if the bodytext contains a link to a non existing file and if the link contains a direct reference to the file:

<link fileadmin/Downloads2/MyFile.pdf - download "Initiates file download">MyFile</link>

The error message is (with above example):

Folder fileadmin/Downloads2/MyFile.pdf does not exist

and the editor can not access it anymore to fix the error.

You will have a lot of such links if you migrated from a TYPO3 < 6.0. due to #49233

#9 Updated by Alexander Opitz almost 7 years ago

@Christoph That sounds like another issue, which was fixed by Philip Gampe, should be in 6.1.2

@Nico Do you have a backtrace of this error, this would help us to find the code path.

#10 Updated by Alexander Opitz almost 7 years ago

  • Target version deleted (6.0.1)

#11 Updated by Alexander Opitz over 6 years ago

  • Is Regression set to No

Hi,

is this issue resolved in newer versions? Latest one is 6.1.5.

#12 Updated by Alexander Opitz about 6 years ago

  • Status changed from Needs Feedback to Closed
  • Assignee deleted (Andreas Wolf)

No feedback within the last 90 days => closing this ticket.

If you think that this is the wrong decision or experience this issue again, then please write to the mailing list typo3.teams.bugs with issue number and an explanation or open a new ticket and add a relation to this ticket number.

Also available in: Atom PDF