alonho / pytrace

pytrace is a fast python tracer. it records function calls, arguments and return values. can be used for debugging and profiling.
Other
447 stars 21 forks source link

Unicode issues #15

Open techdragon opened 10 years ago

techdragon commented 10 years ago
  File "build/bdist.macosx-10.9-intel/egg/pytrace/reader/trace_walker.py", line 70, in __getitem__
  File "/Users/techdragon/.virtualenvs/salt-dev/lib/python2.7/site-packages/sqlalchemy/orm/loading.py", line 65, in instances
    fetch = cursor.fetchall()
  File "/Users/techdragon/.virtualenvs/salt-dev/lib/python2.7/site-packages/sqlalchemy/engine/result.py", line 788, in fetchall
    self.cursor, self.context)
  File "/Users/techdragon/.virtualenvs/salt-dev/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1076, in _handle_dbapi_exception
    exc_info
  File "/Users/techdragon/.virtualenvs/salt-dev/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 185, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb)
  File "/Users/techdragon/.virtualenvs/salt-dev/lib/python2.7/site-packages/sqlalchemy/engine/result.py", line 782, in fetchall
    l = self.process_rows(self._fetchall_impl())
  File "/Users/techdragon/.virtualenvs/salt-dev/lib/python2.7/site-packages/sqlalchemy/engine/result.py", line 749, in _fetchall_impl
    return self.cursor.fetchall()
sqlalchemy.exc.OperationalError: (OperationalError) Could not decode to UTF-8 column 'arg_values_1_value' with text ''%(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s'' None None

Looks like non unicode data is creeping into the trace database from the C side of things. Not sure how to troubleshoot this. Anyone more familiar with C able to look at this?

alonho commented 10 years ago

Thanks for the patience and opening these issues. I'm currently on vacation in Argentina in a city with really crappy WiFi so it will take a couple of weeks until I'll be able to address this issue.

I couldn't reproduce it on my machine but I believe you're correct and it's a bug in the string serialization happening in the C extension.

What python version are you using?

You might be able to use the 'filter modules' option to trace selected modules or packages and avoid this bug. On Feb 24, 2014 10:16 PM, "Samuel Bishop" notifications@github.com wrote:

File "build/bdist.macosx-10.9-intel/egg/pytrace/reader/trace_walker.py", line 70, in getitem File "/Users/techdragon/.virtualenvs/salt-dev/lib/python2.7/site-packages/sqlalchemy/orm/loading.py", line 65, in instances fetch = cursor.fetchall() File "/Users/techdragon/.virtualenvs/salt-dev/lib/python2.7/site-packages/sqlalchemy/engine/result.py", line 788, in fetchall self.cursor, self.context) File "/Users/techdragon/.virtualenvs/salt-dev/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1076, in _handle_dbapi_exception exc_info File "/Users/techdragon/.virtualenvs/salt-dev/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 185, in raise_from_cause reraise(type(exception), exception, tb=exc_tb) File "/Users/techdragon/.virtualenvs/salt-dev/lib/python2.7/site-packages/sqlalchemy/engine/result.py", line 782, in fetchall l = self.process_rows(self._fetchall_impl()) File "/Users/techdragon/.virtualenvs/salt-dev/lib/python2.7/site-packages/sqlalchemy/engine/result.py", line 749, in _fetchall_impl return self.cursor.fetchall() sqlalchemy.exc.OperationalError: (OperationalError) Could not decode to UTF-8 column 'arg_values_1_value' with text ''%(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s'' None None

Looks like non unicode data is creeping into the trace database from the C side of things. Not sure how to troubleshoot this. Anyone more familiar with C able to look at this?

Reply to this email directly or view it on GitHubhttps://github.com/alonho/pytrace/issues/15 .

techdragon commented 10 years ago

Ive got a traces.sqlite that contains the 'bad' chars. I can upload it if that will help.