logo
Welcome to our new AbleCommerce forums. As a guest, you may view the information here. To post to this forum, you must have a registered account with us, either as a new user evaluating AbleCommerce or an existing user of the application. For all questions related to the older version of Gold and earlier, please go to forums.ablecommerce.com. Please use your AbleCommerce username and password to Login. Forums Registration.

Notification

Icon
Error

Options
Go to last post Go to first unread
Joe Payne @ AbleMods LLC  
#1 Posted : Friday, November 22, 2019 12:41:05 PM(UTC)
Joe Payne @ AbleMods LLC

Rank: Advanced Member

Groups: Developers
Joined: 11/9/2018(UTC)
Posts: 54

Thanks: 9 times
Was thanked: 3 time(s) in 3 post(s)
1. The postback is not refreshing the page properly when the default theme is changed. Console shows 404 postback response after setting a different default theme.

2. The UI correctly hides the delete button for the currently selected store theme. However when you change the default theme, the buttons do not refresh. I can now click a Delete button on the theme set as the default when that should not be permitted. Screen then says it has been deleted but it does not seem to happen when clicked. The visuals should be consistent. Again console shows postback throwing a 404 when clicked.


Wanna join the discussion?! Login to your AbleCommerce Forums forum account. Forums Registration.

shari  
#2 Posted : Friday, November 22, 2019 1:00:24 PM(UTC)
shari

Rank: Advanced Member

Groups: Admin, Authorized User, Registered, Developers
Joined: 10/5/2018(UTC)
Posts: 41

Was thanked: 7 time(s) in 7 post(s)
Quote:
The postback is not refreshing the page properly when the default theme is changed. Console shows a 404 postback response after setting a different default theme.


Can you please share the request URL for which the 404 is happening in the console.

Quote:
The UI correctly hides the delete button for the currently selected store theme. However, when you change the default theme, the buttons do not refresh. I can now click a Delete button on the theme set as the default when that should not be permitted. The screen then says it has been deleted but it does not seem to happen when clicked. The visuals should be consistent. Again console shows postback throwing a 404 when clicked.


Are you referring to site.com/Admin/Website/ManageThemes page?

For me, when I change the default theme from this page I can't see the delete button on page update.
Please let me know if I am missing something.


If possible, please share a screenshot.
Thanks

Edited by user Friday, November 22, 2019 1:01:39 PM(UTC)  | Reason: Not specified

Joe Payne @ AbleMods LLC  
#3 Posted : Friday, November 22, 2019 3:48:38 PM(UTC)
Joe Payne @ AbleMods LLC

Rank: Advanced Member

Groups: Developers
Joined: 11/9/2018(UTC)
Posts: 54

Thanks: 9 times
Was thanked: 3 time(s) in 3 post(s)
Bizarre. I left the app for a few hours and returned. Now both issues do not happen. The postback after changing default theme is clean, no errors. And the delete button correctly refreshes (hides) immediately when a new theme is selected. It's behaving exactly as it should now.

Shari I noticed a similar behavior when I was working with the file uploader earlier today. Initially I had no value set for allowed extensions for Images in the store settings. So I went and set a value. File uploader then let me choose my store logo to upload and I moved along with my work. About 20 minutes later, I went to upload another logo and I couldn't - the allowed extensions for Images was blank again. I'm 100% certain I saved the value because I reloaded the page just to make sure.

That means I'm seeing certain store settings not persist after a period of time. And entire MVC routes suddenly throw 404 when they were working before.

I smell a cache issue somewhere.

I'll get better screenshots for you next time. I didn't expect such issues to not be reproduced at a later time. Sorry.
Joe Payne @ AbleMods LLC  
#4 Posted : Friday, November 22, 2019 8:55:02 PM(UTC)
Joe Payne @ AbleMods LLC

Rank: Advanced Member

Groups: Developers
Joined: 11/9/2018(UTC)
Posts: 54

Thanks: 9 times
Was thanked: 3 time(s) in 3 post(s)
Ok, it just did it again. My Images setting is gone again from allowed file extensions. When I go to the security settings page to set it, I can set the value and click save. Browser then throws a 404 on url http://solunarv9/Admin/Security/SaveSettings

The value does get saved though.

Capture2.JPG (61kb) downloaded 2 time(s).
Capture.JPG (100kb) downloaded 4 time(s).
katie_able_support  
#5 Posted : Monday, November 25, 2019 6:43:05 AM(UTC)
katie_able_support

Rank: Advanced Member

Groups: Administrators, Developers, Registered, HelpDesk, System
Joined: 10/29/2018(UTC)
Posts: 86

Thanks: 2 times
Was thanked: 6 time(s) in 5 post(s)
Hi Joe,

I tried to reproduce this issue on 3 different installs over the weekend. The settings are saved and always appear, even if I let the session expire and re-access the page.

This is such a peculiar issue. Is there anything about your development environment that might give us a clue?

Thanks
Katie
Thanks for your support!
Katie
thanks 1 user thanked katie_able_support for this useful post.
Joe Payne @ AbleMods LLC on 11/25/2019(UTC)
Joe Payne @ AbleMods LLC  
#6 Posted : Monday, November 25, 2019 6:56:37 AM(UTC)
Joe Payne @ AbleMods LLC

Rank: Advanced Member

Groups: Developers
Joined: 11/9/2018(UTC)
Posts: 54

Thanks: 9 times
Was thanked: 3 time(s) in 3 post(s)
I've been recompiling the MVC app obviously since I'm developing in it. That's the only thing I can think of.

I haven't modified a single line of CommerceBuilder yet, just added a few of my own classes and one set of data classes for a custom table. I haven't modified anything in Able MVC either except to add one button to the view-order admin page. Everything else is in my own controllers and my own views.

The only theory I have so far is something in the IIS caching gets wonky when the app is recompiled and restarted several times in an hour. But I would think that would have manifested itself early on in the dev of v9 since that's the only way to do what we're (both) doing. So that's not much of a theory at this point.

Aside from that, I'm using Rider IDE instead of Studio 2019. I've implemented C# 7.0. I installed HangFire and ABCPDF NuGet packages. Nothing extreme, prototype, beta or unproven.

And most of the time, it's completely fine. It's like at random times the MVC route table gets dropped and the Able app can't find controllers any more.

When it happens again, I'm going to test other Able pages unrelated to my task at the time. Maybe there's a pattern of which v9 pages work and which ones don't when the issue occurs. That might give us a clue as to what is suddenly missing in the route tables.
katie_able_support  
#7 Posted : Monday, November 25, 2019 8:12:22 AM(UTC)
katie_able_support

Rank: Advanced Member

Groups: Administrators, Developers, Registered, HelpDesk, System
Joined: 10/29/2018(UTC)
Posts: 86

Thanks: 2 times
Was thanked: 6 time(s) in 5 post(s)
It's possible that we're not seeing these issues because we all use Visual Studio. I know that even this can get a little glitchy on recompiles. I always use the Clean build option first, then, while it's building, I am watching the output screen to make sure everything is created.

I remembered something from the beta phase where we implemented L2 Cache.

Here is one post from an issue that I thought might be relevant, or at least something we can look into.


(ref. AC9-38)
Summary:
Level 2 cache can have problems with direct SQL inserts/updates/deletes made via ISQLQuery interface of nhibernate. Whenever nhibernate detects a ISQL based code statement, syscache invalidates it cached contents.

Mazhar added a comment - 26/Mar/18 5:34 AM

This issue becomes more relevant as we tune our application for performance using L2 cache. ISQL based INSERT/UPDATE/DELETE queries can invalidate L2 cache even though data could be still valid.

Thanks for your support!
Katie
katie_able_support  
#8 Posted : Monday, November 25, 2019 1:54:27 PM(UTC)
katie_able_support

Rank: Advanced Member

Groups: Administrators, Developers, Registered, HelpDesk, System
Joined: 10/29/2018(UTC)
Posts: 86

Thanks: 2 times
Was thanked: 6 time(s) in 5 post(s)
Hi Joe,

Can you try to reproduce the issue after opening the project in Rider and doing a recompile? In other words, leave the step out where you recycle IIS.

Let me know when you can please.
Thanks for your support!
Katie
Joe Payne @ AbleMods LLC  
#9 Posted : Monday, November 25, 2019 2:13:47 PM(UTC)
Joe Payne @ AbleMods LLC

Rank: Advanced Member

Groups: Developers
Joined: 11/9/2018(UTC)
Posts: 54

Thanks: 9 times
Was thanked: 3 time(s) in 3 post(s)
Didn't change anything. Did a full rebuild in Rider, same issue.

Did some more exploring, found some more clues:

1. Every single Configure sub-menu page that has a Save button throws 404. Every single one can't find their controller.

2. Other pages like Saving an edited user, saving an edited coupon, etc all work fine.

3. FYI I did modify breadcrumbs in admin so my custom controller would render properly.

4. Saving settings on ShipStation Settings page throws an ugly exception once you populate settings values and click save. Probably unrelated but here it is.

Quote:

Server Error in '/' Application.
not-null property references a null or transient value CommerceBuilder.Stores.StoreSetting.FieldValue
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: NHibernate.PropertyValueException: not-null property references a null or transient value CommerceBuilder.Stores.StoreSetting.FieldValue

Source Error:


Line 106: // FLUSH THE EXISTING SESSION
Line 107: ISession session = GetSession();
Line 108: session.Flush();
Line 109: CurrentTransaction = session.BeginTransaction(isolationLevel);
Line 110: session.FlushMode = FlushMode.Commit;

Source File: D:\AbleMods-GitHub\Solunarv9\trunk\Projects\AbleSource\CommerceBuilder\Common\DatabaseSessionManager.cs Line: 108

Stack Trace:


[PropertyValueException: not-null property references a null or transient value CommerceBuilder.Stores.StoreSetting.FieldValue]
NHibernate.Engine.Nullability.CheckNullability(Object[] values, IEntityPersister persister, Boolean isUpdate) +514
NHibernate.Event.Default.DefaultFlushEntityEventListener.ScheduleUpdate(FlushEntityEvent event) +829
NHibernate.Event.Default.DefaultFlushEntityEventListener.OnFlushEntity(FlushEntityEvent event) +178
NHibernate.Event.Default.AbstractFlushingEventListener.FlushEntities(FlushEvent event) +436
NHibernate.Event.Default.AbstractFlushingEventListener.FlushEverythingToExecutions(FlushEvent event) +297
NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent event) +153
NHibernate.Impl.SessionImpl.Flush() +183
CommerceBuilder.Common.DatabaseSessionManager.BeginTransaction(IsolationLevel isolationLevel) in D:\AbleMods-GitHub\Solunarv9\trunk\Projects\AbleSource\CommerceBuilder\Common\DatabaseSessionManager.cs:108
CommerceBuilder.Common.DatabaseSessionManager.BeginTransaction() in D:\AbleMods-GitHub\Solunarv9\trunk\Projects\AbleSource\CommerceBuilder\Common\DatabaseSessionManager.cs:95
CommerceBuilder.Stores.StoreSettingsManager.Save() in D:\AbleMods-GitHub\Solunarv9\trunk\Projects\AbleSource\CommerceBuilder\Stores\StoreSettingsManager.cs:1856
AbleCommerce.Areas.Admin.Controllers.DataExchangeController.ShipStationSettings(ShipSationModel model) in D:\AbleMods-GitHub\Solunarv9\trunk\Website\Areas\Admin\Controllers\DataExchangeController.cs:1439
lambda_method(Closure , ControllerBase , Object[] ) +139
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +229
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +35
System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +39
System.Web.Mvc.Async.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult) +70
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +42
System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d() +72
System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +387
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +42
System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +38
System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +188
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +38
System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +29
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +68
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +52
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +39
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +38
System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +43
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +68
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +38
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +602
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +195
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +128

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.7.3429.0
katie_able_support  
#10 Posted : Monday, November 25, 2019 2:36:59 PM(UTC)
katie_able_support

Rank: Advanced Member

Groups: Administrators, Developers, Registered, HelpDesk, System
Joined: 10/29/2018(UTC)
Posts: 86

Thanks: 2 times
Was thanked: 6 time(s) in 5 post(s)
I believe the ShipStation error is related. The data is being saved to the save ac_StoreSettings table, like file extensions. This is working fine on my end, so at this point, we'll need to wait for feedback from one of the developers.

Thanks for posting the error message. I think it's going to help.


Thanks for your support!
Katie
shari  
#11 Posted : Friday, November 29, 2019 11:49:01 AM(UTC)
shari

Rank: Advanced Member

Groups: Admin, Authorized User, Registered, Developers
Joined: 10/5/2018(UTC)
Posts: 41

Was thanked: 7 time(s) in 7 post(s)
Hi,

Sorry for the delay in response.

Can you please share the request URL on which you are getting 404. Also please if you can share the code changes you did for breadcrumbs? Did you added breadcrumb for Configure menu?

Quote:
Saving settings on ShipStation Settings page throws an ugly exception once you populate settings values and click save. Probably unrelated but here it is.


Regarding this issue please confirm if you have created any custom class mapped on database table and you are assigning store object to it before saving the object.
You might have missed assigning store to an entity before saving the object.

Please let me know for further help.

Edited by user Friday, November 29, 2019 11:52:09 AM(UTC)  | Reason: Not specified

Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.