Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Division by zero error when entering 0.001 in piggy bank #2975

Closed
staadecker opened this issue Jan 8, 2020 · 5 comments
Closed

Division by zero error when entering 0.001 in piggy bank #2975

staadecker opened this issue Jan 8, 2020 · 5 comments
Labels
bug Verified and replicated bugs and issues. fixed Bugs that are fixed (in a coming release).

Comments

@staadecker
Copy link

Bug description
I am running Firefly III version 4.8.2, and my problem is:

Updating the target amount field in a piggy bank to 0.001 and the pressing on the piggy bank section from the menu produces an error. Most importantly, I'm no longer able to access the piggy bank page and would like a way to undo the error.

The error is :

image

Stack trace below.

I reproduced this on the demo site.

Steps to reproduce (on demo site)

  1. Go to the piggy bank page.
  2. Press edit for the first listed piggy bank.
  3. Change the target amount field to 0.001.
  4. Press update piggy bank
  5. Press the menu link to go back to the piggy bank page.

Why I was entering 0.001
I have a piggy bank that is recuring in that once I've saved up enough, I spend the money on the item and then set the piggy bank to zero until I need to save up again. However, I was not allowed to set it to zero so that's why I tried to set it to 0.001.

Extra info
Debug information generated at 2020-01-07 23:19:40 America/Toronto for Firefly III version 4.8.2.

Variable Content
FF version 4.8.2
FF API version 0.10.5
App environment local
App debug mode true
App cache driver file
App logging , stdout
PHP version 7.3.12
Display errors Off
Session start 2013-06-30 00:00:00
Session end 2020-01-07 00:00:00
Session first 2013-06-30 00:00:00
Error reporting ALL errors
Host Linux
Interface apache2handler
UserID 1
Attempt at "en" false
Attempt at "English" false
Attempt at "en_US.utf8" 'en_US.utf8'
Attempt at "en_US.UTF-8" 'en_US.UTF-8'
DB drivers mysql, pgsql, sqlite
Current driver pgsql
Login provider
Storage disks local-upload
Using Sandstorm? no
Is Sandstorm (.env) false
bunq uses sandbox false
Trusted proxies (.env)
User agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36
Loaded extensions Core, date, libxml, openssl, pcre, sqlite3, zlib, ctype, curl, dom, fileinfo, filter, ftp, hash, iconv, json, mbstring, SPL, PDO, session, posix, Reflection, standard, SimpleXML, pdo_sqlite, Phar, tokenizer, xml, xmlreader, xmlwriter, mysqlnd, apache2handler, bcmath, gd, intl, ldap, memcached, pdo_mysql, pdo_pgsql, sodium, Zend OPcache

Stacktrace

#0 /var/www/firefly-iii/app/Transformers/PiggyBankTransformer.php(102): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'Division by zer...', '/var/www/firefl...', 102, Array)
#1 /var/www/firefly-iii/app/Http/Controllers/PiggyBankController.php(241): FireflyIII\Transformers\PiggyBankTransformer->transform(Object(FireflyIII\Models\PiggyBank))
#2 [internal function]: FireflyIII\Http\Controllers\PiggyBankController->index(Object(Illuminate\Http\Request))
#3 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)
#4 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction('index', Array)
#5 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Route.php(219): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(FireflyIII\Http\Controllers\PiggyBankController), 'index')
#6 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Route.php(176): Illuminate\Routing\Route->runController()
#7 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Router.php(680): Illuminate\Routing\Route->run()
#8 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#9 /var/www/firefly-iii/app/Http/Controllers/PiggyBankController.php(72): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#10 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(145): FireflyIII\Http\Controllers\PiggyBankController->FireflyIII\Http\Controllers\{closure}(Object(Illuminate\Http\Request), Object(Closure))
#11 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#12 /var/www/firefly-iii/app/Http/Controllers/Controller.php(82): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#13 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(145): FireflyIII\Http\Controllers\Controller->FireflyIII\Http\Controllers\{closure}(Object(Illuminate\Http\Request), Object(Closure))
#14 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#15 /var/www/firefly-iii/app/Http/Middleware/InterestingMessage.php(59): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#16 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): FireflyIII\Http\Middleware\InterestingMessage->handle(Object(Illuminate\Http\Request), Object(Closure))
#17 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#18 /var/www/firefly-iii/app/Http/Middleware/Binder.php(78): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#19 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): FireflyIII\Http\Middleware\Binder->handle(Object(Illuminate\Http\Request), Object(Closure))
#20 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#21 /var/www/firefly-iii/app/Http/Middleware/Range.php(58): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#22 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): FireflyIII\Http\Middleware\Range->handle(Object(Illuminate\Http\Request), Object(Closure))
#23 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#24 /var/www/firefly-iii/vendor/pragmarx/google2fa-laravel/src/Middleware.php(15): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#25 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): PragmaRX\Google2FALaravel\Middleware->handle(Object(Illuminate\Http\Request), Object(Closure))
#26 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#27 /var/www/firefly-iii/app/Http/Middleware/Authenticate.php(73): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#28 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): FireflyIII\Http\Middleware\Authenticate->handle(Object(Illuminate\Http\Request), Object(Closure))
#29 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#30 /var/www/firefly-iii/vendor/laravel/passport/src/Http/Middleware/CreateFreshApiToken.php(50): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#31 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Laravel\Passport\Http\Middleware\CreateFreshApiToken->handle(Object(Illuminate\Http\Request), Object(Closure))
#32 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#33 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(75): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#34 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))
#35 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#36 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#37 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#38 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#39 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(56): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#40 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#41 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#42 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#43 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#44 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#45 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(66): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#46 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#47 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#48 /var/www/firefly-iii/app/Http/Middleware/Sandstorm.php(54): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#49 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): FireflyIII\Http\Middleware\Sandstorm->handle(Object(Illuminate\Http\Request), Object(Closure))
#50 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#51 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#52 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Router.php(682): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#53 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Router.php(657): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#54 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Router.php(623): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#55 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Router.php(612): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#56 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#57 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#58 /var/www/firefly-iii/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#59 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Fideloper\Proxy\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))
#60 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#61 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#62 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#63 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#64 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#65 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#66 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#67 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#68 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#69 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#70 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(62): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#71 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#72 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#73 /var/www/firefly-iii/app/Http/Middleware/SecureHeaders.php(45): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#74 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): FireflyIII\Http\Middleware\SecureHeaders->handle(Object(Illuminate\Http\Request), Object(Closure))
#75 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#76 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#77 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#78 /var/www/firefly-iii/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#79 /var/www/firefly-iii/public/index.php(76): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#80 {main}
@JC5
Copy link
Member

JC5 commented Jan 8, 2020

Thanks for letting me know. That should be an easy fix.

You won't be able to set the target amount of a piggy bank to zero. That would be pointless. Just leave it be or remove it.

@staadecker
Copy link
Author

Ok sounds good!

@JC5 JC5 added bug Verified and replicated bugs and issues. fixed Bugs that are fixed (in a coming release). labels Jan 8, 2020
@JC5 JC5 closed this as completed in 2485f74 Jan 9, 2020
@staadecker
Copy link
Author

@JC5 Sorry to bug you again however I'm followed the upgrade instruction with no problems however I still have this issue. I'm also still on 4.8.2. Will there be a new version with this bug fix?

@JC5
Copy link
Member

JC5 commented Jan 17, 2020

Yes, there will be. There is a beta version you can try, but I was planning on releasing the new version this weekend.

@staadecker
Copy link
Author

Ok sounds good. No worries!

@lock lock bot locked as resolved and limited conversation to collaborators Apr 17, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Verified and replicated bugs and issues. fixed Bugs that are fixed (in a coming release).
Projects
None yet
Development

No branches or pull requests

2 participants